JürgenSchilling

  EDV-Service | Fotografie | Fotoarbeiten   

 


 Home

 Black&White
 Fotogramme
 Infrarot
 Kategorien
 Lightbox
 Lochkamera
 Portrait
 

Advanced ___________

 Service:
 EDV-Manuals

 Belichtungszeitentabelle
 Schrauben u. Gewinde
 

 Einführung in die:
 Beurteilung v. Negativen
 Farbmischung
 Filmentwicklung
 Infrarotfotografie
 Blitzlichtfotographie
 
 Entwicklungszeiten:
 Agfa Rodinal
 Kodak D76

 Tiefenschärferechner:
 Komplex  Einfach


 Fotolabor


 Kontakt / Impressum

 
______

 Zähler:
 Bilder pro Gast
 Zugriffszähler

 myPHPadmin
 
B4YCounter

 Login  Logout
 
Files

 Alle Bilder als Link

                           Coppermine 1.4.19 - Änderungen und Plugins die nicht serienmäßig dabei wahren

Bildcounter auf Coppermine erste

Abfrage nach zwei Suchbegriffen:
Standardmäßig wird eine "OR" Abfrage durchgeführt.
Das ist nicht praktikabel, da die Ergebnisliste mit mehr Suchwörtern ja immer größer wird.
Wir wollen das Ergebnis aber einschränken.
Daher muß die "OR" Abfrage in eine "AND" Abfrage umgebaut werden.
Das geht in der include/search.inc.php
 

Suche in der search.inc.php:

$type = $_POST['type'] == 'AND' ? " AND " : " OR ";


Ersetze mit:

$type = $_POST['type'] == 'OR' ? " OR " : " AND ";



Sonderzeichen / Umlaute werden nicht korrekt in die Datenbank geschrieben.
Auf der Webseite stehen andere Zeichen als in der Datenbank.
Es funktioniert mit ISO-8859-1 aber nicht mit UTF8. Mit ISO-8859-1 funktioniert aber die Suche mit Wildcards nicht.
Nach folgenden Änderungen steht in der Webseite und in der Tabelle der gleiche Text.


1. Die Datenbank nach UTF8 umstellen

ALTER DATABASE imagedb DEFAULT CHARACTER SET utf8


2. Die Collation der Datenbank von "latin1_swedish_ci" nach "utf-general-ci" konvertieren.
Das geht an einfachsten mit myphpadmin oder wie folgt beschrieben über Kommandozeile für jede Tabelle einzeln.
Für uns ist nur die
cpg11d_pictures  relevant.

ALTER TABLE cpg11d_pictures  DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;


3. In die include/functions.inc.php folgende Zeile einfügen

// Connect to the database

function cpg_db_connect()
{
        global $CONFIG;
        $result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']);
        if (!$result) {
                return false;
        }
        if (!mysql_select_db($CONFIG['dbname']))
                return false;
        mysql_query("SET NAMES 'utf8'",$result); 
        return $result;
}

Erklärung:
SET NAMES 'charset_name'
SET NAMES gibt an, welchen Zeichensatz der Client zum Versand von SQL-Anweisungen an den Server verwendet. SET NAMES 'utf8' bedeutet mithin: „Ab jetzt haben von diesem Client eingehende Nachrichten den Zeichensatz utf8“. Außerdem gibt die Anweisung den Zeichensatz an, den der Server zum Zurücksenden der Ergebnisse an den Client verwenden soll. (Beispielsweise legt er fest, welcher Zeichensatz für Spaltenwerte benutzt werden soll, wenn Sie eine SELECT-Anweisung absetzen.)



Das "Favorites" Feld an eine andere Stelle verschieben:

Favorites: Add to Favourites


In die displayimage.php gehen und folgenden String an die gewünschte Stelle kopieren

// Create the add to fav link

$ref = $REFERER ? "&ref=$REFERER" : '';
if (!in_array($CURRENT_PIC_DATA['pid'], $FAVPICS)) {
$info[$lang_picinfo['addFavPhrase']] = "<a href=\"addfav.php?pid=" . $CURRENT_PIC_DATA['pid'] . $ref . "\" >" . $lang_picinfo['addFav'] . '</a>';
} else {
$info[$lang_picinfo['addFavPhrase']] = "<a href=\"addfav.php?pid=" . $CURRENT_PIC_DATA['pid'] . $ref . "\" >" . $lang_picinfo['remFav'] . '</a>';
}
 


Das "Favorites" in "Lightbox" umbenennen:

In die lang/english.php gehen und das Favorites durch Lightbox ersetzen. Alle anderen Languagefiles sollten gelöscht werden. Coppermine 1.4.19.... beherrscht die Sprachauswahl nicht richtig. Die english.php ist die Defaultsprachdatei die immer benutzt wird. Sie darf NICHT! gelöscht werden.


