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

Last change on this file since 21975 was 19547, checked in by EvilKant, 12 years ago
File size: 3.7 KB
Line 
1<?php
2/*
3Version: 1.2.1
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]=='categories') and ($page['evil_blog']['show_on_category_page'])) or 
59                (($tokens[0]=='blog') and ((empty($tokens[1]) or ($tokens[1]!='id'))))) {
60                        include_once (Evil_Blog_PATH.'blog.php');
61                }else{
62                        if ( ($tokens[0]=='blog') and (!empty($tokens[1])) and ($tokens[1]=='id') and (!empty($tokens[2])) ) {
63                                include_once (Evil_Blog_PATH.'post.php');
64                        }
65                }
66}
67
68//описываем действия во время собырия loc_begin_index, ну тобишь выводим плагин на странице
69add_event_handler('loc_begin_index', 'Evil_Blog_main');
70
71//функция добавления пункта меню
72function add_blog_to_menu($aMenuRefArray) {
73        global $conf, $page;
74
75   //хрен его знает что это, какаято проверка на существование меню
76    $menu = &$aMenuRefArray[0];
77    $block_mbMenu = $menu->get_block('mbMenu');
78    if (null == $block_mbMenu) {
79      return;
80    }
81   
82    if (!isset($block_mbMenu->data['evil_blog'])) {
83      $blog_menu = array(
84          'TITLE' => $page['evil_blog']['blog_description'],
85          'NAME'  => $page['evil_blog']['blog_name'],
86          'URL'   => make_index_url(array('section' => 'blog')),
87        );
88      $block_mbMenu->data['evil_blog'] = $blog_menu;
89    }
90  }
91 
92function section_init_evil_blog() 
93{
94        global $page, $tokens;
95       
96        if ($tokens[0]=='blog') {
97                $page['section'] = 'blog';
98                }
99} 
100//инициация страницы блога, без этого на ней появляется список с категориями.   
101add_event_handler('loc_end_section_init', 'section_init_evil_blog');
102
103?>
Note: See TracBrowser for help on using the repository browser.