diff options
Diffstat (limited to '')
-rw-r--r-- | include/config_default.inc.php | 262 | ||||
-rw-r--r-- | include/functions_metadata.inc.php | 42 | ||||
-rw-r--r-- | include/page_tail.php | 21 | ||||
-rw-r--r-- | include/scripts.js | 12 | ||||
-rw-r--r-- | include/template.php | 3 |
5 files changed, 237 insertions, 103 deletions
diff --git a/include/config_default.inc.php b/include/config_default.inc.php index 62e4a2782..90d2cabf9 100644 --- a/include/config_default.inc.php +++ b/include/config_default.inc.php @@ -43,6 +43,10 @@ * table, other parameters are in config_*.inc.php */ +// +-----------------------------------------------------------------------+ +// | misc | +// +-----------------------------------------------------------------------+ + // order_by : how to change the order of display for images in a category ? // // There are several fields that can order the display : @@ -67,9 +71,6 @@ $conf['order_by'] = ' ORDER BY date_available DESC, file ASC, id ASC'; // during automated slideshow $conf['slideshow_period'] = 4; -// last_days : options for X last days to displays for comments -$conf['last_days'] = array(1,2,3,10,30,365); - // file_ext : file extensions (case sensitive) authorized $conf['file_ext'] = array('jpg','JPG','png','PNG','gif','GIF','mpg','zip', 'avi','mp3','ogg'); @@ -85,6 +86,106 @@ $conf['top_number'] = 15; // anti-flood_time : number of seconds between 2 comments : 0 to disable $conf['anti-flood_time'] = 60; +// calendar_datefield : date field of table "images" used for calendar +// catgory +$conf['calendar_datefield'] = 'date_creation'; + +// rate : enable feature for rating elements +$conf['rate'] = true; + +// newcat_default_commentable : at creation, must a category be commentable +// or not ? +$conf['newcat_default_commentable'] = 'true'; + +// newcat_default_uploadable : at creation, must a category be uploadable or +// not ? +$conf['newcat_default_uploadable'] = 'false'; + +// newcat_default_visible : at creation, must a category be visible or not ? +// Warning : if the parent category is invisible, the category is +// automatically create invisible. (invisible = locked) +$conf['newcat_default_visible'] = 'true'; + +// newcat_default_status : at creation, must a category be public or private +// ? Warning : if the parent category is private, the category is +// automatically create private. +$conf['newcat_default_status'] = 'public'; + +// level_separator : character string used for separating a category level +// to the sub level. Suggestions : ' / ', ' » ', ' → ', ' - ', +// ' >' +$conf['level_separator'] = ' / '; + +// paginate_pages_around : on paginate navigation bar, how many pages +// display before and after the current page ? +$conf['paginate_pages_around'] = 2; + +// tn_width : default width for thumbnails creation +$conf['tn_width'] = 128; + +// tn_height : default height for thumbnails creation +$conf['tn_height'] = 96; + +// show_version : shall the version of PhpWebGallery be displayed at the +// bottom of each page ? +$conf['show_version'] = true; + +// links : list of external links to add in the menu. An example is the best +// than a long explanation : +// +// $conf['links'] = array( +// 'http://phpwebgallery.net' => 'PWG website', +// 'http://forum.phpwebgallery.net' => 'PWG forum', +// 'http://phpwebgallery.net/doc' => 'PWG wiki' +// ); +// +// If the array is empty, the "Links" box won't be displayed on the main +// page. +$conf['links'] = array(); + +// show_thumbnail_caption : on thumbnails page, show thumbnail captions ? +$conf['show_thumbnail_caption'] = true; + +// show_picture_name_on_title : on picture presentation page, show picture +// name ? +$conf['show_picture_name_on_title'] = true; + +// allow_random_representative : do you wish PhpWebGallery to search among +// categories elements a new representative at each reload ? +// +// If false, an element is randomly or manually chosen to represent its +// category and remains the representative as long as an admin does not +// change it. +// +// Warning : setting this parameter to true is CPU consuming. Each time you +// change the value of this parameter from false to true, an administrator +// must update categories informations in screen [Admin > General > +// Maintenance]. +$conf['allow_random_representative'] = false; + +// allow_html_descriptions : authorize administrators to use HTML in +// category and element description. +$conf['allow_html_descriptions'] = true; + +// gallery_title : Title at top of each page and for RSS feed +$conf['gallery_title'] = 'PhpWebGallery demonstration site'; + +// gallery_description : Short description displayed with gallery title +$conf['gallery_description'] = 'My photos web site'; + +// galery_url : URL given in RSS feed +$conf['gallery_url'] = 'http://demo.phpwebgallery.net'; + +// prefix_thumbnail : string before filename +$conf['prefix_thumbnail'] = 'TN-'; + +// +-----------------------------------------------------------------------+ +// | metadata | +// +-----------------------------------------------------------------------+ + +// show_iptc: Show IPTC metadata on picture.php if asked by user +$conf['show_iptc'] = false; + // show_iptc_mapping : is used for showing IPTC metadata on picture.php // page. For each key of the array, you need to have the same key in the // $lang array. For example, if my first key is 'iptc_keywords' (associated @@ -101,6 +202,10 @@ $conf['show_iptc_mapping'] = array( 'iptc_caption' => '2#120' ); +// use_iptc: Use IPTC data during database synchronization with files +// metadata +$conf['use_iptc'] = false; + // use_iptc_mapping : in which IPTC fields will PhpWebGallery find image // information ? This setting is used during metadata synchronisation. It // associates a phpwebgallery_images column name to a IPTC key @@ -112,6 +217,10 @@ $conf['use_iptc_mapping'] = array( 'comment' => '2#120' ); +// show_exif: Show EXIF metadata on picture.php (table or line presentation +// avalaible) +$conf['show_exif'] = true; + // show_exif_fields : in EXIF fields, you can choose to display fields in // sub-arrays, for example ['COMPUTED']['ApertureFNumber']. for this, add // 'COMPUTED;ApertureFNumber' in $conf['show_exif_fields'] @@ -124,17 +233,29 @@ $conf['use_iptc_mapping'] = array( // for PHP version newer than 4.1.2 : // $conf['show_exif_fields'] = array('CameraMake','CameraModel','DateTime'); // -$conf['show_exif_fields'] = array('Make', - 'Model', - 'DateTime', - 'COMPUTED;ApertureFNumber'); +$conf['show_exif_fields'] = array( + 'Make', + 'Model', + 'DateTimeOriginal', + 'COMPUTED;ApertureFNumber' + ); -// calendar_datefield : date field of table "images" used for calendar -// catgory -$conf['calendar_datefield'] = 'date_creation'; +// use_exif: Use EXIF data during database synchronization with files +// metadata +$conf['use_exif'] = false; -// rate : enable feature for rating elements -$conf['rate'] = true; +// use_exif_mapping: same behaviour as use_iptc_mapping +$conf['use_exif_mapping'] = array( + 'date_creation' => 'DateTimeOriginal' + ); + +// +-----------------------------------------------------------------------+ +// | sessions | +// +-----------------------------------------------------------------------+ + +// authorize_remembering : permits user to stay logged for a long time. It +// creates a cookie on client side. +$conf['authorize_remembering'] = true; // remember_me_length : time of validity for "remember me" cookies, in // seconds. @@ -153,9 +274,9 @@ $conf['session_length'] = 3600; // $conf['session_id_size'] = 10; -// info_nb_elements_page : number of elements to display per page on -// admin/infos_images -$conf['info_nb_elements_page'] = 5; +// +-----------------------------------------------------------------------+ +// | debug | +// +-----------------------------------------------------------------------+ // show_queries : for debug purpose, show queries and execution times $conf['show_queries'] = false; @@ -163,75 +284,18 @@ $conf['show_queries'] = false; // show_gt : display generation time at the bottom of each page $conf['show_gt'] = true; -// newcat_default_commentable : at creation, must a category be commentable -// or not ? -$conf['newcat_default_commentable'] = 'true'; - -// newcat_default_uploadable : at creation, must a category be uploadable or -// not ? -$conf['newcat_default_uploadable'] = 'false'; - -// newcat_default_visible : at creation, must a category be visible or not ? -// Warning : if the parent category is invisible, the category is -// automatically create invisible. (invisible = locked) -$conf['newcat_default_visible'] = 'true'; - -// newcat_default_status : at creation, must a category be public or private -// ? Warning : if the parent category is private, the category is -// automatically create private. -$conf['newcat_default_status'] = 'public'; - -// level_separator : character string used for separating a category level -// to the sub level. Suggestions : ' / ', ' » ', ' → ', ' - ', -// ' >' -$conf['level_separator'] = ' / '; - -// paginate_pages_around : on paginate navigation bar, how many pages -// display before and after the current page ? -$conf['paginate_pages_around'] = 2; - -// tn_width : default width for thumbnails creation -$conf['tn_width'] = 128; - -// tn_height : default height for thumbnails creation -$conf['tn_height'] = 96; - -// show_version : shall the version of PhpWebGallery be displayed at the -// bottom of each page ? -$conf['show_version'] = true; - -// links : list of external links to add in the menu. An example is the best -// than a long explanation : -// -// $conf['links'] = array( -// 'http://phpwebgallery.net' => 'PWG website', -// 'http://forum.phpwebgallery.net' => 'PWG forum', -// 'http://phpwebgallery.net/doc' => 'PWG wiki' -// ); -// -// If the array is empty, the "Links" box won't be displayed on the main -// page. -$conf['links'] = array(); - -// feed_period : how long between two feed refresh ? Possible values are -// "hour", "half day", "day", "week", "month". -$conf['feed_period'] = 'week'; - -// show_thumbnail_caption : on thumbnails page, show thumbnail captions ? -$conf['show_thumbnail_caption'] = true; +// debug_l10n : display a warning message each time an unset language key is +// accessed +$conf['debug_l10n'] = false; -// show_picture_name_on_title : on picture presentation page, show picture -// name ? -$conf['show_picture_name_on_title'] = true; +// +-----------------------------------------------------------------------+ +// | authentication | +// +-----------------------------------------------------------------------+ // apache_authentication : use Apache authentication as reference instead of // users table ? $conf['apache_authentication'] = false; -// debug_l10n : display a warning message each time an unset language key is -// accessed -$conf['debug_l10n'] = false; - // users_table : which table is the reference for users ? Can be a different // table than PhpWebGallery table $conf['users_table'] = $prefixeTable.'users'; @@ -253,30 +317,30 @@ $conf['pass_convert'] = create_function('$s', 'return md5($s);'); // guest_id : id of the anonymous user $conf['guest_id'] = 2; -// allow_random_representative : do you wish PhpWebGallery to search among -// categories elements a new representative at each reload ? -// -// If false, an element is randomly or manually chosen to represent its -// category and remains the representative as long as an admin does not -// change it. -// -// Warning : setting this parameter to true is CPU consuming. Each time you -// change the value of this parameter from false to true, an administrator -// must update categories informations in screen [Admin > General > -// Maintenance]. -$conf['allow_random_representative'] = false; +// webmaster_id : webmaster'id. +$conf['webmaster_id'] = 1; -// allow_html_descriptions : authorize administrators to use HTML in -// category and element description. -$conf['allow_html_descriptions'] = true; +// +-----------------------------------------------------------------------+ +// | upload | +// +-----------------------------------------------------------------------+ -// gallery_title : Title at top of each page and for RSS feed -$conf['gallery_title'] = 'PhpWebGallery demonstration site'; +// upload_maxfilesize: maximum filesize for the uploaded pictures. In +// kilobytes. +$conf['upload_maxfilesize'] = 200; -// gallery_description : Short description displayed with gallery title -$conf['gallery_description'] = 'My photos web site'; +// upload_maxheight: maximum height authorized for the uploaded images. In +// pixels. +$conf['upload_maxheight'] = 800; -// galery_url : URL given in RSS feed -$conf['gallery_url'] = 'http://demo.phpwebgallery.net'; +// upload_maxwidth: maximum width authorized for the uploaded images. In +// kilobytes. +$conf['upload_maxwidth'] = 800; + +// upload_maxheight_thumbnail: maximum height authorized for the uploaded +// thumbnails +$conf['upload_maxheight_thumbnail'] = 100; +// upload_maxwidth_thumbnail: maximum width authorized for the uploaded +// thumbnails +$conf['upload_maxwidth_thumbnail'] = 150; ?> diff --git a/include/functions_metadata.inc.php b/include/functions_metadata.inc.php index 2708810f1..d03327f60 100644 --- a/include/functions_metadata.inc.php +++ b/include/functions_metadata.inc.php @@ -91,4 +91,46 @@ function clean_iptc_value($value) return $value; } + +/** + * returns informations from EXIF metadata, mapping is done at the beginning + * of the function + * + * @param string $filename + * @return array + */ +function get_exif_data($filename, $map) +{ + $result = array(); + + if (!function_exists('read_exif_data')) + { + die('Exif extension not available, admin should disable exif use'); + } + + // Read EXIF data + if ($exif = @read_exif_data($filename)) + { + foreach ($map as $key => $field) + { + if (strpos($field, ';') === false) + { + if (isset($exif[$field])) + { + $result[$key] = $exif[$field]; + } + } + else + { + $tokens = explode(';', $field); + if (isset($exif[$tokens[0]][$tokens[1]])) + { + $result[$key] = $exif[$tokens[0]][$tokens[1]]; + } + } + } + } + + return $result; +} ?>
\ No newline at end of file diff --git a/include/page_tail.php b/include/page_tail.php index 5e4a977e6..33f6900cf 100644 --- a/include/page_tail.php +++ b/include/page_tail.php @@ -29,13 +29,11 @@ $template->set_filenames(array('tail'=>'footer.tpl')); $template->assign_vars( array( 'VERSION' => $conf['show_version'] ? PHPWG_VERSION : '', - 'MAIL'=>$conf['mail_webmaster'], 'L_GEN_TIME' => $lang['generation_time'], 'L_SQL_QUERIES_IN' => $lang['sql_queries_in'], 'L_SEND_MAIL' => $lang['send_mail'], 'L_TITLE_MAIL' => $lang['title_send_mail'], - 'L_WEBMASTER'=>$lang['webmaster'], 'L_POWERED_BY'=>$lang['powered_by'] )); //------------------------------------------------------------- generation time @@ -56,6 +54,25 @@ if ($conf['show_gt']) 'SQL_TIME' => number_format($page['queries_time'],3,'.',' ').' s')); } +//--------------------------------------------------------------------- contact + +if (!$user['is_the_guest']) +{ + $query = ' +SELECT '.$conf['user_fields']['email'].' + FROM '.USERS_TABLE.' + WHERE '.$conf['user_fields']['id'].' = '.$conf['webmaster_id'].' +;'; + list($email) = mysql_fetch_array(pwg_query($query)); + + $template->assign_block_vars( + 'contact', + array( + 'MAIL' => $email + ) + ); +} + // // Generate the page // diff --git a/include/scripts.js b/include/scripts.js index 43fb86644..2550233e6 100644 --- a/include/scripts.js +++ b/include/scripts.js @@ -29,4 +29,14 @@ for( i=0; i<len; i++) function phpWGOpenWindow(theURL,winName,features) { window.open(theURL,winName,features); -}
\ No newline at end of file +} + +function popuphelp(url) +{ + window.open( + url, + 'dc_popup', + 'alwaysRaised=yes,dependent=yes,toolbar=no,height=420,width=500,menubar=no,resizable=yes,scrollbars=yes,status=no' + ); +} + diff --git a/include/template.php b/include/template.php index 14f5d4349..f82937d99 100644 --- a/include/template.php +++ b/include/template.php @@ -269,7 +269,8 @@ class Template { function make_filename($filename) { // Check if it's an absolute or relative path. - if (substr($filename, 0, 1) != '/') + // if (substr($filename, 0, 1) != '/') + if (preg_match('/^[a-z_]/i', $filename)) { $filename = $this->root.'/'.$filename; } |