function tpollsUninstall($self) { tcssmerger::i()->deletestyle(dirname(__FILE__) . '/stars.min.css'); tjsonserver::i()->unbind($self); tlocalmerger::i()->deleteplugin(tplugins::getname(__FILE__)); $jsmerger = tjsmerger::i(); $jsmerger->lock(); $jsmerger->deletefile('default', '/plugins/polls/polls.client.min.js'); $jsmerger->deletetext('default', 'poll'); $jsmerger->unlock(); $adminmenus = tadminmenus::i(); $adminmenus->deletetree($adminmenus->url2id('/admin/plugins/polls/')); litepublisher::$classes->delete('tpolltypes'); litepublisher::$classes->delete('tpollsman'); litepublisher::$classes->delete('tpullpolls'); litepublisher::$classes->delete('tadminpolltemplates'); litepublisher::$classes->delete('tadminpolltypes'); litepublisher::$classes->delete('tadminpolloptions'); litepublisher::$classes->delete('tadminpolls'); $manager = tdbmanager::i(); $manager->deletetable($self->table); $manager->deletetable($self->users1); $manager->deletetable($self->users2); $manager->deletetable($self->votes); $dir = litepublisher::$paths->data . 'polls'; tfiler::delete($dir, true, true); }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tcommontagsInstall($self) { if ('tcommontags' == get_class($self)) { return; } $posts = tposts::i(); $posts->lock(); $posts->added = $self->postedited; $posts->edited = $self->postedited; $posts->deleted = $self->postdeleted; $posts->unlock(); $urlmap = turlmap::i(); $urlmap->add("/{$self->PermalinkIndex}/", get_class($self), 0); if (dbversion) { $manager = tdbmanager::i(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager->createtable($self->table, file_get_contents($dir . 'tags.sql')); $manager->createtable($self->itemsposts->table, file_get_contents($dir . 'items.posts.sql')); $manager->createtable($self->contents->table, file_get_contents($dir . 'tags.content.sql')); } else { $dir = litepublisher::$paths->data . $self->basename; @mkdir($dir, 0777); @chmod($dir, 0777); } }
function uloginUninstall($self) { tusers::i()->unbind('tregserviceuser'); turlmap::unsub($self); $man = tdbmanager::i(); $man->deletetable($self->table); if ($man->column_exists('users', 'phone')) { $man->alter('users', "drop phone"); } $alogin = tadminlogin::i(); $alogin->widget = $self->deletepanel($alogin->widget); $alogin->save(); $areg = tadminreguser::i(); $areg->widget = $self->deletepanel($areg->widget); $areg->save(); $tc = ttemplatecomments::i(); $tc->regaccount = $self->deletepanel($tc->regaccount); $tc->save(); $js = tjsmerger::i(); $js->lock(); $js->deletefile('default', '/plugins/ulogin/resource/ulogin.popup.min.js'); $js->deletefile('default', '/plugins/ulogin/resource/' . litepublisher::$options->language . '.ulogin.popup.min.js'); $js->unlock(); tcssmerger::i()->deletefile('default', '/plugins/ulogin/resource/ulogin.popup.css'); tjsonserver::i()->unbind($self); litepublisher::$classes->delete('emailauth'); }
public function optimize() { $this->deletedeleted(); sleep(2); $man = tdbmanager::i(); $man->optimize(); }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tmetapostInstall($self) { if (dbversion) { $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager = tdbmanager::i(); $manager->CreateTable($self->table, file_get_contents($dir . 'post.meta.sql')); } }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tpingbacksInstall($self) { $manager = tdbmanager::i(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager->CreateTable($self->table, file_get_contents($dir . 'comments.pingbacks.sql')); $posts = tposts::i(); $posts->deleted = $self->postdeleted; }
function tkeptcommentsInstall($self) { if (dbversion) { $manager = tdbmanager::i(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager->CreateTable($self->table, file_get_contents($dir . 'comments.kept.sql')); } }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tcronInstall($self) { $manager = tdbmanager::i(); $manager->CreateTable('cron', file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'cron.sql')); litepublisher::$urlmap->add('/croncron.htm', get_class($self), null, 'get'); $self->password = md5uniq(); $self->addnightly('tdboptimizer', 'optimize', null); $self->save(); }
function tsourcefilesUninstall($self) { //die("Warning! You can lost all tickets!"); litepublisher::$classes->delete('tsourcefilesmenu'); $manager = tdbmanager::i(); $manager->deletetable($self->table); Turlmap::unsub($self); tfiler::delete(litepublisher::$paths->data . 'sourcefiles', true, true); }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tusersInstall($self) { $manager = tdbmanager::i(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager->CreateTable($self->table, file_get_contents($dir . 'users.sql')); //$manager->setautoincrement($self->table, 2); $manager->CreateTable($self->grouptable, file_get_contents($dir . 'usersgroups.sql')); $id = $self->db->add(array('email' => litepublisher::$options->email, 'name' => litepublisher::$site->author, 'website' => litepublisher::$site->url . '/', 'password' => '', 'cookie' => '', 'expired' => sqldate(), 'status' => 'approved', 'idgroups' => '1')); $self->setgroups($id, array(1)); }
function texternallinksUninstall($self) { $filter = tcontentfilter::i(); $filter->unbind($self); $cron = tcron::i(); $cron->deleteclass(get_class($self)); turlmap::unsub($self); if (dbversion) { $manager = tdbmanager::i(); $manager->deletetable($self->table); } tposts::i()->addrevision(); }
function twikiwordsUninstall($self) { unset(litepublisher::$classes->classes['wikiword']); litepublisher::$classes->save(); $filter = tcontentfilter::i(); $filter->unbind($self); tposts::unsub($self); if ($self->dbversion) { $manager = tdbmanager::i(); $manager->deletetable($self->table); $manager->deletetable($self->itemsposts->table); } }
private function doerror($e) { if (litepublisher::$debug) { $log = "exception:\n" . $e->getMessage(); $log .= "\n{$this->sql}\n"; $log .= str_replace(litepublisher::$paths->home, '', $e->getTraceAsString()); $man = tdbmanager::i(); $log .= $man->performance(); $log = str_replace("\n", "<br />\n", htmlspecialchars($log)); die($log); } else { litepublisher::$options->handexception($e); } }
public function add($id, $service, $uid) { if ($id == 0 || $service == '' || $uid == '') { return; } if (!in_array($service, $this->data['nets'])) { $this->data['nets'][] = $service; $this->save(); tdbmanager::i()->add_enum($this->table, 'service', $service); } $this->db->insert(array('id' => $id, 'service' => $service, 'uid' => $uid)); $this->added($id, $service); return $id; }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tfilesInstall($self) { $manager = tdbmanager::i(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager->createtable($self->table, file_get_contents($dir . 'files.sql')); $manager->createtable($self->itemsposts->table, file_get_contents($dir . 'items.posts.sql')); $manager->createtable('imghashes', file_get_contents($dir . 'imghashes.sql')); $posts = tposts::i(); $posts->lock(); $posts->added = $self->postedited; $posts->edited = $self->postedited; $posts->deleted = $self->itemsposts->deletepost; $posts->unlock(); }
function tsamepostsUninstall($self) { tposts::unsub($self); twidgets::i()->deleteclass(get_class($self)); if (dbversion) { $manager = tdbmanager::i(); $manager->deletetable($self->table); } else { $posts = tposts::i(); $dir = litepublisher::$paths->data . 'posts' . DIRECTORY_SEPARATOR; foreach ($posts->items as $id => $item) { @unlink($dir . $id . DIRECTORY_SEPARATOR . 'same.php'); } } }
function tcodedocpluginUninstall($self) { //die("Warning! You can lost all tickets!"); tposts::unsub($self); $menus = tmenus::i(); $menus->deleteurl('/doc/'); litepublisher::$classes->delete('tcodedocmenu'); litepublisher::$classes->delete('tcodedocfilter'); $filter = tcontentfilter::i(); $filter->unbind($self); $merger = tlocalmerger::i(); $merger->delete('codedoc'); $manager = tdbmanager::i(); $manager->deletetable('codedoc'); }
function tregservicesUninstall($self) { $name = basename(dirname(__FILE__)); tcommentform::i()->unbind($self); turlmap::unsub($self); foreach ($self->items as $id => $classname) { litepublisher::$classes->delete($classname); } litepublisher::$classes->delete('tregserviceuser'); litepublisher::$classes->delete('toauth'); tfiler::delete(litepublisher::$paths->data . 'regservices', true, true); tusers::i()->unbind('tregserviceuser'); tdbmanager::i()->deletetable('regservices'); $css = tcssmerger::i(); $css->deletestyle("/plugins/{$name}/regservices.min.css"); }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tpostsInstall($self) { if ('tposts' != get_class($self)) { return; } if (dbversion) { $manager = tdbmanager::i(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager->CreateTable($self->table, file_get_contents($dir . 'posts.sql')); $manager->CreateTable('pages', file_get_contents($dir . 'postspages.sql')); $manager->CreateTable($self->rawtable, file_get_contents($dir . 'raw.sql')); } else { $dir = litepublisher::$paths->data . 'posts'; @mkdir($dir, 0777); @chmod($dir, 0777); } $Cron = tcron::i(); $Cron->add('hour', get_class($self), 'HourCron'); }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tuserpagesInstall($self) { if ($self->dbversion) { $manager = tdbmanager::i(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR; $manager->CreateTable($self->table, file_get_contents($dir . 'userpage.sql')); } $v = $self->createpage; $self->lock(); $self->createpage = false; $self->add(1, 'Admin', litepublisher::$options->email, litepublisher::$site->url . '/'); $itemurl = litepublisher::$urlmap->findurl('/'); $self->setvalue(1, 'idurl', $itemurl['id']); $self->createpage = $v; $self->unlock(); $linkgen = tlinkgenerator::i(); $linkgen->data['user'] = '******'; $linkgen->save(); litepublisher::$urlmap->add('/users.htm', get_class($self), 'url', 'get'); $robots = trobotstxt::i(); $robots->AddDisallow('/users.htm'); }
function tfoafUninstall($self) { $merger = tlocalmerger::i(); $merger->deleteplugin(tplugins::getname(__FILE__)); $actions = TXMLRPCAction::i(); $actions->deleteclass(get_class($self)); $urlmap = litepublisher::$urlmap; $urlmap->lock(); turlmap::unsub($self); $classes = litepublisher::$classes; $classes->lock(); $classes->delete('tfoafutil'); $classes->delete('tprofile'); $classes->delete('tfriendswidget'); $classes->delete('tadminfoaf'); $classes->unlock(); $admin = tadminmenus::i(); $admin->lock(); $admin->deleteurl('/admin/foaf/profiletemplate/'); $admin->deleteurl('/admin/foaf/profile/'); $admin->deleteurl('/admin/foaf/'); $admin->unlock(); $urlmap->unlock(); if ($self->dbversion) { $manager = tdbmanager::i(); $manager->deletetable($self->table); } $template = ttemplate::i(); $template->deletefromhead(' <link rel="meta" type="application/rdf+xml" title="FOAF" href="$site.url/foaf.xml" />'); $meta = tmetawidget::i(); $meta->lock(); $meta->delete('foaf'); $meta->delete('profile'); $meta->unlock(); ttheme::clearcache(); }
function tuseroptionsUninstall($self) { tdbmanager::i()->deletetable($self->table); }
function tticketsUninstall($self) { //die("Warning! You can lost all tickets!"); litepublisher::$classes->lock(); //if (litepublisher::$debug) litepublisher::$classes->delete('tpostclasses'); tposts::unsub($self); litepublisher::$classes->delete('tticket'); litepublisher::$classes->delete('tticketeditor'); litepublisher::$classes->delete('tadmintickets'); litepublisher::$classes->delete('tadminticketoptions'); $adminmenus = tadminmenus::i(); $adminmenus->lock(); $adminmenus->deletetree($adminmenus->url2id('/admin/tickets/')); $adminmenus->unbind($self); $adminmenus->unlock(); /* $menus = tmenus::i(); $menus->lock(); foreach (array('bug', 'feature', 'support', 'task') as $type) { $menus->deleteurl("/$type/"); } $menus->deleteurl('/tickets/'); $menus->unlock(); litepublisher::$classes->delete('tticketsmenu'); */ litepublisher::$classes->unlock(); $manager = tdbmanager::i(); $manager->deletetable($self->childtable); $manager->delete_enum('posts', 'class', 'tticket'); $optimizer = tdboptimizer::i(); $optimizer->lock(); $optimizer->unbind($self); if (false !== ($i = array_search('tickets', $optimizer->childtables))) { unset($optimizer->childtables[$i]); } $optimizer->unlock(); tlocalmerger::i()->deleteplugin(tplugins::getname(__FILE__)); }
/** * Lite Publisher * Copyright (C) 2010 - 2015 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function turlmapInstall($self) { $manager = tdbmanager::i(); $manager->CreateTable('urlmap', file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'urlmap.sql')); }
public function setdump(&$dump) { $dbmanager = tdbmanager::i(); return $dbmanager->import($dump); }
public function switchtables() { $man = tdbmanager::i(); $polls = tpolls::i(); $users1 = $man->prefix . $polls->users1; $users2 = $man->prefix . $polls->users2; $res = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'resource' . DIRECTORY_SEPARATOR; $man->deletetable($polls->users2); $man->query("rename table {$users1} to {$users2}"); $man->createtable($polls->users1, file_get_contents($res . 'users.sql')); }
function update586() { $menus = tadminmenus::i(); $id = $menus->url2id('/admin/logout/'); if (!$id) { $id = $menus->addfake('/admin/logout/', tlocal::i()->logout); } $menus->items[$id]['order'] = 9999999; $menus->save(); tjsonserver::i()->addevent('comments_get_logged', 'tjsoncomments', 'comments_get_logged'); $man = tdbmanager::i(); $prefix = strtolower(litepublisher::$options->dbconfig['prefix']); $tables = $man->gettables(); foreach ($tables as $table) { if (strbegin(strtolower($table), $prefix)) { $man->query("alter table {$table} ENGINE = MYISAM"); } } if (isset(litepublisher::$options->solt)) { return; } litepublisher::$options->solt = md5uniq(); litepublisher::$options->emptyhash = basemd5(litepublisher::$secret . litepublisher::$options->solt); litepublisher::$options->securecookie = false; litepublisher::$options->authenabled = true; if (function_exists('mcrypt_encrypt')) { litepublisher::$options->data['dbconfig']['password'] = _encrypt(str_rot13(base64_decode(litepublisher::$options->data['dbconfig']['password'])), litepublisher::$options->solt . litepublisher::$secret); } $expired = time() + 31536000; $cookie = md5uniq(); //litepublisher::$options->setcookies($cookie, $expired); $subdir = litepublisher::$site->subdir . '/'; setcookie('litepubl_user_id', litepublisher::$options->user, $expired, $subdir, false); setcookie('litepubl_user', $cookie, $expired, $subdir, false); setcookie('litepubl_user_flag', 'true', $expired, $subdir, false); $cookie = basemd5((string) $cookie . litepublisher::$options->solt . litepublisher::$secret); litepublisher::$options->data['cookiehash'] = $cookie; litepublisher::$options->cookieexpired = $expired; unset(litepublisher::$options->data['cookie'], litepublisher::$options->data['authcookie']); $password = md5uniq(); litepublisher::$options->data['password'] = basemd5($password . litepublisher::$options->solt . litepublisher::$secret); unset(litepublisher::$classes->items['tauthdigest']); litepublisher::$classes->items['tableprop'] = array('kernel.admin.php', '', 'htmlresource.class.php'); litepublisher::$classes->save(); tusers::i()->db->update("password = ''", 'id > 0'); $theme = ttheme::i(); $args = new targs(); $args->password = $password; $subj = $theme->parsearg('[$site.name] Смена пароля', $args); $body = $theme->parsearg('Внимание! Обновление LitePublisher 5.86 включает в себя новые алгоритмы безопасности и поэтому старые пароли больше не будут работать. Скрипт сгенерировал для вас новый пароль: $password Пожалуйста, используйте его или получите другой на странице восстановления пароля: $site.url/admin/password/ Сохранение старых паролей невозможно потому, что в системе никогда не хранились пароли, а только их хеши. Приносим извенения за доставленные неудобства. Новые алгоритмы защиты значительно усиливают безопасность вашего сайта, также не забывайте регулярно менять пароли для лучшей безопасности. На сайтах, у которых псетители могли залогиниватся также сброшены все пароли, но им не была сделана рассылка уведомлений о смене паролей. При попытки залогинится таким посетителям будет предложено восстановить пароль. Для залогинивающихся через соцсети будет просто предложено еще раз авторизоваться (ранее они даже и не имели паролей) ', $args); tmailer::sendtoadmin($subj, $body); }
function tdownloaditemsUninstall($self) { //die("Warning! You can lost all downloaditems!"); tposts::unsub($self); $adminmenus = tadminmenus::i(); $adminmenus->deletetree($adminmenus->url2id('/admin/downloaditems/')); $menus = tmenus::i(); $menus->deletetree($menus->class2id('tdownloaditemsmenu')); $parser = tthemeparser::i(); $parser->unbind($self); ttheme::clearcache(); $classes = litepublisher::$classes; $classes->lock(); $classes->delete('tdownloaditem'); $classes->delete('tdownloaditemsmenu'); $classes->delete('tdownloaditemeditor'); $classes->delete('tadmindownloaditems'); $classes->delete('tdownloaditemcounter'); $classes->delete('taboutparser'); $classes->unlock(); $merger = tlocalmerger::i(); $merger->deleteplugin(tplugins::getname(__FILE__)); $manager = tdbmanager::i(); $manager->deletetable($self->childtable); $manager->delete_enum('posts', 'class', 'tdownloaditem'); $optimizer = tdboptimizer::i(); $optimizer->lock(); $optimizer->unbind($self); if (false !== ($i = array_search('downloaditems', $optimizer->childtables))) { unset($optimizer->childtables[$i]); } $optimizer->unlock(); tjsmerger::i()->deletefile('default', '/plugins/downloaditem/downloaditem.min.js'); litepublisher::$options->delete('downloaditem_themetag'); litepublisher::$options->delete('downloaditem_plugintag'); litepublisher::$options->savemodified(); }