source: extensions/Evil_Blog/main.inc.php

Last change on this file was 32706, checked in by plg, 2 years ago

compatibility with Piwigo 12

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