Exemple #1
0
 public static function buildPageTitlePart($var)
 {
     $x = explode(':', $var[1]);
     $name = false;
     if (count($x) == 3) {
         list($name, $paramtype, $paramvalue) = $x;
     }
     if (count($x) == 2) {
         list($name, $paramvalue) = $x;
         $paramtype = 'raw_get';
     }
     if ($name) {
         $val = self::parseParams($paramtype, $paramvalue);
         switch ($name) {
             case 'profile-nickname':
                 $user = Users::getByIdsLoaded(array((int) $val));
                 $user = isset($user[$val]) ? $user[$val] : false;
                 /* @var $user User */
                 if ($user) {
                     return $user->getNickName();
                 }
                 break;
             case 'release-title':
                 $release = Releases::getInstance()->getByIdLoaded((int) $val);
                 /* @var $release Release */
                 return $release->getTitle(1);
                 break;
             case 'news-title':
                 $newsitem = News::getInstance()->getByIdLoaded((int) $val);
                 /* @var $newsitem NewsItem */
                 return $newsitem->getTitle(1);
                 break;
             case 'book-title':
                 $book = Books::getInstance()->getByIdLoaded((int) $val);
                 /* @var $book Book */
                 return $book->getTitle(1);
                 break;
             case 'person-title':
                 $person = Persons::getInstance()->getById((int) $val);
                 /* @var $person Person */
                 return $person->getName();
                 break;
             case 'genre-title':
                 return Request::pass('genre-title');
                 break;
             case 'forum-title':
                 $t = Request::pass('forum-title');
                 if (!$t) {
                     $t = Database::sql2single('SELECT name FROM `term_data` WHERE `tid`=' . (int) $val);
                 }
                 return $t;
                 break;
             case 'post-subject':
                 return Request::pass('post-subject');
                 break;
             case 'theme-title':
                 return Request::pass('theme-title');
                 break;
             case 'serie-title':
                 $t = Request::pass('serie-title');
                 if (!$t) {
                     $t = Database::sql2single('SELECT `title` FROM `series` WHERE `id`=' . (int) $val);
                 }
                 return $t;
                 break;
             case 'shelf-name':
                 if ($val == 'loved') {
                     return 'Любимые книги';
                 }
                 return isset(Config::$shelves[Config::$shelfIdByNames[$val]]) ? Config::$shelves[Config::$shelfIdByNames[$val]] : $val;
                 break;
             case 'magazine-title':
                 $query = 'SELECT `title` FROM `magazines` WHERE `id`=' . (int) $val;
                 return Database::sql2single($query);
                 break;
             case 'thread-subject':
                 $query = 'SELECT `subject` FROM `users_messages` WHERE `id`=' . (int) $val;
                 return Database::sql2single($query);
                 break;
             case 'get':
                 return $val;
                 break;
             default:
                 throw new Exception('Cant process title part "' . $var[1] . '"');
                 break;
         }
     }
 }
Exemple #2
0
Database::query('TRUNCATE `news`');
$query = 'SELECT * FROM `fashist`.`module_news` WHERE `type`=0';
$news = Database::sql2array($query, 'id');
foreach ($news as $id => $newsitem) {
    $object = News::getInstance()->getById($id);
    /* @var $object Newsitem */
    $data = $newsitem;
    $data['update_time'] = strtotime($data['update_time']);
    $object->_create($data);
}
// releases
Database::query('TRUNCATE `releases`');
$query = 'SELECT * FROM `fashist`.`module_news` WHERE `type`=1';
$news = Database::sql2array($query, 'id');
foreach ($news as $id => $newsitem) {
    $object = Releases::getInstance()->getById($id);
    /* @var $object Release */
    $data = $newsitem;
    $data['update_time'] = strtotime($data['update_time']);
    $object->_create($data);
}
//comments
Database::query('TRUNCATE `comments`');
Database::query('ALTER TABLE `comments` DROP PRIMARY KEY', false);
Database::query('INSERT INTO `comments` (SELECT * FROM `fashist`.`comments`)');
// all releases comments comes to releases comments!
$query = 'UPDATE  `comments` SET `table`=\'releases\' WHERE `table`=\'news\' AND `doc_id` IN (SELECT `id` FROM `releases`)';
Database::query($query);
Database::query('ALTER TABLE `hardtechno`.`comments` ADD PRIMARY KEY ( `doc_id` , `table` , `id` ) ');
// upload
exec('rm -rf  /home/test.hardtechno.ru/static/upload/news/*', $o);
Exemple #3
0
 function _update($data)
 {
     $tableName = Releases::getInstance()->tableName;
     $this->dropCache();
     return parent::_update($data, $tableName);
 }
 function setCollectionClass()
 {
     $this->Collection = Releases::getInstance();
 }