コード例 #1
0
ファイル: Dumps.php プロジェクト: techart/tao
 static function load($filename)
 {
     self::$stream = IO_FS::FileStream($filename);
     while ($line = self::get()) {
         $line = trim($line);
         if ($m = Core_Regexps::match_with_results('{^!DUMP\\s+([^\\s]+)(.*)$}', $line)) {
             $module = trim($m[1]);
             $parms = trim($m[2]);
             $dumper = trim(self::$dumpers[$module]);
             if ($dumper == '') {
                 throw new CMS_Dumps_UnknownDumperException("Unknown dumper: {$module}");
             }
             $dumper_class_name = str_replace('.', '_', $dumper);
             if (!class_exists($dumper_class_name)) {
                 Core::load($dumper);
             }
             $class = new ReflectionClass($dumper_class_name);
             $class->setStaticPropertyValue('stream', self::$stream);
             $method = $class->getMethod('load');
             $rc = $method->invokeArgs(null, array($parms));
             if (trim($rc) != '') {
                 return $rc;
             }
         }
     }
     return true;
 }
コード例 #2
0
ファイル: Vars1.php プロジェクト: techart/tao
 static function initialize($config = array())
 {
     self::$filed_dir = './' . Core::option('files_name') . '/vars';
     foreach ($config as $key => $value) {
         self::${$key} = $value;
     }
     self::register_type('CMS_Var_Type_Dir', 'CMS_Var_Type_Integer', 'CMS_Var_Type_String', 'CMS_Var_Type_Text', 'CMS_Var_Type_Html', 'CMS_Var_Type_Array', 'CMS_Var_Type_Mail', 'CMS_Var_Type_HtmlP', 'CMS_Var_Type_File');
     CMS_Dumps::dumper('VARS', 'CMS.Dumps.Vars');
     Core::load('DB.SQL');
     DB_SQL::db()->table(DB_SQL::Table('vars')->maps_to('CMS.Var')->serial('id')->columns('id', 'parent_id', 'site', 'component', 'code', 'title', 'value', 'valuesrc', 'vartype', 'parms', 'parmsrc', 'full')->default_sql('select', 'find', 'insert', 'update', 'delete', 'count')->sql('insert_new', DB_SQL::Insert('parent_id', 'site', 'code', 'title', 'full', 'vartype', 'value', 'valuesrc', 'parms', 'parmsrc'))->sql('find_by_code', DB_SQL::Find()->where('code=:code', 'site=:site', 'parent_id=:parent_id', 'component=:component'))->sql('update_parms', DB_SQL::Update()->set('vartype=:vartype,code=:code,title=:title,full=:full')->where('id=:id'))->sql('update_value', DB_SQL::Update()->set('value=:value')->where('id=:id'))->sql('update_value_src', DB_SQL::Update()->set('value=:value,valuesrc=:valuesrc')->where('id=:id'))->sql('update_full_value', DB_SQL::Update()->set('value=:value,valuesrc=:valuesrc,parms=:parms,parmsrc=:parmsrc')->where('id=:id'))->sql('get_code', DB_SQL::Count('code')->where('id=:id'))->sql('delete_component', DB_SQL::Delete()->where('component=:component'))->sql('select_code', DB_SQL::Select()->columns('parent_id,code')->where('id=:id'))->sql('select_childs', DB_SQL::Select()->columns('id', 'code')->where('parent_id=:parent_id'))->sql('select_dir', DB_SQL::Select()->where('parent_id=:parent_id', 'site=:site', 'component=:component')->order_by('IF(vartype="dir",0,1),id'))->sql('select_component', DB_SQL::Select()->where('component=:component')->order_by('parent_id,id'))->sql('select_dir_common', DB_SQL::Select()->where('parent_id=:parent_id', 'site=:site', 'full=0', 'component=:component')->order_by('IF(vartype="dir",0,1),id')));
 }
コード例 #3
0
ファイル: Vars.php プロジェクト: techart/tao
 /**
  * @param array $config
  */
 static function initialize($config = array())
 {
     self::$files_dir = './' . Core::option('files_name') . '/vars';
     foreach ($config as $key => $value) {
         self::${$key} = $value;
     }
     Core::load('CMS.Vars.Types');
     if (self::$type == 'orm') {
         Core::load('CMS.Vars.ORM');
         WS::env()->orm->submapper('vars', 'CMS.Vars.ORM.Mapper');
     }
     if (self::$type == 'storage') {
         Core::load('Storage');
         Storage::manager()->add('vars', 'CMS.Vars.Storage');
     }
     CMS::cached_run('CMS.Vars.Schema');
     self::register_type('CMS.Vars.Types.Dir', 'CMS.Vars.Types.Integer', 'CMS.Vars.Types.String', 'CMS.Vars.Types.Text', 'CMS.Vars.Types.Html', 'CMS.Vars.Types.Array', 'CMS.Vars.Types.Mail', 'CMS.Vars.Types.HtmlP', 'CMS.Vars.Types.File');
     CMS_Dumps::dumper('VARS', 'CMS.Dumps.Vars');
 }
コード例 #4
0
ファイル: AdminVars.php プロジェクト: techart/tao
 public function loaddump()
 {
     CMS_Dumps::load_from_post();
     return $this->redirect_to($this->index_url());
 }