source: extensions/Evil_Blog/main.inc.php @ 19049

Revision 19049, 3.6 KB checked in by EvilKant, 7 years ago (diff)
Line 
1<?php
2/*
3Version: 1.2.0
4Plugin Name: Evil_Blog
5Plugin URI: http://piwigo.org/ext/extension_view.php?eid=611
6Author: EvilKant
7Description: Small blog for your gallery.
8*/
9
10// Chech whether we are indeed included by Piwigo.
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12 
13global $prefixeTable;
14// Определяем директорию плагина
15define('Evil_Blog_PATH', PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
16define('Evil_Blog_Admin', get_root_url() . 'admin.php?page=plugin-' . basename(dirname(__FILE__)));
17define('Evil_Blog_Table', $prefixeTable."evil_blog");
18//Включаем перевод плагина
19load_language('plugin.lang', Evil_Blog_PATH);
20
21//Делаем пункт меню в админке
22add_event_handler('get_admin_plugin_menu_links', 'Evil_Blog_admin_menu');
23
24function Evil_Blog_admin_menu($menu) {
25 array_push(
26   $menu,
27   array(
28     'NAME'  => 'Evil_Blog',
29     'URL'   => get_admin_plugin_menu_link(dirname(__FILE__)).'/admin.php'
30   )
31 );
32 return $menu;
33}
34
35
36function Evil_Blog_main () {
37        global $template, $tokens, $conf, $page;       
38               
39                //выковыриваем из базы настройки блога
40                $page['evil_blog'] = @unserialize($conf['evil_blog']);
41               
42                //включаем Extended Description для пунктам меню
43                $ExDesc = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';"));
44                if($ExDesc['state'] == 'active') {
45                        $page['evil_blog']['blog_name'] = get_user_language_desc($page['evil_blog']['blog_name']);
46                        $page['evil_blog']['blog_description'] = get_user_language_desc($page['evil_blog']['blog_description']);
47                        }
48               
49                //вызываем добавление пункта меню
50                add_event_handler('blockmanager_apply', 'add_blog_to_menu');
51       
52        //RSS
53                if ((!empty($tokens[1])) and ($tokens[1]=="feed")) { 
54                        include_once (Evil_Blog_PATH.'feed.php');
55                        }
56       
57        if (((empty($tokens[0])) and ($page['evil_blog']['show_on_main_page'])) or 
58                (($tokens[0]=='blog') and ((empty($tokens[1]) or ($tokens[1]!='id'))))) {
59                        include_once (Evil_Blog_PATH.'blog.php');
60                }else{
61                        if ( ($tokens[0]=='blog') and (!empty($tokens[1])) and ($tokens[1]=='id') and (!empty($tokens[2])) ) {
62                                include_once (Evil_Blog_PATH.'post.php');
63                        }
64                }
65}
66
67//описываем действия во время собырия loc_begin_index, ну тобишь выводим плагин на странице
68add_event_handler('loc_begin_index', 'Evil_Blog_main');
69
70//функция добавления пункта меню
71function add_blog_to_menu($aMenuRefArray) {
72        global $conf, $page;
73
74   //хрен его знает что это, какаято проверка на существование меню
75    $menu = &$aMenuRefArray[0];
76    $block_mbMenu = $menu->get_block('mbMenu');
77    if (null == $block_mbMenu) {
78      return;
79    }
80   
81    if (!isset($block_mbMenu->data['evil_blog'])) {
82      $blog_menu = array(
83          'TITLE' => $page['evil_blog']['blog_description'],
84          'NAME'  => $page['evil_blog']['blog_name'],
85          'URL'   => make_index_url(array('section' => 'blog')),
86        );
87      $block_mbMenu->data['evil_blog'] = $blog_menu;
88    }
89  }
90 
91function section_init_evil_blog() 
92{
93        global $page, $tokens;
94       
95        if ($tokens[0]=='blog') {
96                $page['section'] = 'blog';
97                }
98} 
99//инициация страницы блога, без этого на ней появляется список с категориями.   
100add_event_handler('loc_end_section_init', 'section_init_evil_blog');
101
102?>
Note: See TracBrowser for help on using the repository browser.