Пример #1
0
 /**
  * Возвращает список родительских объектов
  * @param string $table Имя таблицы, для которой ищем родителей
  * @return type
  */
 function getParents($table)
 {
     //		$relations = $this->db->exec('SHOW FULL columns from `' . $table . '` LIKE "fko\_%"');
     $relations = CacheQuery::getInstance()->get('cached.parents.' . $table, 'SHOW FULL columns from `' . $table . '` LIKE "fko\\_%"', null, 'getFull');
     $list = array();
     foreach ($relations as $k => $v) {
         $table = preg_replace('/^fko_/', '', current($v));
         $relTableMeta = Meta::getInstance()->getTableMeta($table);
         /*$relTable = $table;
         			$res = CacheQuery::getInstance()->get(
         				'cached.comment.' . $relTable,
         				'SELECT table_comment FROM information_schema.tables WHERE table_name = "' . $relTable . '"',
         				null,
         				'getFirstRow'
         			);
         //			$res = $this->db->exec('SELECT table_comment 
         //                        FROM
         //                            information_schema.tables
         //                        WHERE 
         //                            table_name = "' . $relTable . '"');*/
         $list[$k]['table'] = $table;
         $list[$k]['name'] = 'fko_' . $table;
         $list[$k]['comment'] = $relTableMeta->get('comment');
         $list[$k]['title'] = $relTableMeta->get('title');
     }
     return $list;
 }
Пример #2
0
 function deleteField($table, $name)
 {
     if (empty($name) || empty($table)) {
         \helpers\Msg::error('empty_post');
         \helpers\Msg::error('tables.fields.not_deleted');
         return false;
     }
     if (!$this->tablesManager->isValidTableName($table)) {
         \helpers\Msg::warning('tables.wrong_name', $table);
         \helpers\Msg::error('tables.fields.not_deleted');
         return false;
     }
     $fields = $this->getAdditionalFieldsNames($table);
     if (!in_array('af_' . $name, $fields)) {
         \helpers\Msg::warning('tables.fields.not_found');
         \helpers\Msg::error('tables.fields.not_deleted');
         return false;
     }
     $q = "ALTER TABLE `{$table}` DROP `af_{$name}` ";
     if ($this->db->exec($q) !== false) {
         $this->metaWriter->updateFieldList($table);
         \helpers\Msg::success('tables.fields.deleted');
         CacheQuery::getInstance()->reset();
         return true;
     } else {
         if ($this->debugState) {
             \helpers\Msg::warning($this->db->log());
         }
         \helpers\Msg::error('db_error');
     }
     return false;
 }
Пример #3
0
 function getRowsCount($table)
 {
     if (!$this->isValidTableName($table)) {
         return false;
     }
     $res = CacheQuery::getInstance()->get('cached.table_info.' . $table, 'SELECT COUNT(id) as count_rows FROM `' . $table . '`', null, 'getFirstRow');
     return $res['count_rows'] * 1;
 }