/** * Instance Methods */ function __construct($model_name) { if (!is_string($model_name)) { debug::error('Model::__construct - $model_name must be a string.'); } $this->model_name = $model_name; $this->schema = ORM::getSchema($model_name); foreach ($this->schema as $field) { $this->_data[$field->name] = null; $this->_synced_data[$field->name] = null; } $this->is_synced = true; }
public function backup() { if (!auth::check(self::AUTH_REALM)) { $this->access_denied(); } $dump = ""; $models = $this->getModels(); foreach ($this->getModels() as $model) { $model_name = substr($model['info']['basename'], 0, strpos($model['info']['basename'], '.xml')); $schema = ORM::getSchema($model_name); // Drop the table $dump .= "DROP TABLE IF EXISTS `{$schema->table}`;\n"; // Create the table $create_sql = $schema->getCreateString(); $dump .= "{$create_sql}\n\n"; // Dump the table data $model_instances = ORM::retrieveAll($model_name); foreach ($model_instances as $instance) { $insert_query = $instance->getSaveQuery(true); $dump .= "{$insert_query}\n"; } $dump .= "\n"; } $this->template->content = new View('ksetup_backup'); $this->template->action = 'backup'; $this->template->dump = $dump; $this->template->render(); }
static function formatColumnReference($column_reference, Criteria $criteria) { // Reference has table/column if (strpos($column_reference, '.') > 0) { $column_composition = explode('.', $column_reference); $schema = ORM::getSchema($column_composition[0]); return '`' . trim($schema->table, '`') . '`.`' . trim($column_composition[1], '`') . '`'; } elseif (self::isCustomSelectColumn($column_reference, $criteria)) { $schema = self::getSchema($criteria->from_model_name); return "`{$schema->table}__{$column_reference}`"; } else { $schema = ORM::getSchema($criteria->from_model_name); return '`' . trim($schema->table, '`') . '`.`' . $column_reference . '`'; } }