Das "Album name"  in den Fileinfos ausblenden:


In die displayimage.php gehen und folgenden String mit // auskommentieren:

// $info[$lang_picinfo['Album name']] = '<span class="alblink">' . $owner_link . $ipinfo . '<a href="thumbnails.php?album=' . $CURRENT_PIC_DATA['aid'] . '">' . $CURRENT_ALBUM_DATA['title'] . '</a></span>';


Das "Displayed"  in den Fileinfos ausblenden:

Displayed: 0 times

In die displayimage.php gehen und folgenden String mit // auskommentieren

// $info[$lang_picinfo['Displayed']] = sprintf($lang_display_image_php['views'], $CURRENT_PIC_DATA['hits']);
// $info[$lang_picinfo['Displayed']] .= $detailsLink;


Die URL in den Fileinfos ausblenden:


In die displayimage.php gehen und folgenden String mit // auskommentieren

// Create the absolute URL for display in info

// $info[$lang_picinfo['URL']] = '<a href="' . $CONFIG["ecards_more_pic_target"] . (substr($CONFIG["ecards_more_pic_target"], -1) == '/' ? '' : '/') .basename($_SERVER['PHP_SELF']) . "?pos=-$CURRENT_PIC_DATA[pid]" . '" >' . $CONFIG["ecards_more_pic_target"] . (substr($CONFIG["ecards_more_pic_target"], -1) == '/' ? '' : '/') . basename($_SERVER['PHP_SELF']) . "?pos=-$CURRENT_PIC_DATA[pid]" . '</a>';



Bilder ohne Titel oder Caption erzeugen folgende Fehlermeldung:

