function tthemegeneratorInstall($self)
{
    if (!ttheme::exists('generator')) {
        die('Theme "generator" not exists');
    }
    //litepublisher::$urlmap->addget('/theme-generator.htm', get_class($self));
    $about = tplugins::getabout(tplugins::getname(__FILE__));
    $name = basename(dirname(__FILE__));
    $merger = tlocalmerger::i();
    $merger->lock();
    $merger->add('themegenerator', "plugins/{$name}/res/scheme.ini");
    $merger->add('themegenerator', sprintf('plugins/%s/res/%s.ini', $name, litepublisher::$options->language));
    $merger->unlock();
    $js = tjsmerger::i();
    $js->lock();
    $js->add('themegenerator', '/plugins/colorpicker/js/colorpicker.js');
    $js->add('themegenerator', '/js/swfupload/swfupload.js');
    $js->add('themegenerator', sprintf('/plugins/%s/themegenerator.min.js', basename(dirname(__FILE__))));
    $js->addlang('themegenerator', 'lang', array('upload_header' => $about['upload_header'], 'upload_logo' => $about['upload_logo']));
    $js->unlock();
    $dir = litepublisher::$paths->files . 'themegen';
    if (!is_dir($dir)) {
        mkdir($dir, 0777);
        @chmod($dir, 0777);
        file_put_contents($dir . DIRECTORY_SEPARATOR . 'index.htm', ' ');
        @chmod($dir . DIRECTORY_SEPARATOR . 'index.htm', 0666);
    }
    tcron::i()->addnightly(get_class($self), 'cron', null);
    $self->lock();
    $self->title = $about['name'];
    $views = tviews::i();
    $self->idview = $views->add($about['name']);
    $view = tview::i($self->idview);
    $view->themename = 'generator';
    $self->leftview = $views->add($about['left']);
    $view = tview::i($self->leftview);
    $view->themename = 'generator-left';
    $self->rightview = $views->add($about['right']);
    $view = tview::i($self->rightview);
    $view->themename = 'generator-right';
    $self->url = '/theme-generator.htm';
    $self->content = get_themegen_content($self);
    $self->parseselectors();
    $menus = tmenus::i();
    $menus->lock();
    $menus->add($self);
    $fake = new tfakemenu();
    $fake->title = $about['left'];
    $fake->url = $self->url . '?type=left';
    $fake->parent = $self->id;
    $menus->add($fake);
    $fake = new tfakemenu();
    $fake->title = $about['right'];
    $fake->url = $self->url . '?type=right';
    $fake->parent = $self->id;
    $menus->add($fake);
    $menus->unlock();
    $self->unlock();
    litepublisher::$urlmap->setvalue($self->idurl, 'type', 'get');
}
 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;
 }
 public function processform()
 {
     $theme = tview::i(tviews::i()->defaults['admin'])->theme;
     $plugin = ttagreplacer::i();
     $plugin->lock();
     $plugin->items = array();
     foreach ($_POST as $name => $value) {
         if (!strbegin($name, 'where-')) {
             continue;
         }
         $id = substr($name, strlen('where-'));
         $where = trim($value);
         if (!isset($theme->templates[$where]) || !is_string($theme->templates[$where])) {
             continue;
         }
         $search = $_POST["search-{$id}"];
         if ($search == '') {
             continue;
         }
         $plugin->items[] = array('where' => $where, 'search' => $search, 'replace' => $_POST["replace-{$id}"]);
     }
     $plugin->unlock();
     ttheme::clearcache();
     return '';
 }
 public function processform()
 {
     $result = '';
     $idview = tadminhtml::getparam('idview', 1);
     $view = tview::i($idview);
     if (isset($_POST['reparse'])) {
         $parser = tthemeparser::i();
         try {
             $parser->reparse($view->theme->name);
         } catch (Exception $e) {
             $result = $e->getMessage();
         }
     } else {
         if (empty($_POST['selection'])) {
             return '';
         }
         try {
             $view->themename = $_POST['selection'];
             $result = $this->html->h2->success;
         } catch (Exception $e) {
             $view->themename = 'default';
             $result = $e->getMessage();
         }
     }
     ttheme::clearcache();
     return $result;
 }
 public function getcontent()
 {
     $type = tadminhtml::getparam('type', 'tags') == 'tags' ? 'tags' : 'categories';
     $tags = $type == 'tags' ? ttags::i() : tcategories::i();
     if ($err = self::auth()) {
         return $err;
     }
     $id = tadminhtml::idparam();
     if ($id > 0 && !$tags->itemexists($id)) {
         return self::error403();
     }
     $theme = tview::i(tviews::i()->defaults['admin'])->theme;
     $html = tadminhtml::i();
     $html->section = 'tags';
     $lang = tlocal::i('tags');
     if ($id == 0) {
         $views = tviews::i();
         $name = $type == 'tags' ? 'tag' : 'category';
         $item = array('title' => '', 'idview' => isset($views->defaults[$name]) ? $views->defaults[$name] : 1, 'idperm' => 0, 'icon' => 0, 'includechilds' => $tags->includechilds, 'includeparents' => $tags->includeparents, 'invertorder' => false, 'lite' => $tags->lite, 'liteperpage' => 1000, 'url' => '', 'keywords' => '', 'description' => '', 'head' => '');
     } else {
         $item = $tags->getitem($id);
     }
     switch ($_GET['get']) {
         case 'view':
             if ($id > 0) {
                 foreach (array('includechilds', 'includeparents', 'invertorder', 'lite') as $prop) {
                     $item[$prop] = (int) $item[$prop] > 0;
                 }
             }
             $args = new targs();
             $args->add($item);
             $result = $html->parsearg('[checkbox=includechilds] [checkbox=includeparents] [checkbox=invertorder] [checkbox=lite] [text=liteperpage]', $args);
             $result .= $this->getviewicon($item['idview'], $item['icon']);
             $result .= tadminperms::getcombo($item['idperm']);
             break;
         case 'seo':
             $args = targs::i();
             if ($id == 0) {
                 $args->url = '';
                 $args->keywords = '';
                 $args->description = '';
                 $args->head = '';
             } else {
                 $args->add($tags->contents->getitem($id));
                 $args->url = $tags->items[$id]['url'];
             }
             $result = $html->parsearg('[text=url] [text=description] [text=keywords] [editor=head]', $args);
             break;
         case 'text':
             $result = $this->geteditor('raw', $id == 0 ? '' : $tags->contents->getcontent($id), true);
             $result .= $this->gethead();
             break;
         default:
             $result = var_export($_GET, true);
     }
     return turlmap::htmlheader(false) . $result;
 }
