コード例 #1
0
 public function getcontent()
 {
     $id = tadminhtml::idparam();
     $menus = tmenus::i();
     if ($id != 0 && !$menus->itemexists($id)) {
         return self::error403();
     }
     $menu = tmenu::i($id);
     if (litepublisher::$options->group == 'author' && litepublisher::$options->user != $menu->author) {
         return self::error403();
     }
     if ($id > 0 && !$menus->itemexists($id)) {
         return self::error403();
     }
     $views = tviews::i();
     $theme = tview::i($views->defaults['admin'])->theme;
     $html = tadminhtml::i();
     $html->section = 'menu';
     switch ($_GET['get']) {
         case 'view':
             $result = tadminviews::getcomboview($id == 0 ? $views->defaults['menu'] : $menu->idview);
             break;
         case 'seo':
             $args = targs::i();
             $args->url = $menu->url;
             $args->keywords = $menu->keywords;
             $args->description = $menu->description;
             $args->head = $menu->data['head'];
             $result = $html->parsearg('[text=url] [text=description] [text=keywords] [editor=head]', $args);
             break;
         default:
             $result = var_export($_GET, true);
     }
     return turlmap::htmlheader(false) . $result;
 }
コード例 #2
0
function tcontactsiteUninstall($self)
{
    $menus = tmenus::i();
    $menus->lock();
    while ($id = $menus->class2id(get_class($self))) {
        $menus->delete($id);
    }
    $menus->unlock();
}
コード例 #3
0
function thomepageUninstall($self)
{
    turlmap::unsub($self);
    tposts::unsub($self);
    $menus = tmenus::i();
    $menus->lock();
    unset($menus->items[$menus->idhome]);
    $menus->sort();
    $menus->unlock();
}
コード例 #4
0
 public function addfakemenu(tmenu $menu)
 {
     $this->lock();
     $id = parent::addfakemenu($menu);
     if (empty($this->items[$id]['group'])) {
         $groups = tusergroups::i();
         $group = count($groups->defaults) ? $groups->items[$groups->defaults[0]]['name'] : 'commentator';
         $this->items[$id]['group'] = $group;
     }
     $this->unlock();
     return $id;
 }
コード例 #5
0
 public function wp_deletePage($blogid, $username, $password, $id)
 {
     $this->auth($username, $password, 'editor');
     if (strbegin($id, 'menu_')) {
         $id = substr($id, strlen('menu_'));
     }
     $id = (int) $id;
     $menus = tmenus::i();
     if (!$menus->itemexists($id)) {
         return xerror(404, "Sorry, no such page.");
     }
     $menus->delete($id);
     return true;
 }
コード例 #6
0
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');
}
コード例 #7
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();
}
コード例 #8
0
ファイル: wp2lt.php プロジェクト: laiello/litepublisher
function clearmenu()
{
    $menus = tmenus::i();
    $menus->lock();
    foreach ($menus->items as $id => $item) {
        $menus->delete($id);
    }
    $menus->unlock();
}
コード例 #9
0
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();
}
コード例 #10
0
 public function __construct()
 {
     $this->menus = tmenus::i();
 }
