bin ein absoluter Anfänger mit Coppermine 1.53
Version ist 1.5.3
Ich baue die Gallerie gerade auf und möchte meine Kollegen (Motorsportverein) an der Auswahl des Design teilhaben lassen.
Wie kann ich in der Version für angemeldete Benutzer die Designauswahl Pulldown einblenden, damit die vorhandenen Designs angesehen werden können.
vgl.
http://galerie.msc-oberflockenbach.de/docs/en/theme_template.htm#theme_template_theme_select_list - einfach
{THEME_SELECT_LIST} in alle themes einbauen. Alternative: schicke Deine Kollegen per Link (z.B. in einer eMail oder im anycontent.php-Bereich) zu den verfügbaren Themes, wie unter
http://galerie.msc-oberflockenbach.de/docs/en/theme_create.htm#theme_create_tipps beschrieben
Wo gibt es noch Designs für 1.53, die man am Besten auch in einer Vorschau sehen kann.
Wie unter
http://galerie.msc-oberflockenbach.de/docs/en/theme_user-contributions.htm#theme_user-contributions beschrieben gibt's die Themes in unserer Demo (link oben am Rand dieser Seite) zu betrachten.
Hilfe auch gern per Mail
Definitiv nicht - gibt's bei uns nicht.
Hier eine Lösung für Faule: einfach den folgenden Code in die Datei anycontent.php kopieren:
<?php
if (!defined('IN_COPPERMINE')) {
die('Not in Coppermine...');
}
print '<div id="styleWrapper" style="background-color:#D6D7DE;border-style:solid;border-color:#D6D7DE;display:block;">';
$theme_dir = 'themes/';
$lineBreak = "\r\n";
$themeCounter = 0;
$dir = opendir($theme_dir);
while ($file = readdir($dir)) {
if (is_dir($theme_dir . $file) && $file != "." && $file != ".." && $file != '.svn' && $file != 'sample') {
$theme_array[] = $file;
$themeCounter++;
}
}
closedir($dir);
natcasesort($theme_array);
$themeLoopCounter = 0;
foreach($theme_array as $key) {
$theme_array_sorted[] = $key;
if ($key==$CONFIG['theme']) {
$indexOfCurrentTheme = $themeLoopCounter;
}
$themeLoopCounter++;
}
$demoPreviousTheme = $theme_array_sorted[$indexOfCurrentTheme-1];
$demoNextTheme = $theme_array_sorted[$indexOfCurrentTheme+1];
//get the url and all vars except $theme
$cpgChangeUrl = $_SERVER["SCRIPT_NAME"]."?";
foreach ($_GET as $key => $value) {
if ($key!="theme" && $key!="5x" && $key!="lang"){
$cpgChangeUrl.= $key . "=" . $value . "&";
}
}
print '<table border="0" cellspacing="0" cellpadding="0">';
print '<tr>';
print '<td style="border:1px solid white;margin-right:5px;padding:2px; font-family: Arial, Helvetica, sans-serif; font-size: 9px; color:black;">';
print $themeCounter . ' Themes: ';
if ($demoPreviousTheme != '') {
print '<a href="'.$cpgChangeUrl.'theme='.rawurlencode($demoPreviousTheme).'" style="font-family: Arial, Helvetica, sans-serif; font-size: 9px; border: 1px solid #005D8C; background-color:#EFEFEF; background-image : url(themes/classic/images/button_bg.gif); background-position : bottom; color: #000000; margin-top: 0px; margin-bottom: 0px; padding-top:2px; padding-bottom:2px; padding-left:1px; padding-right:1px; text-align: center; text-decoration: none;" onmouseover="this.style.color=\'#5F5F5F\';" onmouseout="this.style.color=\'#000000\';" title="previous theme">';
print '<img src="images/icons/leftleft.png" border="0" width="16 height="16" alt="" style="vertical-align: middle;margin-right: 1px;" /> '.strtr(ucfirst($demoPreviousTheme), '_', ' ');
print '</a>';
}
print ' ';
$return.= $lineBreak . '<form name="demoChooseTheme" id="demoChooseTheme" action="' . $_SERVER['PHP_SELF'] . '" method="get" style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;display:inline">' . $lineBreak;
$return.= '<select name="demoThemeSelect" style="color: #000000; background-color: #EFEFEF; border: 1px solid #005D8C; font-size: 9px; font-family: Arial, Helvetica, sans-serif; vertical-align : middle;" onchange="if (this.options[this.selectedIndex].value) window.location.href=\'' . $cpgChangeUrl . 'theme=\' + this.options[this.selectedIndex].value;">' . $lineBreak;
foreach ($theme_array as $theme) {
$return.= '<option value="' . $theme . '" '.($CONFIG['theme'] == $theme ? 'selected="selected"' : '').'>' . strtr(ucfirst($theme), '_', ' ') . '</option>' . $lineBreak;
}
$return.= '</select>' . $lineBreak;
$return.= '</form>' . $lineBreak;
print $return;
if (GALLERY_ADMIN_MODE) {
function startElement($parser, $element_name, $element_attribute) {
global $ausgabe;
//Umwandeln in Kleinbuchstaben
$element_name = strtolower($element_name);
//Überprüfung des Elementnames
if ($element_name=="inhalt") {
$ausgabe .= "<h3>Inhalt</h3><p>";
}
}
function endElement($parser, $element_name) {
global $ausgabe;
// in Kleinbuchstaben umwandeln
$element_name = strtolower($element_name);
// Überprüfung des Names eines Elementes
if ($element_name=="inhalt") {
$ausgabe .= "</p>";
}
}
function cdata($parser, $element_inhalt) {
global $ausgabe,$theme_dir,$CONFIG;
// Der normale Text wird an $ausgabe angehängt
$ausgabe .= $element_inhalt;
}
$fileToCheck = $theme_dir.$CONFIG['theme'].'/about.xml';
if (is_file($fileToCheck)== TRUE) {
$xmlFile = file($fileToCheck);
$parser = xml_parser_create();
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "cdata");
foreach($xmlFile as $elem) {
xml_parse($parser, $elem);
}
xml_parser_free($parser);
echo $ausgabe;
echo '.';
}
}
if ($demoNextTheme != '') {
print ' ';
print '<a href="'.$cpgChangeUrl.'theme='.rawurlencode($demoNextTheme).'" style="font-family: Arial, Helvetica, sans-serif; font-size: 9px; border: 1px solid #005D8C; background-color:#EFEFEF; background-image : url(themes/classic/images/button_bg.gif); background-position : bottom; color: #000000; margin-top: 0px; margin-bottom: 0px; padding-top:2px; padding-bottom:2px; padding-left:1px; padding-right:1px; text-align: center; text-decoration: none;" onmouseover="this.style.color=\'#5F5F5F\';" onmouseout="this.style.color=\'#000000\';" title="next theme">';
print strtr(ucfirst($demoNextTheme), '_', ' ').' <img src="images/icons/rightright.png" border="0" width="16 height="16" alt="" style="vertical-align: middle;margin-right: 1px;" />';
print '</a>';
}
print ' ';
if ($CONFIG['theme'] != 'classic') {
print '<a href="'.$cpgChangeUrl.'theme=xxx"><img src="images/flags/reset.png" width="16" height="11" border="0" alt="" title="reset to default theme" /></a> ';
}
print '</td>';
print '</tr>';
print '</table>';
print '</div>';
?>
<noscript>
The theme selectors for this page require JavaScript to be enabled. Please turn JavaScript on in your browser.
</noscript>
?>
(musst ihn vielleicht noch übersetzen). Dann anycontent aktivieren wie in in
http://galerie.msc-oberflockenbach.de/docs/en/configuration.htm#admin_album_list_content beschrieben und fertig ist der Lack. Um nur registrierten Benutzern den Selector zu zeigen einfach im o.g. Code vor dem ersten print eine Abfrage setzen auf USER_ID.