GIF89a;
Direktori : /home/serb/www/poll/app.code/ |
Current File : /home/serb/www/poll/app.code/CTClassObject.inc.php |
<?php //==>>>==>>>==>>>==>>>==>>>==>>>==>>>==>>>==>>>==>>>==>>>==>>>==>>> // // Ajax Poll Script v3.02 [ GPL ] // Copyright (c) phpkobo.com ( http://www.phpkobo.com/ ) // Email : admin@phpkobo.com // ID : APSMX-302 // //==<<<==<<<==<<<==<<<==<<<==<<<==<<<==<<<==<<<==<<<==<<<==<<<==<<< //---------------------------------------------------------------- // CTClassObject //---------------------------------------------------------------- class CTClassObject { //---------------------------------------------------------------- // setup //---------------------------------------------------------------- function setup( $sys ) { $this->sys =& $sys; return true; } //---------------------------------------------------------------- // setupCmdSpec //---------------------------------------------------------------- function setupCmdSpec( &$cmdspec ) { } //---------------------------------------------------------------- // getTClassName() //---------------------------------------------------------------- function getTClassName() { return $this->sys->tclass; } //---------------------------------------------------------------- // getIdName() //---------------------------------------------------------------- function getIdName() { return $this->sys->tclass . '.' . $this->sys->tid; } //---------------------------------------------------------------- // getFolderUrl() //---------------------------------------------------------------- function getFolderUrl() { $url = $this->sys->url_app_root . $this->sys->tclass . '/'; return $url; } //---------------------------------------------------------------- // getFolderPath() //---------------------------------------------------------------- function getFolderPath() { return $this->path_tclass; } //---------------------------------------------------------------- // getDataFolderPath() //---------------------------------------------------------------- function getDataFolderPath() { return $this->getAppDataPath() . $this->getIdName() . '/'; } //---------------------------------------------------------------- // getAppDataPath() //---------------------------------------------------------------- function getAppDataPath() { return $this->sys->path_app_data; } //---------------------------------------------------------------- // showErrorMsg //---------------------------------------------------------------- function showErrorMsg( $err_msg ) { if ( is_array( $err_msg ) ) { $err_msg = implode( "<br/>", $err_msg ); } $msg = ''; $msg .= "<!--(ERRBOX)-->"; $msg .= "<div style='padding:0px;border:1px solid red;"; $msg .= "background-color:#fff0f0;'>"; $msg .= "<div style='color:white;font-size:80%;font-weight:bold;"; $msg .= "background-color:#ff0000;'>ERROR</div>"; $msg .= "<div style='padding:10px;'>"; $msg .= $err_msg; $msg .= "</div>"; $msg .= "</div>"; echo $msg; } //---------------------------------------------------------------- // checkPermission //---------------------------------------------------------------- function checkPermission( $ptype, $path ) { $msg = array(); if ( strpos( $ptype, 'r' ) !== false ) { if ( !is_readable( $path ) ) { CTClassSys::loadLang("app.requirements",$lng); $msg[] = $lng[ 'err:cannot-read' ] . " [{$path}]"; } } if ( strpos( $ptype, 'w' ) !== false ) { if ( !is_writeable( $path ) ) { CTClassSys::loadLang("app.requirements",$lng); $msg[] = $lng[ 'err:cannot-write' ] . " [{$path}]"; } } $b_success = ( count( $msg ) == 0 ); if ( !$b_success ) { $this->showErrorMsg( $msg ); } return $b_success; } //---------------------------------------------------------------- // process //---------------------------------------------------------------- function processCmdSpec( &$spec, &$ret ) { foreach( $spec as $cmd ) { if ( substr( $cmd, 0, 1 ) == '@' ) { $cmd = substr( $cmd, 1 ); if ( method_exists( $this, $cmd ) ) { if ( !call_user_func_array( array( $this, $cmd ), array( &$ret ) ) ) { break; } } else { $this->showErrorMsg( "method does not exist ({$cmd})" ); return false; } } else { $path1 = $this->sys->path_tclass . $cmd; if ( file_exists( $path1 ) ) { include( $path1 ); } else { $path2 = $this->sys->path_base_tclass . $cmd; if ( file_exists( $path2 ) ) { include( $path2 ); } else { $this->showErrorMsg( "file does not exist ({$path1}), ({$path2})" ); return false; } } } } return true; } //---------------------------------------------------------------- // run //---------------------------------------------------------------- function run( $sys ) { ob_start(); if ( !$this->setup( $sys ) ) return false; //-- run the requested command $this->appid = $_REQUEST['appid']; $this->cmd = $_REQUEST['cmd']; $this->result = "OK"; $ret = array(); if ( array_key_exists( $this->cmd, $this->cmdspec ) ) { $ret["cmd"] = "load"; //-- get command spec $spec = $this->cmdspec[$this->cmd]; //-- command redirection if ( !is_array( $spec ) ) { $spec = $this->cmdspec[$spec]; } $this->processCmdSpec( $spec, $ret ); } else { $ret["cmd"] = "alert"; echo "Unknown Command [{$this->cmd}]"; } $ret["html"] = ob_get_contents(); ob_end_clean(); $ret["result"] = $this->result; echo CJson::encode( $ret ); return true; } } ?>