コード例 #1
0
ファイル: stat.plugin.php プロジェクト: laiello/litepublisher
 public function uninstall()
 {
     $footer = $this->getfooter();
     $template = ttemplate::i();
     $template->footer = str_replace($footer, '', $template->footer);
     $template->save();
 }
コード例 #2
0
 public function gethtml()
 {
     $template = ttemplate::i();
     $result = $template->getjavascript('/plugins/slides/slides.plugin.min.js');
     $result .= '<div id="slides-holder"></div>';
     return $result;
 }
コード例 #3
0
 public static function content($content)
 {
     $self = self::i();
     $self->text = $content;
     $template = ttemplate::i();
     return $template->request($self);
 }
コード例 #4
0
/**
* 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 tcssmergerInstall($self)
{
    $self->lock();
    $self->items = array();
    $section = 'default';
    $self->add($section, '/js/prettyphoto/css/prettyPhoto.css');
    $self->add($section, '/js/litepublisher/css/prettyphoto.dialog.min.css');
    $self->add($section, '/js/litepublisher/css/filelist.min.css');
    $self->add($section, '/js/litepublisher/css/table.min.css');
    $self->add($section, '/js/litepublisher/css/button.min.css');
    $self->add($section, '/js/litepublisher/css/form.inline.min.css');
    //$self->add($section, '/js/litepublisher/css/hover.css');
    $self->addtext($section, 'hidden', '.hidden{display:none}');
    $section = 'admin';
    $self->add($section, '/js/jquery/ui/redmond/jquery-ui.min.css');
    $self->add($section, '/js/litepublisher/css/fileman.min.css');
    $self->add($section, '/js/litepublisher/css/calendar.css');
    $self->add($section, '/js/litepublisher/css/admin.views.min.css');
    $self->unlock();
    // add in comment because by default tthemeparser::i()->stylebefore  is true
    $template = ttemplate::i();
    $template->addtohead('<!--<link type="text/css" href="$site.files$template.cssmerger_default" rel="stylesheet" />-->');
    $updater = tupdater::i();
    $updater->onupdated = $self->save;
}
コード例 #5
0
 public function getcontent($id, $sidebar)
 {
     if (litepublisher::$urlmap->is404) {
         return '';
     }
     $result = '';
     $a = array('$url' => urlencode(litepublisher::$site->url . litepublisher::$urlmap->url), '$title' => urlencode(ttemplate::i()->title));
     $redirlink = litepublisher::$site->url . $this->redirlink . litepublisher::$site->q . strtr('url=$url&title=$title&id=', $a);
     $iconurl = litepublisher::$site->files . '/plugins/bookmarks/icons/';
     $theme = ttheme::i();
     $tml = $theme->getwidgetitem('links', $sidebar);
     $args = targs::i();
     $args->subcount = '';
     $args->subitems = '';
     $args->rel = 'link bookmark';
     foreach ($this->items as $id => $item) {
         $args->id = $id;
         $args->title = $item['title'];
         $args->text = $item['title'];
         if ($this->redir) {
             $args->link = $redirlink . $id;
         } else {
             $args->link = strtr($item['url'], $a);
         }
         $args->icon = $item['text'] == '' ? '' : sprintf('<img src="%s%s" alt="%s" />', $iconurl, $item['text'], $item['title']);
         $result .= $theme->parsearg($tml, $args);
     }
     return $theme->getwidgetcontent($result, 'links', $sidebar);
 }
コード例 #6
0
function tprofileUninstall($self)
{
    turlmap::unsub($self);
    $sitemap = tsitemap::i();
    $sitemap->delete('/profile.htm');
    $template = ttemplate::i();
    $template->deletefromhead('	<link rel="author profile" title="Profile" href="$site.url/profile.htm" />');
}
コード例 #7
0
 public function uninstall()
 {
     $template = ttemplate::i();
     $template->deletefromhead($this->getjs());
     $parser = tthemeparser::i();
     $parser->unbind($this);
     ttheme::clearcache();
 }
コード例 #8
0
 public function gethtml()
 {
     $template = ttemplate::i();
     $s = $template->getjavascript('/plugins/slideshow/slideshow.min.js');
     $about = tplugins::getabout(tplugins::getname(__FILE__));
     $s .= $about['html'];
     return sprintf('[html]%s[/html]', $s);
 }
コード例 #9
0
 public function gethead()
 {
     $result = parent::gethead();
     $template = ttemplate::i();
     $template->ltoptions['idpost'] = $this->idget();
     $template->ltoptions['lang'] = litepublisher::$options->language;
     $result .= $template->getready('$("#tabs").tabs({ beforeLoad: litepubl.uibefore});');
     return $result . tajaxmenueditor::i()->gethead();
 }
コード例 #10
0
 public function get($url)
 {
     if (isset($this->items[$url])) {
         return $this->items[$url];
     }
     if (strbegin($url, litepublisher::$site->url)) {
         return substr($url, strlen(litepublisher::$site->url));
     }
     //redir jquery scripts
     if (strbegin($url, '/js/jquery/ui-')) {
         return '/js/jquery/ui-' . litepublisher::$site->jqueryui_version . substr($url, strpos($url, '/', 15));
     }
     if (strbegin($url, '/js/jquery/jquery')) {
         return '/js/jquery/jquery-' . litepublisher::$site->jquery_version . '.min.js';
     }
     //fix for 2.xx versions
     if (preg_match('/^\\/comments\\/(\\d*?)\\/?$/', $url, $m)) {
         return sprintf('/comments/%d.xml', $m[1]);
     }
     if (preg_match('/^\\/authors\\/(\\d*?)\\/?$/', $url, $m)) {
         return '/comusers.htm?id=' . $m[1];
     }
     if (strpos($url, '%')) {
         $url = rawurldecode($url);
         if (strbegin($url, litepublisher::$site->url)) {
             return substr($url, strlen(litepublisher::$site->url));
         }
         if (litepublisher::$urlmap->urlexists($url)) {
             return $url;
         }
     }
     //fix php warnings e.g. function.preg-split
     if (($i = strrpos($url, '/')) && strbegin(substr($url, $i), '/function.')) {
         return substr($url, 0, $i + 1);
     }
     //redir version js files
     if (preg_match('/^\\/files\\/js\\/(\\w*+)\\.(\\d*+)\\.js$/', $url, $m)) {
         $name = $m[1] == 'moderator' ? 'comments' : $m[1];
         $prop = 'jsmerger_' . $name;
         $template = ttemplate::i();
         if (isset($template->{$prop})) {
             return $template->{$prop};
         }
     }
     if (preg_match('/^\\/files\\/js\\/(\\w*+)\\.(\\d*+)\\.css$/', $url, $m)) {
         $name = 'cssmerger_' . $m[1];
         $template = ttemplate::i();
         if (isset($template->{$name})) {
             return $template->{$name};
         }
     }
     if ($url = $this->onget($url)) {
         return $url;
     }
     return false;
 }
コード例 #11
0
function tmetatagsUninstall($self)
{
    $t = ttemplate::i();
    $t->heads = strtr($t->heads, array('$metatags.keywords' => '$template.keywords', '$metatags.description' => '$template.description'));
    $t->save();
    tthemeparser::i()->unbind($self);
    ttheme::clearcache();
    unset(litepublisher::$classes->classes['metatags']);
    litepublisher::$classes->save();
}
コード例 #12
0
   public function gethead()
   {
       $result = parent::gethead();
       $template = ttemplate::i();
       $result .= $template->getready('
   //alert($("#tabs").parent().parent().html());
   //$("textarea:first").val($("#tabs").parent().parent().html());
 $("#tabs, #contenttabs").tabs({ beforeLoad: litepubl.uibefore});');
       return $result;
   }
コード例 #13
0
 public function themeparsed($theme)
 {
     $template = ttemplate::i();
     $template->heads = $this->replacehead($template->heads);
     $template->save();
     foreach ($theme->templates as $name => $value) {
         if (is_string($value)) {
             $theme->templates[$name] = $this->replace($value);
         }
     }
 }
コード例 #14
0
 public function gethead()
 {
     $result = parent::gethead();
     $template = ttemplate::i();
     $template->ltoptions['idpost'] = $this->idget();
     $result .= $template->getjavascript($template->jsmerger_posteditor);
     if ($this->isauthor && ($h = tauthor_rights::i()->gethead())) {
         $result .= $h;
     }
     return $result;
 }
コード例 #15
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();
 }
コード例 #16
0
 public function deletestyle($filename)
 {
     if (!($filename = $this->normfilename($filename))) {
         return false;
     }
     $template = ttemplate::i();
     if (strpos($template->heads, $this->basename . '_default')) {
         $this->deletefile('default', $filename);
     } else {
         $template->deletefromhead(sprintf('<link type="text/css" href="$site.files%s" rel="stylesheet" />', $filename));
     }
 }
コード例 #17
0
 public function getdescription()
 {
     if ($list = $this->getlist()) {
         $result = '';
         foreach ($list as $id) {
             $post = tpost::i($id);
             $result .= $post->title . ' ';
             if (strlen($result) > 250) {
                 break;
             }
         }
         //return tcontentfilter::getexcerpt($result, 300);
         return $result;
     }
     return ttemplate::i()->getdescription();
 }
コード例 #18
0
ファイル: update.5.97.php プロジェクト: laiello/litepublisher
function update597()
{
    litepublisher::$site->jquery_version = '1.11.2';
    litepublisher::$site->jqueryui_version = '1.11.4';
    litepublisher::$site->save();
    $js = tjsmerger::i();
    $js->lock();
    $js->after('default', '/js/plugins/jquery.cookie.min.js', '/js/plugins/tojson.min.js');
    $js->after('default', '/js/litepublisher/litepublisher.utils.min.js', '/js/litepublisher/ready2.min.js');
    $js->after('default', '/js/litepublisher/ready2.min.js', '/js/litepublisher/css-loader.min.js');
    $js->after('default', '/js/litepublisher/css-loader.min.js', '/js/litepublisher/json-rpc.min.js');
    $js->unlock();
    $css = tcssmerger::i();
    //$css->add('default', '/js/litepublisher/css/hover.css');
    if (litepublisher::$classes->exists('ulogin')) {
        $ulogin = ulogin::i();
        $ulogin->panel = str_replace(' ready2', ' $.ready2', $ulogin->panel);
        $ulogin->save();
        $alogin = tadminlogin::i();
        $alogin->widget = $ulogin->addpanel($alogin->widget, $ulogin->panel);
        $alogin->save();
        $areg = tadminreguser::i();
        $areg->widget = $ulogin->addpanel($areg->widget, $ulogin->panel);
        $areg->save();
        $tc = ttemplatecomments::i();
        $tc->regaccount = $ulogin->addpanel($tc->regaccount, $ulogin->button);
        $tc->save();
    }
    $t = ttemplate::i();
    $t->footer = str_replace('2014', '2015', $t->footer);
    $template = ttemplate::i();
    $t->data[$js->basename] = $js->revision;
    $t->data[$css->basename] = $css->revision;
    $t->save();
    //$a = tprefetchtxt::i()->items;
    $data = new tdata();
    $data->basename = 'prefetch.txt';
    $data->load();
    $a = $data->data['items'];
    litepublisher::$classes->delete('tprefetchtxt');
    litepublisher::$classes->add('appcache_manifest', 'appcache.manifest.class.php');
    $c = appcache_manifest::i();
    $c->items = $a;
    $c->save();
    tredirector::i()->add('/prefetch.txt', $c->url);
}
コード例 #19
0
 public function gethead()
 {
     $result = $this->data['head'];
     if ($this->visual) {
         $template = ttemplate::i();
         if ($this->ajaxvisual) {
             $result .= $template->getready('$("a[rel~=\'loadvisual\']").one("click", function() {
       $("#loadvisual").remove();
       $.load_script("' . litepublisher::$site->files . $this->visual . '");
       return false;
     });');
         } else {
             $result .= $template->getjavascript($this->visual);
         }
     }
     $this->callevent('onhead', array(&$result));
     return $result;
 }
コード例 #20
0
 public function getform($p)
 {
     $this->password = $p;
     $page = tpasswordpage::i();
     $page->perm = $this;
     $result = $page->request(null);
     if ($this->checked) {
         return true;
     }
     switch ($result) {
         case 404:
             return litepublisher::$urlmap->notfound404();
         case 403:
             return litepublisher::$urlmap->forbidden();
     }
     $html = ttemplate::i()->request($page);
     eval('?>' . $html);
     return false;
 }
コード例 #21
0
 public function ontitle(&$title)
 {
     $template = ttemplate::i();
     if ($template->context instanceof tpost) {
         $tml = $this->post;
     } elseif ($template->context instanceof tcommontags) {
         $tml = $this->tag;
     } elseif ($template->context instanceof thomepage) {
         $tml = $this->home;
     } elseif ($template->context instanceof tarchives) {
         $tml = $this->archive;
     } else {
         return false;
     }
     if ($tml == '') {
         return;
     }
     $title = $template->parsetitle($tml, $title);
     return true;
 }
コード例 #22
0
 public function gethead()
 {
     $pickerpath = litepublisher::$site->files . '/plugins/colorpicker/';
     $result = '<link type="text/css" href="' . $pickerpath . 'css/colorpicker.css" rel="stylesheet" />';
     $template = ttemplate::i();
     $template->ltoptions['colors'] = $this->data['selectors'];
     $result .= $template->getjavascript($template->jsmerger_themegenerator);
     //$result .= $template->getjavascript('/plugins/colorpicker/js/colorpicker.js');
     //$result .= $template->getjavascript('/js/swfupload/swfupload.js');
     //$result .= $template->getjavascript('/plugins/themegenerator/themegenerator.js');
     if ($this->colorsuploaded) {
         $args = new targs();
         foreach ($this->data['colors'] as $name => $value) {
             $args->{$name} = $value;
         }
         $res = $this->res;
         $css = strtr(file_get_contents($res . 'scheme.tml'), $args->data);
         $result .= "<style type=\"text/css\">\n{$css}</style>\n";
     }
     return $result;
 }
コード例 #23
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();
}
コード例 #24
0
ファイル: post.class.php プロジェクト: laiello/litepublisher
 public function gethead()
 {
     $result = $this->rawhead;
     ttemplate::i()->ltoptions['idpost'] = $this->id;
     $theme = $this->theme;
     $result .= $theme->templates['head.post'];
     if ($prev = $this->prev) {
         ttheme::$vars['prev'] = $prev;
         $result .= $theme->templates['head.post.prev'];
     }
     if ($next = $this->next) {
         ttheme::$vars['next'] = $next;
         $result .= $theme->templates['head.post.next'];
     }
     if ($this->hascomm) {
         $lang = tlocal::i('comment');
         $result .= $theme->templates['head.post.rss'];
     }
     $result = $theme->parse($result);
     $this->factory->posts->callevent('onhead', array($this, &$result));
     return $result;
 }
コード例 #25
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();
 }
コード例 #26
0
ファイル: theme.class.php プロジェクト: laiello/litepublisher
 private function getvar($name)
 {
     switch ($name) {
         case 'site':
             return litepublisher::$site;
         case 'lang':
             return tlocal::i();
         case 'post':
             $context = isset(litepublisher::$urlmap->context) ? litepublisher::$urlmap->context : ttemplate::i()->context;
             if ($context instanceof tpost) {
                 return $context;
             }
             break;
         case 'author':
             return self::get_author();
         case 'metapost':
             return isset(self::$vars['post']) ? self::$vars['post']->meta : new emptyclass();
     }
     //switch
     if (isset($GLOBALS[$name])) {
         $var = $GLOBALS[$name];
     } else {
         $classes = litepublisher::$classes;
         $var = $classes->gettemplatevar($name);
         if (!$var) {
             if (isset($classes->classes[$name])) {
                 $var = $classes->getinstance($classes->classes[$name]);
             } elseif (isset($classes->items[$name])) {
                 $var = $classes->getinstance($name);
             } else {
                 $class = 't' . $name;
                 if (isset($classes->items[$class])) {
                     $var = $classes->getinstance($class);
                 }
             }
         }
     }
     if (!is_object($var)) {
         litepublisher::$options->trace(sprintf('Object "%s" not found in %s', $name, $this->parsing[count($this->parsing) - 1]));
         return false;
     }
     return $var;
 }
コード例 #27
0
 public function save()
 {
     $template = ttemplate::i();
     $template->save();
 }
コード例 #28
0
ファイル: kernel.php プロジェクト: laiello/litepublisher
 private function printclasspage($classname)
 {
     $cachefile = $classname . '.php';
     if ($this->cache_enabled) {
         if ($this->include_file($cachefile)) {
             return;
         }
     }
     $obj = getinstance($classname);
     $Template = ttemplate::i();
     $s = $Template->request($obj);
     eval('?>' . $s);
     if ($this->cache_enabled && $obj->cache) {
         $this->cache->set($cachefile, $result);
     }
 }
コード例 #29
0
/**
* 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 tjsmergerInstall($self)
{
    $dir = litepublisher::$paths->files . 'js';
    @mkdir($dir, 0777);
    @chmod($dir, 0777);
    $file = $dir . DIRECTORY_SEPARATOR . 'index.htm';
    file_put_contents($file, ' ');
    @chmod($file, 0666);
    $language = litepublisher::$options->language;
    $self->lock();
    $self->items = array();
    $section = 'default';
    $self->add($section, '/js/jquery/jquery-$site.jquery_version.min.js');
    $self->add($section, '/js/prettyphoto/js/jquery.prettyPhoto.js');
    $self->add($section, '/js/plugins/class-extend.min.js');
    $self->add($section, '/js/plugins/jquery.cookie.min.js');
    $self->add($section, '/js/plugins/tojson.min.js');
    $self->add($section, '/js/litepublisher/litepublisher.utils.min.js');
    $self->add($section, '/js/litepublisher/ready2.min.js');
    $self->add($section, '/js/litepublisher/css-loader.min.js');
    $self->add($section, '/js/litepublisher/json-rpc.min.js');
    $self->add($section, '/js/litepublisher/widgets.min.js');
    $self->add($section, '/js/litepublisher/widgets.bootstrap.min.js');
    $self->add($section, '/js/litepublisher/simpletml.min.js');
    $self->add($section, '/js/litepublisher/templates.min.js');
    $self->add($section, '/js/litepublisher/filelist.min.js');
    $self->add($section, '/js/litepublisher/players.min.js');
    $self->add($section, '/js/litepublisher/dialog.min.js');
    $self->add($section, '/js/litepublisher/dialog.pretty.min.js');
    $self->add($section, '/js/litepublisher/dialog.bootstrap.min.js');
    $self->add($section, '/js/litepublisher/pretty.init.min.js');
    $self->add($section, '/js/litepublisher/youtubefix.min.js');
    $self->add($section, "/lib/languages/{$language}/default.min.js");
    $section = 'comments';
    $self->add($section, '/js/litepublisher/comments.min.js');
    $self->add($section, '/js/litepublisher/confirmcomment.min.js');
    $self->add($section, '/js/litepublisher/moderate.min.js');
    $self->add($section, "/lib/languages/{$language}/comments.min.js");
    $section = 'admin';
    $self->add($section, '/js/jquery/ui/core.min.js');
    $self->add($section, '/js/jquery/ui/widget.min.js');
    $self->add($section, '/js/jquery/ui/mouse.min.js');
    $self->add($section, '/js/jquery/ui/position.min.js');
    $self->add($section, '/js/jquery/ui/effect.min.js');
    $self->add($section, '/js/jquery/ui/tabs.min.js');
    $self->add($section, '/js/litepublisher/admin.min.js');
    $self->add($section, '/js/litepublisher/calendar.min.js');
    $self->add($section, "/lib/languages/{$language}/admin.min.js");
    $section = 'adminviews';
    $self->add($section, '/js/jquery/ui/draggable.min.js');
    $self->add($section, '/js/jquery/ui/droppable.min.js');
    $self->add($section, '/js/jquery/ui/resizable.min.js');
    $self->add($section, '/js/jquery/ui/selectable.min.js');
    $self->add($section, '/js/jquery/ui/sortable.min.js');
    $self->add($section, '/js/litepublisher/admin.views.min.js');
    $section = 'posteditor';
    $self->add($section, '/js/swfupload/swfupload.min.js');
    $self->add($section, '/js/plugins/filereader.min.js');
    $self->add($section, '/js/litepublisher/uploader.min.js');
    $self->add($section, '/js/litepublisher/uploader.html.min.js');
    $self->add($section, '/js/litepublisher/uploader.flash.min.js');
    $self->add($section, '/js/jquery/ui/progressbar.min.js');
    $self->add($section, '/js/litepublisher/posteditor.min.js');
    $self->add($section, '/js/litepublisher/fileman.min.js');
    $self->add($section, '/js/litepublisher/fileman.templates.min.js');
    $self->add($section, "/lib/languages/{$language}/posteditor.min.js");
    $self->unlock();
    $template = ttemplate::i();
    $template->addtohead(sprintf($template->js, '$site.files$template.jsmerger_default'));
    $updater = tupdater::i();
    $updater->onupdated = $self->onupdated;
}
コード例 #30
0
 public function afterparse($theme)
 {
     $this->onfix($theme);
     $templates =& $this->theme->templates;
     $templates['menu.hover'] = isset($templates['menu.hover']) ? $templates['menu.hover'] == 'true' ? 'true' : ($templates['menu.hover'] == 'bootstrap' ? 'bootstrap' : 'false') : 'true';
     if (!isset($templates['content.post.templatecomments'])) {
         $templates['content.post.templatecomments'] = '';
     }
     if (!isset($templates['content.post.templatecomments.confirmform'])) {
         $this->error('tml not');
     }
     $post = 'content.post.';
     $excerpt = 'content.excerpts.excerpt.';
     //normalize filelist
     foreach (array('file', 'image', 'audio', 'video', 'flash') as $name) {
         $key = $post . 'filelist.' . $name;
         $itemkey = $key . "s.{$name}";
         if (!isset($templates[$key . 's'])) {
             $templates[$key . 's'] = '$' . $name;
         }
         //excerpt
         $keyexcerpt = $excerpt . 'filelist.' . $name;
         $itemkeyexcerpt = $keyexcerpt . "s.{$name}";
         if (!isset($templates[$keyexcerpt])) {
             $templates[$keyexcerpt] = $templates[$key];
         }
         if (!isset($templates[$keyexcerpt . 's'])) {
             $templates[$keyexcerpt . 's'] = $templates[$key . 's'];
         }
     }
     //fix preview
     $key = $post . 'filelist.preview';
     $keyexcerpt = $excerpt . 'filelist.preview';
     if (!isset($templates[$keyexcerpt])) {
         $templates[$keyexcerpt] = $templates[$key];
     }
     foreach (array('date', 'filelist', 'filelist.file', 'filelist.image', 'filelist.preview', 'filelist.audio', 'filelist.video', 'filelist.flash', 'filelist.files', 'filelist.images', 'filelist.audios', 'filelist.videos', 'filelist.flashs', 'catlinks', 'catlinks.item', 'catlinks.divider', 'taglinks', 'taglinks.item', 'taglinks.divider') as $name) {
         if (empty($templates[$excerpt . $name])) {
             $templates[$excerpt . $name] = $templates[$post . $name];
         }
     }
     $sidebars =& $this->theme->templates['sidebars'];
     $count = substr_count($this->theme->templates['index'], '$template.sidebar');
     if (count($sidebars) > $count) {
         array_splice($sidebars, $count, count($sidebars) - $count);
     }
     for ($i = 0; $i < $count; $i++) {
         $sidebar =& $this->theme->templates['sidebars'][$i];
         foreach (ttheme::getwidgetnames() as $widgetname) {
             foreach (array('', '.items', '.item', '.subcount', '.subitems') as $name) {
                 if (empty($sidebar[$widgetname . $name])) {
                     $sidebar[$widgetname . $name] = $sidebar['widget' . $name];
                 }
             }
             if ($this->fixsubcount && in_array($widgetname, array('widget', 'categories', 'tags', 'archives'))) {
                 $v = $sidebar[$widgetname . '.item'];
                 if (!strpos($v, '$subcount')) {
                     $sidebar[$widgetname . '.item'] = str_replace('$subitems', '$subcount$subitems', $v);
                 }
             }
         }
         if (is_string($sidebar['meta.classes'])) {
             $sidebar['meta.classes'] = self::getmetaclasses($sidebar['meta.classes']);
         }
     }
     //add spaces
     foreach (array('content.excerpts.excerpt.taglinks.divider', 'content.post.taglinks.divider', 'content.excerpts.excerpt.catlinks.divider', 'content.post.catlinks.divider') as $k) {
         if (substr($templates[$k], -1) != ' ') {
             $templates[$k] .= ' ';
         }
     }
     $templates['content.post.templatecomments.confirmform'] = str_replace('$lang.formhead', '$lang.checkspam', $templates['content.post.templatecomments.confirmform']);
     $form = 'content.post.templatecomments.form';
     $templates[$form] = trim(str_replace('<script type="text/javascript" src="$site.files$template.jsmerger_comments"></script>', '', $templates[$form]));
     if (!strpos($templates[$form], '$mesg')) {
         $templates[$form] = '<div id="before-commentform">$mesg</div>' . $templates[$form];
     }
     $regform = 'content.post.templatecomments.regform';
     if (!in_array($regform, $this->parsedtags) && in_array('content.admin.editor', $this->parsedtags)) {
         $editor = strtr($templates['content.admin.editor'], array('$lang.$name' => $this->replacelang ? tlocal::i('comment')->content : '$lang.content', '$name' => 'content', '$value' => ''));
         $templates[$regform] = '								<div id="before-commentform">$mesg</div>
       <h4 id="respond">$lang.leavereply</h4>
       <form action="$site.url/send-comment.php" method="post" id="commentform">' . $editor . '<p>
       <input type="hidden" name="postid" value="$postid" />
       <input type="hidden" name="antispam" value="$antispam" />
       
       <input type="submit" name="submitbutton" id="submitcomment" value="' . ($this->replacelang ? tlocal::i()->send : '$lang.send') . '" /></p>
       </form>';
     }
     $comment = 'content.post.templatecomments.comments.comment';
     $templates[$comment] = str_replace('$moderate', '<div class="moderationbuttons" data-idcomment="$comment.id" data-idauthor="$comment.author"></div>', $templates[$comment]);
     if ($this->stylebefore) {
         foreach (array('index', 'index.home', 'index.post', 'index.tag') as $k) {
             if (strpos($templates[$k], '$template.cssmerger_default')) {
                 continue;
             }
             //insert css merger before theme css
             if ($i = strpos($templates[$k], '.css')) {
                 $i = strrpos(substr($templates[$k], 0, $i), '<');
                 $css = '<link type="text/css" href="$site.files$template.cssmerger_default" rel="stylesheet" />';
                 $templates[$k] = substr_replace($templates[$k], $css, $i - 1, 0);
             }
         }
         //fix $template.head
         // ignore on installling (class not exists)
         if (!defined('litepublisher_mode') || litepublisher_mode != 'install') {
             $t = ttemplate::i();
             if (false !== strpos($t->heads, $css) && false === strpos($t->heads, "<!--{$css}-->")) {
                 $t->heads = str_replace($css, "<!--{$css}-->", $t->heads);
                 $t->save();
             }
         }
     }
     //reuse templates
     foreach ($templates as $k => $v) {
         if (is_string($v) && !strbegin($v, '<') && isset($templates[$v]) && is_string($templates[$v])) {
             $templates[$k] = $templates[$v];
         }
     }
 }