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); }
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'); }
function emailauthUninstall($self) { $js = tjsmerger::i(); $js->lock(); $js->deletefile('default', '/plugins/ulogin/resource/email.auth.min.js'); $js->deletefile('default', '/plugins/ulogin/resource/' . litepublisher::$options->language . '.email.auth.min.js'); $js->unlock(); tjsonserver::i()->unbind($self); }
function tjsoncommentsUninstall($self) { tjsonserver::i()->unbind($self); }
function update594() { if (litepublisher::$classes->exists('ulogin')) { tjsonserver::i()->addevent('check_logged', 'ulogin', 'check_logged'); } }
function tjsonfilesUninstall($self) { tjsonserver::i()->unbind($self); }
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); }