Ignore:
Timestamp:
Feb 13, 2011, 11:12:58 AM (13 years ago)
Author:
mistic100
Message:

ContestResults :

  • Code revision
  • Add Letton (lv_LV) language, thanks to Aivars Baldone
  • Delete display options
  • Fix languages bugs
  • Improve public appearence
Location:
extensions/ContestResults/include
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • extensions/ContestResults/include/cr_comment_picture.php

    r6782 r9200  
    22if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
    33
    4 // +-----------------------------------------------------------------------+
    54// Requète simple pour savoir si l'image a participé à des concours
    6 // +-----------------------------------------------------------------------+
    7 $query = "SELECT image_id FROM " . CR_TABLE_2 . " WHERE image_id = " . $page['image_id'] . ";";
    8 $results = pwg_query($query);
     5$participation = pwg_query("SELECT image_id FROM " . CR_TABLE_2 . " WHERE image_id = " . $page['image_id'] . ";");
    96
    10 if(pwg_db_num_rows($results)){
    11         $query = "SELECT
     7if(pwg_db_num_rows($participation)){
     8        $results = pwg_query("SELECT
    129                        i.rank,
    1310                        i.comment,
     
    1815                ON i.contest_id = c.id
    1916                WHERE i.image_id = " . $page['image_id'] . "
    20                 ORDER BY c.date_begin DESC;";
    21         $results = pwg_query($query);
     17                ORDER BY c.date_begin DESC;");
    2218       
    2319        // Gère plusieurs participations
    2420        $comment = null;
    25         while($result = pwg_db_fetch_assoc($results)){
     21        while( $result = pwg_db_fetch_assoc($results)) {
    2622                // Rang amélioré
    27                 if($result['rank'] <= 3) $result['rank'] = l10n('CR_order_'.$result['rank']);
    28                 else $result['rank'] .= l10n('CR_order_sup');
     23                $result['rank'] = ($result['rank'] <= 3) ? l10n('CR_order_'.$result['rank']) : $result['rank'] . l10n('CR_order_sup');
    2924               
    3025                // Lien vers le concours
     
    3328               
    3429                // Ajoute le commentaire après la description
    35                 $comment .= '<div style="border:1px solid #404040;padding:10px;margin:10px 25%">
    36                         <b><a href="' . $result['contest_link'] .'">' . $result['contest_name'] . '</a></b>
    37                         :: <u>' . $result['rank'] . '</u>
     30                $comment .= '<div class="CR_comment">
     31                        <b><a href="' . $result['contest_link'] .'">' . $result['contest_name'] . '</a></b> :: <u>' . $result['rank'] . ' ' . l10n('CR_place') . '</u>
    3832                        <p>' . trigger_event('render_CR_content', $result['comment']) . '</p>
    3933                </div>';
     
    4236                $template->append('related_categories', '<a href="' . CR_PUBLIC . '">' . l10n('Contests') . '</a>' . $conf['level_separator'] . '<a href="' . $result['contest_link'] . '">' . $result['contest_name'] . '</a>');
    4337        }
     38       
     39        // style utilisé pour les blocs des concours
     40        $css = '<style type="text/css">
     41                .CR_comment {
     42                        border:1px solid #404040;
     43                        padding:10px;
     44                        margin:10px 20%;
     45                }
     46        </style>';
    4447
    4548        $template->assign('COMMENT_IMG', $template->get_template_vars('COMMENT_IMG') . $comment);
     49        $template->assign('PLUGIN_PICTURE_BEFORE', $template->get_template_vars('PLUGIN_PICTURE_BEFORE') . $css);
    4650}
    47 
    4851?>
  • extensions/ContestResults/include/cr_main.php

    r6768 r9200  
    33
    44// +-----------------------------------------------------------------------+
    5 //                      Liste des concours
     5//                              Liste des concours
    66// +-----------------------------------------------------------------------+
    7 $query = "SELECT id, name, visible, date_begin, date_end, status, logo, summary FROM " . CR_TABLE_1 . " ORDER BY date_begin DESC;";
    8 $contests = pwg_query($query);
     7$contests = pwg_query("SELECT
     8                id,
     9                name,
     10                visible,
     11                date_begin,
     12                date_end,
     13                status,
     14                logo,
     15                summary
     16        FROM " . CR_TABLE_1 . "
     17        ORDER BY date_begin DESC;");
    918
    10 while($contest = pwg_db_fetch_assoc($contests)){
    11         if($contest['visible'] OR is_admin()){
     19while ($contest = pwg_db_fetch_assoc($contests)) {
     20        if ($contest['visible'] OR is_admin()) {
    1221                // infos sur le concours
    1322                $item =  array(
     
    1928                        'DATE_BEGIN' => format_date($contest['date_begin']),
    2029                        'LOGO' => $contest['logo'],
    21                         'SUMMARY' => trigger_event('render_CR_content', $contest['summary']),
     30                        'SUMMARY' => CR_cut_string(trigger_event('render_CR_content', $contest['summary']), 350),
    2231                        'URL' => CR_PUBLIC . $contest['id'] . '-' . str2url(trigger_event('render_CR_content', $contest['name'])),
    2332                );
    2433               
    2534                // podium si terminé
    26                 if($contest['status'] == 'finished'){
    27                         $query = "SELECT
     35                if ($contest['status'] == 'finished') {
     36                        $results = pwg_query("SELECT
    2837                                        i.id,
    2938                                        i.name,
     
    3847                                WHERE c.contest_id = " . $contest['id'] . "
    3948                                ORDER BY c.rank ASC
    40                                 LIMIT 3 OFFSET 0;";
    41                         $results = pwg_query($query);
     49                                LIMIT 3 OFFSET 0;");
    4250                       
    43                         while($result = pwg_db_fetch_assoc($results)){
     51                        while ($result = pwg_db_fetch_assoc($results)) {
    4452                                $item['RESULTS'][$result['rank']] = array(
    4553                                        'RANK' => $result['rank'],
     
    5058                }
    5159
    52                 $template->append('contests_'.$contest['status'], $item);
     60                $template->append('contests', $item);
    5361        }
    5462}
  • extensions/ContestResults/include/cr_menubar.php

    r6768 r9200  
    33
    44// +-----------------------------------------------------------------------+
    5 //                              Trigger
     5//                              Triggers
    66// +-----------------------------------------------------------------------+
    7 global $conf;
    87$config = unserialize($conf['ContestResults']);
    9 if($config['menubar_mode']['block'])
     8if ($config['menubar_mode']['block']) {
    109        add_event_handler('blockmanager_register_blocks', 'CR_register_menubar_blocks');
     10}
    1111add_event_handler('blockmanager_apply', 'CR_menubar_apply');
    1212
     
    1414//                              Ajouter un block
    1515// +-----------------------------------------------------------------------+
    16 function CR_register_menubar_blocks($menu_ref_arr){
     16function CR_register_menubar_blocks($menu_ref_arr) {
    1717        $menu = &$menu_ref_arr[0];
    18         if($menu->get_id() != 'menubar') return;
     18        if ($menu->get_id() != 'menubar') { return; }
    1919        $menu->register_block(new RegisteredBlock('mbContestResults', l10n('Contests'), 'ContestResults'));
    2020}
    2121
    2222// +-----------------------------------------------------------------------+
    23 //                      Remplis les block
     23//                              Remplis les block
    2424// +-----------------------------------------------------------------------+
    25 function CR_menubar_apply($menu_ref_arr){
     25function CR_menubar_apply($menu_ref_arr) {
    2626        global $template, $conf;
    2727        $config = unserialize($conf['ContestResults']);
    2828        $menu = &$menu_ref_arr[0];
    2929       
    30         // Block Contest
    31         if(($block = $menu->get_block('mbContestResults')) != null){
     30        // Block Contest - un nouveau bloc dans le menu
     31        if (($block = $menu->get_block('mbContestResults')) != null) {
    3232                $data = array();
     33               
     34                // on récupère les concours
     35                $contests = pwg_query("SELECT
     36                                id,
     37                                name,
     38                                visible,
     39                                status,
     40                                date_begin,
     41                                date_end
     42                        FROM " . CR_TABLE_1 . "
     43                        ORDER BY date_begin DESC;");
    3344
    34                 $query = "SELECT id, name, visible, status, date_begin, date_end
    35                         FROM " . CR_TABLE_1 . "
    36                         ORDER BY date_begin DESC
    37                         LIMIT " . $config['menubar_block']['number'] . " OFFSET 0;";
    38                 $result = pwg_query($query);
    39 
    40                 while($contest = pwg_db_fetch_assoc($result)){
    41                         if($contest['visible'] OR is_admin()){
     45                $m = 0; // copteur pour limiter le nombre de concours affichés
     46                while($contest = pwg_db_fetch_assoc($contests)){
     47                        if (($contest['visible'] OR is_admin()) AND $m < $config['menubar_block']['number']) {
    4248                                array_push($data, array(
    4349                                        'URL' => CR_PUBLIC . $contest['id'] . '-' . str2url(trigger_event('render_CR_content', $contest['name'])),
    4450                                        'LABEL' => trigger_event('render_CR_content', $contest['name']),
    4551                                        'DATE' => format_date($contest['date_begin']) . ' - ' . format_date($contest['date_end']),
    46                                         'STATUS' => $contest['status']
     52                                        'STATUS' => $contest['status'],
     53                                        'VISIBLE' => $contest['visible']
    4754                                ));
    4855                        }
     56                        $m++;
    4957                }
    5058
    51                 if(!empty($data)){
     59                // Finalement on rempli le bloc avec les concours
     60                if (!empty($data)) {
    5261                        $template->set_template_dir(CR_PATH . 'template/');
    5362                        $block->set_title('<a href="' . CR_PUBLIC . '">' . l10n('Contests') . '</a>');
     
    5766        }
    5867       
    59         // Block Menu
    60         if($config['menubar_mode']['link'] AND $config['menubar_link']['menu'] AND ($block = $menu->get_block('mbMenu')) != null){
     68        // Block Menu - ajout d'un lien dans le bloc Menu
     69        if ($config['menubar_mode']['link'] AND $config['menubar_link']['menu'] AND ($block = $menu->get_block('mbMenu')) != null) {
    6170                array_push($block->data, array(
    6271                        'URL' => CR_PUBLIC,
     
    6675        }
    6776       
    68         // Block Specials
     77        // Block Specials - ajout d'un lien dans le bloc Specials
    6978        if($config['menubar_mode']['link'] AND $config['menubar_link']['specials'] AND ($block = $menu->get_block('mbSpecials')) != null){
    7079                array_push($block->data, array(
  • extensions/ContestResults/include/cr_page.php

    r6782 r9200  
    33
    44// +-----------------------------------------------------------------------+
    5 //                      Page d'un concours
     5//                              Page d'un concours
    66// +-----------------------------------------------------------------------+
    7 if(is_admin()){
    8         $template->assign('U_EDIT', CR_ADMIN . '&tab=edit&contest_id=' . $page['contest']);
    9         $template->assign('U_RESULTS', CR_ADMIN . '&tab=results&contest_id=' . $page['contest']);
     7if (is_admin()) {
     8        $template->assign('U_EDIT', CR_ADMIN . '&amp;tab=edit&amp;contest_id=' . $page['contest'] . '&amp;redirect=page');
     9        $template->assign('U_RESULTS', CR_ADMIN . '&amp;tab=results&amp;contest_id=' . $page['contest']);
    1010}
    1111
    1212// Infos du concours
    13 $query = "SELECT * FROM " . CR_TABLE_1 . " WHERE id=" . $page['contest'] . ";";
    14 $results = pwg_query($query);
    15 $contest = pwg_db_fetch_assoc($results);
     13$contest = pwg_query("SELECT * FROM " . CR_TABLE_1 . " WHERE id=" . $page['contest'] . ";");
    1614
    17 if(pwg_db_num_rows($results) AND ($contest['visible'] OR is_admin())){
     15if (pwg_db_num_rows($contest)) {
     16        $contest = pwg_db_fetch_assoc($contest);
     17       
     18        // Concours non-publique
     19        if (!$contest['visible']) {
     20                check_status(ACCESS_ADMINISTRATOR);
     21        }
     22       
    1823        // Paramètres généraux
    1924        $template->assign(array(
     
    2934        ));
    3035       
    31         // Quatre zones texte
    32         foreach(array('presentation','rules','prices','final') AS $key){
    33                 $contest[$key.'_display'] = unserialize($contest[$key.'_display']);
    34                 if($contest[$key.'_display']['pending']) $template->assign(strtoupper($key).'_PENDING', true);
    35                 if($contest[$key.'_display']['finished']) $template->assign(strtoupper($key).'_FINISHED', true);
     36        // Les quatre zones texte
     37        foreach (array('presentation','rules','prices','final') AS $key) {
    3638                $template->assign(strtoupper($key), trigger_event('render_CR_content', $contest[$key]));
    3739        }
    3840       
    3941        // Affichage des résultats
    40         if($contest['status'] == 'finished'){
     42        if ($contest['status'] == 'finished') {
    4143                // Infos des résultats
    42                 $query = "SELECT * FROM " . CR_TABLE_2 . " WHERE contest_id=" . $contest['id'] . " ORDER BY rank ASC;";
    43                 $results = pwg_query($query);
     44                $results = pwg_query("SELECT * FROM " . CR_TABLE_2 . " WHERE contest_id=" . $contest['id'] . " ORDER BY rank ASC;");
    4445               
    45                 while($result = pwg_db_fetch_assoc($results)){
     46                while ($result = pwg_db_fetch_assoc($results)) {
    4647                        // Infos de l'image
    4748                        $query = "SELECT
     
    5960
    6061                        // retrieving category informations
    61                         $query = "SELECT id, name, permalink, uppercats
     62                        $query = "SELECT
     63                                        id,
     64                                        name,
     65                                        permalink,
     66                                        uppercats
    6267                                FROM " . CATEGORIES_TABLE."
    6368                                WHERE id = " . $image['category_id'] . ";";
     
    7277                       
    7378                        // Template
    74                         if(in_array($result['rank'], array(1,2,3))){
     79                        if (in_array($result['rank'], array(1,2,3))) {
    7580                                $data = array(
    7681                                        'RANK' => $result ['rank'],
     
    8085                                        'IMAGE_NAME' => (empty($image['name'])) ? get_name_from_file($image['file']) : $image['name'],
    8186                                        'COMMENT' => CR_cut_string(trigger_event('render_CR_content', $result['comment']), 450),
    82                                         );
     87                                );
    8388                        }else{
    8489                                $data = array(
     
    96101        $template->set_filenames(array('index'=> dirname(__FILE__).'/../template/cr_page.tpl'));
    97102       
    98 }else{
     103} else {
    99104        page_not_found(l10n('CR_notavailable'));
    100105}
  • extensions/ContestResults/include/functions.php

    r6782 r9200  
    33
    44// Racourcis un texte et ajoute une ellipse
    5 function CR_cut_string($string, $limit){
     5function CR_cut_string($string, $limit) {
    66        include_once(CR_PATH . 'include/cutstring.class.php');
    7         if(strlen(str_replace("\r\n", "\n", strip_tags($string))) > $limit){
     7        if (strlen(str_replace("\r\n", "\n", strip_tags($string))) > $limit) {
    88                $output = new HtmlCutString($string, $limit);
    99                return ($output->cut()).'...';
    10         }else{
     10        } else {
    1111                return $string;
    1212        }
     
    1414
    1515// Recupère le nom d'un coucours à partir de l'id
    16 function get_contest_name($id){
    17         $query = pwg_query("SELECT name FROM " . CR_TABLE_1 . " WHERE id = " . $id . ";");
    18         if(pwg_db_num_rows($query)){
    19                 $result = pwg_db_fetch_assoc($query);
    20                 return $result['name'];
    21         }else{
     16function get_contest_name($id) {
     17        $contest = pwg_query("SELECT name FROM " . CR_TABLE_1 . " WHERE id = " . $id . ";");
     18        if (pwg_db_num_rows($contest)) {
     19                $contest = pwg_db_fetch_assoc($contest);
     20                return $contest['name'];
     21        } else {
    2222                return null;
    2323        }
  • extensions/ContestResults/include/index.php

    r6768 r9200  
    11<?php
    22// +-----------------------------------------------------------------------+
    3 // | PhpWebGallery - a PHP based picture gallery                           |
    4 // | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
    5 // | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
     3// | Piwigo - a PHP based picture gallery                                  |
    64// +-----------------------------------------------------------------------+
    7 // | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
    8 // | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
    9 // | last modifier : $Author: rub $
    10 // | revision      : $Revision: 1912 $
     5// | Copyright(C) 2008-2010 Piwigo Team                  http://piwigo.org |
     6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
     7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
    118// +-----------------------------------------------------------------------+
    129// | This program is free software; you can redistribute it and/or modify  |
Note: See TracChangeset for help on using the changeset viewer.