Template error
Failed to find block 'caption'(#(<!-- BEGIN caption -->)(.*?)(<!-- END caption -->)#s) in :
       
                <td align="left" class="display_media" nowrap="nowrap">


                        <table cellspacing="2" cellpadding="0" class="imageborder">
                                <tr>
                                    <td align="left">{IMAGE}</td>
                                  
                                </tr>    
                                <tr>
                                   <td align="left">{ADMIN_MENU}</td>
                                </tr>
                                <tr>
                                <td align="left"><b>{TITLE}</b></td>
                                </tr>

                                <tr>
                                <td align="left">{CAPTION}</td>
                               </tr>

                        </table>

                </td></tr>


In der "theme.php" oder in der include/themes.inc.php wurde folgender Eintrag gelöscht oder falsch geschrieben:

<!-- BEGIN img_desc --> <!-- END img_desc -->

Diese Zeilen schließen NUR den {TITLE} und {CAPTION} Sektor ein!

// HTML template for intermediate image display

if (!isset($template_display_media)) //{THEMES}
$template_display_media = <<<EOT

<td align="left" class="display_media" nowrap="nowrap">

<table cellspacing="2" cellpadding="0" class="imageborder">
<tr>
<td align="left">{IMAGE}</td>
</tr>
<tr>
<td align="left">{ADMIN_MENU}</td>
</tr>

<!-- BEGIN img_desc -->
<tr>
<td align="left"><b>{TITLE}</b></td>
</tr>

<tr>
<td align="left">{CAPTION}</td>
</tr>

</table>

<!-- END img_desc -->

</td></tr>
EOT;





Das PHP Commando als LINK darstellen:

in der thumbnails.php folgenden String suchen:
<form method="post" action="">
und das "post" durch ein "get" ersetzen. Also <form method="get" action="">
Dann wird in Zukunft das Kommando so dargestellt:

http://www.380volt.dyndns.info/thumbnails.php?album=search&type=full&plugin_search_album=true&search=pferde



Kontaktformular für Coppermine 4.1.10

Das Plugin erzeugt ein Mail Kontaktformular. Es wird einfach nach /www/www.380volt.com/plugins kopiert und über die Managementconsole als Modul installiert.
Die Rechte vorher entsprechend setzen!

http://www.380volt.dyndns.info/infos/coppermine/contact_us_contact_formular/contact_us.zip

Der Aufruf erfolgt über folgenden Link:
http://www.380volt.dyndns.info/index.php?file=contact_us/contact_us


Der in der Beschreibung versprochene Knopf in der Managementconsole erscheint nicht.
Layoutanpassungen müssen in der configuration.php direkt gemacht werden.
Sprachanpassungen geschehen in der ./lang/english.php

 
 
Die Bildbeschreibung links ausrichten:

Folgenden Code in die themes/my-theme/theme.php kopieren. In eine neue Zeile vor dem ?>.

// HTML template for thumbnails display

$template_thumbnail_view = <<<EOT

<!-- BEGIN header -->
        <tr>
<!-- END header -->
<!-- BEGIN thumb_cell -->
        <td valign="top" class="thumbnails" width ="{CELL_WIDTH}" align="center">
                <table width="100%" cellpadding="0" cellspacing="0">
                        <tr>
                                <td align="
left">
                                        <a href="{LINK_TGT}">{THUMB}<br /></a>
                                        {CAPTION}
                                        {ADMIN_MENU}
                                </td>
                        </tr>
                </table>
        </td>
<!-- END thumb_cell -->
<!-- BEGIN empty_cell -->
                <td valign="top" class="thumbnails" align="center">&nbsp;</td>
<!-- END empty_cell -->
<!-- BEGIN row_separator -->
        </tr>
        <tr>
<!-- END row_separator -->
<!-- BEGIN footer -->
        </tr>
<!-- END footer -->
<!-- BEGIN tabs -->
        <tr>
                <td colspan="{THUMB_COLS}" style="padding: 0px;">
                        <table width="100%" cellspacing="0" cellpadding="0">
                                <tr>
                                       {TABS}
                                </tr>
                        </table>
                </td>
        </tr>
<!-- END tabs -->
<!-- BEGIN spacer -->
        <img src="images/spacer.gif" width="1" height="7" border="" alt="" /><br />
<!-- END spacer -->

EOT;

 

Last Added Pictures oder Random Pictures auf beliebiger Seite anzeigen: Das geht mit dem Programm "cpmfetch". Die aktuelle Version gibt es unter http://cpmfetch.fistfullofcode.com
Die Version 2.0 liegt hier:
http://www.380volt.dyndns.info/infos/coppermine/cpmfetch-last-added+random-pictures/copperminefetch-2.0.0.zip
Das Programm nach ./cpmfetch/ kopieren und die install.php im Browser ausführen.
Um die Bilder anzuzeigen, muß folgender Code an die gewünschte Stelle kopiert werden:
Die letzten 4 hochgeladenen Bilder mit Titel und Beschreibung anzeigen: (in index.php eingefügt)
<?php
include "./cpmfetch/cpmfetch.php";
$objCpm = new cpm("./cpmfetch/cpmfetch_config.php");
$objCpm->cpm_viewLastAddedMedia(1,4);
$objCpm->cpm_close();
?>
Acht Zufallsbilder aus dem Album 93 (germany_color_1989) nur mit Titel anzeigen:
<?php
include_once "./cpmfetch/cpmfetch.php";
$objCpm = new cpm("./cpmfetch/cpmfetch_config.php");
$options = array("subtitle" => "{{pTitle}} ");
$objCpm->cpm_viewLastAddedMediaFrom("album=93",1,8,$options);
$objCpm->cpm_close();
?>
include_once sorgt dafür, daß der Code mehrmals auf einer Seite eingefügt werden kann.

Den Filmstrip senkrecht neben dem mediumformat Bild anzeigen: Folgenden Code in die themes/my-theme/theme.php kopieren. In eine neue Zeile vor dem ?>.
 
// HTML template for filmstrip display

$template_film_strip = <<<EOT
<tr><td>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td valign="top"><alt="" border="0" /></td>
<td>
{THUMB_STRIP}
</td>
<td valign="top"><alt="" border="0" /></td>
</tr>
</table>
</td></tr>

<!-- BEGIN thumb_cell -->
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="bottom">
<a href="{LINK_TGT}">{THUMB}</a>
</td>
</tr>
</table>
{CAPTION}
{ADMIN_MENU}
<!-- END thumb_cell -->
<!-- BEGIN empty_cell -->
<td valign="top" align="center">&nbsp;</td>
<!-- END empty_cell -->

EOT;

Bilder zu einer "Light Box" hinzufügen:
Unter den Thumbnail ist eine Checkbox Mithilfe das Bild zu der Lightbox hinzugefügt wird.
Das geht mit folgendem Programmodul, das auch als Modul installiert werden muß:
http://www.380volt.dyndns.info/infos/coppermine/add-thumbnails-to-lightbox-plugin/album_fav_boxes_125.zip


Das "Light Box" Plugin vertrügt sich nicht mit dem Script zum kürzen der Bildbeschreibung. Es kann immer nur eines von beiden aktiv sein!!
 Die Bildbeschreibung (caption) unter der Thumbnailanzeige kürzen:
Mit dem folgenden Code läßt sich die Bildbeschreibung unter den Thumbnails soweit kürzen, daß wieder alle Bilder auf einen Monitor passen.
Beschreibungen die gekürzt wurden, enden mit drei Punkten.
In der Medium- und Vollansicht sind die Bildbeschreibungen wieder ungekürzt.

http://www.380volt.dyndns.info/
infos/coppermine/file-description-shorten-on-main-page/cpg1.4_plugin_adv_caption_1.01.zip Folgenden Code in die themes.php einfühgen:

// Function for truncating long text strings.
// Original PHP code by Chirp Internet: www.chirp.com.au
// Please acknowledge use of this code by including this header.
// Adapted for Coppermine Photo Gallery use by Billy Bullock - www.billygbullock.com
function myTruncate($string, $limit, $break=".", $pad="...")
{
// return with no change if string is shorter than $limit
if(strlen($string) <= $limit) return $string;

// is $break present between $limit and the end of the string?
if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint < strlen($string) - 1) {
$string = substr($string, 0, $breakpoint) . $pad;
}
}

