Server IP : 103.119.228.120 / Your IP : 3.141.198.147 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/hendraso/public_html/Additional/PHPExcel/Shared/OLE/ |
Upload File : |
<?php /* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | PHP Version 4 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997-2002 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.02 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is | // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | license@php.net so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Author: Xavier Noguer <xnoguer@php.net> | // | Based on OLE::Storage_Lite by Kawai, Takanori | // +----------------------------------------------------------------------+ // // $Id: PPS.php,v 1.7 2007/02/13 21:00:42 schmidt Exp $ /** * Class for creating PPS's for OLE containers * * @author Xavier Noguer <xnoguer@php.net> * @category PHPExcel * @package PHPExcel_Shared_OLE */ class PHPExcel_Shared_OLE_PPS { /** * The PPS index * @var integer */ public $No; /** * The PPS name (in Unicode) * @var string */ public $Name; /** * The PPS type. Dir, Root or File * @var integer */ public $Type; /** * The index of the previous PPS * @var integer */ public $PrevPps; /** * The index of the next PPS * @var integer */ public $NextPps; /** * The index of it's first child if this is a Dir or Root PPS * @var integer */ public $DirPps; /** * A timestamp * @var integer */ public $Time1st; /** * A timestamp * @var integer */ public $Time2nd; /** * Starting block (small or big) for this PPS's data inside the container * @var integer */ public $_StartBlock; /** * The size of the PPS's data (in bytes) * @var integer */ public $Size; /** * The PPS's data (only used if it's not using a temporary file) * @var string */ public $_data; /** * Array of child PPS's (only used by Root and Dir PPS's) * @var array */ public $children = array(); /** * Pointer to OLE container * @var OLE */ public $ole; /** * The constructor * * @access public * @param integer $No The PPS index * @param string $name The PPS name * @param integer $type The PPS type. Dir, Root or File * @param integer $prev The index of the previous PPS * @param integer $next The index of the next PPS * @param integer $dir The index of it's first child if this is a Dir or Root PPS * @param integer $time_1st A timestamp * @param integer $time_2nd A timestamp * @param string $data The (usually binary) source data of the PPS * @param array $children Array containing children PPS for this PPS */ public function __construct($No, $name, $type, $prev, $next, $dir, $time_1st, $time_2nd, $data, $children) { $this->No = $No; $this->Name = $name; $this->Type = $type; $this->PrevPps = $prev; $this->NextPps = $next; $this->DirPps = $dir; $this->Time1st = $time_1st; $this->Time2nd = $time_2nd; $this->_data = $data; $this->children = $children; if ($data != '') { $this->Size = strlen($data); } else { $this->Size = 0; } } /** * Returns the amount of data saved for this PPS * * @access public * @return integer The amount of data (in bytes) */ public function _DataLen() { if (!isset($this->_data)) { return 0; } //if (isset($this->_PPS_FILE)) { // fseek($this->_PPS_FILE, 0); // $stats = fstat($this->_PPS_FILE); // return $stats[7]; //} else { return strlen($this->_data); //} } /** * Returns a string with the PPS's WK (What is a WK?) * * @access public * @return string The binary string */ public function _getPpsWk() { $ret = str_pad($this->Name,64,"\x00"); $ret .= pack("v", strlen($this->Name) + 2) // 66 . pack("c", $this->Type) // 67 . pack("c", 0x00) //UK // 68 . pack("V", $this->PrevPps) //Prev // 72 . pack("V", $this->NextPps) //Next // 76 . pack("V", $this->DirPps) //Dir // 80 . "\x00\x09\x02\x00" // 84 . "\x00\x00\x00\x00" // 88 . "\xc0\x00\x00\x00" // 92 . "\x00\x00\x00\x46" // 96 // Seems to be ok only for Root . "\x00\x00\x00\x00" // 100 . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time1st) // 108 . PHPExcel_Shared_OLE::LocalDate2OLE($this->Time2nd) // 116 . pack("V", isset($this->_StartBlock)? $this->_StartBlock:0) // 120 . pack("V", $this->Size) // 124 . pack("V", 0); // 128 return $ret; } /** * Updates index and pointers to previous, next and children PPS's for this * PPS. I don't think it'll work with Dir PPS's. * * @access public * @param array &$pps_array Reference to the array of PPS's for the whole OLE * container * @return integer The index for this PPS */ public function _savePpsSetPnt(&$pps_array) { $pps_array[count($pps_array)] = &$this; $this->No = count($pps_array) - 1; $this->PrevPps = 0xFFFFFFFF; $this->NextPps = 0xFFFFFFFF; if (count($this->children) > 0) { $this->DirPps = $this->children[0]->_savePpsSetPnt($pps_array); } else { $this->DirPps = 0xFFFFFFFF; } return $this->No; } }