/**
* 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;
}
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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();
 }
Ejemplo n.º 4
0
 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();
 }
Ejemplo n.º 5
0
 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();
}