コード例 #11
0
ファイル: migrate.php プロジェクト: laiello/litepublisher
function migratemenus()
{
    $data = new tmigratedata();
    $data->loadfile('menus' . DIRECTORY_SEPARATOR . 'index');
    $menus = tmenus::instance();
    $menus->lock();
    $menus->autoid = $data->lastid;
    foreach ($data->data['items'] as $id => $item) {
        $menu = migratemenu($id, $item['class']);
        if ($id == 1) {
            $id = ++$menus->autoid;
        }
        $menus->items[$id] = array('id' => $id, 'class' => get_class($menu));
        //move props
        foreach (tmenu::$ownerprops as $prop) {
            $menus->items[$id][$prop] = $menu->{$prop};
            if (array_key_exists($prop, $menu->data)) {
                unset($menu->data[$prop]);
            }
        }
        $menu->id = $id;
        $menu->idurl = litepublisher::$urlmap->add($menu->url, get_class($menu), (int) $id);
        $menu->save();
    }
    $menus->sort();
    $menus->unlock();
}
コード例 #12
0
function tcontactformUninstall($self)
{
    $menus = tmenus::i();
    $menus->delete($self->id);
}
コード例 #13
0
 public function processform()
 {
     if ($form = $this->getautoform($this->name)) {
         return $form->processform();
     }
     extract($_POST, EXTR_SKIP);
     $options = litepublisher::$options;
     switch ($this->name) {
         case 'options':
             litepublisher::$urlmap->redirdom = isset($redirdom);
             $site = litepublisher::$site;
             $site->fixedurl = isset($fixedurl);
             $site->url = $url;
             $site->name = $name;
             $site->description = $description;
             $site->keywords = $keywords;
             $site->author = $author;
             $this->getdb('users')->setvalue(1, 'name', $author);
             ttemplate::i()->footer = $footer;
             break;
         case 'home':
             $home = thomepage::i();
             $home->lock();
             $home->image = $image;
             $home->parsetags = isset($parsetags);
             $home->showmidle = isset($showmidle);
             $home->midlecat = (int) $midlecat;
             $home->showposts = isset($showposts);
             $home->invertorder = isset($invertorder);
             $home->includecats = tadminhtml::check2array('category-');
             $home->excludecats = tadminhtml::check2array('exclude_category-');
             $home->showpagenator = isset($showpagenator);
             $home->postschanged();
             $home->unlock();
             $menus = tmenus::i();
             $menus->home = isset($homemenu);
             $menus->save();
             break;
         case 'mail':
             if (!empty($adminemail)) {
                 $options->email = $adminemail;
                 $this->getdb('users')->setvalue(1, 'email', $adminemail);
             }
             if (!empty($fromemail)) {
                 $options->fromemail = $fromemail;
             }
             $options->mailer = empty($mailer) ? '' : 'smtp';
             if (!empty($subscribeemail)) {
                 $subscribe = tsubscribers::i();
                 $subscribe->fromemail = $subscribeemail;
                 $subscribe->save();
                 $options->fromemail = $subscribeemail;
             }
             $mailer = TSMTPMailer::i();
             $mailer->lock();
             $mailer->host = $host;
             $mailer->login = $smtplogin;
             $mailer->password = $password;
             $mailer->port = (int) $port;
             $mailer->unlock();
             break;
         case 'view':
             $options->icondisabled = isset($icondisabled);
             if (!empty($perpage)) {
                 $options->perpage = (int) $perpage;
             }
             $options->hidefilesonpage = isset($hidefilesonpage);
             $filter = tcontentfilter::i();
             $filter->usefilter = isset($usefilter);
             $filter->automore = isset($automore);
             $filter->automorelength = (int) $automorelength;
             $filter->autolinks = isset($autolinks);
             $filter->commentautolinks = isset($commentautolinks);
             $filter->save();
             $themeparser = tthemeparser::i();
             $themeparser->replacelang = isset($replacelang);
             $themeparser->stylebefore = isset($stylebefore);
             $themeparser->save();
             // restore style after
             if (!$themeparser->stylebefore) {
                 $css = '<link type="text/css" href="$site.files$template.cssmerger_default" rel="stylesheet" />';
                 $t = ttemplate::i();
                 if (false !== strpos($t->heads, "<!--{$css}-->")) {
                     $t->heads = str_replace("<!--{$css}-->", $css, $t->heads);
                     $t->save();
                 }
             }
             break;
         case 'files':
             $parser = tmediaparser::i();
             $parser->enablepreview = isset($enablepreview);
             $parser->ratio = isset($ratio);
             $parser->clipbounds = isset($clipbounds);
             $parser->previewwidth = (int) trim($previewwidth);
             $parser->previewheight = (int) trim($previewheight);
             $parser->maxwidth = (int) trim($maxwidth);
             $parser->maxheight = (int) trim($maxheight);
             $parser->alwaysresize = isset($alwaysresize);
             $parser->quality_snapshot = (int) trim($quality_snapshot);
             $parser->quality_original = (int) trim($quality_original);
             $parser->audioext = trim($audioext);
             $parser->videoext = trim($videoext);
             $parser->save();
             litepublisher::$site->video_width = $video_width;
             litepublisher::$site->video_height = $video_height;
             break;
         case 'links':
             $linkgen = tlinkgenerator::i();
             $linkgen->urlencode = isset($urlencode);
             if (!empty($post)) {
                 $linkgen->post = $post;
             }
             if (!empty($menu)) {
                 $linkgen->menu = $menu;
             }
             if (!empty($category)) {
                 $linkgen->category = $category;
             }
             if (!empty($tag)) {
                 $linkgen->tag = $tag;
             }
             if (!empty($archive)) {
                 $linkgen->archive = $archive;
             }
             $linkgen->save();
             break;
         case 'cache':
             if (isset($clearcache)) {
                 ttheme::clearcache();
             } else {
                 $classes = litepublisher::$classes;
                 if ($classes->memcache != isset($memcache_classes)) {
                     if (isset($memcache_classes)) {
                         $classes->revision_memcache++;
                     }
                     $classes->memcache = isset($memcache_classes);
                     $classes->save();
                 }
                 $options->lock();
                 $options->cache = isset($enabledcache);
                 $options->admincache = isset($admincache);
                 if (!empty($expiredcache)) {
                     $options->expiredcache = (int) $expiredcache;
                 }
                 $options->ob_cache = isset($ob_cache);
                 $options->compress = isset($compress);
                 $options->commentspull = isset($commentspull);
                 $options->unlock();
             }
             break;
         case 'lite':
         case 'catstags':
             litepublisher::$classes->archives->lite = isset($litearch);
             $cats = litepublisher::$classes->categories;
             $cats->lite = isset($litecats);
             $cats->includeparents = isset($parentcats);
             $cats->includechilds = isset($childcats);
             $cats->save();
             $tags = litepublisher::$classes->tags;
             $tags->lite = isset($litetags);
             $tags->includeparents = isset($parenttags);
             $tags->includechilds = isset($childtags);
             $tags->save();
             break;
         case 'robots':
             $robo = trobotstxt::i();
             $robo->text = $robots;
             $robo->save();
             $appcache_manifest = appcache_manifest::i();
             $appcache_manifest->text = $appcache;
             $appcache_manifest->save();
             break;
         case 'secure':
             if (isset($_POST['oldpassword'])) {
                 $h2 = $this->html->h2;
                 if ($oldpassword == '') {
                     return $h2->badpassword;
                 }
                 if ($newpassword == '' || $newpassword != $repassword) {
                     return $h2->difpassword;
                 }
                 if (!$options->auth($options->email, $oldpassword)) {
                     return $h2->badpassword;
                 }
                 $options->changepassword($newpassword);
                 $options->logout();
                 return $h4->passwordchanged;
             } else {
                 $options->echoexception = isset($echoexception);
                 $options->reguser = isset($reguser);
                 $this->usersenabled = isset($usersenabled);
                 $options->parsepost = isset($parsepost);
                 $options->show_draft_post = isset($show_draft_post);
                 $options->xxxcheck = isset($xxxcheck);
                 $filter = tcontentfilter::i();
                 $filter->phpcode = isset($phpcode);
                 $filter->save();
                 $parser = tthemeparser::i();
                 $parser->removephp = isset($removephp);
                 $parser->save();
                 $backuper = tbackuper::i();
                 if ($backuper->filertype != $filertype) {
                     $backuper->filertype = $filertype;
                     $backuper->save();
                 }
                 $useshell = isset($useshell);
                 $updater = tupdater::i();
                 if ($useshell !== $updater->useshell) {
                     $updater->useshell = $useshell;
                     $updater->save();
                 }
             }
             break;
     }
     return '';
 }
