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/>'; } } }); }
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()); }
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; } } }