Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
 public function uninstall()
 {
     $head = $this->gethead();
     $admin = tadminmenus::i();
     $admin->heads = str_replace($head, '', $admin->heads);
     $admin->save();
 }
Ejemplo n.º 3
0
 public function onexclude($id)
 {
     if (litepublisher::$options->group == 'ticket') {
         $admin = tadminmenus::i();
         return $admin->items[$id]['url'] == '/admin/posts/';
     }
     return false;
 }
Ejemplo n.º 4
0
 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();
 }
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
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();
}
Ejemplo n.º 7
0
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();
}
Ejemplo n.º 8
0
 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();
}
Ejemplo n.º 10
0
 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();
 }
Ejemplo n.º 11
0
 public function gethead()
 {
     return tadminmenus::i()->heads;
 }
Ejemplo n.º 12
0
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__));
}
Ejemplo n.º 13
0
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;
 }