コード例 #14
0
 public function uninstall()
 {
     $menus = tmenus::i();
     $menus->deleteurl('/mobile/');
     litepublisher::$urlmap->clearcache();
 }
コード例 #15
0
function tsourcefilesmenuUninstall($self)
{
    $menus = tmenus::i();
    $menus->deleteurl('/source/');
}
コード例 #16
0
function tthemegeneratorUninstall($self)
{
    if ($self->id == 0) {
        if ($id = $self->getowner()->class2id(get_class($self))) {
            $self->loaddata($id);
        }
    }
    $views = tviews::instance();
    $views->delete($self->idview);
    $views->delete($self->leftview);
    $views->delete($self->rightview);
    $merger = tlocalmerger::i();
    unset($merger->items['themegenerator']);
    $merger->save();
    $js = tjsmerger::i();
    unset($js->items['themegenerator']);
    $js->save();
    $template = ttemplate::i();
    unset($template->data['jsmerger_themegenerator']);
    $template->save();
    tcron::i()->unbind($self);
    $menus = tmenus::i();
    $menus->deletetree($self->id);
    tfiler::delete(litepublisher::$paths->files . 'themegen', true, true);
}
コード例 #17
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();
 }
コード例 #18
0
ファイル: menu.class.php プロジェクト: laiello/litepublisher
 public static function getowner()
 {
     return tmenus::i();
 }