Example #6
0
 public function getcont()
 {
     $this->cache = false;
     $view = tview::getview($this);
     $theme = $view->theme;
     if ($this->text != '') {
         return $theme->simple($this->text);
     }
     $lang = tlocal::i('default');
     if ($this->basename == 'forbidden') {
         return $theme->simple(sprintf('<h1>%s</h1>', $lang->forbidden));
     } else {
         return $theme->parse($theme->templates['content.notfound']);
     }
 }
/**
* 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 tviewsInstall($self)
{
    $widgets = twidgets::i();
    $widgets->deleted = $self->widgetdeleted;
    $self->lock();
    $lang = tlocal::admin('names');
    $default = $self->add($lang->default);
    $def = tview::i($default);
    $def->sidebars = array(array(), array(), array());
    $idadmin = $self->add($lang->adminpanel);
    $admin = tview::i($idadmin);
    $admin->menuclass = 'tadminmenus';
    $self->defaults = array('post' => $default, 'menu' => $default, 'category' => $default, 'tag' => $default, 'admin' => $idadmin);
    $self->unlock();
}
/**
* 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 titemsreplacerInstall($self)
{
    $dir = basename(dirname(__FILE__));
    litepublisher::$classes->add('tviewthemereplacer', 'themereplacer.class.php', $dir);
    litepublisher::$classes->add('tthemereplacer', 'themereplacer.class.php', $dir);
    $views = tviews::i();
    $views->lock();
    $view = new tviewthemereplacer();
    $about = tplugins::getabout($dir);
    $view->name = $about['newview'];
    $id = $views->addview($view);
    $self->add($id);
    $view->themename = tview::i(1)->themename;
    $views->deleted = $self->delete;
    $views->unlock();
    ttheme::clearcache();
}
/**
* 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 thomepageInstall($self)
{
    litepublisher::$site->home = '/';
    $menus = tmenus::i();
    $menus->lock();
    $self->lock();
    $self->url = '/';
    $self->title = tlocal::i()->home;
    $self->idview = tviews::i()->add(tlocal::get('adminmenus', 'home'));
    $homeview = tview::i($self->idview);
    $homeview->disableajax = true;
    $homeview->save();
    $menus->idhome = $menus->add($self);
    $self->unlock();
    $menus->unlock();
    tposts::i()->addevent('changed', get_class($self), 'postschanged');
}
 public function getcontent()
 {
     $result = parent::getcontent();
     $db = litepublisher::$db;
     $items = $db->res2items($db->query("select id, class from {$db->prefix}codedoc order by class"));
     if (count($items) == 0) {
         return $result;
     }
     tposts::i()->loaditems(array_keys($items));
     $theme = tview::getview($this)->theme;
     $args = new targs();
     $result .= '<ul class="doc_classes">';
     $tml = '<li id="doc-class-$id"><a href="#">$class</a> $post.excerptcontent</li>';
     foreach ($items as $id => $item) {
         $args->add($item);
         ttheme::$vars['post'] = tpost::i($id);
         $result .= $theme->parsearg($tml, $args);
     }
     $result .= '</ul>';
     return $result;
 }
Example #11
0
 public function install()
 {
     if (!file_exists(litepublisher::$paths->home . 'mobile' . DIRECTORY_SEPARATOR . 'index.php')) {
         die("folder 'mobile' with requried files not exists. Please copy required folder from plugin.");
     }
     $about = tplugins::getabout(tplugins::getname(__FILE__));
     $views = tviews::i();
     if (!isset($views->defaults['mobile'])) {
         $views->defaults['mobile'] = $views->add($about['menutitle']);
     }
     $idview = $views->defaults['mobile'];
     $view = tview::i($idview);
     if ($view->themename != 'pda') {
         $view->themename = 'pda';
         $view->disableajax = true;
         $view->save();
     }
     $menus = tmenus::i();
     $menus->addfake('/mobile/', $about['menutitle']);
     $robot = trobotstxt::i();
     $robot->AddDisallow('/mobile/');
     litepublisher::$urlmap->clearcache();
 }
 public static function gettheme()
 {
     return tview::getview(self::i())->theme;
 }
 public function save()
 {
     tview::i()->save();
 }
Example #14
0
 public function getcont()
 {
     $items = $this->getidposts();
     if (count($items) == 0) {
         return '';
     }
     $theme = tview::getview($this)->theme;
     $perpage = $this->lite ? 1000 : litepublisher::$options->perpage;
     $list = array_slice($items, (litepublisher::$urlmap->page - 1) * $perpage, $perpage);
     $result = $theme->getposts($list, $this->lite);
     $result .= $theme->getpages($this->items[$this->date]['url'], litepublisher::$urlmap->page, ceil(count($items) / $perpage));
     return $result;
 }
Example #15
0
 public function getview()
 {
     return tview::getview($this);
 }
 public function getcontent()
 {
     $theme = tview::i(tviews::i()->defaults['admin'])->theme;
     $html = tadminhtml::i();
     $html->section = 'editor';
     $lang = tlocal::i('editor');
     $post = tpost::i($this->idpost);
     ttheme::$vars['post'] = $post;
     switch ($_GET['get']) {
         case 'tags':
             $result = $html->getedit('tags', $post->tagnames, $lang->tags);
             $lang->section = 'editor';
             $result .= $html->h4->addtags;
             $items = array();
             $tags = $post->factory->tags;
             $list = $tags->getsorted(-1, 'name', 0);
             foreach ($list as $id) {
                 $items[] = '<a href="" class="posteditor-tag">' . $tags->items[$id]['title'] . "</a>";
             }
             $result .= sprintf('<p>%s</p>', implode(', ', $items));
             break;
         case 'status':
             $args = new targs();
             $args->comstatus = tadminhtml::array2combo(array('closed' => $lang->closed, 'reg' => $lang->reg, 'guest' => $lang->guest, 'comuser' => $lang->comuser), $post->comstatus);
             $args->pingenabled = $post->pingenabled;
             $args->status = tadminhtml::array2combo(array('published' => $lang->published, 'draft' => $lang->draft), $post->status);
             $args->perms = tadminperms::getcombo($post->idperm);
             $args->password = $post->password;
             $result = $html->parsearg('[combo=comstatus]
   [checkbox=pingenabled]
   [combo=status]
   $perms
   [password=password]
   <p>$lang.notepassword</p>', $args);
             break;
         case 'view':
             $result = $this->getviewicon($post->idview, $post->icon);
             break;
         default:
             $result = var_export($_GET, true);
     }
     //tfiler::log($result);
     return turlmap::htmlheader(false) . $result;
 }
 public function getcont()
 {
     $theme = tview::getview($this)->theme;
     return $theme->simple($this->getval('filtered'));
 }
 public function getcont()
 {
     $item = $this->getitem($this->id);
     ttheme::$vars['author'] = $this;
     $theme = tview::getview($this)->theme;
     $result = $theme->parse($theme->templates['content.author']);
     $perpage = $this->lite ? 1000 : litepublisher::$options->perpage;
     $posts = litepublisher::$classes->posts;
     $from = (litepublisher::$urlmap->page - 1) * $perpage;
     $poststable = $posts->thistable;
     $count = $posts->db->getcount("{$poststable}.status = 'published' and {$poststable}.author = {$this->id}");
     $items = $posts->select("{$poststable}.status = 'published' and {$poststable}.author = {$this->id}", "order by {$poststable}.posted desc limit {$from}, {$perpage}");
     $result .= $theme->getposts($items, $this->lite);
     $result .= $theme->getpages($item['url'], litepublisher::$urlmap->page, ceil($count / $perpage));
     return $result;
 }
Example #19
0
 public function gettheme()
 {
     ttheme::$vars['post'] = $this;
     if (isset($this->_theme)) {
         return $this->_theme;
     }
     $this->_theme = isset(ttemplate::i()->view) ? ttemplate::i()->view->theme : tview::getview($this)->theme;
     return $this->_theme;
 }
 protected function dogetcontent(twidget $widget, targs $args)
 {
     $idview = tadminhtml::getparam('idview', 1);
     $view = tview::i($idview);
     $args->sidebar = tadminhtml::array2combo(tadminwidgets::getsidebarnames($view), $widget->sidebar);
     $args->order = tadminhtml::array2combo(range(-1, 10), $widget->order + 1);
     $args->ajax = $widget->ajax;
     return $this->html->parsearg('[combo=sidebar] [combo=order] [checkbox=ajax]', $args);
 }
 public function processform()
 {
     $plugin = titemsreplacer::i();
     if (!empty($_GET['id'])) {
         $id = (int) $_GET['id'];
         if (isset($plugin->items[$id])) {
             $plugin->lock();
             $i = 0;
             foreach ($plugin->items[$id] as $tag => $replace) {
                 $k = "replace-{$i}";
                 if (!isset($_POST[$k])) {
                     continue;
                 }
                 $v = trim($_POST[$k]);
                 if ($v) {
                     $plugin->items[$id][$tag] = $v;
                 } else {
                     unset($plugin->items[$id][$tag]);
                 }
                 $i++;
             }
             if (!empty($_POST['addtag'])) {
                 $tag = trim($_POST['addtag']);
                 $theme = tview::i(tviews::i()->defaults['admin'])->theme;
                 if (isset($theme->templates[$tag])) {
                     $plugin->items[$id][$tag] = trim($_POST['addreplace']);
                 }
             }
             $plugin->unlock();
         }
     }
     if (isset($_GET['action']) && 'add' == $_GET['action']) {
         $views = tviews::i();
         $view = new tviewthemereplacer();
         $view->name = trim($_POST['viewname']);
         $id = $views->addview($view);
         $plugin->add($id);
         $view->themename = tview::i(1)->themename;
         $adminurl = tadminhtml::getadminlink('/admin/plugins/', 'plugin=' . basename(dirname(__FILE__)));
         return litepublisher::$urlmap->redir("{$adminurl}&id={$id}");
     }
     ttheme::clearcache();
     return '';
 }
 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();
 }
 public function gethead()
 {
     $result = $this->contents->getvalue($this->id, 'head');
     $result .= tview::getview($this)->theme->templates['head.tags'];
     $list = $this->getidposts($this->id);
     $result .= $this->factory->posts->getanhead($list);
     return ttheme::i()->parse($result);
 }
Example #24
0
 protected function get_view($context)
 {
     $views = tviews::i();
     $idview = isset($views->defaults['mobile']) ? $views->defaults['mobile'] : 1;
     return tview::i($idview);
 }
Example #25
0
 public function request($arg)
 {
     $this->cache = false;
     $id = self::getget('id');
     $sidebar = self::getget('sidebar');
     $this->idurlcontext = self::getget('idurl');
     if ($id === false || $sidebar === false || !$this->itemexists($id)) {
         return $this->error_request('Invalid params');
     }
     $themename = isset($_GET['themename']) ? trim($_GET['themename']) : tview::i(1)->themename;
     if (!preg_match('/^\\w[\\w\\.\\-_]*+$/', $themename) || !ttheme::exists($themename)) {
         $themename = tviews::i(1)->themename;
     }
     $theme = ttheme::getinstance($themename);
     try {
         $result = $this->getwidgetcontent($id, $sidebar);
         return turlmap::htmlheader(false) . $result;
     } catch (Exception $e) {
         return $this->error_request('Cant get widget content');
     }
 }
Example #26
0
 protected function get_view($context)
 {
     return $this->itemplate ? tview::getview($context) : tview::i();
 }