|
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:
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:
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"> </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"> </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) ? '' : '&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++;
$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&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:
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", " | ");
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:
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) ? '' : '&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&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) ? '' : '&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&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
|
| |