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); }
public function uninstall() { $head = $this->gethead(); $admin = tadminmenus::i(); $admin->heads = str_replace($head, '', $admin->heads); $admin->save(); }
public function onexclude($id) { if (litepublisher::$options->group == 'ticket') { $admin = tadminmenus::i(); return $admin->items[$id]['url'] == '/admin/posts/'; } return false; }
public function uninstall() { $template = ttemplate::i(); $template->js = '<script type="text/javascript" src="%s"></script>'; $template->save(); $parser = tthemeparser::i(); $parser->unbind($this); $admin = tadminmenus::i(); $admin->heads = $this->restore($admin->heads); $admin->save(); ttheme::clearcache(); }
public function uninstall() { $template = ttemplate::i(); $template->js = '<script type="text/javascript" src="%s"></script>'; $template->jsready = '<script type="text/javascript">$(document).ready(function() {%s});</script>'; $template->jsload = '<script type="text/javascript">$.getScript(%s);</script>'; $template->heads = $this->restorehead($template->heads); $template->save(); $parser = tthemeparser::i(); $parser->unsubscribeclass($this); $admin = tadminmenus::i(); $admin->heads = $this->restore($admin->heads); $admin->save(); ttheme::clearcache(); }
function tforumUninstall($self) { tcategories::i()->unbind($self); tthemeparser::i()->unbind($self); ttheme::clearcache(); tlocalmerger::i()->deleteplugin(basename(dirname(__FILE__))); tjsmerger::i()->deletefile('default', '/plugins/forum/forum.min.js'); $item = tcategories::i()->getitem($self->rootcat); $menus = tmenus::i(); while ($menus->deleteurl($item['url'])) { } $adminmenus = tadminmenus::i(); $adminmenus->deletetree($adminmenus->url2id('/admin/plugins/forum/')); litepublisher::$classes->delete('tforumeditor'); $linkgen = tlinkgenerator::i(); unset($linkgen->data['forum']); $linkgen->save(); }
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(); }
public function processform() { //dumpvar($_POST); $result = ''; switch ($this->name) { case 'views': $views = tviews::i(); $idview = (int) tadminhtml::getparam('idview', 0); if (!$idview || !$views->itemexists($idview)) { return ''; } if ($this->action == 'delete') { if ($idview > 1) { $views->delete($idview); } return ''; } $view = tview::i($idview); if ($idview > 1) { $view->customsidebar = isset($_POST['customsidebar']); $view->disableajax = isset($_POST['disableajax']); } $view->name = trim($_POST['name']); $view->themename = trim($_POST['theme_idview']); $view->menuclass = $_POST['menu']; $view->hovermenu = isset($_POST['hovermenu']); $this->set_custom($idview); if ($idview == 1 || $view->customsidebar) { $widgets = twidgets::i(); foreach (range(0, 2) as $index) { $view->sidebars[$index] = array(); $idwidgets = explode(',', trim($_POST["sidebar{$index}"])); foreach ($idwidgets as $idwidget) { $idwidget = (int) trim($idwidget); if (!$widgets->itemexists($idwidget)) { continue; } $view->sidebars[$index][] = array('id' => $idwidget, 'ajax' => isset($_POST["inline{$idwidget}"]) ? 'inline' : isset($_POST["ajax{$idwidget}"])); } } } $view->save(); break; case 'addview': $name = trim($_POST['name']); if ($name != '') { $views = tviews::i(); $id = $views->add($name); } break; case 'spec': foreach (self::getspecclasses() as $classname) { $obj = getinstance($classname); $obj->lock(); $obj->setidview($_POST["idview-{$classname}"]); if (isset($obj->data['keywords'])) { $obj->keywords = $_POST["keywords-{$classname}"]; } if (isset($obj->data['description '])) { $obj->description = $_POST["description-{$classname}"]; } if (isset($obj->data['head'])) { $obj->head = $_POST["head-{$classname}"]; } $obj->unlock(); } break; case 'group': switch ($_POST['action']) { case 'posts': $posts = tposts::i(); $idview = (int) $_POST['postview']; if (dbversion) { $posts->db->update("idview = '{$idview}'", 'id > 0'); } else { foreach ($posts->items as $id => $item) { $post = tpost::i($id); $post->idview = $idview; $post->save(); $post->free(); } } break; case 'menus': $idview = (int) $_POST['menuview']; $menus = tmenus::i(); foreach ($menus->items as $id => $item) { $menu = tmenu::i($id); $menu->idview = $idview; $menu->save(); } break; case 'themes': $themename = $_POST['themeview']; $views = tviews::i(); $views->lock(); foreach ($views->items as $id => $item) { $view = tview::i($id); $view->themename = $themename; $view->save(); } $views->unlock(); break; } break; case 'defaults': $views = tviews::i(); foreach ($views->defaults as $name => $id) { $views->defaults[$name] = (int) $_POST[$name]; } $views->save(); break; case 'headers': $template = ttemplate::i(); $template->heads = $_POST['heads']; $template->save(); $adminmenus = tadminmenus::i(); $adminmenus->heads = $_POST['adminheads']; $adminmenus->save(); $ajax = tajaxposteditor::i(); $ajax->lock(); $ajax->ajaxvisual = isset($_POST['ajaxvisual']); $ajax->visual = trim($_POST['visual']); $ajax->unlock(); litepublisher::$options->show_file_perm = isset($_POST['show_file_perm']); break; case 'admin': return $this->adminoptionsform->processform(); } ttheme::clearcache(); }
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(); }
public function setusersenabled($value) { if (litepublisher::$options->usersenabled == $value) { return; } litepublisher::$options->usersenabled = $value; $menus = tadminmenus::i(); $menus->lock(); if ($value) { if (!$menus->url2id('/admin/users/')) { $id = $menus->createitem(0, 'users', 'admin', 'tadminusers'); $menus->createitem($id, 'pages', 'author', 'tadminuserpages'); $menus->createitem($id, 'groups', 'admin', 'tadmingroups'); $menus->createitem($id, 'options', 'admin', 'tadminuseroptions'); $menus->createitem($id, 'perms', 'admin', 'tadminperms'); $menus->createitem($id, 'search', 'admin', 'tadminusersearch'); $menus->createitem($menus->url2id('/admin/posts/'), 'authorpage', 'author', 'tadminuserpages'); } } else { $menus->deletetree($menus->url2id('/admin/users/')); $menus->deleteurl('/admin/posts/authorpage/'); } $menus->unlock(); }
public function gethead() { return tadminmenus::i()->heads; }
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__)); }
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); }
public function gethead() { $result = parent::gethead(); $result .= tadminmenus::i()->heads; return $result; }