return $string;
}
 
Im nächsten Schritt ist die function theme_display_thumbnails Funktion zu editieren. Wenn diese noch nicht in der theme.php ist, ist noch folgender Code  in die theme.php zu kopieren:
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) ? '' : '&amp;cat=' . $cat;
    $uid_link = (isset($_GET['uid']) && is_numeric($_GET['uid'])) ? '&amp;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 . '&amp;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 . '&amp;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 . '&amp;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 . '&amp;page=%d'));
        $theme_thumb_tab_tmpl['inactive_next_tab'] = strtr($theme_thumb_tab_tmpl['inactive_next_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&amp;page=%d'));
        $theme_thumb_tab_tmpl['inactive_prev_tab'] = strtr($theme_thumb_tab_tmpl['inactive_prev_tab'], array('{LINK}' => 'index.php?cat=' . $cat . '&amp;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++;
        $caption = $thumb['caption'];
        if ($mode == 'thumb') {
            if ($aid == 'lastalb') {
                $params = array('{CELL_WIDTH}' => $cell_width,
                    '{LINK_TGT}' => "thumbnails.php?album={$thumb['aid']}",
                    '{THUMB}' => $thumb['image'],
                    '{CAPTION}' => myTruncate($caption, 120, " "), // changing the number changes the # of characters printed for the thumbnail caption.
                    '{ADMIN_MENU}' => $thumb['admin_menu']
                    );
            } else {
                $params = array('{CELL_WIDTH}' => $cell_width,
                    '{LINK_TGT}' => "displayimage.php?album=$aid$cat_link&amp;pos={$thumb['pos']}$uid_link",
                    '{THUMB}' => $thumb['image'],
                    '{CAPTION}' => myTruncate($caption, 120, " "), // changing the number changes the # of characters printed for the thumbnail caption.
                    '{ADMIN_MENU}' => $thumb['admin_menu']
                    );
            }
        } else {
            $params = array('{CELL_WIDTH}' => $cell_width,
                '{LINK_TGT}' => "index.php?cat={$thumb['cat']}",
                '{THUMB}' => $thumb['image'],
                '{CAPTION}' => myTruncate($caption, 120, " "), // changing the number changes the # of characters printed for the thumbnail 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;
}
 
Wenn die  function theme_display_thumbnails bereits vorhanden war, ist folgender String an drei Stellen zu editieren:
'{CAPTION}' => $thumb['caption'],
und zwar so:
'{CAPTION}' => myTruncate($caption, 120, " "), // changing the number changes the # of characters printed for the thumbnail caption.
Die 120 sind die Anzahl der Zeichen in der Beschreibung. Soll die Beschreibung eine andere Länge haben, muß dieser Wert wieder an den drei Stellen geändert werden.

 

Der Suchfunktion von Coppermine 1.4.10 ein NOT (
~ ) und ein OR ( | ) beibringen
Funktioniert nur bei der Thumbnailanzeige - durch Doppelklick in die Mediumanzeige funktioniert nicht!

Folgende Files sind auszutauschen bzw. umzubenennen:
search.php
include/search.inc.php
Die Dateien liegen hier: http://www.380volt.dyndns.info/infos/coppermine/extendet_search_coppermine/extendet_search_coppermine.tar

 

Coppermine Alben nach Namen ordnen:

In der index.php (bei mir nach home.php umbenannt) folgende Einträge ändern:

Suche: ORDER BY a.pos
Ersetze durch: ORDER BY a.title

Es sind 2 Ersetzungen vorzunehmen.

Bekanntlich kann man die Reihenfolge der Alben auch manuell ändern.
Nach der Modifikation in der index.php bzw. home.php ist dies nicht mehr möglich.


 

Den aktuellen Tabs unterhalb der Thumbnailansicht farbig anzeigen oder ausblenden:


In ./my-theme/theme.php einfügen (der Code macht so noch gar nichts):
// Template used for tabbed display

$template_tab_display = array('left_text' => '<td width="100%%" align="left" valign="middle" class="tableh1_compact" style="white-space: nowrap"><b>{LEFT_TEXT}</b></td>' . "\n",
'tab_header' => '',
'tab_trailer' => '',

'active_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_compact"><b>%d</b></td>',

'inactive_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>%d</b></a></td>' . "\n",

'inactive_prev_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{PREV}</b></a></td>' . "\n",

'inactive_next_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{NEXT}</b></a></td>' . "\n",
);

Den aktuellen Tab farbig anzeigen:


Suchen:
'active_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_compact"><b>%d</b></td>',

Durch folgenden Code ersetzen:
 'active_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_active"><b>%d</b></td>',

In ./my-theme/style.css einfügen:
/*Größe des aktiven Tabs*/
.tableb_active {
padding-top: 2px;
padding-right: 5px;
padding-bottom: 2px;
padding-left: 5px;
}

/* Farbe des aktiver Tabs*/
.tableb_active {
font-weight: bold;
border: none;
background: #99ff99;
}

Den aktuellen Tab ausblenden:

Suchen:
'active_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_compact"><b>%d</b></td>',

Durch folgenden Code ersetzen:
'active_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" - '<td align="center" valign="middle" class="tableb_compact"><b>%d</b></td>',


Inaktiver Tab farbig markieren:

Suchen in ./my-theme/theme.php:
'inactive_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>%d</b></a></td>' . "\n",

'inactive_prev_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{PREV}</b></a></td>' . "\n",

'inactive_next_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{NEXT}</b></a></td>' . "\n",

Durch folgenden Code ersetzen:
'inactive_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_navmenu"><a href="{LINK}"><b>%d</b></a></td>' . "\n",

'inactive_prev_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_navmenu"><a href="{LINK}"><b>{PREV}</b></a></td>' . "\n",

'inactive_next_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_navmenu"><a href="{LINK}"><b>{NEXT}</b></a></td>' . "\n",

In ./my-theme/style.css einfügen:
/* Inaktive Tabs unter den Tumbnails*/
.tableb_navmenu {
font-weight: bold;
border: none;
background: #FFCC66;

}

/* Grösse des inaktiven Tabs*/
.tableb_navmenu {
padding-top: 2px;
padding-right: 5px;
padding-bottom: 2px;
padding-left: 5px;
}


Die Tabs durch einen Strich voneinander trennen:
Nach dem <td> nur eine Farbe für den Trennstrich hinzufügen:

Suchen in ./my-theme/theme.php:
'active_tab' => '<td ><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_compact"><b>%d</b></td>', 'inactive_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>%d</b></a></td>' . "\n",

'inactive_prev_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{PREV}</b></a></td>' . "\n",

'inactive_next_tab' => '<td><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{NEXT}</b></a></td>' . "\n",

Ersetzen in ./my-theme/theme.php:
'active_tab' => '<td bgcolor="#cfcfcf"><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="tableb_compact"><b>%d</b></td>', 'inactive_tab' => '<td bgcolor="#cfcfcf"><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>%d</b></a></td>' . "\n",

'inactive_prev_tab' => '<td
bgcolor="#cfcfcf"><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{PREV}</b></a></td>' . "\n",

'inactive_next_tab' => '<td
bgcolor="#cfcfcf"><img src="images/spacer.gif" width="1" height="1" alt="" /></td>' . "\n" . '<td align="center" valign="middle" class="navmenu"><a href="{LINK}"><b>{NEXT}</b></a></td>' . "\n",



Erweiterte und vor allem fehlerfreie Suchfunktion:

Die fehlerhafte originale Suchfunktion, kann durch ein Plugin ersetzt werden. Dieses befindet sich im Pluginpack "cpg1.4.x_plugin_pack_v3". Das Plugin selbst heißt  "search_album".
Das Plugin unter Conf ->  General settings  ->Enable plugins  installieren. In der Admin-Taskleiste taucht nach der Installation ein Knopf mit der Bezeichnung "Search Albums" auf.
Über diesen Knopf wird das Administrationsmenu des seach_album-Plugins aufgerufen.
Das Suchmodul wird durch folgenden Link aufgerufen: http://www.380volt.dyndns.info/index.php?file=search_album/search

Alle Links oder Texte in Webseiten die das Textmuster "search..php" (nur mit einem Punkt) enthalten, werden automatisch nach "index.php?file=search_album/search" umbenannt !!

Das Suchfeld in eine andere Seite einbauen:
Dieser Code kann in eine beliebige Stelle einer *.php Seite einkopiert werden
 
<form method="get" action="thumbnails.php" name="searchcpg">
<input type="hidden" name="album" value="search" />
<input type="hidden" name="type" value="full" />
<input type="hidden" name="plugin_search_album" value="true" />
<input type="input" name="search" maxlength="255" value="" class="textinput" />
<input type="submit" value="Quick Search" />
<a href="search.php">Advanced Search</a>
</form>
<script language="javascript" type="text/javascript">
<!--
document.searchcpg.search.focus();
-->
</script>

Fertig schaut das Suchfeld so aus:
Advanced Search

Keywords im "search_album" Plugin nach Anfangsbuchstaben gruppieren. Jede Gruppe hat den jeweiligen Anfangsbuchstaben als Überschrift.
 


Suchen in ./www.380volt.com/plugins/search_album/search..php (nur mit einem Punkt):
if ($CONFIG['clickable_keyword_search'] != 0) {
include('include/keyword.inc.php');
}


// clickable Keywordsearch - keywords are not formatted

echo <<< EOT
<script language="javascript" type="text/javascript">
<!--
document.searchcpg.search.focus();
-->
</script>
EOT;

Ersetzen in ./www.380volt.com/plugins/search_album/search..php(nur mit einem Punkt):

//###############

if (!defined('IN_COPPERMINE')) { die('Not in Coppermine...');}

//mod indexed keywords
//define("DELIMITER", "&nbsp;|&nbsp;");
define("DELIMITER", " | ");

function spacer($w, $n)
{
for ($i = 1; $i <= $n; $i++)
{
$index .= DELIMITER . chr((ord($w)) + $i);
}
return $index;
}

// ADDED QUICK KEYWORDS FUNCTIONALITY 8/6/2004

$result = cpg_db_query("select keywords FROM {$CONFIG['TABLE_PICTURES']} WHERE keywords <> '' $ALBUM_SET");
if (mysql_num_rows($result)) {

// Grab all keywords
print '<br />';
starttable("100%", $lang_search_php['keyword_list_title']);


// Find unique keywords
$keywords_array = array();

while (list($keywords) = mysql_fetch_row($result)) {
$array = explode(" ",$keywords);

foreach($array as $word)
{
if (!in_array($word = strtolower($word),$keywords_array)) $keywords_array[] = $word;;
}
}

// Sort selected keywords
sort($keywords_array);
$count = count($keywords_array);
// Result to table
echo '<tr><td class="tableb">' ;

//mod indexed keywords
$oldword = "";
$html="";
$special_html="";
$index_list="";
$special="FALSE";
foreach($keywords_array as $key)
{
$word = strtoupper(substr($key, 0, 1));
if (($word < "A" or $word >"Z")) {

if ($special=="FALSE") { //if we do not have it in the index and special exits
$index_list .= "<b><u><a href=\"#1-9\">1-9</a></u></b>";
$special_html .= "<br><br><a name=\"1-9\"></a><b>1-9</b><br>"; //container for 1-9 and special chars
}
$special="TRUE"; //we have special now in the index
$special_html .= "<a href=\"thumbnails.php?album=search&search=".$key."\">$key</a> ";
$special_html .= DELIMITER;
} else { // index and keywords a-z
$next = strncasecmp($word, $oldword, 1); //compare this first letter with the first letter of the next keyword
if ($next > 0) //next keaywords first letter <> this keywords first letter
{
$index_list .= spacer($oldword, --$next); // add the non linked 'spacer' letters

if (strlen($html) >= strlen(DELIMITER)) $html = substr($html,0,(strlen($html)-strlen(DELIMITER))); // remove trailing delimiter

$html .= "<br><br><a name=\"{$word}\"></a><b>{$word}</b><br>"; //add the first letter as header to the html
$index_list .= DELIMITER . "<b><u><a href=\"#{$word}\">{$word}</a></u></b>";
$oldword = $word;

}
$html .= "<a href=\"thumbnails.php?album=search&search=".$key."\">{$key}</a>" . DELIMITER;
}

}
if (strlen($html) >= strlen(DELIMITER)) $html = substr($html,0,(strlen($html)-strlen(DELIMITER)));


$index_list .= spacer($oldword, strncasecmp("Z", $word, 1));
$special_html = substr($special_html,0,strlen($special_html)-strlen(DELIMITER));
if (strlen($special_html)==0) $index_list = "1-9". $index_list;
echo $index_list;
echo "<br>";
echo $special_html;
echo $html;
echo "<br>";

echo "</td></tr>" ;
if (GALLERY_ADMIN_MODE == true){
$url = basename($_SERVER['PHP_SELF']);
if ($url != "keywordmgr.php"){
echo '<tr><td class="tableb" align="center">';
echo '<a href="keywordmgr.php" class="admin_menu">Edit Keywords</a>';
echo "</td></tr>" ;
}
} else {
echo '<tr><td class="tableb" align="center">';
echo $lang_search_php['keyword_msg'];
echo "</td></tr>" ;
}

endtable();
}

//##############

Die volle URL in der Fileinfo unterhalb des Mediumsize Bildes anzeigen

So schaut dann der Pfad aus:
 
Intermediate size URL: http:/www.380volt.dyndns.info/albums/europe_bw/austria_bw_2007/normal_austria-bw-17-achensee-sonnjoch-20070826.jpg

In die theme.php folgenden Code einfügen und die Domäne anpassen:

/*Fileinfo in der Intermediate Ansicht formatieren*/

function theme_html_picinfo(&$info)
{
global $lang_picinfo, $mime_content, $CONFIG, $CURRENT_PIC_DATA;
$path_to_pic = $CONFIG['fullpath'] . $CURRENT_PIC_DATA['filepath'] . $CURRENT_PIC_DATA['filename'];
if ($mime_content['content']=='movie') {
$info[$lang_picinfo['download_URL']] = '<a href="' . $CONFIG["ecards_more_pic_target"] . (substr($CONFIG["ecards_more_pic_target"], -1) == '/' ? '' : '/') . $path_to_pic.'">'. $lang_picinfo['movie_player'] .'</a>';
}
$html = '';

$html = '<hr noshade color="#C0C0C0" size="1">';

$html .= " <tr><td width='315' class=\"tableb_picinfo\"</td><td class=\"tableb_picinfo\"><b>{$lang_picinfo['title']}</b></td><td class=\"tableb_picinfo\"></td></tr>\n";
$template = " <tr><td width='315' class=\"tableb_picinfo\"</td><td class=\"tableb_picinfo\">%s:</td><td class=\"tableb_picinfo\" >%s</td></tr>\n";

foreach ($info as $key => $value) $html .= sprintf($template, $key, $value);

/*volle URL in Medium sized picture zum Fullsize Pic*/
global $CURRENT_PIC_DATA;
$picture_url = get_pic_url($CURRENT_PIC_DATA, 'full');
$html .= sprintf($template, 'URL', '<a href="http://
www.380volt.dyndns.info/'.$picture_url.'">http:/www.380volt.dyndns.info/'.$picture_url.'</a>');

/*volle URL in Medium sized picture zum Mediumsize Pic*/
global $CURRENT_PIC_DATA;
$picture_url = get_pic_url($CURRENT_PIC_DATA, 'normal');
$html .= sprintf($template, 'URL (Intermediate size)', '<a href="http://www.380volt.dyndns.info/'.$picture_url.'">http:/www.380volt.dyndns.info/'.$picture_url.'</a>');
/* volle URL Ende*/



return $html;
}


Die Größe der Bilder im Filmstreifen anpassen:

In die theme.php folgenden Code einsetzen und die Pixel editieren

 

// Added to display film_strip 
function theme_display_film_strip(&$thumb_list, $nbThumb, $album_name, $aid, $cat, $pos, $sort_options, $mode = 'thumb')
{
global $CONFIG, $THEME_DIR;
global $template_film_strip, $lang_film_strip;
static $template = '';
static $thumb_cell = '';
static $empty_cell = '';
static $spacer = '';
if ((!$template)) {
$template = $template_film_strip;
$thumb_cell = template_extract_block($template, 'thumb_cell');
$empty_cell = template_extract_block($template, 'empty_cell');
}
$cat_link = is_numeric($aid) ? '' : '&amp;cat=' . $cat;
$thumbcols = $CONFIG['thumbcols'];
$cell_width = ceil(100 / $CONFIG['max_film_strip_items']) . '%';
$i = 0;
$thumb_strip = '';
foreach($thumb_list as $thumb) {
//modify $new_size for max dimension of thumbnails in filmstrip
$new_size = 120;
preg_match('/(?<=width=")[0-9]*/',$thumb['image'],$matches,PREG_OFFSET_CAPTURE);
$srcWidth=$matches[0][0];
preg_match('/(?<=height=")[0-9]*/',$thumb['image'],$matches,PREG_OFFSET_CAPTURE);
$srcHeight=$matches[0][0];
$ratio = max($srcWidth, $srcHeight) / $new_size;
$ratio = max($ratio, 1.0);
$destWidth = (int)($srcWidth / $ratio);
$destHeight = (int)($srcHeight / $ratio);
$thumb['image']=preg_replace('/width="[^"]*"/','width="'.$destWidth.'"',$thumb['image']);
$thumb['image']=preg_replace('/height="[^"]*"/','height="'.$destHeight.'"',$thumb['image']);
$i++;
if ($mode == 'thumb') {
$params = array('{CELL_WIDTH}' => $cell_width,
'{LINK_TGT}' => "displayimage.php?album=$aid$cat_link&amp;pos={$thumb['pos']}",
'{THUMB}' => $thumb['image'],
'{CAPTION}' => $thumb['caption'],
'{ADMIN_MENU}' => ''
);
} else {
$params = array('{CELL_WIDTH}' => $cell_width,
'{LINK_TGT}' => "index.php?cat={$thumb['cat']}",
'{THUMB}' => $thumb['image'],
'{CAPTION}' => '',
'{ADMIN_MENU}' => ''
);
}
$thumb_strip .= template_eval($thumb_cell, $params);
}
if (defined('THEME_HAS_FILM_STRIP_GRAPHICS')) {
$tile1 = $THEME_DIR . 'images/tile1.gif';
$tile2 = $THEME_DIR . 'images/tile2.gif';
} elseif (defined('THEME_HAS_FILM_STRIP_GRAPHIC')) {
$tile1=$tile2=$THEME_DIR . 'images/tile.gif';
} else {
$tile1=$tile2= 'images/tile.gif';
}
$params = array('{THUMB_STRIP}' => $thumb_strip,
'{COLS}' => $i,
'{TILE1}' => $tile1,
'{TILE2}' => $tile2,
);
ob_start();
starttable($CONFIG['picture_table_width']);
echo template_eval($template, $params);
endtable();
$film_strip = ob_get_contents();
ob_end_clean();
return $film_strip;
}
 


Nur den Titel unter dem Filmbild anzeigen - nicht zusätzlich noch den Filenamen

In der theme.php in der Funktion  theme_display_film_strip folgende Werte ändern:

 
// Added to display film_strip 
function theme_display_film_strip(&$thumb_list, $nbThumb, $album_name, $aid, $cat, $pos, $sort_options, $mode = 'thumb')
{
global $CONFIG, $THEME_DIR;
global $template_film_strip, $lang_film_strip;
static $template = '';
static $thumb_cell = '';
static $empty_cell = '';
static $spacer = '';
if ((!$template)) {
$template = $template_film_strip;
$thumb_cell = template_extract_block($template, 'thumb_cell');
$empty_cell = template_extract_block($template, 'empty_cell');
}
$cat_link = is_numeric($aid) ? '' : '&amp;cat=' . $cat;
$thumbcols = $CONFIG['thumbcols'];
$cell_width = ceil(100 / $CONFIG['max_film_strip_items']) . '%';
$i = 0;
$thumb_strip = '';

$pic_data = get_pic_data($aid, $nbThumb, $album_name);

foreach($thumb_list as $thumb) {

$thumb['caption'] = $pic_data[$thumb['pos']]['title'];

//modify $new_size for max dimension of thumbnails in filmstrip
$new_size = 120;
preg_match('/(?<=width=")[0-9]*/',$thumb['image'],$matches,PREG_OFFSET_CAPTURE);
$srcWidth=$matches[0][0];
preg_match('/(?<=height=")[0-9]*/',$thumb['image'],$matches,PREG_OFFSET_CAPTURE);
$srcHeight=$matches[0][0];
$ratio = max($srcWidth, $srcHeight) / $new_size;
$ratio = max($ratio, 1.0);
$destWidth = (int)($srcWidth / $ratio);
$destHeight = (int)($srcHeight / $ratio);
$thumb['image']=preg_replace('/width="[^"]*"/','width="'.$destWidth.'"',$thumb['image']);
$thumb['image']=preg_replace('/height="[^"]*"/','height="'.$destHeight.'"',$thumb['image']);
$i++;
if ($mode == 'thumb') {
$params = array('{CELL_WIDTH}' => $cell_width,
'{LINK_TGT}' => "displayimage.php?album=$aid$cat_link&amp;pos={$thumb['pos']}",
'{THUMB}' => $thumb['image'],
'{CAPTION}' => $thumb['caption'],
'{ADMIN_MENU}' => ''
);
} else {
$params = array('{CELL_WIDTH}' => $cell_width,
'{LINK_TGT}' => "index.php?cat={$thumb['cat']}",
'{THUMB}' => $thumb['image'],
'{CAPTION}' => '',
'{ADMIN_MENU}' => ''
);
}
$thumb_strip .= template_eval($thumb_cell, $params);
}
if (defined('THEME_HAS_FILM_STRIP_GRAPHICS')) {
$tile1 = $THEME_DIR . 'images/tile1.gif';
$tile2 = $THEME_DIR . 'images/tile2.gif';
} elseif (defined('THEME_HAS_FILM_STRIP_GRAPHIC')) {
$tile1=$tile2=$THEME_DIR . 'images/tile.gif';
} else {
$tile1=$tile2= 'images/tile.gif';
}
$params = array('{THUMB_STRIP}' => $thumb_strip,
'{COLS}' => $i,
'{TILE1}' => $tile1,
'{TILE2}' => $tile2,
);
ob_start();
starttable($CONFIG['picture_table_width']);
echo template_eval($template, $params);
endtable();
$film_strip = ob_get_contents();
ob_end_clean();
return $film_strip;
}
 




© J.Schilling 27.06.2008