[Mod] Meta-album "Album più visitati" [Mod] Meta-album "Album più visitati"
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

[Mod] Meta-album "Album più visitati"

Started by Ludo, May 23, 2008, 10:39:27 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ludo

Ho elaborato un mod per mettere a disposizione un nuovo meta album che visualizza gli album più visitati (ovviamente in ordine decrescente di visite).

Demo: http://vanrokken.altervista.org/thumbnails.php?album=topnalb

Postate pure qui eventuali richieste di assistenza in italiano

Davide Renda

Ottimo e molto interessante! Aggiunto alle nostre FAQ.
Grazie per la contribuzione!

gracco

Proprio quello che mi serviva! complimenti credi sia utile a tutti :)

Io però uso il tema whired dove non c'è la linea che dovrei sostituire. Ho letto che bisognerebbe copiarla dal tema simple. Mi spiegheresti dove va incollata (su quale riga del mio tema) ? solo la una linea o tutta la sezione ?

Grazie

Ludo

Parli della funzione theme_display_thumbnails?
Devi copiarla interamente da themes/sample/theme.php e incollarla nel tuo theme.php (va bene prima di ?> ). Visto che siamo a Natale, eccola qua:  ;)
function theme_display_thumbnails(&$thumb_list, $nbThumb, $album_name, $aid, $cat, $page, $total_pages, $sort_options, $display_tabs, $mode = 'thumb')
{
    global $CONFIG;
    global $template_thumb_view_title_row,$template_fav_thumb_view_title_row, $lang_thumb_view, $template_tab_display, $template_thumbnail_view, $lang_album_list;

    static $header = '';
    static $thumb_cell = '';
    static $empty_cell = '';
    static $row_separator = '';
    static $footer = '';
    static $tabs = '';
    static $spacer = '';

    if ($header == '') {
        $thumb_cell = template_extract_block($template_thumbnail_view, 'thumb_cell');
        $tabs = template_extract_block($template_thumbnail_view, 'tabs');
        $header = template_extract_block($template_thumbnail_view, 'header');
        $empty_cell = template_extract_block($template_thumbnail_view, 'empty_cell');
        $row_separator = template_extract_block($template_thumbnail_view, 'row_separator');
        $footer = template_extract_block($template_thumbnail_view, 'footer');
        $spacer = template_extract_block($template_thumbnail_view, 'spacer');
    }

    $cat_link = is_numeric($aid) ? '' : '&cat=' . $cat;
    $uid_link = (isset($_GET['uid']) && is_numeric($_GET['uid'])) ? '&uid=' . $_GET['uid'] : '';

    $theme_thumb_tab_tmpl = $template_tab_display;

    if ($mode == 'thumb') {
        $theme_thumb_tab_tmpl['left_text'] = strtr($theme_thumb_tab_tmpl['left_text'], array('{LEFT_TEXT}' => $aid == 'lastalb' ? $lang_album_list['album_on_page'] : $lang_thumb_view['pic_on_page']));
        $theme_thumb_tab_tmpl['inactive_tab'] = strtr($theme_thumb_tab_tmpl['inactive_tab'], array('{LINK}' => 'thumbnails.php?album=' . $aid . $cat_link . $uid_link . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_next_tab'] = strtr($theme_thumb_tab_tmpl['inactive_next_tab'], array('{LINK}' => 'thumbnails.php?album=' . $aid . $cat_link . $uid_link . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_prev_tab'] = strtr($theme_thumb_tab_tmpl['inactive_prev_tab'], array('{LINK}' => 'thumbnails.php?album=' . $aid . $cat_link . $uid_link . '&page=%d'));
    } else {
        $theme_thumb_tab_tmpl['left_text'] = strtr($theme_thumb_tab_tmpl['left_text'], array('{LEFT_TEXT}' => $lang_thumb_view['user_on_page']));
        $theme_thumb_tab_tmpl['inactive_tab'] = strtr($theme_thumb_tab_tmpl['inactive_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_next_tab'] = strtr($theme_thumb_tab_tmpl['inactive_next_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&page=%d'));
        $theme_thumb_tab_tmpl['inactive_prev_tab'] = strtr($theme_thumb_tab_tmpl['inactive_prev_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&page=%d'));
    }

    $thumbcols = $CONFIG['thumbcols'];
    $cell_width = ceil(100 / $CONFIG['thumbcols']) . '%';

    $tabs_html = $display_tabs ? create_tabs($nbThumb, $page, $total_pages, $theme_thumb_tab_tmpl) : '';
    // The sort order options are not available for meta albums
    if ($sort_options) {
        $param = array('{ALBUM_NAME}' => $album_name,
            '{AID}' => $aid,
            '{PAGE}' => $page,
            '{NAME}' => $lang_thumb_view['name'],
            '{TITLE}' => $lang_thumb_view['title'],
            '{DATE}' => $lang_thumb_view['date'],
            '{SORT_TA}' => $lang_thumb_view['sort_ta'],
            '{SORT_TD}' => $lang_thumb_view['sort_td'],
            '{SORT_NA}' => $lang_thumb_view['sort_na'],
            '{SORT_ND}' => $lang_thumb_view['sort_nd'],
            '{SORT_DA}' => $lang_thumb_view['sort_da'],
            '{SORT_DD}' => $lang_thumb_view['sort_dd'],
            '{POSITION}' => $lang_thumb_view['position'],
            '{SORT_PA}' => $lang_thumb_view['sort_pa'],
            '{SORT_PD}' => $lang_thumb_view['sort_pd'],
            );
        $title = template_eval($template_thumb_view_title_row, $param);
    } else if ($aid == 'favpics' && $CONFIG['enable_zipdownload'] == 1) { //Lots of stuff can be added here later
       $param = array('{ALBUM_NAME}' => $album_name,
                             '{DOWNLOAD_ZIP}'=>$lang_thumb_view['download_zip']
                               );
       $title = template_eval($template_fav_thumb_view_title_row, $param);
    }else{
        $title = $album_name;
    }


    if ($mode == 'thumb') {
        starttable('100%', $title, $thumbcols);
    } else {
        starttable('100%');
    }

    echo $header;

    $i = 0;
    foreach($thumb_list as $thumb) {
        $i++;
        if ($mode == 'thumb') {
            if ($aid == 'lastalb') {
                $params = array('{CELL_WIDTH}' => $cell_width,
                    '{LINK_TGT}' => "thumbnails.php?album={$thumb['aid']}",
                    '{THUMB}' => $thumb['image'],
                    '{CAPTION}' => $thumb['caption'],
                    '{ADMIN_MENU}' => $thumb['admin_menu']
                    );
            } else {
                $params = array('{CELL_WIDTH}' => $cell_width,
                    '{LINK_TGT}' => "displayimage.php?album=$aid$cat_link&pos={$thumb['pos']}$uid_link",
                    '{THUMB}' => $thumb['image'],
                    '{CAPTION}' => $thumb['caption'],
                    '{ADMIN_MENU}' => $thumb['admin_menu']
                    );
            }
        } else {
            $params = array('{CELL_WIDTH}' => $cell_width,
                '{LINK_TGT}' => "index.php?cat={$thumb['cat']}",
                '{THUMB}' => $thumb['image'],
                '{CAPTION}' => $thumb['caption'],
                '{ADMIN_MENU}' => ''
                );
        }
        echo template_eval($thumb_cell, $params);

        if ((($i % $thumbcols) == 0) && ($i < count($thumb_list))) {
            echo $row_separator;
        }
    }
    for (;($i % $thumbcols); $i++) {
        echo $empty_cell;
    }
    echo $footer;

    if ($display_tabs) {
        $params = array('{THUMB_COLS}' => $thumbcols,
            '{TABS}' => $tabs_html
            );
        echo template_eval($tabs, $params);
    }

    endtable();
    echo $spacer;
}

Poi la modifichi secondo il mod.

Grazie dei complimenti.  :-*  ;D

gracco

Grazie del reagalo di natale,
tutto funziona benissimo!  ;D

Buon Natale anche a te ;)

gracco

Piccolo problemino.
Tutto funziona bene solo che se clicco su "lista album" mi da il seguente errore:

Si è verificato un errore eseguendo una query al database

While executing query "SELECT count(cpg14x_albums.aid) FROM cpg14x_pictures,cpg14x_albums WHERE cpg14x_pictures.aid = cpg14x_albums.aid AND approved = 'YES' AND cpg14x_pictures.cpg14x_pictures.aid IN (13)  GROUP  BY cpg14x_pictures.aid" on 0

mySQL error: Unknown column 'cpg14x_pictures.cpg14x_pictures.aid' in 'where clause'
File: /var/www/vhosts/informarte.org/httpdocs/gallery/include/functions.inc.php - Line: 250

Il resto mi sembra tutto Ok

Ludo

Uhm, ci sarà mica un baco nel mod?  :o A me funziona perfettamente...
Quante volte compare questa riga dopo case: "topnalb"? Non vorrei avessi applicato il mod 2 volte...
$META_ALBUM_SET = str_replace( "aid", $CONFIG['TABLE_PICTURES'].".aid" , $META_ALBUM_SET );
Se poi mi dessi un link, sarebbe ancor meglio...

gracco

2 volte. (Dopo la modifica)
riga 1276 (come originale sotto lastlab) e 1331 toplab

Non ti posto il link perché ho ripristinato i files originali, probabilmente avrò sbagliato ad applicare le modifiche... riprovo a fare tutto da capo seguendo la tua guida e ti faccio sapere.

gracco

 :(
ho rifatto tutto e mi torna sempre lo stesso errore:
While executing query "SELECT count(cpg14x_albums.aid) FROM cpg14x_pictures,cpg14x_albums WHERE cpg14x_pictures.aid = cpg14x_albums.aid AND approved = 'YES' AND cpg14x_pictures.cpg14x_pictures.aid IN (13)  GROUP  BY cpg14x_pictures.aid" on 0

mySQL error: Unknown column 'cpg14x_pictures.cpg14x_pictures.aid' in 'where clause'

File: /var/www/vhosts/informarte.org/httpdocs/gallery/include/functions.inc.php - Line: 250


Ludo

#9
Aspetta un attimo...l'errore ti capita non quando clicchi su "Album più visitati", ma quando dalla pagina degli album più visitati (visualizzata senza errori) clicchi su "Lista album", giusto? Lo stesso non ti capita quando sei in un altro meta-album?
Un link sarebbe essenziale.

gracco

quindi devo reinstallare i files con il tuo mod? se ti registri ti posso dare i permessi di amministratore forse ti aiuterebbe? se ti va di lavorarci faccio queste operazioni subito così non lascio gli utenti troppo tempo al buio ;)
oppure suggeriscimi un altro modo

Grazie
http://www.informarte.org/gallery/index.php

Ludo

Scusa, ho modifcato il mio messaggio precedente...prova a darmi una risposta, intanto visito il sito.

gracco

Quote from: Ludo on December 22, 2008, 11:02:00 AM
Aspetta un attimo...l'errore ti capita non quando clicchi su "Album più visitati", ma quando dalla pagina degli album più visitati (visualizzata senza errori) clicchi su "Lista album", giusto? Lo stesso non ti capita quando sei in un altro meta-album?
Un link sarebbe essenziale.

Esatto, ho bisogno di 5 minuti e ricarico i files così ti rendi conto

gracco


Ludo

Ok, ho corretto il mod. Ora dovrebbe andare. Fammi sapere.

gracco

Scusa non ho capito,
hai corretto il mod dove(quale file)?
Poi ho notato che anche se clicco su una categoria mi viene questo errore:
While executing query "SELECT count(cpg14x_albums.aid) FROM cpg14x_pictures,cpg14x_albums WHERE cpg14x_pictures.aid = cpg14x_albums.aid AND approved = 'YES' AND cpg14x_pictures.cpg14x_pictures.aid IN (6,7,8,9,10,11,12,13,14,15,16,17,18,22)  GROUP BY cpg14x_pictures.aid" on 0

mySQL error: Unknown column 'cpg14x_pictures.cpg14x_pictures.aid' in 'where clause'

forse lo avevi notato...

Ludo

Quote from: gracco on December 22, 2008, 11:47:33 AM
Scusa non ho capito,
hai corretto il mod dove(quale file)?
La parte relativa al file functions.inc.php!
In pratica, ripristina la versione originale del file e applica nuovamente il mod (link nel primo messaggio della discussione).

bingo

Grazie Ludo, ho inserito il Mod e sembra che tutto funzioni.

Complimenti.

G.