Пример #1
0
 public function reprocess()
 {
     $_field = new _cms_field([], $this->fid);
     $_module = new _cms_module([], $_field->mid);
     $base_path = root . '/uploads/' . $_module->table_name . '/' . $_field->fid . '/';
     /** @var table $class */
     $class = $_module->get_class_name();
     $objects = $class::get_all([]);
     $extensions = ['png', 'jpg', 'gif'];
     $objects->iterate(function (table $object) use($base_path, $extensions) {
         foreach ($extensions as $extension) {
             $path = $base_path . $object->get_primary_key() . '.' . $extension;
             if (file_exists($path)) {
                 echo 'Reprocessing image ' . $object->get_primary_key() . '...';
                 $object->do_process_image($path, $this);
                 echo ' done<br/>';
             }
         }
     });
 }
Пример #2
0
 public function do_delete()
 {
     $module = new _cms_module([], $_REQUEST['mid']);
     $object = $module->get_class();
     $class = $module->get_class_name();
     $class::$retrieve_deleted = true;
     $object->do_retrieve_from_id(['deleted'], $_REQUEST['id']);
     if ($object->get_primary_key()) {
         if ($object->deleted) {
             db::delete(get::__class_name($class))->filter($object->get_primary_key_name() . '=' . $_REQUEST['id'])->execute();
         } else {
             $object->deleted = true;
             $object->do_save();
         }
     }
     $list = new object\_cms_table_list($module, 1);
     ajax::update($list->get_table());
 }
Пример #3
0
 private static function set_cms_modules()
 {
     if (!isset(self::$cms_modules)) {
         self::$cms_modules = [];
         if (!file_exists(root . '/.cache/.modules.json')) {
             static::rebuild_modules();
         }
         $data = json_decode(file_get_contents(root . '/.cache/.modules.json'));
         self::$cms_modules = new _collection();
         self::$cms_modules_id = new _collection();
         foreach ($data as $module_data) {
             $module = new _cms_module();
             foreach (_cms_module::$default_fields as $field) {
                 $module->{$field} = $module_data->{$field};
             }
             foreach ($module_data->fields as $field_data) {
                 $cms_field = new _cms_field();
                 foreach (_cms_field::$default_fields as $field) {
                     $cms_field->{$field} = $field_data->{$field};
                 }
                 $module->_field_elements[$cms_field->field_name] = $cms_field;
                 $module->_field_elements[$cms_field->field_name] = $cms_field->get_field();
             }
             self::$cms_modules[trim($module->get_class_name(), '\\')] = $module;
             self::$cms_modules_id[$module->mid] = $module;
         }
     }
 }