source: extensions/ContestResults/main.inc.php @ 9572

Last change on this file since 9572 was 9572, checked in by mistic100, 10 years ago

[extensions] ContestResults 1.3

  • Add error and success messages on admin page
  • Add Spain (es_ES) thanks to jpr928
  • Contest status is automatic and shows remaining days
  • More flexibility for description fields
  • Compatibility with Piwigo 2.2.0
File size: 3.4 KB
Line 
1<?php
2/*
3Plugin Name: ContestResults
4Version: 1.3
5Description: Add contests management pages
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=439
7Author: Mistic
8Author URI: http://www.strangeplanet.fr
9*/
10
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12
13global $prefixeTable, $conf;
14
15// +-----------------------------------------------------------------------+
16//                              Variables globales CR
17// +-----------------------------------------------------------------------+
18define('CR_NAME' , 'Contest Results');
19define('CR_VERSION', '1.3');
20define('CR_DIR' , basename(dirname(__FILE__)));
21define('CR_PATH' , PHPWG_PLUGINS_PATH . CR_DIR . '/');
22define('CR_TABLE_1' , $prefixeTable . 'contests');
23define('CR_TABLE_2' , $prefixeTable . 'contests_results');
24define('CR_ADMIN', PHPWG_ROOT_PATH . 'admin.php?page=plugin&amp;section=' . CR_DIR . '/admin/admin.php');
25define('CR_PUBLIC', make_index_url(array('section' => 'contests')) . '/');
26
27$ED = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';"));
28define('CR_ED_STATE', $ED['state']);
29
30
31// +-----------------------------------------------------------------------+
32//                                      Triggers
33// +-----------------------------------------------------------------------+
34add_event_handler('get_admin_plugin_menu_links', 'CR_admin_menu');      // Lien d'administration
35add_event_handler('loc_end_section_init', 'CR_section_init');           // Paramètre URL
36add_event_handler('loc_end_index', 'CR_index');                                         // Contenu du la page
37add_event_handler('loc_end_picture', 'CR_comment_picture', 10);         // Commentaire sur la page image
38if(CR_ED_STATE == 'active') add_event_handler('render_CR_content', 'get_user_language_desc');   // Textes multilangues
39
40
41// +-----------------------------------------------------------------------+
42//                                      Fonctions
43// +-----------------------------------------------------------------------+
44include(CR_PATH . 'include/functions.php');
45// Gestion du menu
46include(CR_PATH . 'include/cr_menubar.php');
47
48// Lien d'administration
49function CR_admin_menu($menu) {
50        array_push($menu, array(
51                'NAME' => CR_NAME,
52                'URL' => CR_ADMIN
53        ));
54        return $menu;
55}
56
57// Paramètre URL
58function CR_section_init() {
59    global $tokens, $page, $conf;
60       
61        load_language('plugin.lang', CR_PATH);
62       
63    if ($tokens[0] == 'contests') { // on est dans la section concours
64                $page['section'] = 'contests';
65                $page['title'] = l10n('Contests');
66               
67                if (isset($tokens[1]) AND !empty($tokens[1])) { // on est sur la page d'un concours
68                        $tokens[1] = explode('-', $tokens[1]);
69                        if (preg_match('#^([0-9]*)$#', $tokens[1][0])) { // is_int ne marche pas parce que le chiffre est stocké en (string)
70                                $page['contest'] = $tokens[1][0];
71                                $page['title'] .= $conf['level_separator'] . trigger_event('render_CR_content', get_contest_name($page['contest']));
72                        }
73                }
74        }
75}
76
77// Contenu de la page
78function CR_index() {
79    global $template, $page, $conf;
80
81    if (isset($page['section']) and $page['section'] == 'contests') {
82                if (isset($page['contest'])) { // on est sur la page d'un concours
83                        include(CR_PATH . 'include/cr_page.php');
84                } else { // on est dans la section concours
85                        include(CR_PATH . 'include/cr_main.php');
86                }
87        }
88}
89
90// Ajoute le commentaire sur la page image
91function CR_comment_picture() {
92        global $page, $template, $conf;
93        include(CR_PATH . 'include/cr_comment_picture.php'); 
94}
95
96?>
Note: See TracBrowser for help on using the repository browser.