/** * Lite Publisher * Copyright (C) 2010 - 2013 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tcodedocpluginInstall($self) { if (!dbversion) { die("Ticket system only for database version"); } $name = basename(dirname(__FILE__)); $language = litepublisher::$options->language; $about = tplugins::getabout($name); litepublisher::$classes->Add('tcodedocfilter', 'codedoc.filter.class.php', $name); litepublisher::$classes->Add('tcodedocmenu', 'codedoc.menu.class.php', basename(dirname(__FILE__))); $menu = tcodedocmenu::i(); $menu->url = '/doc/'; $menu->title = $about['menutitle']; $menus = tmenus::i(); $menus->add($menu); $merger = tlocalmerger::i(); $merger->lock(); $merger->add('codedoc', "plugins/{$name}/resource/{$language}.ini"); $merger->add('codedoc', "plugins/{$name}/resource/html.ini"); $merger->unlock(); $manager = tdbmanager::i(); $manager->CreateTable('codedoc', ' id int unsigned NOT NULL default 0, class varchar(32) NOT NULL, parentclass varchar(32) NOT NULL, methods text not null, props text not null, events text not null, KEY id (id), KEY parentclass (parentclass) '); $filter = tcontentfilter::i(); $filter->lock(); $filter->beforecontent = $self->filterpost; $filter->seteventorder('beforecontent', $self, 0); $plugins = tplugins::i(); if (!isset($plugins->items['wikiwords'])) { $plugins->add('wikiwords'); } $filter->beforecontent = $self->afterfilter; $filter->unlock(); $linkgen = tlinkgenerator::i(); $linkgen->data['codedoc'] = '/doc/[title].htm'; $linkgen->save(); tposts::i()->deleted = $self->postdeleted; }
public function processform() { if (!isset($_GET['plugin'])) { $list = array_keys($_POST); array_pop($list); $plugins = tplugins::i(); try { $plugins->update($list); } catch (Exception $e) { litepublisher::$options->handexception($e); } $result = $this->html->h2->updated; } else { $name = $_GET['plugin']; if (!in_array($name, $this->names)) { return $this->notfound; } if ($admin = $this->getadminplugin($name)) { $result = $admin->processform(); } } litepublisher::$urlmap->clearcache(); return $result; }
public function changetheme($old, $name) { $template = ttemplate::i(); if ($about = $this->getabout($old)) { if (!empty($about['about']['pluginclassname'])) { $plugins = tplugins::i(); $plugins->delete($old); } } $template->data['theme'] = $name; $template->path = litepublisher::$paths->themes . $name . DIRECTORY_SEPARATOR; $template->url = litepublisher::$site->url . '/themes/' . $template->theme; $theme = ttheme::getinstance($name); $about = $this->getabout($name); if (!empty($about['about']['pluginclassname'])) { $plugins = tplugins::i(); $plugins->addext($name, $about['about']['pluginclassname'], $about['about']['pluginfilename']); } litepublisher::$urlmap->clearcache(); }
public function getpartial($plugins, $theme, $lib) { set_time_limit(300); $this->createarchive(); if (dbversion) { $this->addfile('dump.sql', $this->getdump(), $this->filer->chmod_file); } //$this->readdata(litepublisher::$paths->data); $this->setdir('storage'); $this->readdir('storage/data'); if ($lib) { $this->setdir('lib'); $this->readdir('lib'); $this->setdir('js'); $this->readdir('js'); $this->readhome(); } if ($theme) { $this->setdir('themes'); $views = tviews::i(); $names = array(); foreach ($views->items as $id => $item) { if (in_array($item['themename'], $names)) { continue; } $names[] = $item['themename']; $this->readdir('themes/' . $item['themename']); } } if ($plugins) { $this->setdir('plugins'); $plugins = tplugins::i(); foreach ($plugins->items as $name => $item) { if (@is_dir(litepublisher::$paths->plugins . $name)) { $this->readdir('plugins/' . $name); } } } return $this->savearchive(); }
public function CreateFirstPost() { $html = tadminhtml::i(); $html->section = 'installation'; $lang = tlocal::i(); $theme = ttheme::i(); $post = tpost::i(0); $post->title = $lang->posttitle; $post->catnames = $lang->postcategories; $post->tagnames = $lang->posttags; $post->content = $theme->parse($lang->postcontent); $posts = tposts::i(); $posts->add($post); $icons = ticons::i(); $cats = tcategories::i(); $cats->setvalue($post->categories[0], 'icon', $icons->getid('news')); $cm = tcommentmanager::i(); $users = tusers::i(); $cm->idguest = $users->add(array('email' => '', 'name' => tlocal::get('default', 'guest'), 'status' => 'hold', 'idgroups' => 'commentator')); $cm->save(); $users->setvalue($cm->idguest, 'status', 'approved'); tcomments::i()->add($post->id, $cm->idguest, $lang->postcomment, 'approved', '127.0.0.1'); $plugins = tplugins::i(); $plugins->lock(); $plugins->add('oldestposts'); //$plugins->add('adminlinks'); //$plugins->add('nicedit'); $plugins->unlock(); }
/** * Lite Publisher * Copyright (C) 2010 - 2013 Vladimir Yushko http://litepublisher.ru/ http://litepublisher.com/ * Dual licensed under the MIT (mit.txt) * and GPL (gpl.txt) licenses. **/ function tticketsInstall($self) { if (version_compare(PHP_VERSION, '5.3', '<')) { die('Ticket system requires PHP 5.3 or later. You are using PHP ' . PHP_VERSION); } $dirname = basename(dirname(__FILE__)); $l = tlocalmerger::i(); $l->lock(); $l->add('default', "plugins/{$dirname}/resource/" . litepublisher::$options->language . ".ini"); $l->add('mail', "plugins/{$dirname}/resource/" . litepublisher::$options->language . ".mail.ini"); $l->unlock(); tadminhtml::i()->inidir(dirname(__FILE__) . '/resource/'); $lang = tlocal::admin('tickets'); $lang->addsearch('ticket', 'tickets'); $self->data['cats'] = array(); $self->data['idcomauthor'] = tusers::i()->add(array('email' => '', 'name' => tlocal::get('ticket', 'comname'), 'status' => 'approved', 'idgroups' => 'commentator')); $self->save(); $dir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'resource' . DIRECTORY_SEPARATOR; $filter = tcontentfilter::i(); $filter->phpcode = true; $filter->save(); litepublisher::$options->parsepost = false; $manager = tdbmanager::i(); $manager->CreateTable($self->childtable, file_get_contents($dir . 'ticket.sql')); $manager->addenum('posts', 'class', 'tticket'); $optimizer = tdboptimizer::i(); $optimizer->lock(); $optimizer->childtables[] = 'tickets'; $optimizer->addevent('postsdeleted', 'ttickets', 'postsdeleted'); $optimizer->unlock(); litepublisher::$classes->lock(); //install polls if its needed $plugins = tplugins::i(); if (!isset($plugins->items['polls'])) { $plugins->add('polls'); } litepublisher::$classes->Add('tticket', 'ticket.class.php', $dirname); //litepublisher::$classes->Add('tticketsmenu', 'tickets.menu.class.php', $dirname); litepublisher::$classes->Add('tticketeditor', 'admin.ticketeditor.class.php', $dirname); litepublisher::$classes->Add('tadmintickets', 'admin.tickets.class.php', $dirname); litepublisher::$classes->Add('tadminticketoptions', 'admin.tickets.options.php', $dirname); litepublisher::$options->reguser = true; $adminoptions = tadminoptions::i(); $adminoptions->usersenabled = true; $adminmenus = tadminmenus::i(); $adminmenus->lock(); $parent = $adminmenus->createitem(0, 'tickets', 'ticket', 'tadmintickets'); $adminmenus->items[$parent]['title'] = tlocal::get('tickets', 'tickets'); $idmenu = $adminmenus->createitem($parent, 'editor', 'ticket', 'tticketeditor'); $adminmenus->items[$idmenu]['title'] = tlocal::get('tickets', 'editortitle'); $idmenu = $adminmenus->createitem($parent, 'opened', 'ticket', 'tadmintickets'); $adminmenus->items[$idmenu]['title'] = tlocal::get('ticket', 'opened'); $idmenu = $adminmenus->createitem($parent, 'fixed', 'ticket', 'tadmintickets'); $adminmenus->items[$idmenu]['title'] = tlocal::get('ticket', 'fixed'); $idmenu = $adminmenus->createitem($parent, 'options', 'admin', 'tadminticketoptions'); $adminmenus->items[$idmenu]['title'] = tlocal::i()->options; $adminmenus->onexclude = $self->onexclude; $adminmenus->unlock(); /* $menus = tmenus::i(); $menus->lock(); $ini = parse_ini_file($dir . litepublisher::$options->language . '.install.ini', false); $menu = tticketsmenu::i(); $menu->type = 'tickets'; $menu->url = '/tickets/'; $menu->title = $ini['tickets']; $menu->content = $ini['contenttickets']; $id = $menus->add($menu); foreach (array('bug', 'feature', 'support', 'task') as $type) { $menu = tticketsmenu::i(); $menu->type = $type; $menu->parent = $id; $menu->url = "/$type/"; $menu->title = $ini[$type]; $menu->content = ''; $menus->add($menu); } $menus->unlock(); */ litepublisher::$classes->unlock(); $linkgen = tlinkgenerator::i(); $linkgen->data['ticket'] = '/tickets/[title].htm'; $linkgen->save(); $groups = tusergroups::i(); $groups->lock(); $idticket = $groups->add('ticket', 'Tickets', '/admin/tickets/editor/'); $groups->defaults = array($idticket, $groups->getidgroup('author')); $groups->items[litepublisher::$options->groupnames['author']]['parents'][] = $idticket; $groups->items[litepublisher::$options->groupnames['commentator']]['parents'][] = $idticket; $groups->unlock(); }