├── .htaccess ├── LICENSE ├── README.md ├── error.php ├── favicon.ico ├── global.php ├── includes ├── PHPExcel.php ├── PHPExcel │ ├── Autoloader.php │ ├── CachedObjectStorage │ │ ├── APC.php │ │ ├── CacheBase.php │ │ ├── DiscISAM.php │ │ ├── ICache.php │ │ ├── Igbinary.php │ │ ├── Memcache.php │ │ ├── Memory.php │ │ ├── MemoryGZip.php │ │ ├── MemorySerialized.php │ │ ├── PHPTemp.php │ │ ├── SQLite.php │ │ ├── SQLite3.php │ │ └── Wincache.php │ ├── CachedObjectStorageFactory.php │ ├── CalcEngine │ │ ├── CyclicReferenceStack.php │ │ └── Logger.php │ ├── Calculation.php │ ├── Calculation │ │ ├── Database.php │ │ ├── DateTime.php │ │ ├── Engineering.php │ │ ├── Exception.php │ │ ├── ExceptionHandler.php │ │ ├── Financial.php │ │ ├── FormulaParser.php │ │ ├── FormulaToken.php │ │ ├── Function.php │ │ ├── Functions.php │ │ ├── Logical.php │ │ ├── LookupRef.php │ │ ├── MathTrig.php │ │ ├── Statistical.php │ │ ├── TextData.php │ │ ├── Token │ │ │ └── Stack.php │ │ └── functionlist.txt │ ├── Cell.php │ ├── Cell │ │ ├── AdvancedValueBinder.php │ │ ├── DataType.php │ │ ├── DataValidation.php │ │ ├── DefaultValueBinder.php │ │ ├── Hyperlink.php │ │ └── IValueBinder.php │ ├── Chart.php │ ├── Chart │ │ ├── Axis.php │ │ ├── DataSeries.php │ │ ├── DataSeriesValues.php │ │ ├── Exception.php │ │ ├── GridLines.php │ │ ├── Layout.php │ │ ├── Legend.php │ │ ├── PlotArea.php │ │ ├── Properties.php │ │ ├── Renderer │ │ │ ├── PHP Charting Libraries.txt │ │ │ └── jpgraph.php │ │ └── Title.php │ ├── Comment.php │ ├── DocumentProperties.php │ ├── DocumentSecurity.php │ ├── Exception.php │ ├── HashTable.php │ ├── Helper │ │ └── HTML.php │ ├── IComparable.php │ ├── IOFactory.php │ ├── NamedRange.php │ ├── Reader │ │ ├── Abstract.php │ │ ├── CSV.php │ │ ├── DefaultReadFilter.php │ │ ├── Excel2003XML.php │ │ ├── Excel2007.php │ │ ├── Excel2007 │ │ │ ├── Chart.php │ │ │ └── Theme.php │ │ ├── Excel5.php │ │ ├── Excel5 │ │ │ ├── Color.php │ │ │ ├── Color │ │ │ │ ├── BIFF5.php │ │ │ │ ├── BIFF8.php │ │ │ │ └── BuiltIn.php │ │ │ ├── ErrorCode.php │ │ │ ├── Escher.php │ │ │ ├── MD5.php │ │ │ ├── RC4.php │ │ │ └── Style │ │ │ │ ├── Border.php │ │ │ │ └── FillPattern.php │ │ ├── Exception.php │ │ ├── Gnumeric.php │ │ ├── HTML.php │ │ ├── IReadFilter.php │ │ ├── IReader.php │ │ ├── OOCalc.php │ │ └── SYLK.php │ ├── ReferenceHelper.php │ ├── RichText.php │ ├── RichText │ │ ├── ITextElement.php │ │ ├── Run.php │ │ └── TextElement.php │ ├── Settings.php │ ├── Shared │ │ ├── CodePage.php │ │ ├── Date.php │ │ ├── Drawing.php │ │ ├── Escher.php │ │ ├── Escher │ │ │ ├── DgContainer.php │ │ │ ├── DgContainer │ │ │ │ ├── SpgrContainer.php │ │ │ │ └── SpgrContainer │ │ │ │ │ └── SpContainer.php │ │ │ ├── DggContainer.php │ │ │ └── DggContainer │ │ │ │ ├── BstoreContainer.php │ │ │ │ └── BstoreContainer │ │ │ │ ├── BSE.php │ │ │ │ └── BSE │ │ │ │ └── Blip.php │ │ ├── Excel5.php │ │ ├── File.php │ │ ├── Font.php │ │ ├── JAMA │ │ │ ├── CHANGELOG.TXT │ │ │ ├── CholeskyDecomposition.php │ │ │ ├── EigenvalueDecomposition.php │ │ │ ├── LUDecomposition.php │ │ │ ├── Matrix.php │ │ │ ├── QRDecomposition.php │ │ │ ├── SingularValueDecomposition.php │ │ │ └── utils │ │ │ │ ├── Error.php │ │ │ │ └── Maths.php │ │ ├── OLE.php │ │ ├── OLE │ │ │ ├── ChainedBlockStream.php │ │ │ ├── PPS.php │ │ │ └── PPS │ │ │ │ ├── File.php │ │ │ │ └── Root.php │ │ ├── OLERead.php │ │ ├── PCLZip │ │ │ ├── gnu-lgpl.txt │ │ │ ├── pclzip.lib.php │ │ │ └── readme.txt │ │ ├── PasswordHasher.php │ │ ├── String.php │ │ ├── TimeZone.php │ │ ├── XMLWriter.php │ │ ├── ZipArchive.php │ │ ├── ZipStreamWrapper.php │ │ └── trend │ │ │ ├── bestFitClass.php │ │ │ ├── exponentialBestFitClass.php │ │ │ ├── linearBestFitClass.php │ │ │ ├── logarithmicBestFitClass.php │ │ │ ├── polynomialBestFitClass.php │ │ │ ├── powerBestFitClass.php │ │ │ └── trendClass.php │ ├── Style.php │ ├── Style │ │ ├── Alignment.php │ │ ├── Border.php │ │ ├── Borders.php │ │ ├── Color.php │ │ ├── Conditional.php │ │ ├── Fill.php │ │ ├── Font.php │ │ ├── NumberFormat.php │ │ ├── Protection.php │ │ └── Supervisor.php │ ├── Worksheet.php │ ├── Worksheet │ │ ├── AutoFilter.php │ │ ├── AutoFilter │ │ │ ├── Column.php │ │ │ └── Column │ │ │ │ └── Rule.php │ │ ├── BaseDrawing.php │ │ ├── CellIterator.php │ │ ├── Column.php │ │ ├── ColumnCellIterator.php │ │ ├── ColumnDimension.php │ │ ├── ColumnIterator.php │ │ ├── Dimension.php │ │ ├── Drawing.php │ │ ├── Drawing │ │ │ └── Shadow.php │ │ ├── HeaderFooter.php │ │ ├── HeaderFooterDrawing.php │ │ ├── MemoryDrawing.php │ │ ├── PageMargins.php │ │ ├── PageSetup.php │ │ ├── Protection.php │ │ ├── Row.php │ │ ├── RowCellIterator.php │ │ ├── RowDimension.php │ │ ├── RowIterator.php │ │ └── SheetView.php │ ├── WorksheetIterator.php │ ├── Writer │ │ ├── Abstract.php │ │ ├── CSV.php │ │ ├── Excel2007.php │ │ ├── Excel2007 │ │ │ ├── Chart.php │ │ │ ├── Comments.php │ │ │ ├── ContentTypes.php │ │ │ ├── DocProps.php │ │ │ ├── Drawing.php │ │ │ ├── Rels.php │ │ │ ├── RelsRibbon.php │ │ │ ├── RelsVBA.php │ │ │ ├── StringTable.php │ │ │ ├── Style.php │ │ │ ├── Theme.php │ │ │ ├── Workbook.php │ │ │ ├── Worksheet.php │ │ │ └── WriterPart.php │ │ ├── Excel5.php │ │ ├── Excel5 │ │ │ ├── BIFFwriter.php │ │ │ ├── Escher.php │ │ │ ├── Font.php │ │ │ ├── Parser.php │ │ │ ├── Workbook.php │ │ │ ├── Worksheet.php │ │ │ └── Xf.php │ │ ├── Exception.php │ │ ├── HTML.php │ │ ├── IWriter.php │ │ ├── OpenDocument.php │ │ ├── OpenDocument │ │ │ ├── Cell │ │ │ │ └── Comment.php │ │ │ ├── Content.php │ │ │ ├── Meta.php │ │ │ ├── MetaInf.php │ │ │ ├── Mimetype.php │ │ │ ├── Settings.php │ │ │ ├── Styles.php │ │ │ ├── Thumbnails.php │ │ │ └── WriterPart.php │ │ ├── PDF.php │ │ └── PDF │ │ │ ├── Core.php │ │ │ ├── DomPDF.php │ │ │ ├── mPDF.php │ │ │ └── tcPDF.php │ └── locale │ │ ├── bg │ │ └── config │ │ ├── cs │ │ ├── config │ │ └── functions │ │ ├── da │ │ ├── config │ │ └── functions │ │ ├── de │ │ ├── config │ │ └── functions │ │ ├── en │ │ └── uk │ │ │ └── config │ │ ├── es │ │ ├── config │ │ └── functions │ │ ├── fi │ │ ├── config │ │ └── functions │ │ ├── fr │ │ ├── config │ │ └── functions │ │ ├── hu │ │ ├── config │ │ └── functions │ │ ├── it │ │ ├── config │ │ └── functions │ │ ├── nl │ │ ├── config │ │ └── functions │ │ ├── no │ │ ├── config │ │ └── functions │ │ ├── pl │ │ ├── config │ │ └── functions │ │ ├── pt │ │ ├── br │ │ │ ├── config │ │ │ └── functions │ │ ├── config │ │ └── functions │ │ ├── ru │ │ ├── config │ │ └── functions │ │ ├── sv │ │ ├── config │ │ └── functions │ │ └── tr │ │ ├── config │ │ └── functions ├── class.natiga.fetcher.php ├── class.reader.php ├── class.security.php ├── config.php.bak ├── db.install.php ├── functions.php ├── index.html └── site_config.php ├── index.php ├── installer.php ├── readme_files ├── excel_example000.JPG ├── install000.JPG ├── install001.JPG ├── install002.JPG ├── install003.JPG ├── install004.JPG ├── screen001.JPG ├── screen002.JPG └── screen003.JPG ├── sample_data.xlsx └── templates ├── assets ├── css │ ├── font-awesome.min.css │ ├── ie8.css │ ├── ie8.min.css │ ├── ie9.css │ ├── ie9.min.css │ ├── images │ │ ├── arrow.svg │ │ ├── ie │ │ │ ├── banner-overlay.png │ │ │ └── index.html │ │ ├── index.html │ │ └── overlay.png │ ├── index.html │ ├── main.css │ └── main.min.css ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── fontawesome-webfont.woff2 │ └── index.html ├── images │ ├── apple-touch-icon-114x114.png │ ├── apple-touch-icon-120x120.png │ ├── apple-touch-icon-144x144.png │ ├── apple-touch-icon-152x152.png │ ├── apple-touch-icon-167x167.png │ ├── apple-touch-icon-180x180.png │ ├── apple-touch-icon-57x57.png │ ├── apple-touch-icon-72x72.png │ ├── apple-touch-icon-76x76.png │ ├── apple-touch-icon.png │ ├── banner.jpg │ ├── code_bg.jpg │ ├── db_bg.jpg │ ├── done.png │ ├── error.jpg │ ├── favicon.ico │ ├── grad_wallpaper.jpg │ ├── grad_wallpaper2.jpg │ ├── help_icon.jpg │ ├── index.html │ ├── installation_package.jpg │ ├── loading.gif │ ├── paper.png │ ├── paper.psd │ ├── pic01.jpg │ └── sep_cell_example.jpg ├── index.html └── js │ ├── all.min.js │ ├── ie │ ├── PIE.htc │ ├── html5shiv.js │ ├── index.html │ └── respond.min.js │ ├── index.html │ ├── install_func.js │ ├── install_func.min.js │ ├── jquery.dropotron.min.js │ ├── jquery.min.js │ ├── jquery.scrollex.min.js │ ├── jquery.scrolly.min.js │ ├── main.js │ ├── skel.min.js │ └── util.js ├── content_home.php ├── content_installation.php ├── content_result.php ├── error.php ├── footer.php ├── header.php ├── index.html └── main.php /.htaccess: -------------------------------------------------------------------------------- 1 | Options -Indexes 2 | ErrorDocument 404 /error.php?code=404 3 | ErrorDocument 401 /error.php?code=401 4 | ErrorDocument 403 /error.php?code=403 5 | ErrorDocument 500 /error.php?code=500 6 | ErrorDocument 400 /error.php?code=400 7 | 8 | -------------------------------------------------------------------------------- /error.php: -------------------------------------------------------------------------------- 1 | من فضلك تأكد من اتباع رابط صحيح'; 16 | break; 17 | case 403: 18 | $_result['message'] = 'يبدو أنك لا تمتلك صلاحيات كافية للوصول إلى هذه الصفحة'; 19 | break; 20 | case 500: 21 | $_result['message'] = 'حدث خطأ أثناء معالجة طلبك ونحن نقوم بإصلاحه الآن'; 22 | break; 23 | case 401: 24 | $_result['message'] = 'تحتاج تصريح للوصول إلى هذه الصفحة'; 25 | break; 26 | case 400: 27 | $_result['message'] = 'هناك شيئ خاطئ في طلبك..
قم بإعادة المحاولة مرة أخرى'; 28 | break; 29 | default: 30 | $_result['message'] = false; 31 | } 32 | } 33 | if($_result['message'] !== false){ 34 | $_temp_vars['error_details'] = $_result['message']; 35 | } 36 | $page_content = 'error.php'; 37 | 38 | include_once (TEMP_PATH . '/main.php'); 39 | 40 | ?> -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/favicon.ico -------------------------------------------------------------------------------- /global.php: -------------------------------------------------------------------------------- 1 | إذا كنت تحاول رفع ملف قد يكون الملف ضخم لا يمكن معالجته
إذا كان غير ذلك من فضلك تواصل مع المطور'; 36 | $err_msg .= (!$_CONFIG['is_production_env'])?('
تفاصيل الخطأ: '.$error['message']):''; 37 | die_error($err_msg); 38 | } 39 | }); 40 | 41 | //template vars 42 | $_temp_vars['title'] = $_CONFIG['site_title']; 43 | $_temp_vars['temp_url'] = $_CONFIG['template_assets_url']; 44 | 45 | //default response 46 | $_result = array('status' => 'success', 'message' => '', 'data' => array()); 47 | 48 | //including core libs 49 | require_once (INC_PATH . '/class.security.php'); 50 | require_once (INC_PATH . '/functions.php'); 51 | 52 | //Generate CSRF token and save its value 53 | $_temp_vars['csrf_token'] = Natiga_Security::generate_csrf_token(); 54 | 55 | //Validate POST requests for CSRF attacks 56 | if (strtoupper($_SERVER['REQUEST_METHOD']) === "POST") { 57 | //get csrf token value from POST body or request headers 58 | $csrf_token = (!empty($_POST['csrf_token']))?$_POST['csrf_token']:((!empty($_SERVER['HTTP_X_CSRF_TOKEN']))?$_SERVER['HTTP_X_CSRF_TOKEN']:''); 59 | 60 | if(empty($csrf_token) || !Natiga_Security::validate_csrf_token($csrf_token)){ 61 | if(is_ajax_request()){ 62 | header('Content-Type: application/json'); 63 | die(json_encode(array('status'=>'error','message'=>'Invalid CSRF Token'))); 64 | }else{ 65 | $_temp_vars['error_details'] = 'إما أن يكون طلبك قديم أو هناك محاولة لتزييف طلبك..
قم بإعادة تحميل الصفحة وحاول مرّة أخرى'; 66 | $page_content = 'error.php'; 67 | require_once(TEMP_PATH.'/main.php'); 68 | exit; 69 | } 70 | } 71 | } 72 | 73 | ?> -------------------------------------------------------------------------------- /includes/PHPExcel/Autoloader.php: -------------------------------------------------------------------------------- 1 | = 0) { 52 | return spl_autoload_register(array('PHPExcel_Autoloader', 'load'), true, true); 53 | } else { 54 | return spl_autoload_register(array('PHPExcel_Autoloader', 'load')); 55 | } 56 | } 57 | 58 | /** 59 | * Autoload a class identified by name 60 | * 61 | * @param string $pClassName Name of the object to load 62 | */ 63 | public static function load($pClassName) 64 | { 65 | if ((class_exists($pClassName, false)) || (strpos($pClassName, 'PHPExcel') !== 0)) { 66 | // Either already loaded, or not a PHPExcel class request 67 | return false; 68 | } 69 | 70 | $pClassFilePath = PHPEXCEL_ROOT . 71 | str_replace('_', DIRECTORY_SEPARATOR, $pClassName) . 72 | '.php'; 73 | 74 | if ((file_exists($pClassFilePath) === false) || (is_readable($pClassFilePath) === false)) { 75 | // Can't load 76 | return false; 77 | } 78 | 79 | require($pClassFilePath); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /includes/PHPExcel/CalcEngine/CyclicReferenceStack.php: -------------------------------------------------------------------------------- 1 | stack); 45 | } 46 | 47 | /** 48 | * Push a new entry onto the stack 49 | * 50 | * @param mixed $value 51 | */ 52 | public function push($value) 53 | { 54 | $this->stack[$value] = $value; 55 | } 56 | 57 | /** 58 | * Pop the last entry from the stack 59 | * 60 | * @return mixed 61 | */ 62 | public function pop() 63 | { 64 | return array_pop($this->stack); 65 | } 66 | 67 | /** 68 | * Test to see if a specified entry exists on the stack 69 | * 70 | * @param mixed $value The value to test 71 | */ 72 | public function onStack($value) 73 | { 74 | return isset($this->stack[$value]); 75 | } 76 | 77 | /** 78 | * Clear the stack 79 | */ 80 | public function clear() 81 | { 82 | $this->stack = array(); 83 | } 84 | 85 | /** 86 | * Return an array of all entries on the stack 87 | * 88 | * @return mixed[] 89 | */ 90 | public function showStack() 91 | { 92 | return $this->stack; 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /includes/PHPExcel/Calculation/Exception.php: -------------------------------------------------------------------------------- 1 | line = $line; 43 | $e->file = $file; 44 | throw $e; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /includes/PHPExcel/Calculation/ExceptionHandler.php: -------------------------------------------------------------------------------- 1 | count; 52 | } 53 | 54 | /** 55 | * Push a new entry onto the stack 56 | * 57 | * @param mixed $type 58 | * @param mixed $value 59 | * @param mixed $reference 60 | */ 61 | public function push($type, $value, $reference = null) 62 | { 63 | $this->stack[$this->count++] = array( 64 | 'type' => $type, 65 | 'value' => $value, 66 | 'reference' => $reference 67 | ); 68 | if ($type == 'Function') { 69 | $localeFunction = PHPExcel_Calculation::localeFunc($value); 70 | if ($localeFunction != $value) { 71 | $this->stack[($this->count - 1)]['localeValue'] = $localeFunction; 72 | } 73 | } 74 | } 75 | 76 | /** 77 | * Pop the last entry from the stack 78 | * 79 | * @return mixed 80 | */ 81 | public function pop() 82 | { 83 | if ($this->count > 0) { 84 | return $this->stack[--$this->count]; 85 | } 86 | return null; 87 | } 88 | 89 | /** 90 | * Return an entry from the stack without removing it 91 | * 92 | * @param integer $n number indicating how far back in the stack we want to look 93 | * @return mixed 94 | */ 95 | public function last($n = 1) 96 | { 97 | if ($this->count - $n < 0) { 98 | return null; 99 | } 100 | return $this->stack[$this->count - $n]; 101 | } 102 | 103 | /** 104 | * Clear the stack 105 | */ 106 | public function clear() 107 | { 108 | $this->stack = array(); 109 | $this->count = 0; 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /includes/PHPExcel/Cell/DataType.php: -------------------------------------------------------------------------------- 1 | 0, 47 | '#DIV/0!' => 1, 48 | '#VALUE!' => 2, 49 | '#REF!' => 3, 50 | '#NAME?' => 4, 51 | '#NUM!' => 5, 52 | '#N/A' => 6 53 | ); 54 | 55 | /** 56 | * Get list of error codes 57 | * 58 | * @return array 59 | */ 60 | public static function getErrorCodes() 61 | { 62 | return self::$errorCodes; 63 | } 64 | 65 | /** 66 | * DataType for value 67 | * 68 | * @deprecated Replaced by PHPExcel_Cell_IValueBinder infrastructure, will be removed in version 1.8.0 69 | * @param mixed $pValue 70 | * @return string 71 | */ 72 | public static function dataTypeForValue($pValue = null) 73 | { 74 | return PHPExcel_Cell_DefaultValueBinder::dataTypeForValue($pValue); 75 | } 76 | 77 | /** 78 | * Check a string that it satisfies Excel requirements 79 | * 80 | * @param mixed Value to sanitize to an Excel string 81 | * @return mixed Sanitized value 82 | */ 83 | public static function checkString($pValue = null) 84 | { 85 | if ($pValue instanceof PHPExcel_RichText) { 86 | // TODO: Sanitize Rich-Text string (max. character count is 32,767) 87 | return $pValue; 88 | } 89 | 90 | // string must never be longer than 32,767 characters, truncate if necessary 91 | $pValue = PHPExcel_Shared_String::Substring($pValue, 0, 32767); 92 | 93 | // we require that newline is represented as "\n" in core, not as "\r\n" or "\r" 94 | $pValue = str_replace(array("\r\n", "\r"), "\n", $pValue); 95 | 96 | return $pValue; 97 | } 98 | 99 | /** 100 | * Check a value that it is a valid error code 101 | * 102 | * @param mixed Value to sanitize to an Excel error code 103 | * @return string Sanitized value 104 | */ 105 | public static function checkErrorCode($pValue = null) 106 | { 107 | $pValue = (string) $pValue; 108 | 109 | if (!array_key_exists($pValue, self::$errorCodes)) { 110 | $pValue = '#NULL!'; 111 | } 112 | 113 | return $pValue; 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /includes/PHPExcel/Cell/Hyperlink.php: -------------------------------------------------------------------------------- 1 | url = $pUrl; 54 | $this->tooltip = $pTooltip; 55 | } 56 | 57 | /** 58 | * Get URL 59 | * 60 | * @return string 61 | */ 62 | public function getUrl() 63 | { 64 | return $this->url; 65 | } 66 | 67 | /** 68 | * Set URL 69 | * 70 | * @param string $value 71 | * @return PHPExcel_Cell_Hyperlink 72 | */ 73 | public function setUrl($value = '') 74 | { 75 | $this->url = $value; 76 | return $this; 77 | } 78 | 79 | /** 80 | * Get tooltip 81 | * 82 | * @return string 83 | */ 84 | public function getTooltip() 85 | { 86 | return $this->tooltip; 87 | } 88 | 89 | /** 90 | * Set tooltip 91 | * 92 | * @param string $value 93 | * @return PHPExcel_Cell_Hyperlink 94 | */ 95 | public function setTooltip($value = '') 96 | { 97 | $this->tooltip = $value; 98 | return $this; 99 | } 100 | 101 | /** 102 | * Is this hyperlink internal? (to another worksheet) 103 | * 104 | * @return boolean 105 | */ 106 | public function isInternal() 107 | { 108 | return strpos($this->url, 'sheet://') !== false; 109 | } 110 | 111 | /** 112 | * Get hash code 113 | * 114 | * @return string Hash code 115 | */ 116 | public function getHashCode() 117 | { 118 | return md5( 119 | $this->url . 120 | $this->tooltip . 121 | __CLASS__ 122 | ); 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /includes/PHPExcel/Cell/IValueBinder.php: -------------------------------------------------------------------------------- 1 | line = $line; 43 | $e->file = $file; 44 | throw $e; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /includes/PHPExcel/Chart/PlotArea.php: -------------------------------------------------------------------------------- 1 | layout = $layout; 50 | $this->plotSeries = $plotSeries; 51 | } 52 | 53 | /** 54 | * Get Layout 55 | * 56 | * @return PHPExcel_Chart_Layout 57 | */ 58 | public function getLayout() 59 | { 60 | return $this->layout; 61 | } 62 | 63 | /** 64 | * Get Number of Plot Groups 65 | * 66 | * @return array of PHPExcel_Chart_DataSeries 67 | */ 68 | public function getPlotGroupCount() 69 | { 70 | return count($this->plotSeries); 71 | } 72 | 73 | /** 74 | * Get Number of Plot Series 75 | * 76 | * @return integer 77 | */ 78 | public function getPlotSeriesCount() 79 | { 80 | $seriesCount = 0; 81 | foreach ($this->plotSeries as $plot) { 82 | $seriesCount += $plot->getPlotSeriesCount(); 83 | } 84 | return $seriesCount; 85 | } 86 | 87 | /** 88 | * Get Plot Series 89 | * 90 | * @return array of PHPExcel_Chart_DataSeries 91 | */ 92 | public function getPlotGroup() 93 | { 94 | return $this->plotSeries; 95 | } 96 | 97 | /** 98 | * Get Plot Series by Index 99 | * 100 | * @return PHPExcel_Chart_DataSeries 101 | */ 102 | public function getPlotGroupByIndex($index) 103 | { 104 | return $this->plotSeries[$index]; 105 | } 106 | 107 | /** 108 | * Set Plot Series 109 | * 110 | * @param [PHPExcel_Chart_DataSeries] 111 | * @return PHPExcel_Chart_PlotArea 112 | */ 113 | public function setPlotSeries($plotSeries = array()) 114 | { 115 | $this->plotSeries = $plotSeries; 116 | 117 | return $this; 118 | } 119 | 120 | public function refresh(PHPExcel_Worksheet $worksheet) 121 | { 122 | foreach ($this->plotSeries as $plotSeries) { 123 | $plotSeries->refresh($worksheet); 124 | } 125 | } 126 | } 127 | -------------------------------------------------------------------------------- /includes/PHPExcel/Chart/Renderer/PHP Charting Libraries.txt: -------------------------------------------------------------------------------- 1 | ChartDirector 2 | http://www.advsofteng.com/cdphp.html 3 | 4 | GraPHPite 5 | http://graphpite.sourceforge.net/ 6 | 7 | JpGraph 8 | http://www.aditus.nu/jpgraph/ 9 | 10 | LibChart 11 | http://naku.dohcrew.com/libchart/pages/introduction/ 12 | 13 | pChart 14 | http://pchart.sourceforge.net/ 15 | 16 | TeeChart 17 | http://www.steema.com/products/teechart/overview.html 18 | 19 | PHPGraphLib 20 | http://www.ebrueggeman.com/phpgraphlib -------------------------------------------------------------------------------- /includes/PHPExcel/Chart/Title.php: -------------------------------------------------------------------------------- 1 | caption = $caption; 51 | $this->layout = $layout; 52 | } 53 | 54 | /** 55 | * Get caption 56 | * 57 | * @return string 58 | */ 59 | public function getCaption() 60 | { 61 | return $this->caption; 62 | } 63 | 64 | /** 65 | * Set caption 66 | * 67 | * @param string $caption 68 | * @return PHPExcel_Chart_Title 69 | */ 70 | public function setCaption($caption = null) 71 | { 72 | $this->caption = $caption; 73 | 74 | return $this; 75 | } 76 | 77 | /** 78 | * Get Layout 79 | * 80 | * @return PHPExcel_Chart_Layout 81 | */ 82 | public function getLayout() 83 | { 84 | return $this->layout; 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /includes/PHPExcel/Exception.php: -------------------------------------------------------------------------------- 1 | line = $line; 51 | $e->file = $file; 52 | throw $e; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /includes/PHPExcel/IComparable.php: -------------------------------------------------------------------------------- 1 | themeName = $themeName; 76 | $this->colourSchemeName = $colourSchemeName; 77 | $this->colourMap = $colourMap; 78 | } 79 | 80 | /** 81 | * Get Theme Name 82 | * 83 | * @return string 84 | */ 85 | public function getThemeName() 86 | { 87 | return $this->themeName; 88 | } 89 | 90 | /** 91 | * Get colour Scheme Name 92 | * 93 | * @return string 94 | */ 95 | public function getColourSchemeName() 96 | { 97 | return $this->colourSchemeName; 98 | } 99 | 100 | /** 101 | * Get colour Map Value by Position 102 | * 103 | * @return string 104 | */ 105 | public function getColourByIndex($index = 0) 106 | { 107 | if (isset($this->colourMap[$index])) { 108 | return $this->colourMap[$index]; 109 | } 110 | return null; 111 | } 112 | 113 | /** 114 | * Implement PHP __clone to create a deep clone, not just a shallow copy. 115 | */ 116 | public function __clone() 117 | { 118 | $vars = get_object_vars($this); 119 | foreach ($vars as $key => $value) { 120 | if ((is_object($value)) && ($key != '_parent')) { 121 | $this->$key = clone $value; 122 | } else { 123 | $this->$key = $value; 124 | } 125 | } 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/Color.php: -------------------------------------------------------------------------------- 1 | 'FF0000') 11 | */ 12 | public static function map($color, $palette, $version) 13 | { 14 | if ($color <= 0x07 || $color >= 0x40) { 15 | // special built-in color 16 | return PHPExcel_Reader_Excel5_Color_BuiltIn::lookup($color); 17 | } elseif (isset($palette) && isset($palette[$color - 8])) { 18 | // palette color, color index 0x08 maps to pallete index 0 19 | return $palette[$color - 8]; 20 | } else { 21 | // default color table 22 | if ($version == PHPExcel_Reader_Excel5::XLS_BIFF8) { 23 | return PHPExcel_Reader_Excel5_Color_BIFF8::lookup($color); 24 | } else { 25 | // BIFF5 26 | return PHPExcel_Reader_Excel5_Color_BIFF5::lookup($color); 27 | } 28 | } 29 | 30 | return $color; 31 | } 32 | } -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/Color/BIFF5.php: -------------------------------------------------------------------------------- 1 | '000000', 7 | 0x09 => 'FFFFFF', 8 | 0x0A => 'FF0000', 9 | 0x0B => '00FF00', 10 | 0x0C => '0000FF', 11 | 0x0D => 'FFFF00', 12 | 0x0E => 'FF00FF', 13 | 0x0F => '00FFFF', 14 | 0x10 => '800000', 15 | 0x11 => '008000', 16 | 0x12 => '000080', 17 | 0x13 => '808000', 18 | 0x14 => '800080', 19 | 0x15 => '008080', 20 | 0x16 => 'C0C0C0', 21 | 0x17 => '808080', 22 | 0x18 => '8080FF', 23 | 0x19 => '802060', 24 | 0x1A => 'FFFFC0', 25 | 0x1B => 'A0E0F0', 26 | 0x1C => '600080', 27 | 0x1D => 'FF8080', 28 | 0x1E => '0080C0', 29 | 0x1F => 'C0C0FF', 30 | 0x20 => '000080', 31 | 0x21 => 'FF00FF', 32 | 0x22 => 'FFFF00', 33 | 0x23 => '00FFFF', 34 | 0x24 => '800080', 35 | 0x25 => '800000', 36 | 0x26 => '008080', 37 | 0x27 => '0000FF', 38 | 0x28 => '00CFFF', 39 | 0x29 => '69FFFF', 40 | 0x2A => 'E0FFE0', 41 | 0x2B => 'FFFF80', 42 | 0x2C => 'A6CAF0', 43 | 0x2D => 'DD9CB3', 44 | 0x2E => 'B38FEE', 45 | 0x2F => 'E3E3E3', 46 | 0x30 => '2A6FF9', 47 | 0x31 => '3FB8CD', 48 | 0x32 => '488436', 49 | 0x33 => '958C41', 50 | 0x34 => '8E5E42', 51 | 0x35 => 'A0627A', 52 | 0x36 => '624FAC', 53 | 0x37 => '969696', 54 | 0x38 => '1D2FBE', 55 | 0x39 => '286676', 56 | 0x3A => '004500', 57 | 0x3B => '453E01', 58 | 0x3C => '6A2813', 59 | 0x3D => '85396A', 60 | 0x3E => '4A3285', 61 | 0x3F => '424242', 62 | ); 63 | 64 | /** 65 | * Map color array from BIFF5 built-in color index 66 | * 67 | * @param int $color 68 | * @return array 69 | */ 70 | public static function lookup($color) 71 | { 72 | if (isset(self::$map[$color])) { 73 | return array('rgb' => self::$map[$color]); 74 | } 75 | return array('rgb' => '000000'); 76 | } 77 | } -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/Color/BIFF8.php: -------------------------------------------------------------------------------- 1 | '000000', 7 | 0x09 => 'FFFFFF', 8 | 0x0A => 'FF0000', 9 | 0x0B => '00FF00', 10 | 0x0C => '0000FF', 11 | 0x0D => 'FFFF00', 12 | 0x0E => 'FF00FF', 13 | 0x0F => '00FFFF', 14 | 0x10 => '800000', 15 | 0x11 => '008000', 16 | 0x12 => '000080', 17 | 0x13 => '808000', 18 | 0x14 => '800080', 19 | 0x15 => '008080', 20 | 0x16 => 'C0C0C0', 21 | 0x17 => '808080', 22 | 0x18 => '9999FF', 23 | 0x19 => '993366', 24 | 0x1A => 'FFFFCC', 25 | 0x1B => 'CCFFFF', 26 | 0x1C => '660066', 27 | 0x1D => 'FF8080', 28 | 0x1E => '0066CC', 29 | 0x1F => 'CCCCFF', 30 | 0x20 => '000080', 31 | 0x21 => 'FF00FF', 32 | 0x22 => 'FFFF00', 33 | 0x23 => '00FFFF', 34 | 0x24 => '800080', 35 | 0x25 => '800000', 36 | 0x26 => '008080', 37 | 0x27 => '0000FF', 38 | 0x28 => '00CCFF', 39 | 0x29 => 'CCFFFF', 40 | 0x2A => 'CCFFCC', 41 | 0x2B => 'FFFF99', 42 | 0x2C => '99CCFF', 43 | 0x2D => 'FF99CC', 44 | 0x2E => 'CC99FF', 45 | 0x2F => 'FFCC99', 46 | 0x30 => '3366FF', 47 | 0x31 => '33CCCC', 48 | 0x32 => '99CC00', 49 | 0x33 => 'FFCC00', 50 | 0x34 => 'FF9900', 51 | 0x35 => 'FF6600', 52 | 0x36 => '666699', 53 | 0x37 => '969696', 54 | 0x38 => '003366', 55 | 0x39 => '339966', 56 | 0x3A => '003300', 57 | 0x3B => '333300', 58 | 0x3C => '993300', 59 | 0x3D => '993366', 60 | 0x3E => '333399', 61 | 0x3F => '333333', 62 | ); 63 | 64 | /** 65 | * Map color array from BIFF8 built-in color index 66 | * 67 | * @param int $color 68 | * @return array 69 | */ 70 | public static function lookup($color) 71 | { 72 | if (isset(self::$map[$color])) { 73 | return array('rgb' => self::$map[$color]); 74 | } 75 | return array('rgb' => '000000'); 76 | } 77 | } -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/Color/BuiltIn.php: -------------------------------------------------------------------------------- 1 | '000000', 7 | 0x01 => 'FFFFFF', 8 | 0x02 => 'FF0000', 9 | 0x03 => '00FF00', 10 | 0x04 => '0000FF', 11 | 0x05 => 'FFFF00', 12 | 0x06 => 'FF00FF', 13 | 0x07 => '00FFFF', 14 | 0x40 => '000000', // system window text color 15 | 0x41 => 'FFFFFF', // system window background color 16 | ); 17 | 18 | /** 19 | * Map built-in color to RGB value 20 | * 21 | * @param int $color Indexed color 22 | * @return array 23 | */ 24 | public static function lookup($color) 25 | { 26 | if (isset(self::$map[$color])) { 27 | return array('rgb' => self::$map[$color]); 28 | } 29 | return array('rgb' => '000000'); 30 | } 31 | } -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/ErrorCode.php: -------------------------------------------------------------------------------- 1 | '#NULL!', 7 | 0x07 => '#DIV/0!', 8 | 0x0F => '#VALUE!', 9 | 0x17 => '#REF!', 10 | 0x1D => '#NAME?', 11 | 0x24 => '#NUM!', 12 | 0x2A => '#N/A', 13 | ); 14 | 15 | /** 16 | * Map error code, e.g. '#N/A' 17 | * 18 | * @param int $code 19 | * @return string 20 | */ 21 | public static function lookup($code) 22 | { 23 | if (isset(self::$map[$code])) { 24 | return self::$map[$code]; 25 | } 26 | return false; 27 | } 28 | } -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/RC4.php: -------------------------------------------------------------------------------- 1 | i = 0; $this->i < 256; $this->i++) { 45 | $this->s[$this->i] = $this->i; 46 | } 47 | 48 | $this->j = 0; 49 | for ($this->i = 0; $this->i < 256; $this->i++) { 50 | $this->j = ($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % 256; 51 | $t = $this->s[$this->i]; 52 | $this->s[$this->i] = $this->s[$this->j]; 53 | $this->s[$this->j] = $t; 54 | } 55 | $this->i = $this->j = 0; 56 | } 57 | 58 | /** 59 | * Symmetric decryption/encryption function 60 | * 61 | * @param string $data Data to encrypt/decrypt 62 | * 63 | * @return string 64 | */ 65 | public function RC4($data) 66 | { 67 | $len = strlen($data); 68 | for ($c = 0; $c < $len; $c++) { 69 | $this->i = ($this->i + 1) % 256; 70 | $this->j = ($this->j + $this->s[$this->i]) % 256; 71 | $t = $this->s[$this->i]; 72 | $this->s[$this->i] = $this->s[$this->j]; 73 | $this->s[$this->j] = $t; 74 | 75 | $t = ($this->s[$this->i] + $this->s[$this->j]) % 256; 76 | 77 | $data[$c] = chr(ord($data[$c]) ^ $this->s[$t]); 78 | } 79 | return $data; 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/Style/Border.php: -------------------------------------------------------------------------------- 1 | PHPExcel_Style_Border::BORDER_NONE, 7 | 0x01 => PHPExcel_Style_Border::BORDER_THIN, 8 | 0x02 => PHPExcel_Style_Border::BORDER_MEDIUM, 9 | 0x03 => PHPExcel_Style_Border::BORDER_DASHED, 10 | 0x04 => PHPExcel_Style_Border::BORDER_DOTTED, 11 | 0x05 => PHPExcel_Style_Border::BORDER_THICK, 12 | 0x06 => PHPExcel_Style_Border::BORDER_DOUBLE, 13 | 0x07 => PHPExcel_Style_Border::BORDER_HAIR, 14 | 0x08 => PHPExcel_Style_Border::BORDER_MEDIUMDASHED, 15 | 0x09 => PHPExcel_Style_Border::BORDER_DASHDOT, 16 | 0x0A => PHPExcel_Style_Border::BORDER_MEDIUMDASHDOT, 17 | 0x0B => PHPExcel_Style_Border::BORDER_DASHDOTDOT, 18 | 0x0C => PHPExcel_Style_Border::BORDER_MEDIUMDASHDOTDOT, 19 | 0x0D => PHPExcel_Style_Border::BORDER_SLANTDASHDOT, 20 | ); 21 | 22 | /** 23 | * Map border style 24 | * OpenOffice documentation: 2.5.11 25 | * 26 | * @param int $index 27 | * @return string 28 | */ 29 | public static function lookup($index) 30 | { 31 | if (isset(self::$map[$index])) { 32 | return self::$map[$index]; 33 | } 34 | return PHPExcel_Style_Border::BORDER_NONE; 35 | } 36 | } -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Excel5/Style/FillPattern.php: -------------------------------------------------------------------------------- 1 | PHPExcel_Style_Fill::FILL_NONE, 7 | 0x01 => PHPExcel_Style_Fill::FILL_SOLID, 8 | 0x02 => PHPExcel_Style_Fill::FILL_PATTERN_MEDIUMGRAY, 9 | 0x03 => PHPExcel_Style_Fill::FILL_PATTERN_DARKGRAY, 10 | 0x04 => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRAY, 11 | 0x05 => PHPExcel_Style_Fill::FILL_PATTERN_DARKHORIZONTAL, 12 | 0x06 => PHPExcel_Style_Fill::FILL_PATTERN_DARKVERTICAL, 13 | 0x07 => PHPExcel_Style_Fill::FILL_PATTERN_DARKDOWN, 14 | 0x08 => PHPExcel_Style_Fill::FILL_PATTERN_DARKUP, 15 | 0x09 => PHPExcel_Style_Fill::FILL_PATTERN_DARKGRID, 16 | 0x0A => PHPExcel_Style_Fill::FILL_PATTERN_DARKTRELLIS, 17 | 0x0B => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTHORIZONTAL, 18 | 0x0C => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTVERTICAL, 19 | 0x0D => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTDOWN, 20 | 0x0E => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTUP, 21 | 0x0F => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTGRID, 22 | 0x10 => PHPExcel_Style_Fill::FILL_PATTERN_LIGHTTRELLIS, 23 | 0x11 => PHPExcel_Style_Fill::FILL_PATTERN_GRAY125, 24 | 0x12 => PHPExcel_Style_Fill::FILL_PATTERN_GRAY0625, 25 | ); 26 | 27 | /** 28 | * Get fill pattern from index 29 | * OpenOffice documentation: 2.5.12 30 | * 31 | * @param int $index 32 | * @return string 33 | */ 34 | public static function lookup($index) 35 | { 36 | if (isset(self::$map[$index])) { 37 | return self::$map[$index]; 38 | } 39 | return PHPExcel_Style_Fill::FILL_NONE; 40 | } 41 | } -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/Exception.php: -------------------------------------------------------------------------------- 1 | line = $line; 43 | $e->file = $file; 44 | throw $e; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /includes/PHPExcel/Reader/IReadFilter.php: -------------------------------------------------------------------------------- 1 | setText($pText); 44 | $this->font = new PHPExcel_Style_Font(); 45 | } 46 | 47 | /** 48 | * Get font 49 | * 50 | * @return PHPExcel_Style_Font 51 | */ 52 | public function getFont() 53 | { 54 | return $this->font; 55 | } 56 | 57 | /** 58 | * Set font 59 | * 60 | * @param PHPExcel_Style_Font $pFont Font 61 | * @throws PHPExcel_Exception 62 | * @return PHPExcel_RichText_ITextElement 63 | */ 64 | public function setFont(PHPExcel_Style_Font $pFont = null) 65 | { 66 | $this->font = $pFont; 67 | return $this; 68 | } 69 | 70 | /** 71 | * Get hash code 72 | * 73 | * @return string Hash code 74 | */ 75 | public function getHashCode() 76 | { 77 | return md5( 78 | $this->getText() . 79 | $this->font->getHashCode() . 80 | __CLASS__ 81 | ); 82 | } 83 | 84 | /** 85 | * Implement PHP __clone to create a deep clone, not just a shallow copy. 86 | */ 87 | public function __clone() 88 | { 89 | $vars = get_object_vars($this); 90 | foreach ($vars as $key => $value) { 91 | if (is_object($value)) { 92 | $this->$key = clone $value; 93 | } else { 94 | $this->$key = $value; 95 | } 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /includes/PHPExcel/RichText/TextElement.php: -------------------------------------------------------------------------------- 1 | text = $pText; 44 | } 45 | 46 | /** 47 | * Get text 48 | * 49 | * @return string Text 50 | */ 51 | public function getText() 52 | { 53 | return $this->text; 54 | } 55 | 56 | /** 57 | * Set text 58 | * 59 | * @param $pText string Text 60 | * @return PHPExcel_RichText_ITextElement 61 | */ 62 | public function setText($pText = '') 63 | { 64 | $this->text = $pText; 65 | return $this; 66 | } 67 | 68 | /** 69 | * Get font 70 | * 71 | * @return PHPExcel_Style_Font 72 | */ 73 | public function getFont() 74 | { 75 | return null; 76 | } 77 | 78 | /** 79 | * Get hash code 80 | * 81 | * @return string Hash code 82 | */ 83 | public function getHashCode() 84 | { 85 | return md5( 86 | $this->text . 87 | __CLASS__ 88 | ); 89 | } 90 | 91 | /** 92 | * Implement PHP __clone to create a deep clone, not just a shallow copy. 93 | */ 94 | public function __clone() 95 | { 96 | $vars = get_object_vars($this); 97 | foreach ($vars as $key => $value) { 98 | if (is_object($value)) { 99 | $this->$key = clone $value; 100 | } else { 101 | $this->$key = $value; 102 | } 103 | } 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/Escher.php: -------------------------------------------------------------------------------- 1 | dggContainer; 52 | } 53 | 54 | /** 55 | * Set Drawing Group Container 56 | * 57 | * @param PHPExcel_Shared_Escher_DggContainer $dggContainer 58 | */ 59 | public function setDggContainer($dggContainer) 60 | { 61 | return $this->dggContainer = $dggContainer; 62 | } 63 | 64 | /** 65 | * Get Drawing Container 66 | * 67 | * @return PHPExcel_Shared_Escher_DgContainer 68 | */ 69 | public function getDgContainer() 70 | { 71 | return $this->dgContainer; 72 | } 73 | 74 | /** 75 | * Set Drawing Container 76 | * 77 | * @param PHPExcel_Shared_Escher_DgContainer $dgContainer 78 | */ 79 | public function setDgContainer($dgContainer) 80 | { 81 | return $this->dgContainer = $dgContainer; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/Escher/DgContainer.php: -------------------------------------------------------------------------------- 1 | dgId; 49 | } 50 | 51 | public function setDgId($value) 52 | { 53 | $this->dgId = $value; 54 | } 55 | 56 | public function getLastSpId() 57 | { 58 | return $this->lastSpId; 59 | } 60 | 61 | public function setLastSpId($value) 62 | { 63 | $this->lastSpId = $value; 64 | } 65 | 66 | public function getSpgrContainer() 67 | { 68 | return $this->spgrContainer; 69 | } 70 | 71 | public function setSpgrContainer($spgrContainer) 72 | { 73 | return $this->spgrContainer = $spgrContainer; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/Escher/DgContainer/SpgrContainer.php: -------------------------------------------------------------------------------- 1 | parent = $parent; 52 | } 53 | 54 | /** 55 | * Get the parent Shape Group Container if any 56 | * 57 | * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer|null 58 | */ 59 | public function getParent() 60 | { 61 | return $this->parent; 62 | } 63 | 64 | /** 65 | * Add a child. This will be either spgrContainer or spContainer 66 | * 67 | * @param mixed $child 68 | */ 69 | public function addChild($child) 70 | { 71 | $this->children[] = $child; 72 | $child->setParent($this); 73 | } 74 | 75 | /** 76 | * Get collection of Shape Containers 77 | */ 78 | public function getChildren() 79 | { 80 | return $this->children; 81 | } 82 | 83 | /** 84 | * Recursively get all spContainers within this spgrContainer 85 | * 86 | * @return PHPExcel_Shared_Escher_DgContainer_SpgrContainer_SpContainer[] 87 | */ 88 | public function getAllSpContainers() 89 | { 90 | $allSpContainers = array(); 91 | 92 | foreach ($this->children as $child) { 93 | if ($child instanceof PHPExcel_Shared_Escher_DgContainer_SpgrContainer) { 94 | $allSpContainers = array_merge($allSpContainers, $child->getAllSpContainers()); 95 | } else { 96 | $allSpContainers[] = $child; 97 | } 98 | } 99 | 100 | return $allSpContainers; 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer.php: -------------------------------------------------------------------------------- 1 | BSECollection[] = $BSE; 45 | $BSE->setParent($this); 46 | } 47 | 48 | /** 49 | * Get the collection of BLIP Store Entries 50 | * 51 | * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE[] 52 | */ 53 | public function getBSECollection() 54 | { 55 | return $this->BSECollection; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE.php: -------------------------------------------------------------------------------- 1 | parent = $parent; 70 | } 71 | 72 | /** 73 | * Get the BLIP 74 | * 75 | * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip 76 | */ 77 | public function getBlip() 78 | { 79 | return $this->blip; 80 | } 81 | 82 | /** 83 | * Set the BLIP 84 | * 85 | * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE_Blip $blip 86 | */ 87 | public function setBlip($blip) 88 | { 89 | $this->blip = $blip; 90 | $blip->setParent($this); 91 | } 92 | 93 | /** 94 | * Get the BLIP type 95 | * 96 | * @return int 97 | */ 98 | public function getBlipType() 99 | { 100 | return $this->blipType; 101 | } 102 | 103 | /** 104 | * Set the BLIP type 105 | * 106 | * @param int 107 | */ 108 | public function setBlipType($blipType) 109 | { 110 | $this->blipType = $blipType; 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/Escher/DggContainer/BstoreContainer/BSE/Blip.php: -------------------------------------------------------------------------------- 1 | data; 52 | } 53 | 54 | /** 55 | * Set the raw image data 56 | * 57 | * @param string 58 | */ 59 | public function setData($data) 60 | { 61 | $this->data = $data; 62 | } 63 | 64 | /** 65 | * Set parent BSE 66 | * 67 | * @param PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent 68 | */ 69 | public function setParent($parent) 70 | { 71 | $this->parent = $parent; 72 | } 73 | 74 | /** 75 | * Get parent BSE 76 | * 77 | * @return PHPExcel_Shared_Escher_DggContainer_BstoreContainer_BSE $parent 78 | */ 79 | public function getParent() 80 | { 81 | return $this->parent; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/JAMA/CHANGELOG.TXT: -------------------------------------------------------------------------------- 1 | Mar 1, 2005 11:15 AST by PM 2 | 3 | + For consistency, renamed Math.php to Maths.java, utils to util, 4 | tests to test, docs to doc - 5 | 6 | + Removed conditional logic from top of Matrix class. 7 | 8 | + Switched to using hypo function in Maths.php for all php-hypot calls. 9 | NOTE TO SELF: Need to make sure that all decompositions have been 10 | switched over to using the bundled hypo. 11 | 12 | Feb 25, 2005 at 10:00 AST by PM 13 | 14 | + Recommend using simpler Error.php instead of JAMA_Error.php but 15 | can be persuaded otherwise. 16 | 17 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/JAMA/utils/Error.php: -------------------------------------------------------------------------------- 1 | abs($b)) { 17 | $r = $b / $a; 18 | $r = abs($a) * sqrt(1 + $r * $r); 19 | } elseif ($b != 0) { 20 | $r = $a / $b; 21 | $r = abs($b) * sqrt(1 + $r * $r); 22 | } else { 23 | $r = 0.0; 24 | } 25 | return $r; 26 | } // function hypo() 27 | 28 | 29 | /** 30 | * Mike Bommarito's version. 31 | * Compute n-dimensional hyotheneuse. 32 | * 33 | function hypot() { 34 | $s = 0; 35 | foreach (func_get_args() as $d) { 36 | if (is_numeric($d)) { 37 | $s += pow($d, 2); 38 | } else { 39 | throw new PHPExcel_Calculation_Exception(JAMAError(ARGUMENT_TYPE_EXCEPTION)); 40 | } 41 | } 42 | return sqrt($s); 43 | } 44 | */ 45 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/OLE/PPS/File.php: -------------------------------------------------------------------------------- 1 | | 17 | // | Based on OLE::Storage_Lite by Kawai, Takanori | 18 | // +----------------------------------------------------------------------+ 19 | // 20 | // $Id: File.php,v 1.11 2007/02/13 21:00:42 schmidt Exp $ 21 | 22 | 23 | /** 24 | * Class for creating File PPS's for OLE containers 25 | * 26 | * @author Xavier Noguer 27 | * @category PHPExcel 28 | * @package PHPExcel_Shared_OLE 29 | */ 30 | class PHPExcel_Shared_OLE_PPS_File extends PHPExcel_Shared_OLE_PPS 31 | { 32 | /** 33 | * The constructor 34 | * 35 | * @access public 36 | * @param string $name The name of the file (in Unicode) 37 | * @see OLE::Asc2Ucs() 38 | */ 39 | public function __construct($name) 40 | { 41 | parent::__construct(null, $name, PHPExcel_Shared_OLE::OLE_PPS_TYPE_FILE, null, null, null, null, null, '', array()); 42 | } 43 | 44 | /** 45 | * Initialization method. Has to be called right after OLE_PPS_File(). 46 | * 47 | * @access public 48 | * @return mixed true on success 49 | */ 50 | public function init() 51 | { 52 | return true; 53 | } 54 | 55 | /** 56 | * Append data to PPS 57 | * 58 | * @access public 59 | * @param string $data The data to append 60 | */ 61 | public function append($data) 62 | { 63 | $this->_data .= $data; 64 | } 65 | 66 | /** 67 | * Returns a stream for reading this file using fread() etc. 68 | * @return resource a read-only stream 69 | */ 70 | public function getStream() 71 | { 72 | $this->ole->getStream($this); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/PasswordHasher.php: -------------------------------------------------------------------------------- 1 | . 44 | * 45 | * @param string $pPassword Password to hash 46 | * @return string Hashed password 47 | */ 48 | public static function hashPassword($pPassword = '') 49 | { 50 | $password = 0x0000; 51 | $charPos = 1; // char position 52 | 53 | // split the plain text password in its component characters 54 | $chars = preg_split('//', $pPassword, -1, PREG_SPLIT_NO_EMPTY); 55 | foreach ($chars as $char) { 56 | $value = ord($char) << $charPos++; // shifted ASCII value 57 | $rotated_bits = $value >> 15; // rotated bits beyond bit 15 58 | $value &= 0x7fff; // first 15 bits 59 | $password ^= ($value | $rotated_bits); 60 | } 61 | 62 | $password ^= strlen($pPassword); 63 | $password ^= 0xCE4B; 64 | 65 | return(strtoupper(dechex($password))); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /includes/PHPExcel/Shared/trend/linearBestFitClass.php: -------------------------------------------------------------------------------- 1 | getIntersect() + $this->getSlope() * $xValue; 49 | } 50 | 51 | /** 52 | * Return the X-Value for a specified value of Y 53 | * 54 | * @param float $yValue Y-Value 55 | * @return float X-Value 56 | **/ 57 | public function getValueOfXForY($yValue) 58 | { 59 | return ($yValue - $this->getIntersect()) / $this->getSlope(); 60 | } 61 | 62 | 63 | /** 64 | * Return the Equation of the best-fit line 65 | * 66 | * @param int $dp Number of places of decimal precision to display 67 | * @return string 68 | **/ 69 | public function getEquation($dp = 0) 70 | { 71 | $slope = $this->getSlope($dp); 72 | $intersect = $this->getIntersect($dp); 73 | 74 | return 'Y = ' . $intersect . ' + ' . $slope . ' * X'; 75 | } 76 | 77 | /** 78 | * Execute the regression and calculate the goodness of fit for a set of X and Y data values 79 | * 80 | * @param float[] $yValues The set of Y-values for this regression 81 | * @param float[] $xValues The set of X-values for this regression 82 | * @param boolean $const 83 | */ 84 | private function linearRegression($yValues, $xValues, $const) 85 | { 86 | $this->leastSquareFit($yValues, $xValues, $const); 87 | } 88 | 89 | /** 90 | * Define the regression and calculate the goodness of fit for a set of X and Y data values 91 | * 92 | * @param float[] $yValues The set of Y-values for this regression 93 | * @param float[] $xValues The set of X-values for this regression 94 | * @param boolean $const 95 | */ 96 | public function __construct($yValues, $xValues = array(), $const = true) 97 | { 98 | if (parent::__construct($yValues, $xValues) !== false) { 99 | $this->linearRegression($yValues, $xValues, $const); 100 | } 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /includes/PHPExcel/Worksheet/CellIterator.php: -------------------------------------------------------------------------------- 1 | subject); 57 | } 58 | 59 | /** 60 | * Get loop only existing cells 61 | * 62 | * @return boolean 63 | */ 64 | public function getIterateOnlyExistingCells() 65 | { 66 | return $this->onlyExistingCells; 67 | } 68 | 69 | /** 70 | * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary 71 | * 72 | * @throws PHPExcel_Exception 73 | */ 74 | abstract protected function adjustForExistingOnlyRange(); 75 | 76 | /** 77 | * Set the iterator to loop only existing cells 78 | * 79 | * @param boolean $value 80 | * @throws PHPExcel_Exception 81 | */ 82 | public function setIterateOnlyExistingCells($value = true) 83 | { 84 | $this->onlyExistingCells = (boolean) $value; 85 | 86 | $this->adjustForExistingOnlyRange(); 87 | } 88 | } 89 | -------------------------------------------------------------------------------- /includes/PHPExcel/Worksheet/Column.php: -------------------------------------------------------------------------------- 1 | parent = $parent; 54 | $this->columnIndex = $columnIndex; 55 | } 56 | 57 | /** 58 | * Destructor 59 | */ 60 | public function __destruct() 61 | { 62 | unset($this->parent); 63 | } 64 | 65 | /** 66 | * Get column index 67 | * 68 | * @return string 69 | */ 70 | public function getColumnIndex() 71 | { 72 | return $this->columnIndex; 73 | } 74 | 75 | /** 76 | * Get cell iterator 77 | * 78 | * @param integer $startRow The row number at which to start iterating 79 | * @param integer $endRow Optionally, the row number at which to stop iterating 80 | * @return PHPExcel_Worksheet_CellIterator 81 | */ 82 | public function getCellIterator($startRow = 1, $endRow = null) 83 | { 84 | return new PHPExcel_Worksheet_ColumnCellIterator($this->parent, $this->columnIndex, $startRow, $endRow); 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /includes/PHPExcel/Worksheet/ColumnDimension.php: -------------------------------------------------------------------------------- 1 | columnIndex = $pIndex; 62 | 63 | // set dimension as unformatted by default 64 | parent::__construct(0); 65 | } 66 | 67 | /** 68 | * Get ColumnIndex 69 | * 70 | * @return string 71 | */ 72 | public function getColumnIndex() 73 | { 74 | return $this->columnIndex; 75 | } 76 | 77 | /** 78 | * Set ColumnIndex 79 | * 80 | * @param string $pValue 81 | * @return PHPExcel_Worksheet_ColumnDimension 82 | */ 83 | public function setColumnIndex($pValue) 84 | { 85 | $this->columnIndex = $pValue; 86 | return $this; 87 | } 88 | 89 | /** 90 | * Get Width 91 | * 92 | * @return double 93 | */ 94 | public function getWidth() 95 | { 96 | return $this->width; 97 | } 98 | 99 | /** 100 | * Set Width 101 | * 102 | * @param double $pValue 103 | * @return PHPExcel_Worksheet_ColumnDimension 104 | */ 105 | public function setWidth($pValue = -1) 106 | { 107 | $this->width = $pValue; 108 | return $this; 109 | } 110 | 111 | /** 112 | * Get Auto Size 113 | * 114 | * @return bool 115 | */ 116 | public function getAutoSize() 117 | { 118 | return $this->autoSize; 119 | } 120 | 121 | /** 122 | * Set Auto Size 123 | * 124 | * @param bool $pValue 125 | * @return PHPExcel_Worksheet_ColumnDimension 126 | */ 127 | public function setAutoSize($pValue = false) 128 | { 129 | $this->autoSize = $pValue; 130 | return $this; 131 | } 132 | } 133 | -------------------------------------------------------------------------------- /includes/PHPExcel/Worksheet/Row.php: -------------------------------------------------------------------------------- 1 | parent = $parent; 54 | $this->rowIndex = $rowIndex; 55 | } 56 | 57 | /** 58 | * Destructor 59 | */ 60 | public function __destruct() 61 | { 62 | unset($this->parent); 63 | } 64 | 65 | /** 66 | * Get row index 67 | * 68 | * @return int 69 | */ 70 | public function getRowIndex() 71 | { 72 | return $this->rowIndex; 73 | } 74 | 75 | /** 76 | * Get cell iterator 77 | * 78 | * @param string $startColumn The column address at which to start iterating 79 | * @param string $endColumn Optionally, the column address at which to stop iterating 80 | * @return PHPExcel_Worksheet_CellIterator 81 | */ 82 | public function getCellIterator($startColumn = 'A', $endColumn = null) 83 | { 84 | return new PHPExcel_Worksheet_RowCellIterator($this->parent, $this->rowIndex, $startColumn, $endColumn); 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /includes/PHPExcel/Worksheet/RowDimension.php: -------------------------------------------------------------------------------- 1 | rowIndex = $pIndex; 62 | 63 | // set dimension as unformatted by default 64 | parent::__construct(null); 65 | } 66 | 67 | /** 68 | * Get Row Index 69 | * 70 | * @return int 71 | */ 72 | public function getRowIndex() 73 | { 74 | return $this->rowIndex; 75 | } 76 | 77 | /** 78 | * Set Row Index 79 | * 80 | * @param int $pValue 81 | * @return PHPExcel_Worksheet_RowDimension 82 | */ 83 | public function setRowIndex($pValue) 84 | { 85 | $this->rowIndex = $pValue; 86 | return $this; 87 | } 88 | 89 | /** 90 | * Get Row Height 91 | * 92 | * @return double 93 | */ 94 | public function getRowHeight() 95 | { 96 | return $this->height; 97 | } 98 | 99 | /** 100 | * Set Row Height 101 | * 102 | * @param double $pValue 103 | * @return PHPExcel_Worksheet_RowDimension 104 | */ 105 | public function setRowHeight($pValue = -1) 106 | { 107 | $this->height = $pValue; 108 | return $this; 109 | } 110 | 111 | /** 112 | * Get ZeroHeight 113 | * 114 | * @return bool 115 | */ 116 | public function getZeroHeight() 117 | { 118 | return $this->zeroHeight; 119 | } 120 | 121 | /** 122 | * Set ZeroHeight 123 | * 124 | * @param bool $pValue 125 | * @return PHPExcel_Worksheet_RowDimension 126 | */ 127 | public function setZeroHeight($pValue = false) 128 | { 129 | $this->zeroHeight = $pValue; 130 | return $this; 131 | } 132 | } 133 | -------------------------------------------------------------------------------- /includes/PHPExcel/WorksheetIterator.php: -------------------------------------------------------------------------------- 1 | subject = $subject; 53 | } 54 | 55 | /** 56 | * Destructor 57 | */ 58 | public function __destruct() 59 | { 60 | unset($this->subject); 61 | } 62 | 63 | /** 64 | * Rewind iterator 65 | */ 66 | public function rewind() 67 | { 68 | $this->position = 0; 69 | } 70 | 71 | /** 72 | * Current PHPExcel_Worksheet 73 | * 74 | * @return PHPExcel_Worksheet 75 | */ 76 | public function current() 77 | { 78 | return $this->subject->getSheet($this->position); 79 | } 80 | 81 | /** 82 | * Current key 83 | * 84 | * @return int 85 | */ 86 | public function key() 87 | { 88 | return $this->position; 89 | } 90 | 91 | /** 92 | * Next value 93 | */ 94 | public function next() 95 | { 96 | ++$this->position; 97 | } 98 | 99 | /** 100 | * More PHPExcel_Worksheet instances available? 101 | * 102 | * @return boolean 103 | */ 104 | public function valid() 105 | { 106 | return $this->position < $this->subject->getSheetCount(); 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /includes/PHPExcel/Writer/Excel2007/RelsRibbon.php: -------------------------------------------------------------------------------- 1 | getParentWriter()->getUseDiskCaching()) { 42 | $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); 43 | } else { 44 | $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); 45 | } 46 | 47 | // XML header 48 | $objWriter->startDocument('1.0', 'UTF-8', 'yes'); 49 | 50 | // Relationships 51 | $objWriter->startElement('Relationships'); 52 | $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); 53 | $localRels = $pPHPExcel->getRibbonBinObjects('names'); 54 | if (is_array($localRels)) { 55 | foreach ($localRels as $aId => $aTarget) { 56 | $objWriter->startElement('Relationship'); 57 | $objWriter->writeAttribute('Id', $aId); 58 | $objWriter->writeAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'); 59 | $objWriter->writeAttribute('Target', $aTarget); 60 | $objWriter->endElement(); 61 | } 62 | } 63 | $objWriter->endElement(); 64 | 65 | return $objWriter->getData(); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /includes/PHPExcel/Writer/Excel2007/RelsVBA.php: -------------------------------------------------------------------------------- 1 | getParentWriter()->getUseDiskCaching()) { 42 | $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); 43 | } else { 44 | $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); 45 | } 46 | 47 | // XML header 48 | $objWriter->startDocument('1.0', 'UTF-8', 'yes'); 49 | 50 | // Relationships 51 | $objWriter->startElement('Relationships'); 52 | $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); 53 | $objWriter->startElement('Relationship'); 54 | $objWriter->writeAttribute('Id', 'rId1'); 55 | $objWriter->writeAttribute('Type', 'http://schemas.microsoft.com/office/2006/relationships/vbaProjectSignature'); 56 | $objWriter->writeAttribute('Target', 'vbaProjectSignature.bin'); 57 | $objWriter->endElement(); 58 | $objWriter->endElement(); 59 | 60 | return $objWriter->getData(); 61 | 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /includes/PHPExcel/Writer/Excel2007/WriterPart.php: -------------------------------------------------------------------------------- 1 | parentWriter = $pWriter; 46 | } 47 | 48 | /** 49 | * Get parent IWriter object 50 | * 51 | * @return PHPExcel_Writer_IWriter 52 | * @throws PHPExcel_Writer_Exception 53 | */ 54 | public function getParentWriter() 55 | { 56 | if (!is_null($this->parentWriter)) { 57 | return $this->parentWriter; 58 | } else { 59 | throw new PHPExcel_Writer_Exception("No parent PHPExcel_Writer_IWriter assigned."); 60 | } 61 | } 62 | 63 | /** 64 | * Set parent IWriter object 65 | * 66 | * @param PHPExcel_Writer_IWriter $pWriter 67 | * @throws PHPExcel_Writer_Exception 68 | */ 69 | public function __construct(PHPExcel_Writer_IWriter $pWriter = null) 70 | { 71 | if (!is_null($pWriter)) { 72 | $this->parentWriter = $pWriter; 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /includes/PHPExcel/Writer/Exception.php: -------------------------------------------------------------------------------- 1 | line = $line; 43 | $e->file = $file; 44 | throw $e; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /includes/PHPExcel/Writer/IWriter.php: -------------------------------------------------------------------------------- 1 | 36 | */ 37 | class PHPExcel_Writer_OpenDocument_Cell_Comment 38 | { 39 | public static function write(PHPExcel_Shared_XMLWriter $objWriter, PHPExcel_Cell $cell) 40 | { 41 | $comments = $cell->getWorksheet()->getComments(); 42 | if (!isset($comments[$cell->getCoordinate()])) { 43 | return; 44 | } 45 | $comment = $comments[$cell->getCoordinate()]; 46 | 47 | $objWriter->startElement('office:annotation'); 48 | //$objWriter->writeAttribute('draw:style-name', 'gr1'); 49 | //$objWriter->writeAttribute('draw:text-style-name', 'P1'); 50 | $objWriter->writeAttribute('svg:width', $comment->getWidth()); 51 | $objWriter->writeAttribute('svg:height', $comment->getHeight()); 52 | $objWriter->writeAttribute('svg:x', $comment->getMarginLeft()); 53 | $objWriter->writeAttribute('svg:y', $comment->getMarginTop()); 54 | //$objWriter->writeAttribute('draw:caption-point-x', $comment->getMarginLeft()); 55 | //$objWriter->writeAttribute('draw:caption-point-y', $comment->getMarginTop()); 56 | $objWriter->writeElement('dc:creator', $comment->getAuthor()); 57 | // TODO: Not realized in PHPExcel_Comment yet. 58 | //$objWriter->writeElement('dc:date', $comment->getDate()); 59 | $objWriter->writeElement('text:p', $comment->getText()->getPlainText()); 60 | //$objWriter->writeAttribute('draw:text-style-name', 'P1'); 61 | $objWriter->endElement(); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /includes/PHPExcel/Writer/OpenDocument/Mimetype.php: -------------------------------------------------------------------------------- 1 | getParentWriter()->getPHPExcel(); 41 | } 42 | 43 | $objWriter = null; 44 | if ($this->getParentWriter()->getUseDiskCaching()) { 45 | $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory()); 46 | } else { 47 | $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY); 48 | } 49 | 50 | // XML header 51 | $objWriter->startDocument('1.0', 'UTF-8'); 52 | 53 | // Settings 54 | $objWriter->startElement('office:document-settings'); 55 | $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0'); 56 | $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'); 57 | $objWriter->writeAttribute('xmlns:config', 'urn:oasis:names:tc:opendocument:xmlns:config:1.0'); 58 | $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office'); 59 | $objWriter->writeAttribute('office:version', '1.2'); 60 | 61 | $objWriter->startElement('office:settings'); 62 | $objWriter->startElement('config:config-item-set'); 63 | $objWriter->writeAttribute('config:name', 'ooo:view-settings'); 64 | $objWriter->startElement('config:config-item-map-indexed'); 65 | $objWriter->writeAttribute('config:name', 'Views'); 66 | $objWriter->endElement(); 67 | $objWriter->endElement(); 68 | $objWriter->startElement('config:config-item-set'); 69 | $objWriter->writeAttribute('config:name', 'ooo:configuration-settings'); 70 | $objWriter->endElement(); 71 | $objWriter->endElement(); 72 | $objWriter->endElement(); 73 | 74 | return $objWriter->getData(); 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /includes/PHPExcel/Writer/OpenDocument/Thumbnails.php: -------------------------------------------------------------------------------- 1 | renderer = new $rendererName($phpExcel); 63 | } 64 | 65 | 66 | /** 67 | * Magic method to handle direct calls to the configured PDF renderer wrapper class. 68 | * 69 | * @param string $name Renderer library method name 70 | * @param mixed[] $arguments Array of arguments to pass to the renderer method 71 | * @return mixed Returned data from the PDF renderer wrapper method 72 | */ 73 | public function __call($name, $arguments) 74 | { 75 | if ($this->renderer === null) { 76 | throw new PHPExcel_Writer_Exception("PDF Rendering library has not been defined."); 77 | } 78 | 79 | return call_user_func_array(array($this->renderer, $name), $arguments); 80 | } 81 | 82 | /** 83 | * {@inheritdoc} 84 | */ 85 | public function save($pFilename = null) 86 | { 87 | $this->renderer->save($pFilename); 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/bg/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | 5 | ## Copyright (c) 2006 - 2013 PHPExcel 6 | ## 7 | ## This library is free software; you can redistribute it and/or 8 | ## modify it under the terms of the GNU Lesser General Public 9 | ## License as published by the Free Software Foundation; either 10 | ## version 2.1 of the License, or (at your option) any later version. 11 | ## 12 | ## This library is distributed in the hope that it will be useful, 13 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | ## Lesser General Public License for more details. 16 | ## 17 | ## You should have received a copy of the GNU Lesser General Public 18 | ## License along with this library; if not, write to the Free Software 19 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 | ## 21 | ## @category PHPExcel 22 | ## @package PHPExcel_Settings 23 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 24 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 25 | ## @version ##VERSION##, ##DATE## 26 | ## 27 | ## 28 | 29 | 30 | ArgumentSeparator = ; 31 | 32 | 33 | ## 34 | ## (For future use) 35 | ## 36 | currencySymbol = лв 37 | 38 | 39 | ## 40 | ## Excel Error Codes (For future use) 41 | 42 | ## 43 | NULL = #ПРАЗНО! 44 | DIV0 = #ДЕЛ/0! 45 | VALUE = #СТОЙНОСТ! 46 | REF = #РЕФ! 47 | NAME = #ИМЕ? 48 | NUM = #ЧИСЛО! 49 | NA = #Н/Д 50 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/cs/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = Kč 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NULL! 42 | DIV0 = #DIV/0! 43 | VALUE = #HODNOTA! 44 | REF = #REF! 45 | NAME = #NÁZEV? 46 | NUM = #NUM! 47 | NA = #N/A 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/da/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = kr 36 | 37 | 38 | 39 | ## 40 | ## Excel Error Codes (For future use) 41 | ## 42 | NULL = #NUL! 43 | DIV0 = #DIVISION/0! 44 | VALUE = #VÆRDI! 45 | REF = #REFERENCE! 46 | NAME = #NAVN? 47 | NUM = #NUM! 48 | NA = #I/T 49 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/de/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = € 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NULL! 42 | DIV0 = #DIV/0! 43 | VALUE = #WERT! 44 | REF = #BEZUG! 45 | NAME = #NAME? 46 | NUM = #ZAHL! 47 | NA = #NV 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/en/uk/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ## 30 | ## (For future use) 31 | ## 32 | currencySymbol = £ 33 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/es/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = $ ## I'm surprised that the Excel Documentation suggests $ rather than € 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #¡NULO! 42 | DIV0 = #¡DIV/0! 43 | VALUE = #¡VALOR! 44 | REF = #¡REF! 45 | NAME = #¿NOMBRE? 46 | NUM = #¡NÚM! 47 | NA = #N/A 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/fi/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = $ # Symbol not known, should it be a € (Euro)? 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #TYHJÄ! 42 | DIV0 = #JAKO/0! 43 | VALUE = #ARVO! 44 | REF = #VIITTAUS! 45 | NAME = #NIMI? 46 | NUM = #LUKU! 47 | NA = #PUUTTUU 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/fr/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = € 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NUL! 42 | DIV0 = #DIV/0! 43 | VALUE = #VALEUR! 44 | REF = #REF! 45 | NAME = #NOM? 46 | NUM = #NOMBRE! 47 | NA = #N/A 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/hu/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = Ft 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NULLA! 42 | DIV0 = #ZÉRÓOSZTÓ! 43 | VALUE = #ÉRTÉK! 44 | REF = #HIV! 45 | NAME = #NÉV? 46 | NUM = #SZÁM! 47 | NA = #HIÁNYZIK 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/it/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = € 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NULLO! 42 | DIV0 = #DIV/0! 43 | VALUE = #VALORE! 44 | REF = #RIF! 45 | NAME = #NOME? 46 | NUM = #NUM! 47 | NA = #N/D 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/nl/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = € 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #LEEG! 42 | DIV0 = #DEEL/0! 43 | VALUE = #WAARDE! 44 | REF = #VERW! 45 | NAME = #NAAM? 46 | NUM = #GETAL! 47 | NA = #N/B 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/no/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = kr 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NULL! 42 | DIV0 = #DIV/0! 43 | VALUE = #VERDI! 44 | REF = #REF! 45 | NAME = #NAVN? 46 | NUM = #NUM! 47 | NA = #I/T 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/pl/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = zł 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #ZERO! 42 | DIV0 = #DZIEL/0! 43 | VALUE = #ARG! 44 | REF = #ADR! 45 | NAME = #NAZWA? 46 | NUM = #LICZBA! 47 | NA = #N/D! 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/pt/br/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = R$ 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NULO! 42 | DIV0 = #DIV/0! 43 | VALUE = #VALOR! 44 | REF = #REF! 45 | NAME = #NOME? 46 | NUM = #NÚM! 47 | NA = #N/D 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/pt/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = € 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #NULO! 42 | DIV0 = #DIV/0! 43 | VALUE = #VALOR! 44 | REF = #REF! 45 | NAME = #NOME? 46 | NUM = #NÚM! 47 | NA = #N/D 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/ru/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = р 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #ПУСТО! 42 | DIV0 = #ДЕЛ/0! 43 | VALUE = #ЗНАЧ! 44 | REF = #ССЫЛ! 45 | NAME = #ИМЯ? 46 | NUM = #ЧИСЛО! 47 | NA = #Н/Д 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/sv/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = kr 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #Skärning! 42 | DIV0 = #Division/0! 43 | VALUE = #Värdefel! 44 | REF = #Referens! 45 | NAME = #Namn? 46 | NUM = #Ogiltigt! 47 | NA = #Saknas! 48 | -------------------------------------------------------------------------------- /includes/PHPExcel/locale/tr/config: -------------------------------------------------------------------------------- 1 | ## 2 | ## PHPExcel 3 | ## 4 | ## Copyright (c) 2006 - 2013 PHPExcel 5 | ## 6 | ## This library is free software; you can redistribute it and/or 7 | ## modify it under the terms of the GNU Lesser General Public 8 | ## License as published by the Free Software Foundation; either 9 | ## version 2.1 of the License, or (at your option) any later version. 10 | ## 11 | ## This library is distributed in the hope that it will be useful, 12 | ## but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ## Lesser General Public License for more details. 15 | ## 16 | ## You should have received a copy of the GNU Lesser General Public 17 | ## License along with this library; if not, write to the Free Software 18 | ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | ## 20 | ## @category PHPExcel 21 | ## @package PHPExcel_Settings 22 | ## @copyright Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel) 23 | ## @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 24 | ## @version ##VERSION##, ##DATE## 25 | ## 26 | ## 27 | 28 | 29 | ArgumentSeparator = ; 30 | 31 | 32 | ## 33 | ## (For future use) 34 | ## 35 | currencySymbol = YTL 36 | 37 | 38 | ## 39 | ## Excel Error Codes (For future use) 40 | ## 41 | NULL = #BOŞ! 42 | DIV0 = #SAYI/0! 43 | VALUE = #DEĞER! 44 | REF = #BAŞV! 45 | NAME = #AD? 46 | NUM = #SAYI! 47 | NA = #YOK 48 | -------------------------------------------------------------------------------- /includes/config.php.bak: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /includes/functions.php: -------------------------------------------------------------------------------- 1 | query(sprintf('SHOW TABLES LIKE "%ssheet_schema"',DB_PREFIX))->fetchColumn()){ //Check presence of sheet_schema table in DB 19 | return true; 20 | } 21 | } 22 | } 23 | } 24 | return false; 25 | } 26 | 27 | function die_error($error_message){ 28 | if(is_ajax_request()){ 29 | die(json_encode(array('status'=>'error','message'=>$error_message,'data'=>''))); 30 | }else{ 31 | $_temp_vars['error_details'] = $error_message; 32 | $page_content = 'error.php'; 33 | include_once(TEMP_PATH.'/main.php'); 34 | } 35 | exit(); 36 | } 37 | 38 | function get_alert($message = '',$type='error'){ 39 | return sprintf('
%s
',Natiga_Security::escapeAttribute($type),$message); 40 | } 41 | 42 | function parse_as_template($file,$vars = array(),$use_global_vars = true){ 43 | if(!empty($vars) && is_array($vars)){ 44 | extract($vars); 45 | } 46 | 47 | if($use_global_vars === true){ 48 | extract($GLOBALS, EXTR_SKIP); 49 | } 50 | 51 | $__template_result_holder__ = ''; 52 | if(is_file($file) && is_readable($file)){ 53 | try{ 54 | ob_start(); //prevent output and save it in buffer 55 | include($file); 56 | $__template_result_holder__ = ob_get_clean(); 57 | ob_end_clean(); 58 | }catch(Exception $e){ 59 | $__template_result_holder__ = ''; 60 | } 61 | } 62 | return $__template_result_holder__; 63 | } 64 | 65 | ?> -------------------------------------------------------------------------------- /includes/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/includes/index.html -------------------------------------------------------------------------------- /includes/site_config.php: -------------------------------------------------------------------------------- 1 | only seat_no, 4=> only name. 6 => both 13 | $_CONFIG['site_title'] = 'نتيجة المدرسة'; 14 | $_CONFIG['template_assets_url'] = 'http://natiga-script.cf/templates/assets/'; 15 | 16 | 17 | 18 | $_CONFIG['is_production_env'] = true; 19 | 20 | $_CONFIG['allowed_file_ext'] = array('xls','xlsx','xlsm','xltx','xltm','xlt','csv'); 21 | $_CONFIG['allowed_file_mime'] = array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/excel','application/x-excel','application/vnd.ms-excel','application/x-msexcel','text/plain','text/csv'); 22 | 23 | $_CONFIG['memory_limit'] = '1024m'; //you can set it to "-1" for unlimited memory usage 24 | 25 | $_CONFIG['magic_number'] = 0.0123456789; //When subject score is equal to this magic number, only subject name will be shown and score will be hidden 26 | ?> -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | أو أنه تم مسح بعض الملفات الهامة.. من فضلك قم بتثبيته أولا

بدء التثبيت'); 12 | } 13 | 14 | if (empty($PDO)) 15 | { 16 | require_once (INC_PATH . '/config.php'); 17 | } 18 | 19 | if (!empty($_REQUEST['action']) && $_REQUEST['action'] == 'search') 20 | { 21 | 22 | //Set default response to error to handle unexpected failures 23 | $_result = array( 24 | 'status' => 'error', 25 | 'message' => 'حدث خطأ أثناء محاولة تنفيذ طلبك..
برجاء المحاولة مرّة أخرى', 26 | 'data' => array()); 27 | 28 | if (isset($_REQUEST['stdInfo'])) 29 | { 30 | //If user entered a name of less than 3 chars return error 31 | if (!is_numeric($_REQUEST['stdInfo']) && mb_strlen(trim($_REQUEST['stdInfo'])) < 3) 32 | { //We changed our code writing style in this condition for better readability of the code 33 | $_result['message'] = 'اسم الطالب الذي تبحث عنه قصير جدًا.. يجب أن يكون على الأقل 3 حروف'; 34 | 35 | } else 36 | { 37 | $grade = (!empty($_REQUEST['grade'])) ? trim($_REQUEST['grade']) : ''; 38 | $search_config = array( 39 | 'allow_partial_names' => $_CONFIG['allow_partial_names'], 40 | 'allow_partial_grades' => $_CONFIG['allow_partial_grades'], 41 | 'allow_search_all_grades' => $_CONFIG['allow_search_all_grades'], 42 | 'search_by' => $_CONFIG['search_by']); 43 | 44 | $natiga_instance = new Natiga_Fetcher($_REQUEST['stdInfo'], $grade, $search_config); 45 | $result = $natiga_instance->get_result(); 46 | //var_dump($result->get_statement()->fetch()); 47 | if ($result && ($data = $result->fetch(PDO::FETCH_ASSOC)) && !empty($data)) 48 | { 49 | //Checks for existence and readbility of headers file, exists in is_script_installed() function 50 | $headers = json_decode(file_get_contents(INC_PATH . '/' . TB_HEADER_FILENAME), true); 51 | 52 | unset($data['stdID']); //remove student ID from result 53 | $_temp_vars['student_result'] = array('headers' => $headers, 'data' => $data); 54 | 55 | $_result['status'] = 'success'; 56 | $_result['message'] = 'تم العثور على بيانات الطالب بنجاح'; 57 | $_result['data'] = parse_as_template(TEMP_PATH . '/content_result.php'); 58 | 59 | } else 60 | { 61 | $_result['message'] = 'لم نستطع العثور على طالب بالبيانات التي أدخلتها..
من فضلك تأكد من إدخال البيانات بشكل صحيح'; 62 | } 63 | } 64 | } else 65 | { 66 | $_result['message'] = 'لم تقم بتقديم بيانات كافية عن الطالب. من فضلك أدخل الاسم أو رقم الجلوس'; 67 | } 68 | } 69 | 70 | $_temp_vars['grades'] = $PDO->query('SELECT DISTINCT `grade` from `' . DB_PREFIX . 'sheet_schema`')->fetchAll(PDO::FETCH_COLUMN); 71 | $_temp_vars['search_by'] = array('num'=>false,'name'=>false); 72 | if($_CONFIG['search_by'] & Natiga_Fetcher::SEARCH_BY_NUM){ 73 | $_temp_vars['search_by']['num'] = true; 74 | } 75 | if($_CONFIG['search_by'] & Natiga_Fetcher::SEARCH_BY_NAME){ 76 | $_temp_vars['search_by']['name'] = true; 77 | } 78 | 79 | 80 | if (is_ajax_request()) 81 | { 82 | header('Content-Type: application/json; charset=utf8'); 83 | die(json_encode($_result)); 84 | } else 85 | { 86 | /*if ($_result['status'] === 'success') 87 | { 88 | $page_content = 'content_home.php'; 89 | } else 90 | { 91 | $_temp_vars['error_details'] = $_result['message']; 92 | $page_content = 'error.php'; 93 | }*/ 94 | $page_content = 'content_home.php'; 95 | include_once (TEMP_PATH . '/main.php'); 96 | } 97 | 98 | ?> -------------------------------------------------------------------------------- /readme_files/excel_example000.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/excel_example000.JPG -------------------------------------------------------------------------------- /readme_files/install000.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/install000.JPG -------------------------------------------------------------------------------- /readme_files/install001.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/install001.JPG -------------------------------------------------------------------------------- /readme_files/install002.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/install002.JPG -------------------------------------------------------------------------------- /readme_files/install003.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/install003.JPG -------------------------------------------------------------------------------- /readme_files/install004.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/install004.JPG -------------------------------------------------------------------------------- /readme_files/screen001.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/screen001.JPG -------------------------------------------------------------------------------- /readme_files/screen002.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/screen002.JPG -------------------------------------------------------------------------------- /readme_files/screen003.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/readme_files/screen003.JPG -------------------------------------------------------------------------------- /sample_data.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/sample_data.xlsx -------------------------------------------------------------------------------- /templates/assets/css/ie8.min.css: -------------------------------------------------------------------------------- 1 | .image,.image img,input[type=text],input[type=password],input[type=email],select,textarea{position:relative;-ms-behavior:url(assets/js/ie/PIE.htc)}.dropotron,.icon.major,.image,input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,select:focus,textarea:focus{-ms-behavior:url(assets/js/ie/PIE.htc)}.dropotron.level-0:before,.goto-next,.image:before,input[type=checkbox]+label:before,input[type=radio]+label:before{display:none}#header,.dropotron,.spotlight .content{background:#272833}#banner,#banner:before,#page-wrapper,.spotlight,body,html{height:100%}body{color:#fff}blockquote{border-left:solid 4px #606067}code{background:#32333b}hr{border-bottom:solid 1px #606067}input[type=text],input[type=password],input[type=email]{line-height:3em}input[type=checkbox],input[type=radio]{font-size:3em}table tbody tr,table.alt tbody tr td{border:1px solid #606067}table thead{border-bottom:solid 1px #606067}table tfoot{border-top:solid 1px #606067}.button,input[type=submit],input[type=reset],input[type=button]{border:1px solid #fff!important}.button.special,input[type=submit].special,input[type=reset].special,input[type=button].special{border:0!important}.wrapper.style2 input[type=text]:focus,.wrapper.style2 input[type=password]:focus,.wrapper.style2 input[type=email]:focus,.wrapper.style2 select:focus,.wrapper.style2 textarea:focus{border-color:#fff}.wrapper.style2 .button.special:active,.wrapper.style2 .button.special:hover,.wrapper.style2 input[type=submit].special:active,.wrapper.style2 input[type=submit].special:hover,.wrapper.style2 input[type=reset].special:active,.wrapper.style2 input[type=reset].special:hover,.wrapper.style2 input[type=button].special:active,.wrapper.style2 input[type=button].special:hover{color:#e44c65!important}.dropotron{box-shadow:none!important}.dropotron>li a,.dropotron>li span{color:#fff!important}.dropotron.level-0{margin-top:0}#banner:after{background-image:url(images/ie/banner-overlay.png)} -------------------------------------------------------------------------------- /templates/assets/css/ie9.css: -------------------------------------------------------------------------------- 1 | /* 2 | Landed by HTML5 UP 3 | html5up.net | @ajlkn 4 | Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) 5 | */ 6 | 7 | /* Loader */ 8 | 9 | body.landing:before, body.landing:after { 10 | display: none !important; 11 | } 12 | 13 | /* Icon */ 14 | 15 | .icon.alt { 16 | color: inherit !important; 17 | } 18 | 19 | .icon.major.alt:before { 20 | color: #ffffff !important; 21 | } 22 | 23 | /* Banner */ 24 | 25 | #banner:after { 26 | background-color: rgba(23, 24, 32, 0.95); 27 | } 28 | 29 | /* Footer */ 30 | 31 | #footer .icons .icon.alt:before { 32 | color: #ffffff !important; 33 | } -------------------------------------------------------------------------------- /templates/assets/css/ie9.min.css: -------------------------------------------------------------------------------- 1 | body.landing:after,body.landing:before{display:none!important}.icon.alt{color:inherit!important}#footer .icons .icon.alt:before,.icon.major.alt:before{color:#fff!important}#banner:after{background-color:rgba(23,24,32,.95)} -------------------------------------------------------------------------------- /templates/assets/css/images/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /templates/assets/css/images/ie/banner-overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/css/images/ie/banner-overlay.png -------------------------------------------------------------------------------- /templates/assets/css/images/ie/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/css/images/ie/index.html -------------------------------------------------------------------------------- /templates/assets/css/images/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/css/images/index.html -------------------------------------------------------------------------------- /templates/assets/css/images/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/css/images/overlay.png -------------------------------------------------------------------------------- /templates/assets/css/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/css/index.html -------------------------------------------------------------------------------- /templates/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /templates/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /templates/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /templates/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /templates/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /templates/assets/fonts/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/fonts/index.html -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-114x114.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-144x144.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-167x167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-167x167.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-57x57.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-72x72.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /templates/assets/images/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/apple-touch-icon.png -------------------------------------------------------------------------------- /templates/assets/images/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/banner.jpg -------------------------------------------------------------------------------- /templates/assets/images/code_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/code_bg.jpg -------------------------------------------------------------------------------- /templates/assets/images/db_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/db_bg.jpg -------------------------------------------------------------------------------- /templates/assets/images/done.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/done.png -------------------------------------------------------------------------------- /templates/assets/images/error.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/error.jpg -------------------------------------------------------------------------------- /templates/assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/favicon.ico -------------------------------------------------------------------------------- /templates/assets/images/grad_wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/grad_wallpaper.jpg -------------------------------------------------------------------------------- /templates/assets/images/grad_wallpaper2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/grad_wallpaper2.jpg -------------------------------------------------------------------------------- /templates/assets/images/help_icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/help_icon.jpg -------------------------------------------------------------------------------- /templates/assets/images/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/index.html -------------------------------------------------------------------------------- /templates/assets/images/installation_package.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/installation_package.jpg -------------------------------------------------------------------------------- /templates/assets/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/loading.gif -------------------------------------------------------------------------------- /templates/assets/images/paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/paper.png -------------------------------------------------------------------------------- /templates/assets/images/paper.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/paper.psd -------------------------------------------------------------------------------- /templates/assets/images/pic01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/pic01.jpg -------------------------------------------------------------------------------- /templates/assets/images/sep_cell_example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/images/sep_cell_example.jpg -------------------------------------------------------------------------------- /templates/assets/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/assets/index.html -------------------------------------------------------------------------------- /templates/assets/js/ie/html5shiv.js: -------------------------------------------------------------------------------- 1 | /* 2 | HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | (function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); 5 | a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; 6 | c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| 7 | "undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); 8 | for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d${escapeHTML(a)}`}),$(".sheet_column").each(function(){$(this).html(sheetColumns)})}function upload_file(){var files=document.getElementById("excel_file").files;if($("#upload_result").fadeOut("fast"),files.length>0){var file=files[0],ext=file.name.split(".").pop();if(allowed_files.indexOf(ext.toLowerCase())>-1){var formData=new FormData;with(t=$('link[rel=stylesheet][href*="css/main"]').attr("href"))assets_base=t.substr(0,t.indexOf("css/main"));$("#file_upload").prepend('
'),csrf_token=document.querySelector("meta[name=csrf_token]").getAttribute("content"),formData.append("excel_file",file,file.name),formData.append("csrf_token",csrf_token),formData.append("action","file_upload"),$.ajax({url:"",type:"POST",data:formData,processData:!1,contentType:!1,cache:!1,success:function(a,b,c){try{var d="string"==typeof a?JSON.parse(c.responseText):a}catch(a){var d=!1}if(d&&"success"==d.status)return $("#upload_result").html(get_alert(d.message,"success")).fadeIn("slow"),file_content=d.data,$("#upload_file a.goto-next").click(),$("#sheet_config .overlay").fadeOut("slow"),$("#db_config .overlay").fadeOut("slow"),void(null!=d.data&&(d.data.forEach(function(a,b){$("#excel_sheet").append(``)}),update_sheet_columns()));var e=d&&d.message?d.message:"فشل رفع الملف برجاء المحاولة مرّة أخرى";$("#upload_result").html(get_alert(e,"error")).fadeIn("slow")},error:function(){$("#upload_result").html(get_alert("فشل رفع الملف برجاء المحاولة مرّة أخرى!","error")).fadeIn("slow")},complete:function(){$("#file_upload").find(".overlay.form-loading").fadeOut("slow")}})}else $("#upload_result").html(get_alert("الملف الذي تحاول رفعه غير مسموح به... برجاء رفع ملفات Excel فقط.","error")).fadeIn("slow")}}function save_data_callback(a,b){try{result="string"==typeof a?JSON.parse(a):a}catch(a){result=!1}if(result&&"success"==result.status){var c=result.message;$("#finish").fadeIn("slow"),$("#db_config a.goto-next").fadeIn("fast").click()}else{console.log(result);var c=result&&result.message?result.message:"فشل حفظ البيانات برجاء المحاولة مرّة أخرى";$("#db_config .alert").remove(),$("#db_config .content").prepend(get_alert(c)),$("#sheet_config a.goto-next").click()}}var allowed_files=["xls","xlsx","xlsm","xlst","csv"],file_content=null;$("body").on("click","#excel_file",function(){this.value=null}),$("body").on("change","#excel_file",upload_file),$("body").on("change","#excel_sheet",update_sheet_columns); -------------------------------------------------------------------------------- /templates/assets/js/jquery.scrollex.min.js: -------------------------------------------------------------------------------- 1 | /* jquery.scrollex v0.2.1 | (c) @ajlkn | github.com/ajlkn/jquery.scrollex | MIT licensed */ 2 | !function(t){function e(t,e,n){return"string"==typeof t&&("%"==t.slice(-1)?t=parseInt(t.substring(0,t.length-1))/100*e:"vh"==t.slice(-2)?t=parseInt(t.substring(0,t.length-2))/100*n:"px"==t.slice(-2)&&(t=parseInt(t.substring(0,t.length-2)))),t}var n=t(window),i=1,o={};n.on("scroll",function(){var e=n.scrollTop();t.map(o,function(t){window.clearTimeout(t.timeoutId),t.timeoutId=window.setTimeout(function(){t.handler(e)},t.options.delay)})}).on("load",function(){n.trigger("scroll")}),jQuery.fn.scrollex=function(l){var s=t(this);if(0==this.length)return s;if(this.length>1){for(var r=0;r=i&&o>=t};break;case"bottom":h=function(t,e,n,i,o){return n>=i&&o>=n};break;case"middle":h=function(t,e,n,i,o){return e>=i&&o>=e};break;case"top-only":h=function(t,e,n,i,o){return i>=t&&n>=i};break;case"bottom-only":h=function(t,e,n,i,o){return n>=o&&o>=t};break;default:case"default":h=function(t,e,n,i,o){return n>=i&&o>=t}}return c=function(t){var i,o,l,s,r,a,u=this.state,h=!1,c=this.$element.offset();i=n.height(),o=t+i/2,l=t+i,s=this.$element.outerHeight(),r=c.top+e(this.options.top,s,i),a=c.top+s-e(this.options.bottom,s,i),h=this.test(t,o,l,r,a),h!=u&&(this.state=h,h?this.options.enter&&this.options.enter.apply(this.element):this.options.leave&&this.options.leave.apply(this.element)),this.options.scroll&&this.options.scroll.apply(this.element,[(o-r)/(a-r)])},p={id:a,options:u,test:h,handler:c,state:null,element:this,$element:s,timeoutId:null},o[a]=p,s.data("_scrollexId",p.id),p.options.initialize&&p.options.initialize.apply(this),s},jQuery.fn.unscrollex=function(){var e=t(this);if(0==this.length)return e;if(this.length>1){for(var n=0;n1){for(o=0;o 8 |
9 |
10 |

11 |

12 |
13 | () 14 |

15 |
16 |
17 |
 
18 |
19 |
20 | 21 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 42 |
>
43 |
44 |
45 |
46 |
47 | 48 | -------------------------------------------------------------------------------- /templates/error.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /templates/footer.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /templates/header.php: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | <?= $title;?> 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 48 | 49 | 50 |
51 | 52 | 53 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/natiga-script/natiga-script-excel/652da003c9d2de5596bb2714c9df650e9ba268aa/templates/index.html -------------------------------------------------------------------------------- /templates/main.php: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------