Example #1
0
 private function __construct()
 {
     $this->tablesManager = TablesManager::getInstance();
     $this->metaWriter = MetaManager::getInstance();
     $this->db = \Base::instance()->get('db');
     $this->debugState = \Base::instance()->get('DEBUG');
 }
Example #2
0
 private function tableExists($table)
 {
     return TablesManager::getInstance()->tableExists($table);
 }
 /**
  * Создаёт связь много-ко-ногим между объектом и справчником
  */
 function createPlural($table1, $table2, $comment = '')
 {
     $cleaner = Cleaner::getInstance();
     $cleaner->scrub($comment);
     $first = $table1 . '_id';
     $second = $table2 . '_id';
     $table = $this->getPluralName($table1, $table2);
     if (!TablesManager::getInstance()->tableExists($table)) {
         $q = "CREATE TABLE `{$table}` (\n\t\t\t\t\t`{$first}` int(11) NOT NULL,\n\t\t\t\t\t`{$second}` int(11) NOT NULL,\n\t\t\t\t\tUNIQUE `uni` (`{$first}`,`{$second}`)\n\t\t\t\t  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='{$comment}'";
         if ($this->db->exec($q) !== false) {
             $this->metaWriter->updateRelationList($table1);
             $this->metaWriter->updateRelationList($table2);
             \helpers\Msg::success('tables.created');
             \Cache::instance()->reset();
             return true;
         } else {
             \helpers\Msg::error($f3->get('db')->log());
             \helpers\Msg::error('tables.not_created');
             return false;
         }
     } else {
         \helpers\Msg::error('tables.not_created');
         \helpers\Msg::warning('tables.already_exists', $table);
         return false;
     }
 }
Example #4
0
 /**
  * Выводит страницу/раздел сайта (htmlpage)
  * @param type $this->fw
  */
 public function show()
 {
     if ($this->isPublished()) {
         if ($this->struct_page['af_islink'] && !empty($this->struct_page['af_link'])) {
             // Если ссылка - перенаправляем
             $this->fw->reroute($this->struct_page['af_link'], true);
         } else {
             $this->setLayout();
         }
     } else {
         if (\models\meta\TablesManager::getInstance()->tableExists('_redirect')) {
             $redirect = new \DB\SQL\Mapper($this->db, '_redirect');
             $redirect->load(array('`from`=? ', $this->fw->get('PATH')));
             // Проверить!
             if ($redirect->to_id) {
                 $model = \models\Content::getInstance('htmlpage');
                 $this->fw->reroute('/' . $model->getPath($redirect->to_id), true);
             }
         }
         $this->fw->error(404);
     }
 }