aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--about.php15
-rw-r--r--admin.php5
-rw-r--r--admin/cat_list.php133
-rw-r--r--admin/cat_modify.php73
-rw-r--r--admin/cat_perm.php6
-rw-r--r--admin/comments.php8
-rw-r--r--admin/configuration.php39
-rw-r--r--admin/create_listing_file.php214
-rw-r--r--admin/group_list.php2
-rw-r--r--admin/group_perm.php2
-rw-r--r--admin/include/functions.php622
-rw-r--r--admin/include/isadmin.inc.php3
-rw-r--r--admin/infos_images.php340
-rw-r--r--admin/phpwebgallery_structure.sql25
-rw-r--r--admin/picture_modify.php83
-rw-r--r--admin/stats.php26
-rw-r--r--admin/thumbnail.php11
-rw-r--r--admin/update.php878
-rw-r--r--admin/user_list.php9
-rw-r--r--admin/user_modify.php12
-rw-r--r--admin/user_perm.php3
-rw-r--r--admin/waiting.php2
-rw-r--r--category.php166
-rw-r--r--comments.php34
-rw-r--r--common.php205
-rw-r--r--config.php10
-rw-r--r--identification.php19
-rw-r--r--include/config.inc.php47
-rw-r--r--include/constants.php (renamed from include/constant.php)16
-rw-r--r--include/functions.inc.php122
-rw-r--r--include/functions_category.inc.php355
-rw-r--r--include/functions_group.inc.php6
-rw-r--r--include/functions_user.inc.php241
-rw-r--r--include/functions_xml.inc.php4
-rw-r--r--include/init.inc.php35
-rw-r--r--include/page_header.php30
-rw-r--r--include/page_tail.php19
-rw-r--r--include/user.inc.php36
-rw-r--r--include/vtemplate.class.php1
-rw-r--r--index.php12
-rw-r--r--install.php49
-rw-r--r--language/catala.php550
-rw-r--r--language/deutsch.php560
-rw-r--r--language/english.php8
-rw-r--r--language/francais.php18
-rw-r--r--language/japanese.php555
-rw-r--r--language/magyar.php556
-rw-r--r--language/norsk.php680
-rw-r--r--language/spanish.php550
-rw-r--r--language/svenska.php550
-rw-r--r--picture.php321
-rw-r--r--profile.php56
-rw-r--r--register.php21
-rw-r--r--search.php21
-rw-r--r--template/default/about.vtp13
-rw-r--r--template/default/admin/cat_list.vtp18
-rw-r--r--template/default/admin/cat_modify.vtp7
-rw-r--r--template/default/admin/comments.vtp2
-rw-r--r--template/default/admin/configuration.vtp2
-rw-r--r--template/default/admin/infos_image.vtp19
-rw-r--r--template/default/admin/picture_modify.vtp6
-rw-r--r--template/default/admin/stats.vtp43
-rw-r--r--template/default/category.vtp38
-rw-r--r--template/default/comments.vtp66
-rw-r--r--template/default/default-admin.css93
-rw-r--r--template/default/default.css208
-rw-r--r--template/default/footer.vtp8
-rw-r--r--template/default/header.vtp13
-rw-r--r--template/default/htmlfunctions.inc.php37
-rw-r--r--template/default/identification.vtp13
-rw-r--r--template/default/picture.vtp58
-rw-r--r--template/default/profile.vtp13
-rw-r--r--template/default/register.vtp13
-rw-r--r--template/default/search.vtp13
-rw-r--r--template/default/style.inc.php147
-rw-r--r--template/default/theme/conf.php23
-rw-r--r--template/default/upload.vtp13
-rw-r--r--upload.php44
78 files changed, 7173 insertions, 2101 deletions
diff --git a/about.php b/about.php
index 322a82d86..1ed3ae960 100644
--- a/about.php
+++ b/about.php
@@ -17,14 +17,20 @@
* *
***************************************************************************/
-//----------------------------------------------------------- personnal include
-include_once( './include/init.inc.php' );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+$title= $lang['about_page_title'];
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/'.$user['template'].'/about.vtp' );
initialize_template();
-$tpl = array('about_page_title','about_title','about_message','about_return');
+$tpl = array('about_title','about_message','about_return');
templatize_array( $tpl, 'lang', $handle );
$vtp->setVar( $handle, 'user_template', $user['template'] );
@@ -33,4 +39,5 @@ $vtp->setVar( $handle, 'back_url', add_session_id( $url ) );
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/admin.php b/admin.php
index 5105d9ea3..5707cca0f 100644
--- a/admin.php
+++ b/admin.php
@@ -17,7 +17,9 @@
* *
***************************************************************************/
-//----------------------------------------------------------- personnal include
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
include_once( './admin/include/isadmin.inc.php' );
//----------------------------------------------------- template initialization
$vtp = new VTemplate;
@@ -34,6 +36,7 @@ if ( is_file( './install.php' ) )
//--------------------------------------- validating page and creation of title
$page_valide = false;
$title = '';
+if (isset( $_GET['page'] ))
switch ( $_GET['page'] )
{
case 'user_list':
diff --git a/admin/cat_list.php b/admin/cat_list.php
index 706dce2ac..9c6af62dd 100644
--- a/admin/cat_list.php
+++ b/admin/cat_list.php
@@ -18,18 +18,41 @@
* *
***************************************************************************/
include_once( './admin/include/isadmin.inc.php' );
+
//----------------------------------------------------- template initialization
$sub = $vtp->Open( './template/'.$user['template'].'/admin/cat_list.vtp' );
$tpl = array( 'cat_edit','cat_up','cat_down','cat_image_info',
'cat_permission','cat_update','cat_add','cat_parent','submit',
- 'cat_virtual','delete','cat_first','cat_last' );
+ 'cat_virtual','delete','cat_first','cat_last','errors_title' );
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
//--------------------------------------------------- adding a virtual category
$errors = array();
if ( isset( $_POST['submit'] ) )
{
- if ( !preg_match( '/^\s*$/', $_POST['virtual_name'] ) )
+ // is the given category name only containing blank spaces ?
+ if ( preg_match( '/^\s*$/', $_POST['virtual_name'] ) )
+ array_push( $errors, $lang['cat_error_name'] );
+ // does the uppercat id exists in the database ?
+ if ( $_POST['associate'] == '' )
+ {
+ $_POST['associate'] = -1;
+ }
+ else if ( !is_numeric( $_POST['associate'] ) )
+ {
+ array_push( $errors, $lang['cat_unknown_id'] );
+ }
+ else
+ {
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id = '.$_POST['associate'];
+ $query.= ';';
+ if ( mysql_num_rows( mysql_query( $query ) ) == 0 )
+ array_push( $errors, $lang['cat_unknown_id'] );
+ }
+
+ if ( count( $errors ) == 0 )
{
// we have then to add the virtual category
$query = 'INSERT INTO '.PREFIX_TABLE.'categories';
@@ -41,10 +64,7 @@ if ( isset( $_POST['submit'] ) )
$query.= " ('".$_POST['virtual_name']."',".$_POST['associate'].")";
$query.= ';';
mysql_query( $query );
- }
- else
- {
- array_push( $errors, $lang['cat_error_name'] );
+ synchronize_all_users();
}
}
//--------------------------------------------------------------- rank updates
@@ -171,6 +191,7 @@ if ( isset( $_GET['first'] ) and is_numeric( $_GET['first'] ) )
if ( isset( $_GET['delete'] ) and is_numeric( $_GET['delete'] ) )
{
delete_category( $_GET['delete'] );
+ synchronize_all_users();
}
//------------------------------------------------------------------ reordering
function ordering( $id_uppercat )
@@ -233,6 +254,8 @@ function display_cat_manager( $id_uppercat, $indent,
$query.= ';';
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
+ if ( !isset( $row['min'] ) ) $row['min'] = 0;
+ if ( !isset( $row['max'] ) ) $row['max'] = 0;
$min_rank = $row['min'];
$max_rank = $row['max'];
@@ -258,13 +281,39 @@ function display_cat_manager( $id_uppercat, $indent,
while ( $row = mysql_fetch_array( $result ) )
{
$subcat_visible = true;
+ if ( !isset( $row['dir'] ) ) $row['dir'] = '';
$vtp->addSession( $sub, 'cat' );
+ // is the category expanded or not ?
+ if ( isset($page['expand']) && $page['expand'] == 'all' )
+ {
+ $vtp->addSession( $sub, 'bullet_wo_link' );
+ $vtp->closeSession( $sub, 'bullet_wo_link' );
+ }
+ else if ( isset($page['tab_expand']) && in_array( $row['id'], $page['tab_expand'] ) )
+ {
+ $vtp->addSession( $sub, 'bullet_expanded' );
+ $tab_expand = array_diff( $page['tab_expand'], array( $row['id'] ) );
+ $expand = implode( ',', $tab_expand );
+ $url = './admin.php?page=cat_list&expand='.$expand;
+ $vtp->setVar( $sub, 'bullet_expanded.link', add_session_id( $url ) );
+ $vtp->closeSession( $sub, 'bullet_expanded' );
+ }
+ else
+ {
+ $vtp->addSession( $sub, 'bullet_collapsed' );
+ $tab_expand = array_merge( $page['tab_expand'], array( $row['id'] ) );
+ $expand = implode( ',', $tab_expand );
+ $url = './admin.php?page=cat_list&expand='.$expand;
+ $vtp->setVar( $sub, 'bullet_collapsed.link', add_session_id( $url ) );
+ $vtp->closeSession( $sub, 'bullet_collapsed' );
+ }
+
$vtp->setVar( $sub, 'cat.td', $td );
$vtp->setVar( $sub, 'cat.class', $class );
$vtp->setVar( $sub, 'cat.indent', $indent );
$vtp->setVar( $sub, 'cat.name', $row['name'] );
- $vtp->setVar( $sub, 'cat.id', $row['id'] );
+
if ( $row['dir'] != '' )
{
$vtp->addSession( $sub, 'storage' );
@@ -280,7 +329,8 @@ function display_cat_manager( $id_uppercat, $indent,
$vtp->closeSession( $sub, 'virtual' );
// category can be deleted
$vtp->addSession( $sub, 'delete' );
- $url = './admin.php?page=cat_list&delete='.$row['id'];
+ $url = './admin.php?page=cat_list&expand='.$page['expand'];
+ $url.= '&delete='.$row['id'];
$vtp->setVar( $sub, 'delete.delete_url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'delete' );
}
@@ -299,41 +349,40 @@ function display_cat_manager( $id_uppercat, $indent,
if ( $row['rank'] != $min_rank )
{
$vtp->addSession( $sub, 'up' );
- $vtp->setVar( $sub, 'up.id', $row['id'] );
- $url = add_session_id( './admin.php?page=cat_list&up='.$row['id'] );
- $vtp->setVar( $sub, 'up.up_url', $url );
+ $url = './admin.php?page=cat_list&expand='.$page['expand'];
+ $url.= '&up='.$row['id'];
+ $vtp->setVar( $sub, 'up.up_url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'up' );
}
else if ( $min_rank != $max_rank )
{
$vtp->addSession( $sub, 'no_up' );
- $vtp->setVar( $sub, 'no_up.id', $row['id'] );
- $url = add_session_id( './admin.php?page=cat_list&last='.$row['id']);
- $vtp->setVar( $sub, 'no_up.last_url', $url );
+ $url = './admin.php?page=cat_list&expand='.$page['expand'];
+ $url.= '&last='.$row['id'];
+ $vtp->setVar( $sub, 'no_up.last_url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'no_up' );
}
if ( $row['rank'] != $max_rank )
{
$vtp->addSession( $sub, 'down' );
- $vtp->setVar( $sub, 'down.id', $row['id'] );
- $url = add_session_id( './admin.php?page=cat_list&down='.$row['id']);
- $vtp->setVar( $sub, 'down.down_url', $url );
+ $url = './admin.php?page=cat_list&expand='.$page['expand'];
+ $url.= '&down='.$row['id'];
+ $vtp->setVar( $sub, 'down.down_url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'down' );
}
else if ( $min_rank != $max_rank )
{
$vtp->addSession( $sub, 'no_down' );
- $vtp->setVar( $sub, 'no_down.id', $row['id'] );
- $url = add_session_id('./admin.php?page=cat_list&first='.$row['id']);
- $vtp->setVar( $sub, 'no_down.first_url', $url );
+ $url = './admin.php?page=cat_list&expand='.$page['expand'];
+ $url.= '&first='.$row['id'];
+ $vtp->setVar( $sub, 'no_down.first_url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'no_down' );
}
if ( $row['nb_images'] > 0 )
{
$vtp->addSession( $sub, 'image_info' );
- $url = add_session_id( './admin.php?page=infos_images&cat_id='
- .$row['id'] );
- $vtp->setVar( $sub, 'image_info.image_info_url', $url );
+ $url = './admin.php?page=infos_images&cat_id='.$row['id'];
+ $vtp->setVar( $sub, 'image_info.image_info_url', add_session_id($url) );
$vtp->closeSession( $sub, 'image_info' );
}
else
@@ -371,19 +420,39 @@ function display_cat_manager( $id_uppercat, $indent,
$vtp->closeSession( $sub, 'cat' );
- display_cat_manager( $row['id'], $indent.str_repeat( '&nbsp', 4 ),
- $subcat_visible, $level + 1 );
+ if ( in_array( $row['id'], $page['tab_expand'] )
+ or $page['expand'] == 'all')
+ display_cat_manager( $row['id'], $indent.str_repeat( '&nbsp', 4 ),
+ $subcat_visible, $level + 1 );
}
}
display_cat_manager( 'NULL', str_repeat( '&nbsp', 4 ), true, 0 );
// add a virtual category ?
-$vtp->addSession( $sub, 'associate_cat' );
-$vtp->setVar( $sub, 'associate_cat.value', '-1' );
-$vtp->setVar( $sub, 'associate_cat.content', '' );
-$vtp->closeSession( $sub, 'associate_cat' );
-$page['plain_structure'] = get_plain_structure();
-$structure = create_structure( '', array() );
-display_categories( $structure, ' ' );
+// We only show a List Of Values if the number of categories is less than
+// $conf['max_LOV_categories']
+$query = 'SELECT COUNT(id) AS nb_total_categories';
+$query.= ' FROM '.PREFIX_TABLE.'categories';
+$query.= ';';
+$row = mysql_fetch_array( mysql_query( $query ) );
+if ( $row['nb_total_categories'] < $conf['max_LOV_categories'] )
+{
+ $vtp->addSession( $sub, 'associate_LOV' );
+ $vtp->addSession( $sub, 'associate_cat' );
+ $vtp->setVar( $sub, 'associate_cat.value', '-1' );
+ $vtp->setVar( $sub, 'associate_cat.content', '' );
+ $vtp->closeSession( $sub, 'associate_cat' );
+ $page['plain_structure'] = get_plain_structure( true );
+ $structure = create_structure( '', array() );
+ display_categories( $structure, '&nbsp;' );
+ $vtp->closeSession( $sub, 'associate_LOV' );
+}
+// else, we only display a small text field, we suppose the administrator
+// knows the id of its category
+else
+{
+ $vtp->addSession( $sub, 'associate_text' );
+ $vtp->closeSession( $sub, 'associate_text' );
+}
//----------------------------------------------------------- sending html code
$vtp->Parse( $handle , 'sub', $sub );
?> \ No newline at end of file
diff --git a/admin/cat_modify.php b/admin/cat_modify.php
index ad0911a0c..50741feea 100644
--- a/admin/cat_modify.php
+++ b/admin/cat_modify.php
@@ -40,20 +40,6 @@ if ( isset( $_POST['submit'] ) )
$query.= ' WHERE id = '.$_GET['cat'];
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
-
- if ( $_POST['status'] != $row['status'] )
- {
- // deletion of all access for groups concerning this category
- $query = 'DELETE';
- $query.= ' FROM '.PREFIX_TABLE.'group_access';
- $query.= ' WHERE cat_id = '.$_GET['cat'];
- mysql_query( $query );
- // deletion of all access for users concerning this category
- $query = 'DELETE';
- $query.= ' FROM '.PREFIX_TABLE.'user_access';
- $query.= ' WHERE cat_id = '.$_GET['cat'];
- mysql_query( $query );
- }
$query = 'UPDATE '.PREFIX_TABLE.'categories';
@@ -78,13 +64,31 @@ if ( isset( $_POST['submit'] ) )
if ( isset( $_POST['associate'] ) )
{
$query.= ', id_uppercat = ';
- if ( $_POST['associate'] == -1 ) $query.= 'NULL';
- else $query.= $_POST['associate'];
+ if ( $_POST['associate'] == -1 or $_POST['associate'] == '' )
+ $query.= 'NULL';
+ else
+ $query.= $_POST['associate'];
}
$query.= ' WHERE id = '.$_GET['cat'];
$query.= ';';
mysql_query( $query );
+ if ( $_POST['status'] != $row['status'] )
+ {
+ // deletion of all access for groups concerning this category
+ $query = 'DELETE';
+ $query.= ' FROM '.PREFIX_TABLE.'group_access';
+ $query.= ' WHERE cat_id = '.$_GET['cat'];
+ mysql_query( $query );
+ // deletion of all access for users concerning this category
+ $query = 'DELETE';
+ $query.= ' FROM '.PREFIX_TABLE.'user_access';
+ $query.= ' WHERE cat_id = '.$_GET['cat'];
+ mysql_query( $query );
+ // resynchronize all users
+ synchronize_all_users();
+ }
+
// checking users favorites
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'users';
@@ -111,6 +115,10 @@ $query.= ' WHERE a.id = '.$_GET['cat'];
$query.= ' AND a.site_id = b.id';
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
+
+if ( !isset( $row['dir'] ) ) $row['dir'] = '';
+if ( !isset( $row['id_uppercat'] ) ) $row['id_uppercat'] = '';
+
$result = get_cat_info( $row['id'] );
// cat name
$cat_name = get_cat_display_name( $result['name'], ' - ', '' );
@@ -135,6 +143,7 @@ if ( $row['site_id'] != 1 )
$vtp->closeSession( $sub, 'server' );
}
$vtp->setVar( $sub, 'name', $row['name'] );
+if ( !isset( $row['comment'] ) ) $row['comment'] = '';
$vtp->setVar( $sub, 'comment', $row['comment'] );
// status : public, private...
$options = get_enums( PREFIX_TABLE.'categories', 'status' );
@@ -203,12 +212,32 @@ if ( $conf['upload_available'] and $row['dir'] != '' and $row['site_id'] == 1 )
if ( $row['dir'] == '' )
{
$vtp->addSession( $sub, 'parent' );
- $vtp->addSession( $sub, 'associate_cat' );
- $vtp->setVar( $sub, 'associate_cat.value', '-1' );
- $vtp->setVar( $sub, 'associate_cat.content', '' );
- $vtp->closeSession( $sub, 'associate_cat' );
- $structure = create_structure( '', array() );
- display_categories( $structure, '&nbsp;', $row['id_uppercat'], $row['id'] );
+ // We only show a List Of Values if the number of categories is less than
+ // $conf['max_LOV_categories']
+ $query = 'SELECT COUNT(id) AS nb_total_categories';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ';';
+ $countrow = mysql_fetch_array( mysql_query( $query ) );
+ if ( $countrow['nb_total_categories'] < $conf['max_LOV_categories'] )
+ {
+ $vtp->addSession( $sub, 'associate_LOV' );
+ $vtp->addSession( $sub, 'associate_cat' );
+ $vtp->setVar( $sub, 'associate_cat.value', '-1' );
+ $vtp->setVar( $sub, 'associate_cat.content', '' );
+ $vtp->closeSession( $sub, 'associate_cat' );
+ $page['plain_structure'] = get_plain_structure( true );
+ $structure = create_structure( '', array() );
+ display_categories( $structure, '&nbsp;', $row['id_uppercat'],$row['id'] );
+ $vtp->closeSession( $sub, 'associate_LOV' );
+ }
+ // else, we only display a small text field, we suppose the administrator
+ // knows the id of its category
+ else
+ {
+ $vtp->addSession( $sub, 'associate_text' );
+ $vtp->setVar( $sub, 'associate_text.value', $row['id_uppercat'] );
+ $vtp->closeSession( $sub, 'associate_text' );
+ }
$vtp->closeSession( $sub, 'parent' );
}
//----------------------------------------------------------- sending html code
diff --git a/admin/cat_perm.php b/admin/cat_perm.php
index 81d9f9945..09767c19b 100644
--- a/admin/cat_perm.php
+++ b/admin/cat_perm.php
@@ -83,6 +83,8 @@ if ( isset( $_POST['submit'] ) )
}
check_favorites( $row['id'] );
}
+ // resynchronize all users
+ synchronize_all_users();
}
//---------------------------------------------------------------------- groups
$query = 'SELECT id,name';
@@ -149,7 +151,7 @@ while ( $row = mysql_fetch_array( $result ) )
// for color of user : (red means access forbidden, green authorized) we
// ask all forbidden categories, including the groups rights
- $restrictions = get_restrictions( $row['id'], $row['status'], false );
+ $restrictions = get_user_restrictions( $row['id'], $row['status'], false );
$is_user_allowed = is_user_allowed( $page['cat'], $restrictions );
if ( $is_user_allowed == 0 )
{
@@ -161,7 +163,7 @@ while ( $row = mysql_fetch_array( $result ) )
}
// for permission update button, we only ask forbidden categories for the
// user, not taking into account the groups the user belongs to
- $restrictions = get_restrictions( $row['id'], $row['status'], false, false );
+ $restrictions = get_user_restrictions($row['id'],$row['status'],false,false);
$is_user_allowed = is_user_allowed( $page['cat'], $restrictions );
if ( $is_user_allowed == 2 )
{
diff --git a/admin/comments.php b/admin/comments.php
index 1b23fbbff..8d7c3122e 100644
--- a/admin/comments.php
+++ b/admin/comments.php
@@ -36,7 +36,7 @@ function display_pictures( $mysql_result, $maxtime, $validation_box = false )
$subresult = mysql_query( $query );
$subrow = mysql_fetch_array( $subresult );
- if ( $array_cat_directories[$subrow['cat_id']] == '' )
+ if ( !isset( $array_cat_directories[$subrow['cat_id']] ) )
{
$array_cat_directories[$subrow['cat_id']] =
get_complete_dir( $subrow['cat_id'] );
@@ -49,7 +49,7 @@ function display_pictures( $mysql_result, $maxtime, $validation_box = false )
$file = get_filename_wo_extension( $subrow['file'] );
// name of the picture
$name = $array_cat_names[$subrow['cat_id']].' &gt; ';
- if ( $subrow['name'] != '' )
+ if ( isset( $subrow['name'] ) and $subrow['name'] != '' )
{
$name.= $subrow['name'];
}
@@ -159,8 +159,8 @@ $tpl = array( 'stats_last_days','delete','close','submit','open' );
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
//--------------------------------------------------- number of days to display
-if ( isset( $_GET['last_days'] ) ) define( "MAX_DAYS", $_GET['last_days'] );
-else define( "MAX_DAYS", 0 );
+if ( isset( $_GET['last_days'] ) ) define( 'MAX_DAYS', $_GET['last_days'] );
+else define( 'MAX_DAYS', 0 );
//----------------------------------------- non specific section initialization
$array_cat_directories = array();
$array_cat_names = array();
diff --git a/admin/configuration.php b/admin/configuration.php
index bced7704f..9f4bbca97 100644
--- a/admin/configuration.php
+++ b/admin/configuration.php
@@ -60,6 +60,7 @@ if ( isset( $_POST['submit'] ) )
mysql_query( $query );
}
// deletion of site as asked
+ $site_deleted = false;
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'sites';
$query.= " WHERE galleries_url <> './galleries/';";
@@ -70,12 +71,17 @@ if ( isset( $_POST['submit'] ) )
if ( $_POST[$site] == 1 )
{
delete_site( $row['id'] );
- // if any picture of this site were linked to another categories, we
- // have to update the informations of those categories. To make it
- // simple, we just update all the categories
- update_category( 'all' );
+ $site_deleted = true;
}
}
+ // if any picture of this site were linked to another categories, we have
+ // to update the informations of those categories. To make it simple, we
+ // just update all the categories
+ if ( $site_deleted )
+ {
+ update_category( 'all' );
+ synchronize_all_users();
+ }
// thumbnail prefix must not contain accentuated characters
$old_prefix = $_POST['prefix_thumbnail'];
$prefix = strtr( $_POST['prefix_thumbnail'], $Caracs );
@@ -234,30 +240,22 @@ if ( isset( $_POST['submit'] ) )
else
{
//--------------------------------------------------------- data initialization
- $query = 'SELECT';
- foreach ( $conf_infos as $i => $conf_info ) {
- if ( $i > 0 ) $query.= ',';
- else $query.= ' ';
- $query.= $conf_info;
- }
+ $query = 'SELECT '.implode( ',', $conf_infos );
$query .= ' FROM '.PREFIX_TABLE.'config;';
$row = mysql_fetch_array( mysql_query( $query ) );
- foreach ( $conf_infos as $conf_info ) {
- $$conf_info = $row[$conf_info];
+ foreach ( $conf_infos as $info ) {
+ if ( isset( $row[$info] ) ) $$info = $row[$info];
+ else $$info = '';
}
- $query = 'SELECT';
- foreach ( $default_user_infos as $i => $default_user_info ) {
- if ( $i > 0 ) $query.= ',';
- else $query.= ' ';
- $query.= $default_user_info;
- }
+ $query = 'SELECT '.implode( ',', $default_user_infos );
$query.= ' FROM '.PREFIX_TABLE.'users';
$query.= " WHERE username = 'guest'";
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
- foreach ( $default_user_infos as $default_user_info ) {
- $$default_user_info = $row[$default_user_info];
+ foreach ( $default_user_infos as $info ) {
+ if ( isset( $row[$info] ) ) $$info = $row[$info];
+ else $$info = '';
}
}
//----------------------------------------------------- template initialization
@@ -653,6 +651,7 @@ $vtp->setVar( $sub, 'param_line.name', $lang['customize_theme'] );
$vtp->addSession( $sub, 'select' );
$vtp->setVar( $sub, 'select.name', 'template' );
$option = get_dirs( './template/' );
+
for ( $i = 0; $i < sizeof( $option ); $i++ )
{
$vtp->addSession( $sub, 'option' );
diff --git a/admin/create_listing_file.php b/admin/create_listing_file.php
index 507a4862f..c4f880424 100644
--- a/admin/create_listing_file.php
+++ b/admin/create_listing_file.php
@@ -9,8 +9,7 @@
* *
***************************************************************************/
-$prefix_thumbnail = 'TN-';
-
+$conf['prefix_thumbnail'] = 'TN-';
$conf['picture_ext'] = array ( 'jpg', 'gif', 'png', 'JPG', 'GIF', 'PNG' );
$listing = '';
@@ -20,24 +19,76 @@ $local_folder = substr( $_SERVER['PHP_SELF'], 0, $end );
$url = 'http://'.$_SERVER['HTTP_HOST'].$local_folder;
$listing.= '<url>'.$url.'</url>';
-
+
+/**
+ * returns an array with all picture files according to $conf['picture_ext']
+ *
+ * @param string $dir
+ * @return array
+ */
+function get_picture_files( $dir )
+{
+ global $conf;
+
+ $pictures = array();
+ if ( $opendir = opendir( $dir ) )
+ {
+ while ( $file = readdir( $opendir ) )
+ {
+ if ( in_array( get_extension( $file ), $conf['picture_ext'] ) )
+ {
+ array_push( $pictures, $file );
+ }
+ }
+ }
+ return $pictures;
+}
+
+/**
+ * returns an array with all thumbnails according to $conf['picture_ext']
+ * and $conf['prefix_thumbnail']
+ *
+ * @param string $dir
+ * @return array
+ */
+function get_thumb_files( $dir )
+{
+ global $conf;
+
+ $prefix_length = strlen( $conf['prefix_thumbnail'] );
+
+ $thumbnails = array();
+ if ( $opendir = @opendir( $dir ) )
+ {
+ while ( $file = readdir( $opendir ) )
+ {
+ if ( in_array( get_extension( $file ), $conf['picture_ext'] )
+ and substr($file,0,$prefix_length) == $conf['prefix_thumbnail'] )
+ {
+ array_push( $thumbnails, $file );
+ }
+ }
+ }
+ return $thumbnails;
+}
+
// get_dirs retourne un tableau contenant tous les sous-répertoires d'un
// répertoire
-function get_dirs( $rep, $indent, $level )
+function get_dirs( $basedir, $indent, $level )
{
- $sub_rep = array();
- $i = 0;
+ $fs_dirs = array();
$dirs = "";
- if ( $opendir = opendir ( $rep ) )
+
+ if ( $opendir = opendir( $basedir ) )
{
- while ( $file = readdir ( $opendir ) )
+ while ( $file = readdir( $opendir ) )
{
- if ( $file != "."
- and $file != ".."
- and is_dir ( $rep."/".$file )
- and $file != "thumbnail" )
+ if ( $file != '.'
+ and $file != '..'
+ and is_dir ( $basedir.'/'.$file )
+ and $file != 'thumbnail' )
{
- $sub_rep[$i++] = $file;
+ array_push( $fs_dirs, $file );
if ( !preg_match( '/^[a-zA-Z0-9-_.]+$/', $file ) )
{
echo '<span style="color:red;">"'.$file.'" : ';
@@ -49,11 +100,10 @@ function get_dirs( $rep, $indent, $level )
}
}
// write of the dirs
- for ( $i = 0; $i < sizeof( $sub_rep ); $i++ )
- {
- $dirs.= "\n".$indent.'<dir'.$level.' name="'.$sub_rep[$i].'">';
- $dirs.= get_pictures( $rep.'/'.$sub_rep[$i], $indent.' ' );
- $dirs.= get_dirs( $rep.'/'.$sub_rep[$i], $indent.' ', $level + 1 );
+ foreach ( $fs_dirs as $fs_dir ) {
+ $dirs.= "\n".$indent.'<dir'.$level.' name="'.$fs_dir.'">';
+ $dirs.= get_pictures( $basedir.'/'.$fs_dir, $indent.' ' );
+ $dirs.= get_dirs( $basedir.'/'.$fs_dir, $indent.' ', $level + 1 );
$dirs.= "\n".$indent.'</dir'.$level.'>';
}
return $dirs;
@@ -73,101 +123,60 @@ function get_filename_wo_extension( $filename )
return substr( $filename, 0, strrpos( $filename, '.' ) );
}
-function is_image( $filename )
+function get_pictures( $dir, $indent )
{
global $conf;
-
- if ( !is_dir( $filename )
- and in_array( get_extension( $filename ), $conf['picture_ext'] ) )
- {
- return true;
- }
- return false;
-}
-
-function TN_exists( $dir, $file )
-{
- global $conf, $prefix_thumbnail;
-
- $titre = get_filename_wo_extension( $file );
-
- for ( $i = 0; $i < sizeof ( $conf['picture_ext'] ); $i++ )
- {
- $base_tn_name = $dir.'/thumbnail/'.$prefix_thumbnail.$titre.'.';
- $ext = $conf['picture_ext'][$i];
- if ( is_file( $base_tn_name.$ext ) )
- {
- return $ext;
+
+ // fs means filesystem : $fs_pictures contains pictures in the filesystem
+ // found in $dir, $fs_thumbnails contains thumbnails...
+ $fs_pictures = get_picture_files( $dir );
+ $fs_thumbnails = get_thumb_files( $dir.'/thumbnail' );
+
+ $root = "\n".$indent.'<root>';
+
+ foreach ( $fs_pictures as $fs_picture ) {
+ $file_wo_ext = get_filename_wo_extension( $fs_picture );
+ $tn_ext = '';
+ foreach ( $conf['picture_ext'] as $ext ) {
+ $test = $conf['prefix_thumbnail'].$file_wo_ext.'.'.$ext;
+ if ( !in_array( $test, $fs_thumbnails ) ) continue;
+ else { $tn_ext = $ext; break; }
}
- }
- echo 'The thumbnail is missing for '.$dir.'/'.$file;
- echo '-> '.$dir.'/thumbnail/'.$prefix_thumbnail.$titre.'.xxx';
- echo ' ("xxx" can be : ';
- for ( $i = 0; $i < sizeof ( $conf['picture_ext'] ); $i++ )
- {
- if ( $i > 0 )
+ // if we found a thumnbnail corresponding to our picture...
+ if ( $tn_ext != '' )
{
- echo ', ';
- }
- echo '"'.$conf['picture_ext'][$i].'"';
- }
- echo ')<br />';
- return false;
-}
+ list( $width,$height ) = @getimagesize( $dir.'/'.$fs_picture );
-function get_pictures( $rep, $indent )
-{
- $pictures = array();
-
- $tn_ext = '';
- $root = '';
- if ( $opendir = opendir ( $rep ) )
- {
- while ( $file = readdir ( $opendir ) )
- {
- if ( is_image( $file ) and $tn_ext = TN_exists( $rep, $file ) )
+ $root.= "\n".$indent.' ';
+ $root.= '<picture';
+ $root.= ' file="'. $fs_picture.'"';
+ $root.= ' tn_ext="'. $tn_ext.'"';
+ $root.= ' filesize="'.floor(filesize($dir.'/'.$fs_picture)/1024).'"';
+ $root.= ' width="'. $width.'"';
+ $root.= ' height="'. $height.'"';
+ $root.= ' />';
+
+ if ( !preg_match( '/^[a-zA-Z0-9-_.]+$/', $fs_picture ) )
{
- $picture = array();
-
- $picture['file'] = $file;
- $picture['tn_ext'] = $tn_ext;
- $picture['date'] = date('Y-m-d',filemtime( $rep.'/'.$file ) );
- $picture['filesize'] = floor( filesize( $rep."/".$file ) / 1024 );
- $image_size = @getimagesize( $rep."/".$file );
- $picture['width'] = $image_size[0];
- $picture['height'] = $image_size[1];
-
- array_push( $pictures, $picture );
-
- if ( !preg_match( '/^[a-zA-Z0-9-_.]+$/', $file ) )
- {
- echo '<span style="color:red;">"'.$file.'" : ';
- echo 'The name of the picture should be composed of ';
- echo 'letters, figures, "-", "_" or "." ONLY';
- echo '</span><br />';
- }
+ echo '<span style="color:red;">"'.$fs_picture.'" : ';
+ echo 'The name of the picture should be composed of ';
+ echo 'letters, figures, "-", "_" or "." ONLY';
+ echo '</span><br />';
}
}
- }
- // write of the node <root> with all the pictures at the root of the
- // directory
- $root.= "\n".$indent."<root>";
- if ( sizeof( $pictures ) > 0 )
- {
- for( $i = 0; $i < sizeof( $pictures ); $i++ )
+ else
{
- $root.= "\n".$indent.' ';
- $root.= '<picture';
- $root.= ' file="'. $pictures[$i]['file']. '"';
- $root.= ' tn_ext="'. $pictures[$i]['tn_ext']. '"';
- $root.= ' date="'. $pictures[$i]['date']. '"';
- $root.= ' filesize="'. $pictures[$i]['filesize']. '"';
- $root.= ' width="'. $pictures[$i]['width']. '"';
- $root.= ' height="'. $pictures[$i]['height']. '"';
- $root.= ' />';
+ echo 'The thumbnail is missing for '.$dir.'/'.$fs_picture;
+ echo '-> '.$dir.'/thumbnail/';
+ echo $conf['prefix_thumbnail'].$file_wo_ext.'.xxx';
+ echo ' ("xxx" can be : ';
+ echo implode( ', ', $conf['picture_ext'] );
+ echo ')<br />';
}
}
+
$root.= "\n".$indent.'</root>';
+
return $root;
}
@@ -177,11 +186,10 @@ if ( $fp = @fopen("./listing.xml","w") )
{
fwrite( $fp, $listing );
fclose( $fp );
+ echo "listing.xml created";
}
else
{
echo "I can't write the file listing.xml";
}
-
-echo "listing.xml created";
?> \ No newline at end of file
diff --git a/admin/group_list.php b/admin/group_list.php
index 871df6a6a..aac5b41bc 100644
--- a/admin/group_list.php
+++ b/admin/group_list.php
@@ -33,7 +33,7 @@ if ( isset ( $_GET['delete'] ) and is_numeric( $_GET['delete'] ) )
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
// confirm group deletion ?
- if ( $_GET['confirm'] != 1 )
+ if ( !isset( $_GET['confirm'] ) or $_GET['confirm'] != 1 )
{
$vtp->addSession( $sub, 'deletion' );
$vtp->setVar( $sub, 'deletion.name', $row['name'] );
diff --git a/admin/group_perm.php b/admin/group_perm.php
index 85d92a65b..53ed7fd81 100644
--- a/admin/group_perm.php
+++ b/admin/group_perm.php
@@ -60,6 +60,8 @@ if ( isset( $_POST['submit'] ) )
{
check_favorites( $row['id'] );
}
+ // synchronization of calculated data
+ synchronize_group( $_GET['group_id'] );
// confirmation display
$vtp->addSession( $sub, 'confirmation' );
$url = './admin.php?page=group_list';
diff --git a/admin/include/functions.php b/admin/include/functions.php
index f29b469d6..ce7fa076f 100644
--- a/admin/include/functions.php
+++ b/admin/include/functions.php
@@ -53,7 +53,59 @@ function is_image( $filename, $create_thumbnail = false )
}
return false;
}
-
+
+/**
+ * returns an array with all picture files according to $conf['picture_ext']
+ *
+ * @param string $dir
+ * @return array
+ */
+function get_picture_files( $dir )
+{
+ global $conf;
+
+ $pictures = array();
+ if ( $opendir = opendir( $dir ) )
+ {
+ while ( $file = readdir( $opendir ) )
+ {
+ if ( in_array( get_extension( $file ), $conf['picture_ext'] ) )
+ {
+ array_push( $pictures, $file );
+ }
+ }
+ }
+ return $pictures;
+}
+
+/**
+ * returns an array with all thumbnails according to $conf['picture_ext']
+ * and $conf['prefix_thumbnail']
+ *
+ * @param string $dir
+ * @return array
+ */
+function get_thumb_files( $dir )
+{
+ global $conf;
+
+ $prefix_length = strlen( $conf['prefix_thumbnail'] );
+
+ $thumbnails = array();
+ if ( $opendir = @opendir( $dir ) )
+ {
+ while ( $file = readdir( $opendir ) )
+ {
+ if ( in_array( get_extension( $file ), $conf['picture_ext'] )
+ and substr($file,0,$prefix_length) == $conf['prefix_thumbnail'] )
+ {
+ array_push( $thumbnails, $file );
+ }
+ }
+ }
+ return $thumbnails;
+}
+
function TN_exists( $dir, $file )
{
global $conf;
@@ -67,8 +119,9 @@ function TN_exists( $dir, $file )
}
}
return false;
-}
+}
+
// The function delete_site deletes a site
// and call the function delete_category for each primary category of the site
function delete_site( $id )
@@ -91,6 +144,7 @@ function delete_site( $id )
mysql_query( $query );
}
+
// The function delete_category deletes the category identified by the $id
// It also deletes (in the database) :
// - all the images of the images (thanks to delete_image, see further)
@@ -144,6 +198,7 @@ function delete_category( $id )
mysql_query( $query );
}
+
// The function delete_image deletes the image identified by the $id
// It also deletes (in the database) :
// - all the comments related to the image
@@ -178,13 +233,14 @@ function delete_image( $id )
mysql_query( $query );
$count_deleted++;
}
-
+
// The delete_user function delete a user identified by the $user_id
// It also deletes :
// - all the access linked to this user
// - all the links to any group
// - all the favorites linked to this user
// - all sessions linked to this user
+// - all categories informations linked to this user
function delete_user( $user_id )
{
// destruction of the access linked to the user
@@ -210,7 +266,13 @@ function delete_user( $user_id )
$query.= ' WHERE user_id = '.$user_id;
$query.= ';';
mysql_query( $query );
-
+
+ // destruction of the categories informations linked with the user
+ $query = 'DELETE FROM '.PREFIX_TABLE.'user_category';
+ $query.= ' WHERE user_id = '.$user_id;
+ $query.= ';';
+ mysql_query( $query );
+
// destruction of the user
$query = 'DELETE FROM '.PREFIX_TABLE.'users';
$query.= ' WHERE id = '.$user_id;
@@ -230,7 +292,10 @@ function delete_group( $group_id )
$query.= ';';
mysql_query( $query );
- // destruction of the group links for this group
+ // synchronize all users linked to the group
+ synchronize_group( $group_id );
+
+ // destruction of the users links for this group
$query = 'DELETE FROM '.PREFIX_TABLE.'user_group';
$query.= ' WHERE group_id = '.$group_id;
$query.= ';';
@@ -248,14 +313,17 @@ function delete_group( $group_id )
// or invisible)
function check_favorites( $user_id )
{
- $query = 'SELECT status';
+ $query = 'SELECT status,forbidden_categories';
$query.= ' FROM '.PREFIX_TABLE.'users';
$query.= ' WHERE id = '.$user_id;
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
$status = $row['status'];
// retrieving all the restricted categories for this user
- $restricted_cat = get_all_restrictions( $user_id, $status );
+ if ( isset( $row['forbidden_categories'] ) )
+ $restricted_cat = explode( ',', $row['forbidden_categories'] );
+ else
+ $restricted_cat = array();
// retrieving all the favorites for this user and comparing their
// categories to the restricted categories
$query = 'SELECT image_id';
@@ -314,26 +382,22 @@ function update_category( $id = 'all' )
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE category_id = '.$id;
$query.= ';';
- $row = mysql_fetch_array( mysql_query( $query ) );
- $query = 'UPDATE '.PREFIX_TABLE.'categories';
- $query.= ' SET nb_images = '.$row['nb_images'];
- $query.= ' WHERE id = '.$id;
- $query.= ';';
- mysql_query( $query );
+ list( $nb_images ) = mysql_fetch_array( mysql_query( $query ) );
// updating the date_last
- $query = 'SELECT date_available';
+ $query = 'SELECT MAX(date_available) AS date_available';
$query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
+ $query.= ' INNER JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$id;
- $query.= ' ORDER BY date_available DESC';
- $query.= ' LIMIT 0,1';
$query.= ';';
- $row = mysql_fetch_array( mysql_query( $query ) );
+ list( $date_available ) = mysql_fetch_array( mysql_query( $query ) );
+
$query = 'UPDATE '.PREFIX_TABLE.'categories';
- $query.= " SET date_last = '".$row['date_available']."'";
+ $query.= " SET date_last = '".$date_available."'";
+ $query.= ', nb_images = '.$nb_images;
$query.= ' WHERE id = '.$id;
$query.= ';';
mysql_query( $query );
+
// updating the representative_picture_id : if the representative
// picture of the category is not any more linked to the category, we
// have to set representative_picture_id to NULL
@@ -343,7 +407,7 @@ function update_category( $id = 'all' )
$row = mysql_fetch_array( mysql_query( $query ) );
// if the category has no representative picture (ie
// representative_picture_id == NULL) we don't update anything
- if ( $row['representative_picture_id'] != '' )
+ if ( isset( $row['representative_picture_id'] ) )
{
$query = 'SELECT image_id';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
@@ -366,7 +430,7 @@ function update_category( $id = 'all' )
function check_date_format( $date )
{
// date arrives at this format : DD/MM/YYYY
- list($day,$month,$year) = explode( '/', $date );
+ @list($day,$month,$year) = explode( '/', $date );
return @checkdate( $month, $day, $year );
}
@@ -432,4 +496,518 @@ function display_categories( $categories, $indent,
}
}
}
-?> \ No newline at end of file
+
+/**
+ * Complete plain structure of the gallery
+ *
+ * Returns the plain structure (one level array) of the gallery. In the
+ * returned array, each element is an array with jeys 'id' and
+ * 'id_uppercat'. The function also fills the array $page['subcats'] which
+ * associate (category_id => array of sub-categories id).
+ *
+ * @param bool $use_name
+ * @return array
+ */
+function get_plain_structure( $use_name = false )
+{
+ global $page;
+
+ $plain_structure = array();
+
+ $query = 'SELECT id,id_uppercat';
+ if ( $use_name ) $query.= ',name';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' ORDER BY id_uppercat ASC, rank ASC';
+ $query.= ';';
+
+ $subcats = array();
+ $id_uppercat = 'NULL';
+
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ $plain_structure[$row['id']]['id'] = $row['id'];
+ if ( !isset( $row['id_uppercat'] ) ) $row['id_uppercat'] = 'NULL';
+ $plain_structure[$row['id']]['id_uppercat'] = $row['id_uppercat'];
+ if ( $use_name ) $plain_structure[$row['id']]['name'] = $row['name'];
+ // subcats list
+ if ( $row['id_uppercat'] != $id_uppercat )
+ {
+ $page['subcats'][$id_uppercat] = $subcats;
+
+ $subcats = array();
+ $id_uppercat = $row['id_uppercat'];
+ }
+ array_push( $subcats, $row['id'] );
+ }
+ mysql_free_result( $result );
+
+ $page['subcats'][$id_uppercat] = $subcats;
+
+ return $plain_structure;
+}
+
+/**
+ * get N levels array representing structure under the given category
+ *
+ * create_structure returns the N levels array representing structure under
+ * the given gategory id. It also updates the
+ * $page['plain_structure'][id]['all_subcats_id'] and
+ * $page['plain_structure'][id]['direct_subcats_ids'] for each sub category.
+ *
+ * @param int $id_uppercat
+ * @return array
+ */
+function create_structure( $id_uppercat )
+{
+ global $page;
+
+ $structure = array();
+ $ids = get_subcats_ids( $id_uppercat );
+ foreach ( $ids as $id ) {
+ $category = $page['plain_structure'][$id];
+
+ $category['subcats'] = create_structure( $id );
+
+ $page['plain_structure'][$id]['all_subcats_ids'] =
+ get_all_subcats_ids( $id );
+
+ $page['plain_structure'][$id]['direct_subcats_ids'] =
+ get_subcats_ids( $id );
+
+ array_push( $structure, $category );
+ }
+ return $structure;
+}
+
+/**
+ * returns direct sub-categories ids
+ *
+ * Returns an array containing all the direct sub-categories ids of the
+ * given category. It uses the $page['subcats'] global array.
+ *
+ * @param int $id_uppercat
+ * @return array
+ */
+function get_subcats_ids( $id_uppercat )
+{
+ global $page;
+
+ if ( $id_uppercat == '' ) $id_uppercat = 'NULL';
+
+ if ( isset( $page['subcats'][$id_uppercat] ) )
+ return $page['subcats'][$id_uppercat];
+ else
+ return array();
+}
+
+/**
+ * returns all sub-categories ids, not only direct ones
+ *
+ * Returns an array containing all the sub-categories ids of the given
+ * category, not only direct ones. This function is recursive.
+ *
+ * @param int $category_id
+ * @return array
+ */
+function get_all_subcats_ids( $category_id )
+{
+ $ids = array();
+
+ $subcats = get_subcats_ids( $category_id );
+ $ids = array_merge( $ids, $subcats );
+ foreach ( $subcats as $subcat ) {
+ // recursive call
+ $sub_subcats = get_all_subcats_ids( $subcat );
+ $ids = array_merge( $ids, $sub_subcats );
+ }
+ return array_unique( $ids );
+}
+
+/**
+ * prepares the query to update the table user_category
+ *
+ * Prepares the query (global variable $values) to update table
+ * user_category : for a couple (user,category) the number of sub-categories
+ * and the last date of the category (all sub-categories taken into
+ * account). It also calls function update_uppercats for each category. The
+ * function is recursive.
+ *
+ * @param array $categories
+ * @return void
+ */
+function update_user_category( $categories )
+{
+ global $page,$user_restrictions,$value_num,$values;
+
+ foreach ( $categories as $category ) {
+ // recursive call
+ update_user_category( $category['subcats'] );
+ // 1. update the table user_category
+ foreach ( $user_restrictions as $user_id => $restrictions ) {
+ // if the category is forbidden to this user, go to next user
+ if ( in_array( $category['id'], $restrictions ) ) continue;
+
+ // how many sub_categories for this user ?
+ $user_subcats = array_diff(
+ $page['plain_structure'][$category['id']]['direct_subcats_ids'],
+ $restrictions );
+ $user_nb_subcats = count( array_unique( $user_subcats ) );
+ // last date of the category
+ $user_all_subcats = array_unique( array_diff(
+ $page['plain_structure'][$category['id']]['all_subcats_ids'],
+ $restrictions ) );
+
+ $query = 'SELECT MAX(date_last) AS last_date';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id IN ('.$category['id'];
+ if ( count( $user_all_subcats ) > 0 )
+ $query.= ','.implode( ',', $user_all_subcats );
+ $query.= ')';
+ $query.= ';';
+ $row = mysql_fetch_array( mysql_query( $query ) );
+
+ // insert a new line in database
+ if ( $value_num++ > 0 ) $values.= ', ';
+ else $values.= ' ';
+ $values.= '('.$user_id.",".$category['id'];
+ if ( isset( $row['last_date'] ) ) $values.= ",'".$row['last_date']."'";
+ else $values.= ',NULL';
+ $values.= ','.$user_nb_subcats.')';
+ }
+ update_uppercats( $category['id'] );
+ }
+}
+
+/**
+ * updates the column categories.uppercats
+ *
+ * @param int $category_id
+ * @return void
+ */
+function update_uppercats( $category_id )
+{
+ global $page;
+
+ $final_id = $category_id;
+ $uppercats = array();
+
+ array_push( $uppercats, $category_id );
+ $uppercat = $page['plain_structure'][$category_id]['id_uppercat'];
+
+ while ( $uppercat != 'NULL' )
+ {
+ array_push( $uppercats, $uppercat );
+ $category_id = $page['plain_structure'][$category_id]['id_uppercat'];
+ $uppercat = $page['plain_structure'][$category_id]['id_uppercat'];
+ }
+
+ $string_uppercats = implode( ',', array_reverse( $uppercats ) );
+ $query = 'UPDATE '.PREFIX_TABLE.'categories';
+ $query.= ' SET uppercats = '."'".$string_uppercats."'";
+ $query.= ' WHERE id = '.$final_id;
+ $query.= ';';
+ mysql_query( $query );
+}
+
+/**
+ * returns an array with the ids of the restricted categories for the user
+ *
+ * Returns an array with the ids of the restricted categories for the
+ * user. If the $check_invisible parameter is set to true, invisible
+ * categorie are added to the restricted one in the array.
+ *
+ * @param int $user_id
+ * @param string $user_status
+ * @param bool $check_invisible
+ * @param bool $use_groups
+ * @return array
+ */
+function get_user_restrictions( $user_id, $user_status,
+ $check_invisible, $use_groups = true )
+{
+ // 1. retrieving ids of private categories
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= " WHERE status = 'private'";
+ $query.= ';';
+ $result = mysql_query( $query );
+ $privates = array();
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ array_push( $privates, $row['id'] );
+ }
+ // 2. retrieving all authorized categories for the user
+ $authorized = array();
+ // 2.1. retrieving authorized categories thanks to personnal user
+ // authorization
+ $query = 'SELECT cat_id';
+ $query.= ' FROM '.PREFIX_TABLE.'user_access';
+ $query.= ' WHERE user_id = '.$user_id;
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ array_push( $authorized, $row['cat_id'] );
+ }
+ // 2.2. retrieving authorized categories thanks to group authorization to
+ // which the user is a member
+ if ( $use_groups )
+ {
+ $query = 'SELECT ga.cat_id';
+ $query.= ' FROM '.PREFIX_TABLE.'user_group as ug';
+ $query.= ', '.PREFIX_TABLE.'group_access as ga';
+ $query.= ' WHERE ug.group_id = ga.group_id';
+ $query.= ' AND ug.user_id = '.$user_id;
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ array_push( $authorized, $row['cat_id'] );
+ }
+ $authorized = array_unique( $authorized );
+ }
+
+ $forbidden = array();
+ foreach ( $privates as $private ) {
+ if ( !in_array( $private, $authorized ) )
+ {
+ array_push( $forbidden, $private );
+ }
+ }
+
+ if ( $check_invisible )
+ {
+ // 3. adding to the restricted categories, the invisible ones
+ if ( $user_status != 'admin' )
+ {
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= " WHERE visible = 'false';";
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ array_push( $forbidden, $row['id'] );
+ }
+ }
+ }
+ return array_unique( $forbidden );
+}
+
+/**
+ * finalizes operation for user_category table update
+ *
+ * This function is called by synchronization_*. It creates the
+ * $page['plain_structure'] and $page['structure'], get the SQL query to
+ * update user_category, clean user_category, and finally update the
+ * table. The users updates depends on the global array $user_restrictions.
+ *
+ * @return void
+ */
+function synchronize()
+{
+ global $user_restrictions,$page,$values;
+
+ update_user_category( $page['structure'] );
+
+ // cleaning user_category table for users to update
+ foreach( $user_restrictions as $user_id => $restrictions ) {
+ $query = 'DELETE';
+ $query.= ' FROM '.PREFIX_TABLE.'user_category';
+ $query.= ' WHERE user_id = '.$user_id;
+ $query.= ';';
+ mysql_query( $query );
+ }
+
+ $query = 'INSERT INTO '.PREFIX_TABLE.'user_category';
+ $query.= ' (user_id,category_id,date_last,nb_sub_categories) VALUES ';
+ $query.= $values;
+ $query.= ';';
+ mysql_query( $query );
+}
+
+/**
+ * synchronizes all users calculated informations
+ *
+ * fills global array $user_restrictions with all users and related
+ * restrictions before calling synchronize.
+ *
+ * @return void
+ */
+function synchronize_all_users()
+{
+ global $user_restrictions,$page;
+
+ $page['plain_structure'] = get_plain_structure();
+ $page['structure'] = create_structure( '' );
+
+ $user_restrictions = array();
+
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'users';
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ $user_restrictions[$row['id']] = update_user_restrictions( $row['id'] );
+ }
+ synchronize();
+}
+
+/**
+ * synchronizes 1 user calculated informations
+ *
+ * fills global array $user_restrictions with the user id and its related
+ * restrictions before calling synchronize.
+ *
+ * @param int $user_id
+ * @return void
+ */
+function synchronize_user( $user_id )
+{
+ global $user_restrictions,$page;
+
+ $page['plain_structure'] = get_plain_structure();
+ $page['structure'] = create_structure( '' );
+
+ $user_restrictions = array();
+ $user_restrictions[$user_id] = update_user_restrictions( $user_id );
+ synchronize();
+}
+
+/**
+ * synchronizes all users (belonging to the group) calculated informations
+ *
+ * fills global array $user_restrictions with all users and related
+ * restrictions before calling synchronize.
+ *
+ * @return void
+ */
+function synchronize_group( $group_id )
+{
+ global $user_restrictions,$page;
+
+ $page['plain_structure'] = get_plain_structure();
+ $page['structure'] = create_structure( '' );
+
+ $user_restrictions = array();
+
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'users';
+ $query.= ', '.PREFIX_TABLE.'user_group';
+ $query.= ' WHERE group_id = '.$group_id;
+ $query.= ' AND id = user_id';
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ $user_restrictions[$row['id']] = update_user_restrictions( $row['id'] );
+ }
+ synchronize();
+}
+
+/**
+ * updates the calculated data users.forbidden_categories, it includes
+ * sub-categories of the direct forbidden categories
+ *
+ * @param nt $user_id
+ * @return array
+ */
+function update_user_restrictions( $user_id )
+{
+ $restrictions = get_user_all_restrictions( $user_id );
+
+ // update the users.forbidden_categories in database
+ $query = 'UPDATE '.PREFIX_TABLE.'users';
+ $query.= ' SET forbidden_categories = ';
+ if ( count( $restrictions ) > 0 )
+ $query.= "'".implode( ',', $restrictions )."'";
+ else
+ $query.= 'NULL';
+ $query .= ' WHERE id = '.$user_id;
+ $query.= ';';
+ mysql_query( $query );
+
+ return $restrictions;
+}
+
+/**
+ * returns all the restricted categories ids including sub-categories
+ *
+ * @param int $user_id
+ * @return array
+ */
+function get_user_all_restrictions( $user_id )
+{
+ global $page;
+
+ $query = 'SELECT status';
+ $query.= ' FROM '.PREFIX_TABLE.'users';
+ $query.= ' WHERE id = '.$user_id;
+ $query.= ';';
+ $row = mysql_fetch_array( mysql_query( $query ) );
+
+ $base_restrictions=get_user_restrictions($user_id,$row['status'],true,true);
+
+ $restrictions = $base_restrictions;
+ foreach ( $base_restrictions as $category_id ) {
+ echo $category_id.' is forbidden to user '.$user_id.'<br />';
+ $restrictions =
+ array_merge( $restrictions,
+ $page['plain_structure'][$category_id]['all_subcats_ids'] );
+ }
+
+ return array_unique( $restrictions );
+}
+
+// The function is_user_allowed returns :
+// - 0 : if the category is allowed with this $restrictions array
+// - 1 : if this category is not allowed
+// - 2 : if an uppercat category is not allowed
+// Note : the restrictions array must represent ONLY direct forbidden
+// categories, not all forbidden categories
+function is_user_allowed( $category_id, $restrictions )
+{
+ if ( in_array( $category_id, $restrictions ) ) return 1;
+
+ $query = 'SELECT uppercats';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id = '.$category_id;
+ $query.= ';';
+ $row = mysql_fetch_array( mysql_query( $query ) );
+ $uppercats = explode( ',', $row['uppercats'] );
+ foreach ( $uppercats as $category_id ) {
+ if ( in_array( $category_id, $restrictions ) ) return 2;
+ }
+
+ // no restriction found : the user is allowed to access this category
+ return 0;
+}
+
+/**
+ * returns an array containing sub-directories which can be a category
+ *
+ * directories nammed "thumbnail" are omitted
+ *
+ * @param string $basedir
+ * @return array
+ */
+function get_category_directories( $basedir )
+{
+ $sub_dirs = array();
+
+ if ( $opendir = opendir( $basedir ) )
+ {
+ while ( $file = readdir( $opendir ) )
+ {
+ if ( $file != '.' and $file != '..'
+ and is_dir( $basedir.'/'.$file )
+ and $file != 'thumbnail' )
+ {
+ array_push( $sub_dirs, $file );
+ }
+ }
+ }
+ return $sub_dirs;
+}
+?>
diff --git a/admin/include/isadmin.inc.php b/admin/include/isadmin.inc.php
index 341fc65ba..14032c566 100644
--- a/admin/include/isadmin.inc.php
+++ b/admin/include/isadmin.inc.php
@@ -16,10 +16,7 @@
* the Free Software Foundation; *
* *
***************************************************************************/
-define( "PREFIX_INCLUDE", '' );
-include_once( './include/config.inc.php' );
-include_once( './include/user.inc.php' );
include( './admin/include/functions.php' );
$isadmin = true;
diff --git a/admin/infos_images.php b/admin/infos_images.php
index 344573eac..f0ab9a39f 100644
--- a/admin/infos_images.php
+++ b/admin/infos_images.php
@@ -20,110 +20,104 @@
include_once( './admin/include/isadmin.inc.php' );
include_once( './template/'.$user['template'].'/htmlfunctions.inc.php' );
//-------------------------------------------------------------- initialization
+$page['nb_image_page'] = 5;
+
check_cat_id( $_GET['cat_id'] );
+
+$errors = array();
+
if ( isset( $page['cat'] ) )
{
//--------------------------------------------------- update individual options
- $query = 'SELECT id,file';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
- $query.= ' WHERE category_id = '.$page['cat'];
- $query.= ';';
- $result = mysql_query( $query );
- $i = 1;
- while ( $row = mysql_fetch_array( $result ) )
+ if ( isset( $_POST['submit'] ) )
{
- $name = 'name-'.$row['id'];
- $author = 'author-'.$row['id'];
- $comment = 'comment-'.$row['id'];
- $date_creation = 'date_creation-'.$row['id'];
- $keywords = 'keywords-'.$row['id'];
- if ( isset( $_POST[$name] ) )
+ if ( isset( $_POST['associate'] ) and $_POST['associate'] != '' )
{
- $query = 'UPDATE '.PREFIX_TABLE.'images';
-
- $query.= ' SET name = ';
- if ( $_POST[$name] == '' )
- $query.= 'NULL';
- else
- $query.= "'".htmlentities( $_POST[$name], ENT_QUOTES )."'";
-
- $query.= ', author = ';
- if ( $_POST[$author] == '' )
- $query.= 'NULL';
- else
- $query.= "'".htmlentities($_POST[$author],ENT_QUOTES)."'";
-
- $query.= ', comment = ';
- if ( $_POST[$comment] == '' )
- $query.= 'NULL';
- else
- $query.= "'".htmlentities($_POST[$comment],ENT_QUOTES)."'";
-
- $query.= ', date_creation = ';
- if ( check_date_format( $_POST[$date_creation] ) )
- $query.= "'".date_convert( $_POST[$date_creation] )."'";
- else if ( $_POST[$date_creation] == '' )
- $query.= 'NULL';
-
- $query.= ', keywords = ';
- $keywords_array = get_keywords( $_POST[$keywords] );
- if ( count( $keywords_array ) == 0 )
- $query.= 'NULL';
+ // does the uppercat id exists in the database ?
+ if ( !is_numeric( $_POST['associate'] ) )
+ {
+ array_push( $errors, $lang['cat_unknown_id'] );
+ }
else
{
- $query.= "'";
- foreach ( $keywords_array as $i => $keyword ) {
- if ( $i > 0 ) $query.= ',';
- $query.= $keyword;
- }
- $query.= "'";
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id = '.$_POST['associate'];
+ $query.= ';';
+ if ( mysql_num_rows( mysql_query( $query ) ) == 0 )
+ array_push( $errors, $lang['cat_unknown_id'] );
}
-
- $query.= ' WHERE id = '.$row['id'];
- $query.= ';';
- mysql_query( $query );
}
- // add link to another category
- if ( $_POST['check-'.$row['id']] == 1 )
- {
- $query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
- $query.= ' (image_id,category_id) VALUES';
- $query.= ' ('.$row['id'].','.$_POST['associate'].')';
- $query.= ';';
- mysql_query( $query );
- }
- }
- update_category( $_POST['associate'] );
-//------------------------------------------------------ update general options
- if ( $_POST['use_common_author'] == 1 )
- {
- $query = 'SELECT image_id';
- $query.= ' FROM '.PREFIX_TABLE.'image_category';
+
+ $associate = false;
+
+ $query = 'SELECT id,file';
+ $query.= ' FROM '.PREFIX_TABLE.'images';
+ $query.= ' INNER JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$page['cat'];
+ $query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
- $query = 'UPDATE '.PREFIX_TABLE.'images';
- if ( $_POST['author_cat'] == '' )
+ $name = 'name-'.$row['id'];
+ $author = 'author-'.$row['id'];
+ $comment = 'comment-'.$row['id'];
+ $date_creation = 'date_creation-'.$row['id'];
+ $keywords = 'keywords-'.$row['id'];
+ if ( isset( $_POST[$name] ) )
{
- $query.= ' SET author = NULL';
+ $query = 'UPDATE '.PREFIX_TABLE.'images';
+
+ $query.= ' SET name = ';
+ if ( $_POST[$name] == '' )
+ $query.= 'NULL';
+ else
+ $query.= "'".htmlentities( $_POST[$name], ENT_QUOTES )."'";
+
+ $query.= ', author = ';
+ if ( $_POST[$author] == '' )
+ $query.= 'NULL';
+ else
+ $query.= "'".htmlentities($_POST[$author],ENT_QUOTES)."'";
+
+ $query.= ', comment = ';
+ if ( $_POST[$comment] == '' )
+ $query.= 'NULL';
+ else
+ $query.= "'".htmlentities($_POST[$comment],ENT_QUOTES)."'";
+
+ $query.= ', date_creation = ';
+ if ( check_date_format( $_POST[$date_creation] ) )
+ $query.= "'".date_convert( $_POST[$date_creation] )."'";
+ else if ( $_POST[$date_creation] == '' )
+ $query.= 'NULL';
+
+ $query.= ', keywords = ';
+
+ $keywords_array = get_keywords( $_POST[$keywords] );
+ if ( count( $keywords_array ) == 0 ) $query.= 'NULL';
+ else $query.= "'".implode( ',', $keywords_array )."'";
+
+ $query.= ' WHERE id = '.$row['id'];
+ $query.= ';';
+ mysql_query( $query );
}
- else
+ // add link to another category
+ if ( isset( $_POST['check-'.$row['id']] ) and count( $errors ) == 0 )
{
- $query.= ' SET author = ';
- $query.= "'".htmlentities( $_POST['author_cat'], ENT_QUOTES )."'";
+ $query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
+ $query.= ' (image_id,category_id) VALUES';
+ $query.= ' ('.$row['id'].','.$_POST['associate'].')';
+ $query.= ';';
+ mysql_query( $query );
+ $associate = true;
}
- $query.= ' WHERE id = '.$row['image_id'];
- $query.= ';';
- mysql_query( $query );
}
- }
- if ( $_POST['use_common_date_creation'] == 1 )
- {
- if ( check_date_format( $_POST['date_creation_cat'] ) )
+ update_category( $_POST['associate'] );
+ if ( $associate ) synchronize_all_users();
+//------------------------------------------------------ update general options
+ if ( isset( $_POST['use_common_author'] ) )
{
- $date = date_convert( $_POST['date_creation_cat'] );
$query = 'SELECT image_id';
$query.= ' FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE category_id = '.$page['cat'];
@@ -131,75 +125,102 @@ if ( isset( $page['cat'] ) )
while ( $row = mysql_fetch_array( $result ) )
{
$query = 'UPDATE '.PREFIX_TABLE.'images';
- if ( $_POST['date_creation_cat'] == '' )
+ if ( $_POST['author_cat'] == '' )
{
- $query.= ' SET date_creation = NULL';
+ $query.= ' SET author = NULL';
}
else
{
- $query.= " SET date_creation = '".$date."'";
+ $query.= ' SET author = ';
+ $query.= "'".htmlentities( $_POST['author_cat'], ENT_QUOTES )."'";
}
$query.= ' WHERE id = '.$row['image_id'];
$query.= ';';
mysql_query( $query );
}
}
- else
- {
- echo $lang['err_date'];
- }
- }
- if ( isset( $_POST['common_keywords'] ) and $_POST['keywords_cat'] != '' )
- {
- $query = 'SELECT id,keywords';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
- $query.= ' WHERE category_id = '.$page['cat'];
- $query.= ';';
- $result = mysql_query( $query );
- while ( $row = mysql_fetch_array( $result ) )
+ if ( isset( $_POST['use_common_date_creation'] ) )
{
- $specific_keywords = explode( ',', $row['keywords'] );
- $common_keywords = get_keywords( $_POST['keywords_cat'] );
- // first possiblity : adding the given keywords to all the pictures
- if ( $_POST['common_keywords'] == 'add' )
- {
- $keywords = array_merge( $specific_keywords, $common_keywords );
- $keywords = array_unique( $keywords );
- }
- // second possiblity : removing the given keywords from all pictures
- // (without deleting the other specific keywords
- if ( $_POST['common_keywords'] == 'remove' )
+ if ( check_date_format( $_POST['date_creation_cat'] ) )
{
- $keywords = array_diff( $specific_keywords, $common_keywords );
+ $date = date_convert( $_POST['date_creation_cat'] );
+ $query = 'SELECT image_id';
+ $query.= ' FROM '.PREFIX_TABLE.'image_category';
+ $query.= ' WHERE category_id = '.$page['cat'];
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ $query = 'UPDATE '.PREFIX_TABLE.'images';
+ if ( $_POST['date_creation_cat'] == '' )
+ {
+ $query.= ' SET date_creation = NULL';
+ }
+ else
+ {
+ $query.= " SET date_creation = '".$date."'";
+ }
+ $query.= ' WHERE id = '.$row['image_id'];
+ $query.= ';';
+ mysql_query( $query );
+ }
}
- // cleaning the keywords array, sometimes, an empty value still remain
- $keywords = array_remove( $keywords, '' );
- // updating the picture with new keywords array
- $query = 'UPDATE '.PREFIX_TABLE.'images';
- $query.= ' SET keywords = ';
- if ( count( $keywords ) == 0 )
+ else
{
- $query.= 'NULL';
+ array_push( $errors, $lang['err_date'] );
}
- else
+ }
+ if ( isset( $_POST['common_keywords'] ) and $_POST['keywords_cat'] != '' )
+ {
+ $query = 'SELECT id,keywords';
+ $query.= ' FROM '.PREFIX_TABLE.'images';
+ $query.= ' INNER JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
+ $query.= ' WHERE category_id = '.$page['cat'];
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
{
- $query.= '"';
- $i = 0;
- foreach ( $keywords as $keyword ) {
- if ( $i++ > 0 ) $query.= ',';
- $query.= $keyword;
+ if ( !isset( $row['keywords'] ) ) $specific_keywords = array();
+ else $specific_keywords = explode( ',', $row['keywords'] );
+
+ $common_keywords = get_keywords( $_POST['keywords_cat'] );
+ // first possiblity : adding the given keywords to all the pictures
+ if ( $_POST['common_keywords'] == 'add' )
+ {
+ $keywords = array_merge( $specific_keywords, $common_keywords );
+ $keywords = array_unique( $keywords );
+ }
+ // second possiblity : removing the given keywords from all pictures
+ // (without deleting the other specific keywords
+ if ( $_POST['common_keywords'] == 'remove' )
+ {
+ $keywords = array_diff( $specific_keywords, $common_keywords );
+ }
+ // cleaning the keywords array, sometimes, an empty value still remain
+ $keywords = array_remove( $keywords, '' );
+ // updating the picture with new keywords array
+ $query = 'UPDATE '.PREFIX_TABLE.'images';
+ $query.= ' SET keywords = ';
+ if ( count( $keywords ) == 0 )
+ {
+ $query.= 'NULL';
+ }
+ else
+ {
+ $query.= '"';
+ $i = 0;
+ foreach ( $keywords as $keyword ) {
+ if ( $i++ > 0 ) $query.= ',';
+ $query.= $keyword;
+ }
+ $query.= '"';
}
- $query.= '"';
+ $query.= ' WHERE id = '.$row['id'];
+ $query.= ';';
+ mysql_query( $query );
}
- $query.= ' WHERE id = '.$row['id'];
- $query.= ';';
- mysql_query( $query );
}
}
//--------------------------------------------------------- form initialization
- $page['nb_image_page'] = 5;
-
if( !isset( $_GET['start'] )
or !is_numeric( $_GET['start'] )
or ( is_numeric( $_GET['start'] ) and $_GET['start'] < 0 ) )
@@ -211,13 +232,12 @@ if ( isset( $page['cat'] ) )
$page['start'] = $_GET['start'];
}
- if ( is_numeric( $_GET['num'] ) and $_GET['num'] >= 0 )
+ if ( isset($_GET['num']) and is_numeric($_GET['num']) and $_GET['num'] >= 0 )
{
$page['start'] =
floor( $_GET['num'] / $page['nb_image_page'] ) * $page['nb_image_page'];
}
// retrieving category information
- $page['plain_structure'] = get_plain_structure();
$result = get_cat_info( $page['cat'] );
$cat['name'] = $result['name'];
$cat['nb_images'] = $result['nb_images'];
@@ -228,9 +248,21 @@ if ( isset( $page['cat'] ) )
'infoimage_title','infoimage_comment',
'infoimage_creation_date','keywords',
'infoimage_addtoall','infoimage_removefromall',
- 'infoimage_keyword_separation','infoimage_associate' );
+ 'infoimage_keyword_separation','infoimage_associate',
+ 'errors_title' );
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
+//-------------------------------------------------------------- errors display
+if ( count( $errors ) != 0 )
+{
+ $vtp->addSession( $sub, 'errors' );
+ foreach ( $errors as $error ) {
+ $vtp->addSession( $sub, 'li' );
+ $vtp->setVar( $sub, 'li.content', $error );
+ $vtp->closeSession( $sub, 'li' );
+ }
+ $vtp->closeSession( $sub, 'errors' );
+}
//------------------------------------------------------------------------ form
$url = './admin.php?page=infos_images&amp;cat_id='.$page['cat'];
$url.= '&amp;start='.$page['start'];
@@ -243,10 +275,13 @@ if ( isset( $page['cat'] ) )
$array_cat_directories = array();
- $query = 'SELECT id,file,comment,author,tn_ext,name,date_creation,keywords';
- $query.= ',storage_category_id,category_id';
+ $infos = array( 'id','file','comment','author','tn_ext','name'
+ ,'date_creation','keywords','storage_category_id'
+ ,'category_id' );
+
+ $query = 'SELECT '.implode( ',', $infos );
$query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
+ $query.= ' INNER JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
$query.= ' WHERE category_id = '.$page['cat'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$page['start'].','.$page['nb_image_page'];
@@ -254,6 +289,8 @@ if ( isset( $page['cat'] ) )
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
+ foreach ($infos as $info) { if (!isset($row[$info])) $row[$info] = ''; }
+
$vtp->addSession( $sub, 'picture' );
$vtp->setVar( $sub, 'picture.id', $row['id'] );
$vtp->setVar( $sub, 'picture.filename', $row['file'] );
@@ -266,7 +303,7 @@ if ( isset( $page['cat'] ) )
$file = get_filename_wo_extension( $row['file'] );
$vtp->setVar( $sub, 'picture.default_name', $file );
// creating url to thumbnail
- if ( $array_cat_directories[$row['storage_category_id']] == '' )
+ if ( !isset( $array_cat_directories[$row['storage_category_id']] ) )
{
$array_cat_directories[$row['storage_category_id']] =
get_complete_dir( $row['storage_category_id'] );
@@ -279,8 +316,29 @@ if ( isset( $page['cat'] ) )
$vtp->setVar( $sub, 'picture.url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'picture' );
}
- $structure = create_structure( '', array() );
- display_categories( $structure, '&nbsp;' );
+ // Virtualy associate a picture to a category
+ //
+ // We only show a List Of Values if the number of categories is less than
+ // $conf['max_LOV_categories']
+ $query = 'SELECT COUNT(id) AS nb_total_categories';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ';';
+ $row = mysql_fetch_array( mysql_query( $query ) );
+ if ( $row['nb_total_categories'] < $conf['max_LOV_categories'] )
+ {
+ $vtp->addSession( $sub, 'associate_LOV' );
+ $page['plain_structure'] = get_plain_structure( true );
+ $structure = create_structure( '', array() );
+ display_categories( $structure, '&nbsp;' );
+ $vtp->closeSession( $sub, 'associate_LOV' );
+ }
+ // else, we only display a small text field, we suppose the administrator
+ // knows the id of its category
+ else
+ {
+ $vtp->addSession( $sub, 'associate_text' );
+ $vtp->closeSession( $sub, 'associate_text' );
+ }
}
//----------------------------------------------------------- sending html code
$vtp->Parse( $handle , 'sub', $sub );
diff --git a/admin/phpwebgallery_structure.sql b/admin/phpwebgallery_structure.sql
index d6797c162..d1c5343a6 100644
--- a/admin/phpwebgallery_structure.sql
+++ b/admin/phpwebgallery_structure.sql
@@ -1,6 +1,6 @@
-- MySQL dump 8.21
--
--- Host: localhost Database: devel
+-- Host: localhost Database: perfs_test
---------------------------------------------------------
-- Server version 3.23.49-log
@@ -23,7 +23,10 @@ CREATE TABLE phpwebgallery_categories (
visible enum('true','false') NOT NULL default 'true',
uploadable enum('true','false') NOT NULL default 'false',
representative_picture_id mediumint(8) unsigned default NULL,
- PRIMARY KEY (id)
+ uppercats varchar(255) NOT NULL default '',
+ PRIMARY KEY (id),
+ KEY id (id),
+ KEY id_uppercat (id_uppercat)
) TYPE=MyISAM;
--
@@ -125,7 +128,9 @@ DROP TABLE IF EXISTS phpwebgallery_image_category;
CREATE TABLE phpwebgallery_image_category (
image_id mediumint(8) unsigned NOT NULL default '0',
category_id smallint(5) unsigned NOT NULL default '0',
- PRIMARY KEY (image_id,category_id)
+ PRIMARY KEY (image_id,category_id),
+ KEY category_id (category_id),
+ KEY image_id (image_id)
) TYPE=MyISAM;
--
@@ -189,6 +194,19 @@ CREATE TABLE phpwebgallery_user_access (
) TYPE=MyISAM;
--
+-- Table structure for table 'phpwebgallery_user_category'
+--
+
+DROP TABLE IF EXISTS phpwebgallery_user_category;
+CREATE TABLE phpwebgallery_user_category (
+ user_id smallint(5) unsigned NOT NULL default '0',
+ category_id smallint(5) unsigned NOT NULL default '0',
+ date_last date default NULL,
+ nb_sub_categories smallint(5) unsigned NOT NULL default '0',
+ PRIMARY KEY (user_id,category_id)
+) TYPE=MyISAM;
+
+--
-- Table structure for table 'phpwebgallery_user_group'
--
@@ -220,6 +238,7 @@ CREATE TABLE phpwebgallery_users (
short_period tinyint(3) unsigned NOT NULL default '7',
long_period tinyint(3) unsigned NOT NULL default '14',
template varchar(255) NOT NULL default 'default',
+ forbidden_categories text,
PRIMARY KEY (id),
UNIQUE KEY username (username)
) TYPE=MyISAM;
diff --git a/admin/picture_modify.php b/admin/picture_modify.php
index b6bfadc19..be9ffd7bc 100644
--- a/admin/picture_modify.php
+++ b/admin/picture_modify.php
@@ -18,8 +18,6 @@
***************************************************************************/
include_once( './admin/include/isadmin.inc.php' );
-//----------------------------------------- categories structure initialization
-$page['plain_structure'] = get_plain_structure();
//--------------------------------------------------------- update informations
$errors = array();
// first, we verify whether there is a mistake on the given creation date
@@ -87,7 +85,7 @@ if ( isset( $_POST['submit'] ) )
// if the user ask the picture to be the representative picture of its
// category, the category is updated in the database (without wondering
// if this picture was already the representative one)
- if ( $_POST['representative-'.$row['category_id']] == 1 )
+ if ( isset($_POST['representative-'.$row['category_id']]) )
{
$query = 'UPDATE '.PREFIX_TABLE.'categories';
$query.= ' SET representative_picture_id = '.$_GET['image_id'];
@@ -97,7 +95,8 @@ if ( isset( $_POST['submit'] ) )
}
// if the user ask this picture to be not any more the representative,
// we have to set the representative_picture_id of this category to NULL
- else if ( $row['representative_picture_id'] == $_GET['image_id'] )
+ else if ( isset( $row['representative_picture_id'] )
+ and $row['representative_picture_id'] == $_GET['image_id'] )
{
$query = 'UPDATE '.PREFIX_TABLE.'categories';
$query.= ' SET representative_picture_id = NULL';
@@ -106,14 +105,35 @@ if ( isset( $_POST['submit'] ) )
mysql_query( $query );
}
}
+ $associate_or_dissociate = false;
// associate with a new category ?
- if ( $_POST['associate'] != '-1' )
+ if ( $_POST['associate'] != '-1' and $_POST['associate'] != '' )
+ {
+ // does the uppercat id exists in the database ?
+ if ( !is_numeric( $_POST['associate'] ) )
+ {
+ array_push( $errors, $lang['cat_unknown_id'] );
+ }
+ else
+ {
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id = '.$_POST['associate'];
+ $query.= ';';
+ if ( mysql_num_rows( mysql_query( $query ) ) == 0 )
+ array_push( $errors, $lang['cat_unknown_id'] );
+ }
+ }
+ if ( $_POST['associate'] != '-1'
+ and $_POST['associate'] != ''
+ and count( $errors ) == 0 )
{
$query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
$query.= ' (category_id,image_id) VALUES ';
$query.= '('.$_POST['associate'].','.$_GET['image_id'].')';
$query.= ';';
mysql_query( $query);
+ $associate_or_dissociate = true;
update_category( $_POST['associate'] );
}
// dissociate any category ?
@@ -125,16 +145,21 @@ if ( isset( $_POST['submit'] ) )
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
- if ( $_POST['dissociate-'.$row['category_id']] == 1 )
+ if ( isset($_POST['dissociate-'.$row['category_id']]) )
{
$query = 'DELETE FROM '.PREFIX_TABLE.'image_category';
$query.= ' WHERE image_id = '.$_GET['image_id'];
$query.= ' AND category_id = '.$row['category_id'];
$query.= ';';
mysql_query( $query );
+ $associate_or_dissociate = true;
update_category( $row['category_id'] );
}
}
+ if ( $associate_or_dissociate )
+ {
+ synchronize_all_users();
+ }
}
//----------------------------------------------------- template initialization
$sub = $vtp->Open(
@@ -162,12 +187,19 @@ if ( count( $errors ) != 0 )
$action = './admin.php?'.$_SERVER['QUERY_STRING'];
$vtp->setVar( $sub, 'form_action', $action );
// retrieving direct information about picture
-$query = 'SELECT file,date_available,date_creation,tn_ext,name,filesize';
-$query.= ',width,height,author,comment,keywords,storage_category_id';
+$infos = array( 'file','date_available','date_creation','tn_ext','name'
+ ,'filesize','width','height','author','comment','keywords'
+ ,'storage_category_id' );
+$query = 'SELECT '. implode( ',', $infos );
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE id = '.$_GET['image_id'];
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
+
+foreach ( $infos as $info ) {
+ if ( !isset( $row[$info] ) ) $row[$info] = '';
+}
+
// picture title
if ( $row['name'] == '' )
{
@@ -290,7 +322,8 @@ while ( $row = mysql_fetch_array( $result ) )
$vtp->setVar( $sub, 'linked_category.invisible', $invisible_string );
}
- if ( $row['representative_picture_id'] == $_GET['image_id'] )
+ if ( isset( $row['representative_picture_id'] )
+ and $row['representative_picture_id'] == $_GET['image_id'] )
{
$vtp->setVar( $sub, 'linked_category.representative_checked',
' checked="checked"' );
@@ -306,12 +339,32 @@ if ( mysql_num_rows( $result ) > 0 )
$vtp->closeSession( $sub, 'dissociate' );
}
// associate to another category ?
-$vtp->addSession( $sub, 'associate_cat' );
-$vtp->setVar( $sub, 'associate_cat.value', '-1' );
-$vtp->setVar( $sub, 'associate_cat.content', '' );
-$vtp->closeSession( $sub, 'associate_cat' );
-$structure = create_structure( '', array() );
-display_categories( $structure, '&nbsp;' );
+//
+// We only show a List Of Values if the number of categories is less than
+// $conf['max_LOV_categories']
+$query = 'SELECT COUNT(id) AS nb_total_categories';
+$query.= ' FROM '.PREFIX_TABLE.'categories';
+$query.= ';';
+$row = mysql_fetch_array( mysql_query( $query ) );
+if ( $row['nb_total_categories'] < $conf['max_LOV_categories'] )
+{
+ $vtp->addSession( $sub, 'associate_LOV' );
+ $vtp->addSession( $sub, 'associate_cat' );
+ $vtp->setVar( $sub, 'associate_cat.value', '-1' );
+ $vtp->setVar( $sub, 'associate_cat.content', '' );
+ $vtp->closeSession( $sub, 'associate_cat' );
+ $page['plain_structure'] = get_plain_structure( true );
+ $structure = create_structure( '', array() );
+ display_categories( $structure, '&nbsp;' );
+ $vtp->closeSession( $sub, 'associate_LOV' );
+}
+// else, we only display a small text field, we suppose the administrator
+// knows the id of its category
+else
+{
+ $vtp->addSession( $sub, 'associate_text' );
+ $vtp->closeSession( $sub, 'associate_text' );
+}
//----------------------------------------------------------- sending html code
$vtp->Parse( $handle , 'sub', $sub );
?> \ No newline at end of file
diff --git a/admin/stats.php b/admin/stats.php
index 01780a95e..ba33a1582 100644
--- a/admin/stats.php
+++ b/admin/stats.php
@@ -42,13 +42,15 @@ $tpl = array( 'stats_last_days','date','login',
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
//--------------------------------------------------- number of days to display
-if ( isset( $_GET['last_days'] ) ) define( "MAX_DAYS", $_GET['last_days'] );
-else define( "MAX_DAYS", 0 );
+if ( isset( $_GET['last_days'] ) ) define( 'MAX_DAYS', $_GET['last_days'] );
+else define( 'MAX_DAYS', 0 );
foreach ( $conf['last_days'] as $option ) {
$vtp->addSession( $sub, 'last_day_option' );
$vtp->setVar( $sub, 'last_day_option.option', $option );
- $url = './admin.php?page=stats&amp;expand='.$_GET['expand'];
+ $url = './admin.php?page=stats';
+ if (isset($_GET['expand']))
+ $url .='&amp;expand='.$_GET['expand'];
$url.= '&amp;last_days='.($option - 1);
$vtp->setVar( $sub, 'last_day_option.link', add_session_id( $url ) );
if ( $option == MAX_DAYS + 1 )
@@ -59,12 +61,18 @@ foreach ( $conf['last_days'] as $option ) {
}
//---------------------------------------------------------------- log history
// empty link
-$url = './admin.php?page=stats&amp;last_days='.$_GET['last_days'];
-$url.= '&amp;expand='.$_GET['expand'];
+$url = './admin.php?page=stats';
+if (isset($_GET['last_days']))
+ $url .='&amp;last_days='.$_GET['last_days'];
+// expand array management
+$expand_days = array();
+if (isset($_GET['expand']))
+{
+ $url.= '&amp;expand='.$_GET['expand'];
+ $expand_days = explode( ',', $_GET['expand'] );
+}
$url.= '&amp;act=empty';
$vtp->setVar( $sub, 'emply_url', add_session_id( $url ) );
-// expand array management
-$expand_days = explode( ',', $_GET['expand'] );
$page['expand_days'] = array();
foreach ( $expand_days as $expand_day ) {
if ( is_numeric( $expand_day ) )
@@ -99,7 +107,9 @@ for ( $i = 0; $i <= MAX_DAYS; $i++ )
$vtp->setVar( $sub, 'day.open_or_close', $lang['open'] );
array_push( $local_expand, $i );
}
- $url = './admin.php?page=stats&amp;last_days='.$_GET['last_days'];
+ $url = './admin.php?page=stats';
+ if (isset($_GET['last_days']))
+ $url.= '&amp;last_days='.$_GET['last_days'];
$url.= '&amp;expand='.implode( ',', $local_expand );
$vtp->setVar( $sub, 'day.url', add_session_id( $url ) );
// date displayed like this (in English ) :
diff --git a/admin/thumbnail.php b/admin/thumbnail.php
index 0abbae506..ae44b311c 100644
--- a/admin/thumbnail.php
+++ b/admin/thumbnail.php
@@ -253,9 +253,8 @@ function get_displayed_dirs( $dir, $indent )
}
$vtp->closeSession( $sub, 'dir' );
// recursive call
- $dirs.= get_displayed_dirs( $dir.'/'.$sub_dir,
- $indent+30 );
-
+ get_displayed_dirs( $dir.'/'.$sub_dir,
+ $indent+30 );
}
}
//----------------------------------------------------- template initialization
@@ -359,7 +358,7 @@ if ( isset( $_GET['dir'] ) )
$url = './admin.php?page=thumbnail&amp;dir='.$_GET['dir'];
$vtp->setVar( $sub, 'params.action', add_session_id( $url ) );
// GD version selected...
- if ( $_POST['gd'] == 1 )
+ if ( isset( $_POST['gd'] ) and $_POST['gd'] == 1 )
{
$vtp->setVar( $sub, 'params.gd1_checked', ' checked="checked"' );
}
@@ -387,10 +386,12 @@ if ( isset( $_GET['dir'] ) )
}
// options for the number of picture to miniaturize : "n"
$options = array( 5,10,20,40 );
+ if ( isset( $_POST['n'] ) ) $n = $_POST['n'];
+ else $n = 5;
foreach ( $options as $option ) {
$vtp->addSession( $sub, 'n_option' );
$vtp->setVar( $sub, 'n_option.option', $option );
- if ( $option == $_POST['n'] )
+ if ( $option == $n )
{
$vtp->setVar( $sub, 'n_option.selected', ' selected="selected"' );
}
diff --git a/admin/update.php b/admin/update.php
index df1c6ebff..4e13e466d 100644
--- a/admin/update.php
+++ b/admin/update.php
@@ -2,7 +2,7 @@
/***************************************************************************
* update.php *
* ------------------ *
- * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * application : PhpWebGallery 1.4 <http://phpwebgallery.net> *
* author : Pierrick LE GALL <pierrick@z0rglub.com> *
* *
* $Id$
@@ -19,142 +19,162 @@
include_once( './admin/include/isadmin.inc.php' );
//------------------------------------------------------------------- functions
-function insert_local_category( $cat_id )
+function insert_local_category( $id_uppercat )
{
global $conf, $page, $user, $lang;
-
- $site_id = 1;
+
+ $uppercats = '';
+ $output = '';
// 0. retrieving informations on the category to display
$cat_directory = './galleries';
-
- if ( is_numeric( $cat_id ) )
+ if ( is_numeric( $id_uppercat ) )
{
- $cat_directory.= '/'.get_local_dir( $cat_id );
- $result = get_cat_info( $cat_id );
+ $query = 'SELECT name,uppercats,dir';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id = '.$id_uppercat;
+ $query.= ';';
+ $row = mysql_fetch_array( mysql_query( $query ) );
+ $uppercats = $row['uppercats'];
+ $name = $row['name'];
+ $dir = $row['dir'];
+
+ $upper_array = explode( ',', $uppercats );
+
+ $local_dir = '';
+
+ $database_dirs = array();
+ $query = 'SELECT id,dir';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id IN ('.$uppercats.')';
+ $query.= ';';
+ $result = mysql_query( $query );
+ while( $row = mysql_fetch_array( $result ) )
+ {
+ $database_dirs[$row['id']] = $row['dir'];
+ }
+ foreach ( $upper_array as $id ) {
+ $local_dir.= $database_dirs[$id].'/';
+ }
+
+ $cat_directory.= '/'.$local_dir;
+
// 1. display the category name to update
$src = './template/'.$user['template'].'/admin/images/puce.gif';
$output = '<img src="'.$src.'" alt="&gt;" />';
- $output.= '<span style="font-weight:bold;">'.$result['name'][0].'</span>';
- $output.= ' [ '.$result['dir'].' ]';
+ $output.= '<span style="font-weight:bold;">'.$name.'</span>';
+ $output.= ' [ '.$dir.' ]';
$output.= '<div class="retrait">';
// 2. we search pictures of the category only if the update is for all
// or a cat_id is specified
if ( isset( $page['cat'] ) or $_GET['update'] == 'all' )
{
- $output.= insert_local_image( $cat_directory, $cat_id );
+ $output.= insert_local_image( $cat_directory, $id_uppercat );
}
}
- // 3. we have to remove the categories of the database not present anymore
- $query = 'SELECT id';
+ $sub_dirs = get_category_directories( $cat_directory );
+
+ $sub_category_dirs = array();
+ $query = 'SELECT id,dir';
$query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE site_id = '.$site_id;
- if ( !is_numeric( $cat_id ) )
- {
- $query.= ' AND id_uppercat IS NULL';
- }
- else
- {
- $query.= ' AND id_uppercat = '.$cat_id;
- }
+ $query.= ' WHERE site_id = 1';
+ if (!is_numeric($id_uppercat)) $query.= ' AND id_uppercat IS NULL';
+ else $query.= ' AND id_uppercat = '.$id_uppercat;
+ $query.= ' AND dir IS NOT NULL'; // virtual categories not taken
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
- // retrieving the directory
- $rep = './galleries/'.get_local_dir( $row['id'] );
- // is the directory present ?
- if ( !is_dir( $rep ) ) delete_category( $row['id'] );
+ $sub_category_dirs[$row['id']] = $row['dir'];
}
- // 4. retrieving the sub-directories
- $subdirs = array();
- $dirs = '';
- if ( $opendir = opendir( $cat_directory ) )
- {
- while ( $file = readdir( $opendir ) )
+
+ // 3. we have to remove the categories of the database not present anymore
+ foreach ( $sub_category_dirs as $id => $dir ) {
+ if ( !in_array( $dir, $sub_dirs ) ) delete_category( $id );
+ }
+
+ // array of new categories to insert
+ $inserts = array();
+
+ foreach ( $sub_dirs as $sub_dir ) {
+ // 5. Is the category already existing ? we create a subcat if not
+ // existing
+ $category_id = array_search( $sub_dir, $sub_category_dirs );
+ if ( !is_numeric( $category_id ) )
{
- if ( $file != '.'
- and $file != '..'
- and is_dir ( $cat_directory.'/'.$file )
- and $file != 'thumbnail' )
+ if ( preg_match( '/^[a-zA-Z0-9-_.]+$/', $sub_dir ) )
{
- if ( preg_match( '/^[a-zA-Z0-9-_.]+$/', $file ) )
- array_push( $subdirs, $file );
- else
- {
- $output.= '<span style="color:red;">"'.$file.'" : ';
- $output.= $lang['update_wrong_dirname'].'</span><br />';
- // if the category even exists (from a previous release of
- // PhpWebGallery), we keep it in our $subdirs array
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE site_id = '.$site_id;
- $query.= " AND dir = '".$file."'";
- $query.= ' AND id_uppercat';
- if ( !is_numeric( $cat_id ) ) $query.= ' IS NULL';
- else $query.= ' = '.$cat_id;
- $query.= ';';
- $result = mysql_query( $query );
- if ( mysql_num_rows( $result ) != 0 )
- {
- array_push( $subdirs, $file );
- }
- }
+ $name = str_replace( '_', ' ', $sub_dir );
+
+ $value = "('".$sub_dir."','".$name."',1";
+ if ( !is_numeric( $id_uppercat ) ) $value.= ',NULL';
+ else $value.= ','.$id_uppercat;
+ $value.= ",'undef'";
+ $value.= ')';
+ array_push( $inserts, $value );
+ }
+ else
+ {
+ $output.= '<span style="color:red;">"'.$sub_dir.'" : ';
+ $output.= $lang['update_wrong_dirname'].'</span><br />';
}
}
}
- foreach ( $subdirs as $subdir ) {
- // 5. Is the category already existing ? we create a subcat if not
- // existing
- $category_id = '';
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE site_id = '.$site_id;
- $query.= " AND dir = '".$subdir."'";
- $query.= ' AND id_uppercat';
- if ( !is_numeric( $cat_id ) ) $query.= ' IS NULL';
- else $query.= ' = '.$cat_id;
+
+ // we have to create the category
+ if ( count( $inserts ) > 0 )
+ {
+ $query = 'INSERT INTO '.PREFIX_TABLE.'categories';
+ $query.= ' (dir,name,site_id,id_uppercat,uppercats) VALUES ';
+ $query.= implode( ',', $inserts );
$query.= ';';
- $result = mysql_query( $query );
- if ( mysql_num_rows( $result ) == 0 )
- {
- $name = str_replace( '_', ' ', $subdir );
- // we have to create the category
- $query = 'INSERT INTO '.PREFIX_TABLE.'categories';
- $query.= ' (dir,name,site_id,id_uppercat) VALUES';
- $query.= " ('".$subdir."','".$name."','".$site_id."'";
- if ( !is_numeric( $cat_id ) ) $query.= ',NULL';
- else $query.= ",'".$cat_id."'";
- $query.= ');';
- mysql_query( $query );
- $category_id = mysql_insert_id();
- // regeneration of the plain_structure to integrate the new category
- $page['plain_structure'] = get_plain_structure();
- }
- else
- {
- // we get the already registered id
- $row = mysql_fetch_array( $result );
- $category_id = $row['id'];
- }
- // 6. recursive call
- $output.= insert_local_category( $category_id );
+ mysql_query( $query );
+ // updating uppercats field
+ $query = 'UPDATE '.PREFIX_TABLE.'categories';
+ $query.= ' SET uppercats = ';
+ if ( $uppercats != '' ) $query.= "CONCAT('".$uppercats."',',',id)";
+ else $query.= 'id';
+ $query.= ' WHERE id_uppercat ';
+ if (!is_numeric($id_uppercat)) $query.= 'IS NULL';
+ else $query.= '= '.$id_uppercat;
+ $query.= ';';
+ mysql_query( $query );
}
-
- if ( is_numeric( $cat_id ) )
+
+ // Recursive call on the sub-categories (not virtual ones)
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE site_id = 1';
+ if (!is_numeric($id_uppercat)) $query.= ' AND id_uppercat IS NULL';
+ else $query.= ' AND id_uppercat = '.$id_uppercat;
+ $query.= ' AND dir IS NOT NULL'; // virtual categories not taken
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ $output.= insert_local_category( $row['id'] );
+ }
+
+ if ( is_numeric( $id_uppercat ) )
{
$output.= '</div>';
}
return $output;
}
-
-function insert_local_image( $rep, $category_id )
+
+function insert_local_image( $dir, $category_id )
{
global $lang,$conf,$count_new;
$output = '';
+
+ // fs means filesystem : $fs_pictures contains pictures in the filesystem
+ // found in $dir, $fs_thumbnails contains thumbnails...
+ $fs_pictures = get_picture_files( $dir );
+ $fs_thumbnails = get_thumb_files( $dir.'thumbnail' );
+
// we have to delete all the images from the database that :
// - are not in the directory anymore
// - don't have the associated thumbnail available anymore
@@ -165,157 +185,187 @@ function insert_local_image( $rep, $category_id )
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
- $lien_image = $rep.'/'.$row['file'];
- $lien_thumbnail = $rep.'/thumbnail/'.$conf['prefix_thumbnail'];
- $lien_thumbnail.= get_filename_wo_extension( $row['file'] );
- $lien_thumbnail.= '.'.$row['tn_ext'];
-
- if ( !is_file ( $lien_image ) or !is_file ( $lien_thumbnail ) )
+ $pic_to_delete = false;
+ if ( !in_array( $row['file'], $fs_pictures ) )
{
- if ( !is_file ( $lien_image ) )
- {
- $output.= $row['file'];
- $output.= ' <span style="font-weight:bold;">';
- $output.= $lang['update_disappeared'].'</span><br />';
- }
- if ( !is_file ( $lien_thumbnail ) )
- {
- $output.= $row['file'];
- $output.= ' : <span style="font-weight:bold;">';
- $output.= $lang['update_disappeared_tn'].'</span><br />';
- }
- // suppression de la base :
- delete_image( $row['id'] );
+ $output.= $row['file'];
+ $output.= ' <span style="font-weight:bold;">';
+ $output.= $lang['update_disappeared'].'</span><br />';
+ $pic_to_delete = true;
+ }
+
+ $thumbnail = $conf['prefix_thumbnail'];
+ $thumbnail.= get_filename_wo_extension( $row['file'] );
+ $thumbnail.= '.'.$row['tn_ext'];
+ if ( !in_array( $thumbnail, $fs_thumbnails ) )
+ {
+ $output.= $row['file'];
+ $output.= ' : <span style="font-weight:bold;">';
+ $output.= $lang['update_disappeared_tn'].'</span><br />';
+ $pic_to_delete = true;
}
+
+ if ( $pic_to_delete ) delete_image( $row['id'] );
}
-
- // searching the new images in the directory
- $pictures = array();
- $tn_ext = '';
- if ( $opendir = opendir( $rep ) )
+
+ $registered_pictures = array();
+ $query = 'SELECT file';
+ $query.= ' FROM '.PREFIX_TABLE.'images';
+ $query.= ' WHERE storage_category_id = '.$category_id;
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ array_push( $registered_pictures, $row['file'] );
+ }
+
+ // validated pictures are picture uploaded by users, validated by an admin
+ // and not registered (visible) yet
+ $validated_pictures = array();
+ $unvalidated_pictures = array();
+
+ $query = 'SELECT file,infos,validated';
+ $query.= ' FROM '.PREFIX_TABLE.'waiting';
+ $query.= ' WHERE storage_category_id = '.$category_id;
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
{
- while ( $file = readdir( $opendir ) )
+ if ( $row['validated'] == 'true' )
+ $validated_pictures[$row['file']] = $row['infos'];
+ else
+ array_push( $unvalidated_pictures, $row['file'] );
+ }
+
+ // we only search among the picture present in the filesystem and not
+ // present in the database yet. If we know that this picture is known as
+ // an uploaded one but not validated, it's not tested neither
+ $unregistered_pictures = array_diff( $fs_pictures
+ ,$registered_pictures
+ ,$unvalidated_pictures );
+
+ $inserts = array();
+
+ foreach ( $unregistered_pictures as $unregistered_picture ) {
+ if ( preg_match( '/^[a-zA-Z0-9-_.]+$/', $unregistered_picture ) )
{
- if ( is_file( $rep.'/'.$file ) and is_image( $rep.'/'.$file ) )
+ $file_wo_ext = get_filename_wo_extension( $unregistered_picture );
+ $tn_ext = '';
+ foreach ( $conf['picture_ext'] as $ext ) {
+ $test = $conf['prefix_thumbnail'].$file_wo_ext.'.'.$ext;
+ if ( !in_array( $test, $fs_thumbnails ) ) continue;
+ else { $tn_ext = $ext; break; }
+ }
+ // if we found a thumnbnail corresponding to our picture...
+ if ( $tn_ext != '' )
{
- // is the picture waiting for validation by an administrator ?
- $query = 'SELECT id,validated,infos';
- $query.= ' FROM '.PREFIX_TABLE.'waiting';
- $query.= ' WHERE storage_category_id = '.$category_id;
- $query.= " AND file = '".$file."'";
- $query.= ';';
- $result = mysql_query( $query );
- $waiting = mysql_fetch_array( $result );
- if (mysql_num_rows( $result ) == 0 or $waiting['validated'] == 'true')
+ $image_size = @getimagesize( $dir.$unregistered_picture );
+ // (file, storage_category_id, date_available, tn_ext, filesize,
+ // width, height, name, author, comment, date_creation)'
+ $value = '(';
+ $value.= "'".$unregistered_picture."'";
+ $value.= ','.$category_id;
+ $value.= ",'".date( 'Y-m-d' )."'";
+ $value.= ",'".$tn_ext."'";
+ $value.= ','.floor( filesize( $dir.$unregistered_picture) / 1024 );
+ $value.= ','.$image_size[0];
+ $value.= ','.$image_size[1];
+ if ( isset( $validated_pictures[$unregistered_picture] ) )
+ {
+ // retrieving infos from the XML description from waiting table
+ $infos = nl2br( $validated_pictures[$unregistered_picture] );
+
+ $unixtime = getAttribute( $infos, 'date_creation' );
+ if ($unixtime != '') $date_creation ="'".date('Y-m-d',$unixtime)."'";
+ else $date_creation = 'NULL';
+
+ $value.= ",'".getAttribute( $infos, 'name' )."'";
+ $value.= ",'".getAttribute( $infos, 'author' )."'";
+ $value.= ",'".getAttribute( $infos, 'comment')."'";
+ $value.= ','.$date_creation;
+
+ // deleting the waiting element
+ $query = 'DELETE FROM '.PREFIX_TABLE.'waiting';
+ $query.= " WHERE file = '".$unregistered_picture."'";
+ $query.= ' AND storage_category_id = '.$category_id;
+ $query.= ';';
+ mysql_query( $query );
+ }
+ else
{
- if ( $tn_ext = TN_exists( $rep, $file ) )
- {
- // is the picture already in the database ?
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' WHERE storage_category_id = '.$category_id;
- $query.= " AND file = '".$file."'";
- $query.= ';';
- $result = mysql_query( $query );
- if ( mysql_num_rows( $result ) == 0 )
- {
- // the name of the file must not use acentuated characters or
- // blank space..
- if ( preg_match( '/^[a-zA-Z0-9-_.]+$/', $file ) )
- {
- $picture = array();
- $picture['file'] = $file;
- $picture['tn_ext'] = $tn_ext;
- $picture['date'] = date( 'Y-m-d', filemtime($rep.'/'.$file) );
- $picture['filesize'] = floor( filesize($rep.'/'.$file) / 1024);
- $image_size = @getimagesize( $rep.'/'.$file );
- $picture['width'] = $image_size[0];
- $picture['height'] = $image_size[1];
- if ( $waiting['validated'] == 'true' )
- {
- // retrieving infos from the XML description of
- // $waiting['infos']
- $infos = nl2br( $waiting['infos'] );
- $picture['author'] = getAttribute( $infos, 'author' );
- $picture['comment'] = getAttribute( $infos, 'comment');
- $unixtime = getAttribute( $infos, 'date_creation' );
- $picture['date_creation'] = '';
- if ( $unixtime != '' )
- $picture['date_creation'] = date( 'Y-m-d', $unixtime );
- $picture['name'] = getAttribute( $infos, 'name' );
- // deleting the waiting element
- $query = 'DELETE FROM '.PREFIX_TABLE.'waiting';
- $query.= ' WHERE id = '.$waiting['id'];
- $query.= ';';
- mysql_query( $query );
- }
- array_push( $pictures, $picture );
- }
- else
- {
- $output.= '<span style="color:red;">"'.$file.'" : ';
- $output.= $lang['update_wrong_dirname'].'</span><br />';
- }
-
- }
- }
- else
- {
- $output.= '<span style="color:red;">';
- $output.= $lang['update_missing_tn'].' : '.$file;
- $output.= ' (<span style="font-weight:bold;">';
- $output.= $conf['prefix_thumbnail'];
- $output.= get_filename_wo_extension( $file ).'.XXX</span>';
- $output.= ', XXX = ';
- $output.= implode( ', ', $conf['picture_ext'] );
- $output.= ')</span><br />';
- }
+ $value.= ",'','','',NULL";
}
+ $value.= ')';
+
+ $count_new++;
+ $output.= $unregistered_picture;
+ $output.= ' <span style="font-weight:bold;">';
+ $output.= $lang['update_research_added'].'</span>';
+ $output.= ' ('.$lang['update_research_tn_ext'].' '.$tn_ext.')';
+ $output.= '<br />';
+ array_push( $inserts, $value );
}
+ else
+ {
+ $output.= '<span style="color:red;">';
+ $output.= $lang['update_missing_tn'].' : '.$unregistered_picture;
+ $output.= ' (<span style="font-weight:bold;">';
+ $output.= $conf['prefix_thumbnail'];
+ $output.= get_filename_wo_extension( $unregistered_picture );
+ $output.= '.XXX</span>';
+ $output.= ', XXX = ';
+ $output.= implode( ', ', $conf['picture_ext'] );
+ $output.= ')</span><br />';
+ }
+ }
+ else
+ {
+ $output.= '<span style="color:red;">"'.$unregistered_picture.'" : ';
+ $output.= $lang['update_wrong_dirname'].'</span><br />';
}
}
- // inserting the pictures found in the directory
- foreach ( $pictures as $picture ) {
+
+ if ( count( $inserts ) > 0 )
+ {
+ // inserts all found pictures
$query = 'INSERT INTO '.PREFIX_TABLE.'images';
$query.= ' (file,storage_category_id,date_available,tn_ext';
$query.= ',filesize,width,height';
$query.= ',name,author,comment,date_creation)';
$query.= ' VALUES ';
- $query.= "('".$picture['file']."','".$category_id."'";
- $query.= ",'".$picture['date']."','".$picture['tn_ext']."'";
- $query.= ",'".$picture['filesize']."','".$picture['width']."'";
- $query.= ",'".$picture['height']."','".$picture['name']."'";
- $query.= ",'".$picture['author']."','".$picture['comment']."'";
- if ( $picture['date_creation'] != '' )
- {
- $query.= ",'".$picture['date_creation']."'";
- }
- else
- {
- $query.= ',NULL';
- }
- $query.= ');';
+ $query.= implode( ',', $inserts );
+ $query.= ';';
mysql_query( $query );
- $count_new++;
- // retrieving the id of newly inserted picture
+
+ // what are the ids of the pictures in the $category_id ?
+ $ids = array();
+
$query = 'SELECT id';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE storage_category_id = '.$category_id;
- $query.= " AND file = '".$picture['file']."'";
$query.= ';';
- list( $image_id ) = mysql_fetch_array( mysql_query( $query ) );
- // adding the link between this picture and its storage category
- $query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
- $query.= ' (image_id,category_id) VALUES ';
- $query.= ' ('.$image_id.','.$category_id.')';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ array_push( $ids, $row['id'] );
+ }
+
+ // recreation of the links between this storage category pictures and
+ // its storage category
+ $query = 'DELETE FROM '.PREFIX_TABLE.'image_category';
+ $query.= ' WHERE category_id = '.$category_id;
+ $query.= ' AND image_id IN ('.implode( ',', $ids ).')';
$query.= ';';
mysql_query( $query );
- $output.= $picture['file'];
- $output.= ' <span style="font-weight:bold;">';
- $output.= $lang['update_research_added'].'</span>';
- $output.= ' ('.$lang['update_research_tn_ext'].' '.$picture['tn_ext'].')';
- $output.= '<br />';
+ $query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
+ $query.= '(category_id,image_id) VALUES ';
+ foreach ( $ids as $num => $image_id ) {
+ if ( $num > 0 ) $query.= ',';
+ $query.= '('.$category_id.','.$image_id.')';
+ }
+ $query.= ';';
+ mysql_query( $query );
}
return $output;
}
@@ -367,96 +417,131 @@ function remote_images()
// insert the contained categories if the are not in the database yet. The
// function also deletes the categories that are in the database and not in
// the xml_file.
-function insert_remote_category( $xml_dir, $site_id, $id_uppercat, $level )
+function insert_remote_category( $xml_content, $site_id, $id_uppercat, $level )
{
- global $conf,$user;
-
+ global $conf, $page, $user, $lang;
+
+ $uppercats = '';
$output = '';
- $categories = array();
- $list_dirs = getChildren( $xml_dir, 'dir'.$level );
- for ( $i = 0; $i < sizeof( $list_dirs ); $i++ )
+ // 0. retrieving informations on the category to display
+ $cat_directory = '../galleries';
+
+ if ( is_numeric( $id_uppercat ) )
{
- // is the category already existing ?
- $category_id = '';
- $dir = getAttribute( $list_dirs[$i], 'name' );
- $categories[$i] = $dir;
+ $query = 'SELECT name,uppercats,dir';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE id = '.$id_uppercat;
+ $query.= ';';
+ $row = mysql_fetch_array( mysql_query( $query ) );
+ $uppercats = $row['uppercats'];
+ $name = $row['name'];
+ // 1. display the category name to update
$src = './template/'.$user['template'].'/admin/images/puce.gif';
- $output.= '<img src="'.$src.'" alt="&gt;" />';
- $output.= '<span style="font-weight:bold;">'.$dir.'</span>';
+ $output = '<img src="'.$src.'" alt="&gt;" />';
+ $output.= '<span style="font-weight:bold;">'.$name.'</span>';
+ $output.= ' [ '.$row['dir'].' ]';
$output.= '<div class="retrait">';
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE site_id = '.$site_id;
- $query.= " AND dir = '".$dir."'";
- if ( $id_uppercat == 'NULL' )
- {
- $query.= ' AND id_uppercat IS NULL';
- }
- else
- {
- $query.= ' AND id_uppercat = '.$id_uppercat;
- }
- $query.= ';';
- $result = mysql_query( $query );
- if ( mysql_num_rows( $result ) == 0 )
- {
- $name = str_replace( '_', ' ', $dir );
- // we have to create the category
- $query = 'INSERT INTO '.PREFIX_TABLE.'categories';
- $query.= ' (name,dir,site_id,id_uppercat) VALUES ';
- $query.= "('".$name."','".$dir."',".$site_id;
- if ( !is_numeric( $id_uppercat ) )
- {
- $query.= ',NULL';
- }
- else
- {
- $query.= ','.$id_uppercat;
- }
- $query.= ');';
- mysql_query( $query );
- $category_id = mysql_insert_id();
- }
- else
- {
- // we get the already registered id
- $row = mysql_fetch_array( $result );
- $category_id = $row['id'];
- }
- $output.= insert_remote_image( $list_dirs[$i], $category_id );
- $output.= insert_remote_category( $list_dirs[$i], $site_id,
- $category_id, $level+1 );
- $output.= '</div>';
+ // 2. we search pictures of the category only if the update is for all
+ // or a cat_id is specified
+ $output.= insert_remote_image( $xml_content, $id_uppercat );
+ }
+
+ // $xml_dirs contains dir names contained in the xml file for this
+ // id_uppercat
+ $xml_dirs = array();
+ $temp_dirs = getChildren( $xml_content, 'dir'.$level );
+ foreach ( $temp_dirs as $temp_dir ) {
+ array_push( $xml_dirs, getAttribute( $temp_dir, 'name' ) );
}
- // we have to remove the categories of the database not present in the xml
- // file (ie deleted from the picture storage server)
- $query = 'SELECT dir,id';
+
+ // $database_dirs contains dir names contained in the database for this
+ // id_uppercat and site_id
+ $database_dirs = array();
+ $query = 'SELECT id,dir';
$query.= ' FROM '.PREFIX_TABLE.'categories';
$query.= ' WHERE site_id = '.$site_id;
- if ( !is_numeric( $id_uppercat ) )
+ if (!is_numeric($id_uppercat)) $query.= ' AND id_uppercat IS NULL';
+ else $query.= ' AND id_uppercat = '.$id_uppercat;
+ $query.= ' AND dir IS NOT NULL'; // virtual categories not taken
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
{
- $query.= ' AND id_uppercat IS NULL';
+ $database_dirs[$row['id']] = $row['dir'];
}
- else
+
+ // 3. we have to remove the categories of the database not present anymore
+ foreach ( $database_dirs as $id => $dir ) {
+ if ( !in_array( $dir, $xml_dirs ) ) delete_category( $id );
+ }
+
+ // array of new categories to insert
+ $inserts = array();
+
+ foreach ( $xml_dirs as $xml_dir ) {
+ // 5. Is the category already existing ? we create a subcat if not
+ // existing
+ $category_id = array_search( $xml_dir, $database_dirs );
+ if ( !is_numeric( $category_id ) )
+ {
+ $name = str_replace( '_', ' ', $xml_dir );
+
+ $value = "('".$xml_dir."','".$name."',".$site_id;
+ if ( !is_numeric( $id_uppercat ) ) $value.= ',NULL';
+ else $value.= ','.$id_uppercat;
+ $value.= ",'undef'";
+ $value.= ')';
+ array_push( $inserts, $value );
+ }
+ }
+
+ // we have to create the category
+ if ( count( $inserts ) > 0 )
{
- $query.= ' AND id_uppercat = '.$id_uppercat;
+ $query = 'INSERT INTO '.PREFIX_TABLE.'categories';
+ $query.= ' (dir,name,site_id,id_uppercat,uppercats) VALUES ';
+ $query.= implode( ',', $inserts );
+ $query.= ';';
+ mysql_query( $query );
+ // updating uppercats field
+ $query = 'UPDATE '.PREFIX_TABLE.'categories';
+ $query.= ' SET uppercats = ';
+ if ( $uppercats != '' ) $query.= "CONCAT('".$uppercats."',',',id)";
+ else $query.= 'id';
+ $query.= ' WHERE id_uppercat ';
+ if (!is_numeric($id_uppercat)) $query.= 'IS NULL';
+ else $query.= '= '.$id_uppercat;
+ $query.= ';';
+ mysql_query( $query );
}
+
+ // Recursive call on the sub-categories (not virtual ones)
+ $query = 'SELECT id,dir';
+ $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' WHERE site_id = '.$site_id;
+ if (!is_numeric($id_uppercat)) $query.= ' AND id_uppercat IS NULL';
+ else $query.= ' AND id_uppercat = '.$id_uppercat;
+ $query.= ' AND dir IS NOT NULL'; // virtual categories not taken
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
- // is the category in the xml file ?
- if ( !in_array( $row['dir'], $categories ) )
- {
- delete_category( $row['id'] );
- }
+ $database_dirs[$row['dir']] = $row['id'];
}
+ foreach ( $temp_dirs as $temp_dir ) {
+ $dir = getAttribute( $temp_dir, 'name' );
+ $id_uppercat = $database_dirs[$dir];
+ $output.= insert_remote_category( $temp_dir, $site_id,
+ $id_uppercat,$level+1 );
+ }
+
+ if ( is_numeric( $id_uppercat ) ) $output.= '</div>';
return $output;
}
-
+
// insert_remote_image searchs the "root" node of the xml_dir given and
// insert the contained pictures if the are not in the database yet.
function insert_remote_image( $xml_dir, $category_id )
@@ -465,101 +550,117 @@ function insert_remote_image( $xml_dir, $category_id )
$output = '';
$root = getChild( $xml_dir, 'root' );
- $pictures = array();
+
+ $fs_pictures = array();
$xml_pictures = getChildren( $root, 'picture' );
- for ( $j = 0; $j < sizeof( $xml_pictures ); $j++ )
+ foreach ( $xml_pictures as $xml_picture ) {
+ array_push( $fs_pictures, getAttribute( $xml_picture, 'file' ) );
+ }
+
+ // we have to delete all the images from the database that are not in the
+ // directory anymore (not in the XML anymore)
+ $query = 'SELECT id,file';
+ $query.= ' FROM '.PREFIX_TABLE.'images';
+ $query.= ' WHERE storage_category_id = '.$category_id;
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
{
- //<picture file="albatros.jpg" tn_ext="png" date="2002-04-14"
- // filesize="35" width="640" height="480" />
- $file = getAttribute( $xml_pictures[$j], 'file' );
- $tn_ext = getAttribute( $xml_pictures[$j], 'tn_ext' );
- $date = getAttribute( $xml_pictures[$j], 'date' );
- $filesize = getAttribute( $xml_pictures[$j], 'filesize' );
- $width = getAttribute( $xml_pictures[$j], 'width' );
- $height = getAttribute( $xml_pictures[$j], 'height' );
-
- $pictures[$j] = $file;
-
- // is the picture already existing in the database ?
- $query = 'SELECT id,tn_ext';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' WHERE storage_category_id = '.$category_id;
- $query.= " AND file = '".$file."'";
- $query.= ';';
- $result = mysql_query( $query );
- $query = '';
- if ( mysql_num_rows( $result ) == 0 )
+ if ( !in_array( $row['file'], $fs_pictures ) )
{
- $query = 'INSERT INTO '.PREFIX_TABLE.'images';
- $query.= ' (file,storage_category_id,date_available,tn_ext';
- $query.= ',filesize,width,height)';
- $query.= ' VALUES (';
- $query.= "'".$file."'";
- $query.= ",'".$category_id."'";
- $query.= ",'".$date."'";
- $query.= ",'".$tn_ext."'";
- $query.= ",'".$filesize."'";
- $query.= ",'".$width."'";
- $query.= ",'".$height."'";
- $query.= ')';
- $query.= ';';
- mysql_query( $query );
- // retrieving the id of newly inserted picture
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' WHERE storage_category_id = '.$category_id;
- $query.= " AND file = '".$file."'";
- $query.= ';';
- list( $image_id ) = mysql_fetch_array( mysql_query( $query ) );
- // adding the link between this picture and its storage category
- $query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
- $query.= ' (image_id,category_id) VALUES ';
- $query.= ' ('.$image_id.','.$category_id.')';
- $query.= ';';
- mysql_query( $query );
-
- $output.= $file;
+ $output.= $row['file'];
$output.= ' <span style="font-weight:bold;">';
- $output.= $lang['update_research_added'].'</span>';
- $output.= ' ('.$lang['update_research_tn_ext'].' '.$tn_ext.')<br />';
-
- $count_new++;
- }
- else
- {
- // is the tn_ext the same in the xml file and in the database ?
- $row = mysql_fetch_array( $result );
- if ( $row['tn_ext'] != $tn_ext )
- {
- $query = 'UPDATE '.PREFIX_TABLE.'images';
- $query.= ' SET';
- $query.= " tn_ext = '".$tn_ext."'";
- $query.= ' WHERE storage_category_id = '.$category_id;
- $query.= " AND file = '".$file."'";
- $query.= ';';
- }
- }
- // execution of the query
- if ( $query != '' )
- {
- mysql_query( $query );
+ $output.= $lang['update_disappeared'].'</span><br />';
+ delete_image( $row['id'] );
}
}
- // we have to remove the pictures of the database not present in the xml file
- // (ie deleted from the picture storage server)
- $query = 'SELECT id,file';
+
+ $database_pictures = array();
+ $query = 'SELECT file';
$query.= ' FROM '.PREFIX_TABLE.'images';
$query.= ' WHERE storage_category_id = '.$category_id;
$query.= ';';
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
- // is the file in the xml file ?
- if ( !in_array( $row['file'], $pictures ) )
+ array_push( $database_pictures, $row['file'] );
+ }
+
+ $inserts = array();
+ $xml_pictures = getChildren( $root, 'picture' );
+ foreach ( $xml_pictures as $xml_picture ) {
+ // <picture file="albatros.jpg" tn_ext="png" filesize="35" width="640"
+ // height="480" />
+ $file = getAttribute( $xml_picture, 'file' );
+
+ // is the picture already existing in the database ?
+ if ( !in_array( $file, $database_pictures ) )
{
- delete_image( $row['id'] );
+ $tn_ext = getAttribute( $xml_picture, 'tn_ext' );
+ // (file, storage_category_id, date_available, tn_ext, filesize,
+ // width, height)
+ $value = '(';
+ $value.= "'".$file."'";
+ $value.= ','.$category_id;
+ $value.= ",'".date( 'Y-m-d' )."'";
+ $value.= ",'".$tn_ext."'";
+ $value.= ','.getAttribute( $xml_picture, 'filesize' );
+ $value.= ','.getAttribute( $xml_picture, 'width' );
+ $value.= ','.getAttribute( $xml_picture, 'height' );
+ $value.= ')';
+
+ $count_new++;
+ $output.= $file;
+ $output.= ' <span style="font-weight:bold;">';
+ $output.= $lang['update_research_added'].'</span>';
+ $output.= ' ('.$lang['update_research_tn_ext'].' '.$tn_ext.')';
+ $output.= '<br />';
+ array_push( $inserts, $value );
+ }
+ }
+
+ if ( count( $inserts ) > 0 )
+ {
+ // inserts all found pictures
+ $query = 'INSERT INTO '.PREFIX_TABLE.'images';
+ $query.= ' (file,storage_category_id,date_available,tn_ext';
+ $query.= ',filesize,width,height)';
+ $query.= ' VALUES ';
+ $query.= implode( ',', $inserts );
+ $query.= ';';
+ mysql_query( $query );
+
+ // what are the ids of the pictures in the $category_id ?
+ $ids = array();
+
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'images';
+ $query.= ' WHERE storage_category_id = '.$category_id;
+ $query.= ';';
+ $result = mysql_query( $query );
+ while ( $row = mysql_fetch_array( $result ) )
+ {
+ array_push( $ids, $row['id'] );
+ }
+
+ // recreation of the links between this storage category pictures and
+ // its storage category
+ $query = 'DELETE FROM '.PREFIX_TABLE.'image_category';
+ $query.= ' WHERE category_id = '.$category_id;
+ $query.= ' AND image_id IN ('.implode( ',', $ids ).')';
+ $query.= ';';
+ mysql_query( $query );
+
+ $query = 'INSERT INTO '.PREFIX_TABLE.'image_category';
+ $query.= '(category_id,image_id) VALUES ';
+ foreach ( $ids as $num => $image_id ) {
+ if ( $num > 0 ) $query.= ',';
+ $query.= '('.$category_id.','.$image_id.')';
}
+ $query.= ';';
+ mysql_query( $query );
}
+
return $output;
}
//----------------------------------------------------- template initialization
@@ -569,15 +670,9 @@ $tpl = array( 'update_default_title', 'update_only_cat', 'update_all',
'remote_site', 'update_part_research' );
templatize_array( $tpl, 'lang', $sub );
$vtp->setGlobalVar( $sub, 'user_template', $user['template'] );
-//-------------------------------------------------------- categories structure
-$page['plain_structure'] = get_plain_structure();
//-------------------------------------------- introduction : choices of update
// Display choice if "update" var is not specified
-check_cat_id( $_GET['update'] );
-if ( !isset( $_GET['update'] )
- and !( isset( $page['cat'] )
- or $_GET['update'] == 'cats'
- or $_GET['update'] == 'all' ) )
+if (!isset( $_GET['update'] ))
{
$vtp->addSession( $sub, 'introduction' );
// only update the categories, not the pictures.
@@ -591,6 +686,8 @@ if ( !isset( $_GET['update'] )
//-------------------------------------------------- local update : ./galleries
else
{
+ check_cat_id( $_GET['update'] );
+ $start = get_moment();
$count_new = 0;
$count_deleted = 0;
$vtp->addSession( $sub, 'local_update' );
@@ -602,6 +699,8 @@ else
{
$categories = insert_local_category( 'NULL' );
}
+ $end = get_moment();
+ echo get_elapsed_time( $start, $end ).' for update <br />';
$vtp->setVar( $sub, 'local_update.categories', $categories );
$vtp->setVar( $sub, 'local_update.count_new', $count_new );
$vtp->setVar( $sub, 'local_update.count_deleted', $count_deleted );
@@ -613,15 +712,32 @@ if ( @is_file( './listing.xml' ) )
$count_new = 0;
$count_deleted = 0;
$vtp->addSession( $sub, 'remote_update' );
-
+
+ $start = get_moment();
remote_images();
+ $end = get_moment();
+ echo get_elapsed_time( $start, $end ).' for remote_images<br />';
+
$vtp->setVar( $sub, 'remote_update.count_new', $count_new );
$vtp->setVar( $sub, 'remote_update.count_deleted', $count_deleted );
$vtp->closeSession( $sub, 'remote_update' );
}
//---------------------------------------- update informations about categories
-update_category( 'all' );
+if ( isset( $_GET['update'] )
+ or isset( $page['cat'] )
+ or @is_file( './listing.xml' ) )
+{
+ $start = get_moment();
+ update_category( 'all' );
+ $end = get_moment();
+ echo get_elapsed_time( $start, $end ).' for update_category( all )<br />';
+
+ $start = get_moment();
+ synchronize_all_users();
+ $end = get_moment();
+ echo get_elapsed_time( $start, $end ).' for synchronize_all_users<br />';
+}
//----------------------------------------------------------- sending html code
$vtp->Parse( $handle , 'sub', $sub );
?> \ No newline at end of file
diff --git a/admin/user_list.php b/admin/user_list.php
index e8b6bb34b..a80d73c3e 100644
--- a/admin/user_list.php
+++ b/admin/user_list.php
@@ -58,7 +58,7 @@ if ( isset ( $_GET['delete'] ) and is_numeric( $_GET['delete'] ) )
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
// confirm user deletion ?
- if ( $_GET['confirm'] != 1 )
+ if ( !isset( $_GET['confirm'] ) )
{
$vtp->addSession( $sub, 'deletion' );
$vtp->setVar( $sub, 'deletion.login', $row['username'] );
@@ -109,7 +109,8 @@ else
$vtp->addSession( $sub, 'add_user' );
$action = './admin.php?'.$_SERVER['QUERY_STRING'];
$vtp->setVar( $sub, 'add_user.form_action', $action );
- $vtp->setVar( $sub, 'add_user.f_username', $_POST['username'] );
+ if (isset( $_POST['username']))
+ $vtp->setVar( $sub, 'add_user.f_username', $_POST['username'] );
$vtp->closeSession( $sub, 'add_user' );
$vtp->addSession( $sub, 'users' );
@@ -149,7 +150,7 @@ else
}
$vtp->addSession( $sub, 'user' );
// checkbox for mail management if the user has a mail address
- if ( $row['mail_address'] != '' and $row['username'] != 'guest' )
+ if ( isset( $row['mail_address'] ) and $row['username'] != 'guest' )
{
$vtp->addSession( $sub, 'checkbox' );
$vtp->setVar( $sub, 'checkbox.name', 'mail-'.$row['id'] );
@@ -229,7 +230,7 @@ else
$result = mysql_query( $query );
while ( $row = mysql_fetch_array( $result ) )
{
- if ( $_POST['mail-'.$row['id']] == 1 )
+ if ( isset( $_POST['mail-'.$row['id']] ) )
array_push( $mails, $row['mail_address'] );
}
$mail_destination = '';
diff --git a/admin/user_modify.php b/admin/user_modify.php
index e49d3b3b0..cc6486c7a 100644
--- a/admin/user_modify.php
+++ b/admin/user_modify.php
@@ -39,6 +39,7 @@ $query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
$page['username'] = $row['username'];
$page['status'] = $row['status'];
+if ( !isset( $row['mail_address'] ) ) $row['mail_address'] = '';
$page['mail_address'] = $row['mail_address'];
// user is not modifiable if :
// 1. the selected user is the user "guest"
@@ -62,10 +63,7 @@ if ( sizeof( $error ) == 0 and isset( $_POST['submit'] ) )
{
// shall we use a new password and overwrite the old one ?
$use_new_password = false;
- if ( $_POST['use_new_pwd'] == 1)
- {
- $use_new_password = true;
- }
+ if ( isset( $_POST['use_new_pwd'] ) ) $use_new_password = true;
// if we try to update the webmaster infos, we have to set the status to
// 'admin'
if ( $row['username'] == $conf['webmaster'] )
@@ -88,7 +86,7 @@ if ( isset( $_POST['submit'] ) )
while ( $row = mysql_fetch_array( $result ) )
{
$dissociate = 'dissociate-'.$row['id'];
- if ( $_POST[$dissociate] == 1 )
+ if ( isset( $_POST[$dissociate] ) )
{
$query = 'DELETE FROM '.PREFIX_TABLE.'user_group';
$query.= ' WHERE user_id = '.$_GET['user_id'];
@@ -103,6 +101,8 @@ if ( isset( $_POST['submit'] ) )
$query.= ' ('.$_GET['user_id'].','.$_POST['associate'].')';
$query.= ';';
mysql_query( $query );
+ // synchronize category informations for this user
+ synchronize_user( $_GET['user_id'] );
}
//-------------------------------------------------------------- errors display
if ( sizeof( $error ) != 0 )
@@ -124,7 +124,7 @@ if ( sizeof( $error ) == 0 and isset( $_POST['submit'] ) )
$url = add_session_id( './admin.php?page=user_list' );
$vtp->setVar( $sub, 'confirmation.url', $url );
$vtp->closeSession( $sub, 'confirmation' );
- if ( $use_new_pwd )
+ if ( $use_new_password )
{
$vtp->addSession( $sub, 'password_updated' );
$vtp->closeSession( $sub, 'password_updated' );
diff --git a/admin/user_perm.php b/admin/user_perm.php
index d272552ae..19f7e4b6f 100644
--- a/admin/user_perm.php
+++ b/admin/user_perm.php
@@ -52,13 +52,14 @@ if ( isset( $_POST['submit'] ) )
}
}
check_favorites( $_GET['user_id'] );
+ synchronize_user( $_GET['user_id'] );
$vtp->addSession( $sub, 'confirmation' );
$url = './admin.php?page=user_list';
$vtp->setVar( $sub, 'confirmation.back_url', add_session_id( $url ) );
$vtp->closeSession( $sub, 'confirmation' );
}
//---------------------------------------------------------------- form display
-$restrictions = get_restrictions( $_GET['user_id'], $page['user_status'],
+$restrictions = get_user_restrictions( $_GET['user_id'], $page['user_status'],
false, false );
$action = './admin.php?page=user_perm&amp;user_id='.$_GET['user_id'];
$vtp->setVar( $sub, 'action', add_session_id( $action ) );
diff --git a/admin/waiting.php b/admin/waiting.php
index aefb6e9d8..5fc79303e 100644
--- a/admin/waiting.php
+++ b/admin/waiting.php
@@ -116,7 +116,7 @@ while ( $row = mysql_fetch_array( $result ) )
// file name
$vtp->setVar( $sub, 'picture.file', $row['file'] );
// is there an existing associated thumnail ?
- if ( $row['tn_ext'] != '' )
+ if ( isset( $row['tn_ext'] ) and $row['tn_ext'] != '' )
{
$vtp->addSession( $sub, 'thumbnail' );
$thumbnail = $conf['prefix_thumbnail'];
diff --git a/category.php b/category.php
index 1058eb958..0b93e6d06 100644
--- a/category.php
+++ b/category.php
@@ -16,14 +16,13 @@
* the Free Software Foundation; *
* *
***************************************************************************/
-// determine the initial instant to indicate the generation time of this page
-$t1 = explode( ' ', microtime() );
-$t2 = explode( '.', $t1[0] );
-$t2 = $t1[1].'.'.$t2[1];
-//----------------------------------------------------------- personnal include
-include_once( './include/init.inc.php' );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
//---------------------------------------------------------------------- logout
-if ( $_GET['act'] == 'logout' and isset( $_COOKIE['id'] ) )
+if ( isset( $_GET['act'] )
+ and $_GET['act'] == 'logout'
+ and isset( $_COOKIE['id'] ) )
{
// cookie deletion if exists
setcookie( 'id', '', 0, cookie_path() );
@@ -34,18 +33,23 @@ if ( $_GET['act'] == 'logout' and isset( $_COOKIE['id'] ) )
exit();
}
//-------------------------------------------------- access authorization check
-// creating the plain structure : array of all the available categories and
-// their relative informations, see the definition of the function
-// get_plain_structure for further details.
-$page['plain_structure'] = get_plain_structure();
-
-check_cat_id( $_GET['cat'] );
+if ( isset( $_GET['cat'] ) ) check_cat_id( $_GET['cat'] );
check_login_authorization();
if ( isset( $page['cat'] ) and is_numeric( $page['cat'] ) )
{
check_restrictions( $page['cat'] );
}
//-------------------------------------------------------------- initialization
+// detection of the start picture to display
+if ( !isset( $_GET['start'] )
+ or !is_numeric( $_GET['start'] )
+ or ( is_numeric( $_GET['start'] ) and $_GET['start'] < 0 ) )
+ $page['start'] = 0;
+else
+ $page['start'] = $_GET['start'];
+
+initialize_category();
+
// creation of the array containing the cat ids to expand in the menu
// $page['tab_expand'] contains an array with the category ids
// $page['expand'] contains the string to display in URL with comma
@@ -56,80 +60,83 @@ if ( isset ( $_GET['expand'] ) and $_GET['expand'] != 'all' )
foreach ( $tab_expand as $id ) {
if ( is_numeric( $id ) ) array_push( $page['tab_expand'], $id );
}
- if ( is_numeric( $page['cat'] ) )
- {
- // the category displayed (in the URL cat=23) must be seen in the menu ->
- // parent categories must be expanded
- $parent = $page['plain_structure'][$page['cat']]['id_uppercat'];
- while ( $parent != '' )
- {
- array_push( $page['tab_expand'], $parent );
- $parent = $page['plain_structure'][$parent]['id_uppercat'];
- }
+}
+if ( isset($page['cat']) && is_numeric( $page['cat'] ) )
+{
+ // the category displayed (in the URL cat=23) must be seen in the menu ->
+ // parent categories must be expanded
+ $uppercats = explode( ',', $page['uppercats'] );
+ foreach ( $uppercats as $uppercat ) {
+ array_push( $page['tab_expand'], $uppercat );
}
- $page['expand'] = implode( ',', $page['tab_expand'] );
}
+$page['tab_expand'] = array_unique( $page['tab_expand'] );
+$page['expand'] = implode( ',', $page['tab_expand'] );
// in case of expanding all authorized cats
// The $page['expand'] equals 'all' and
// $page['tab_expand'] contains all the authorized cat ids
-if ( $user['expand'] or $_GET['expand'] == 'all' )
+if ( $user['expand']
+ or ( isset( $_GET['expand'] ) and $_GET['expand'] == 'all' ) )
{
$page['tab_expand'] = array();
$page['expand'] = 'all';
}
-// detection of the start picture to display
-if ( !isset( $_GET['start'] )
- or !is_numeric( $_GET['start'] )
- or ( is_numeric( $_GET['start'] ) and $_GET['start'] < 0 ) )
-{
- $page['start'] = 0;
-}
-else
-{
- $page['start'] = $_GET['start'];
-}
// Sometimes, a "num" is provided in the URL. It is the number
// of the picture to show. This picture must be in the thumbnails page.
// We have to find the right $page['start'] that show the num picture
// in this category
-if ( is_numeric( $_GET['num'] ) and $_GET['num'] >= 0 )
+if ( isset( $_GET['num'] )
+ and is_numeric( $_GET['num'] )
+ and $_GET['num'] >= 0 )
{
$page['start'] = floor( $_GET['num'] / $user['nb_image_page'] );
$page['start']*= $user['nb_image_page'];
}
// creating the structure of the categories (useful for displaying the menu)
-$page['structure'] = create_structure( '', $user['restrictions'] );
+// creating the plain structure : array of all the available categories and
+// their relative informations, see the definition of the function
+// get_user_plain_structure for further details.
+$page['plain_structure'] = get_user_plain_structure();
+$page['structure'] = create_user_structure( '' );
$page['structure'] = update_structure( $page['structure'] );
-initialize_category();
+
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+
+//
+// Start output of page
+//
+$title = $page['title'];
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/'.$user['template'].'/category.vtp' );
initialize_template();
$tpl = array(
'categories','hint_category','sub-cat','images_available','total',
'title_menu','nb_image_category','send_mail','title_send_mail',
- 'generation_time','connected_user','recent_image','days','generation_time',
+ 'connected_user','recent_image','days',
'favorite_cat_hint','favorite_cat','stats','most_visited_cat_hint',
'most_visited_cat','recent_cat','recent_cat_hint','upload_picture',
'comments' );
templatize_array( $tpl, 'lang', $handle );
-$tpl = array( 'mail_webmaster','webmaster','top_number','version','site_url' );
+$tpl = array( 'mail_webmaster','webmaster','top_number');
templatize_array( $tpl, 'conf', $handle );
$tpl = array( 'short_period','long_period','lien_collapsed', 'username' );
templatize_array( $tpl, 'user', $handle );
-$tpl = array( 'title','navigation_bar','cat_comment','cat_nb_images' );
+$tpl = array( 'navigation_bar','cat_comment','cat_nb_images' );
templatize_array( $tpl, 'page', $handle );
// special global template vars
$vtp->setGlobalVar( $handle, 'icon_short', get_icon( time() ) );
$icon_long = get_icon( time() - ( $user['short_period'] * 24 * 60 * 60 + 1 ) );
$vtp->setGlobalVar( $handle, 'icon_long', $icon_long );
-$nb_total_pictures = count_images( $page['structure'] );
+$nb_total_pictures = count_user_total_images();
$vtp->setGlobalVar( $handle, 'nb_total_pictures',$nb_total_pictures );
+
//------------------------------------------------------------- categories menu
+$vtp->setVar( $handle, 'home_url', add_session_id( 'category.php' ) );
// normal categories
foreach ( $page['structure'] as $category ) {
// display category is a function relative to the template
@@ -143,7 +150,7 @@ if ( !$user['is_the_guest'] )
$vtp->setVar( $handle, 'favorites.url', add_session_id( $url ) );
// searching the number of favorite picture
$query = 'SELECT COUNT(*) AS count';
- $query.= ' FROM '.PREFIX_TABLE.'favorites';
+ $query.= ' FROM '.FAVORITES_TABLE;
$query.= ' WHERE user_id = '.$user['id'].';';
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
@@ -181,9 +188,10 @@ if ( !$user['is_the_guest'] )
$vtp->closeSession( $handle, 'summary' );
// customization link
$vtp->addSession( $handle, 'summary' );
- $url = './profile.php?cat='.$page['cat'];
- $url.= '&amp;expand='.$page['expand'];
- if ( $page['cat'] == 'search' )
+ $url = './profile.php';
+ if (isset($page['cat']) && isset($page['expand']))
+ $url.='?cat='.$page['cat'].'&amp;expand='.$page['expand'];
+ if ( isset($page['cat']) && $page['cat'] == 'search' )
{
$url.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
}
@@ -253,8 +261,8 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
$query = 'SELECT distinct(id),file,date_available,tn_ext,name,filesize';
$query.= ',storage_category_id';
- $query.= ' FROM '.PREFIX_TABLE.'images AS i';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic ON id=ic.image_id';
+ $query.= ' FROM '.IMAGES_TABLE.' AS i';
+ $query.=' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON id=ic.image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$page['start'].','.$page['nb_image_page'];
@@ -270,7 +278,7 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
while ( $row = mysql_fetch_array( $result ) )
{
// retrieving the storage dir of the picture
- if ( $array_cat_directories[$row['storage_category_id']] == '' )
+ if ( !isset($array_cat_directories[$row['storage_category_id']]))
{
$array_cat_directories[$row['storage_category_id']] =
get_complete_dir( $row['storage_category_id'] );
@@ -279,8 +287,8 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
$file = get_filename_wo_extension( $row['file'] );
// name of the picture
- if ( $row['name'] != '' ) $name = $row['name'];
- else $name = str_replace( '_', ' ', $file );
+ if ( isset( $row['name'] ) and $row['name'] != '' ) $name = $row['name'];
+ else $name = str_replace( '_', ' ', $file );
if ( $page['cat'] == 'search' )
{
@@ -320,8 +328,7 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
{
$vtp->addSession( $handle, 'nb_comments' );
$query = 'SELECT COUNT(*) AS nb_comments';
- $query.= ' FROM '.PREFIX_TABLE.'comments';
- $query.= ' WHERE image_id = '.$row['id'];
+ $query.= ' FROM '.COMMENTS_TABLE.' WHERE image_id = '.$row['id'];
$query.= " AND validated = 'true'";
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
@@ -350,13 +357,16 @@ if ( isset( $page['cat'] ) and $page['cat_nb_images'] != 0 )
//-------------------------------------------------------------- empty category
elseif ( ( isset( $page['cat'] )
and is_numeric( $page['cat'] )
- and $page['cat_nb_images'] == 0 )
- or $_GET['cat'] == '' )
+ and $page['cat_nb_images'] == 0
+ and $page['plain_structure'][$page['cat']]['nb_sub_categories'] > 0)
+ or (!isset($_GET['cat'])))
{
$vtp->addSession( $handle, 'thumbnails' );
$vtp->addSession( $handle, 'line' );
- $subcats = get_non_empty_subcat_ids( $page['cat'] );
+ $subcats=array();
+ if (isset($page['cat'])) $subcats = get_non_empty_subcat_ids( $page['cat'] );
+ else $subcats = get_non_empty_subcat_ids( '' );
$cell_number = 1;
$i = 0;
foreach ( $subcats as $subcat_id => $non_empty_id ) {
@@ -368,17 +378,17 @@ elseif ( ( isset( $page['cat'] )
// searching the representative picture of the category
$query = 'SELECT representative_picture_id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE id = '.$non_empty_id;
+ $query.= ' FROM '.CATEGORIES_TABLE.' WHERE id = '.$non_empty_id;
+ $query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
$query = 'SELECT file,tn_ext,storage_category_id';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category ON id = image_id';
+ $query.= ' FROM '.IMAGES_TABLE.', '.IMAGE_CATEGORY_TABLE;
$query.= ' WHERE category_id = '.$non_empty_id;
+ $query.= ' AND id = image_id';
// if the category has a representative picture, this is its thumbnail
- // tha will be displayed !
- if ( $row['representative_picture_id'] != '' )
+ // that will be displayed !
+ if ( isset( $row['representative_picture_id'] ) )
$query.= ' AND id = '.$row['representative_picture_id'];
else
$query.= ' ORDER BY RAND()';
@@ -397,7 +407,7 @@ elseif ( ( isset( $page['cat'] )
$thumbnail_title = $lang['hint_category'];
$url_link = './category.php?cat='.$subcat_id;
- if ( !in_array( $page['cat'], $page['tab_expand'] ) )
+ if ( isset($page['cat'])&& !in_array( $page['cat'], $page['tab_expand'] ) )
{
array_push( $page['tab_expand'], $page['cat'] );
$page['expand'] = implode( ',', $page['tab_expand'] );
@@ -459,30 +469,30 @@ if ( isset ( $page['cat'] ) )
$vtp->setVar( $handle, 'cat_infos.cat_name',
get_cat_display_name( $page['cat_name'], ' - ',
'font-style:italic;' ) );
+ // upload a picture in the category
+ if ( $page['cat_site_id'] == 1
+ and $conf['upload_available']
+ and $page['cat_uploadable'] )
+ {
+ $vtp->addSession( $handle, 'upload' );
+ $url = './upload.php?cat='.$page['cat'].'&amp;expand='.$page['expand'];
+ $vtp->setVar( $handle, 'upload.url', add_session_id( $url ) );
+ $vtp->closeSession( $handle, 'upload' );
+ }
}
else
{
$vtp->setVar( $handle, 'cat_infos.cat_name', $page['title'] );
}
- // upload a picture in the category
- if ( $page['cat_site_id'] == 1
- and $conf['upload_available']
- and $page['cat_uploadable'] )
- {
- $vtp->addSession( $handle, 'upload' );
- $url = './upload.php?cat='.$page['cat'].'&amp;expand='.$page['expand'];
- $vtp->setVar( $handle, 'upload.url', add_session_id( $url ) );
- $vtp->closeSession( $handle, 'upload' );
- }
+
$vtp->closeSession( $handle, 'cat_infos' );
}
//------------------------------------------------------------ log informations
pwg_log( 'category', $page['title'] );
mysql_close();
-//------------------------------------------------------------- generation time
-$time = get_elapsed_time( $t2, get_moment() );
-$vtp->setGlobalVar( $handle, 'time', $time );
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/comments.php b/comments.php
index 8ca3ecaeb..650dd10c6 100644
--- a/comments.php
+++ b/comments.php
@@ -17,7 +17,10 @@
* *
***************************************************************************/
-include_once( './include/init.inc.php' );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
+
//------------------------------------------------------------------- functions
function display_pictures( $mysql_result, $maxtime, $forbidden_cat_ids )
{
@@ -46,7 +49,7 @@ function display_pictures( $mysql_result, $maxtime, $forbidden_cat_ids )
$subrow = mysql_fetch_array( mysql_query( $query ) );
$category_id = $subrow['category_id'];
- if ( $array_cat_directories[$category_id] == '' )
+ if ( !isset($array_cat_directories[$category_id]))
{
$array_cat_directories[$category_id] =
get_complete_dir( $category_id );
@@ -133,15 +136,19 @@ function display_pictures( $mysql_result, $maxtime, $forbidden_cat_ids )
}
}
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+$title= $lang['title_comments'];
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/'.$user['template'].'/comments.vtp' );
initialize_template();
$tpl = array( 'title_comments','stats_last_days','search_return_main_page' );
templatize_array( $tpl, 'lang', $handle );
-$vtp->setGlobalVar( $handle, 'text_color', $user['couleur_text'] );
//--------------------------------------------------- number of days to display
-if ( isset( $_GET['last_days'] ) ) define( "MAX_DAYS", $_GET['last_days'] );
-else define( "MAX_DAYS", 0 );
+if ( isset( $_GET['last_days'] ) ) define( 'MAX_DAYS', $_GET['last_days'] );
+else define( 'MAX_DAYS', 0 );
//----------------------------------------- non specific section initialization
$array_cat_directories = array();
$array_cat_names = array();
@@ -168,22 +175,19 @@ $query.= ' FROM '.PREFIX_TABLE.'comments AS c';
$query.= ', '.PREFIX_TABLE.'image_category AS ic';
$query.= ' WHERE c.image_id = ic.image_id';
$query.= ' AND date > '.$maxtime;
+$query.= " AND validated = 'true'";
// we must not show pictures of a forbidden category
-$restricted_cats = get_all_restrictions( $user['id'],$user['status'] );
-if ( count( $restricted_cats ) > 0 )
+if ( $user['forbidden_categories'] != '' )
{
- $query.= ' AND category_id NOT IN (';
- foreach ( $restricted_cats as $i => $restricted_cat ) {
- if ( $i > 0 ) $query.= ',';
- $query.= $restricted_cat;
- }
- $query.= ')';
+ $query.= ' AND category_id NOT IN ';
+ $query.= '('.$user['forbidden_categories'].')';
}
$query.= ' ORDER BY ic.image_id DESC';
$query.= ';';
$result = mysql_query( $query );
-display_pictures( $result, $maxtime, $restricted_cats );
+display_pictures( $result, $maxtime, $user['restrictions'] );
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/common.php b/common.php
new file mode 100644
index 000000000..017749bae
--- /dev/null
+++ b/common.php
@@ -0,0 +1,205 @@
+<?php
+/***************************************************************************
+ * common.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.4 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * *
+ * $Id$
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+// determine the initial instant to indicate the generation time of this page
+$t1 = explode( ' ', microtime() );
+$t2 = explode( '.', $t1[0] );
+$t2 = $t1[1].'.'.$t2[1];
+
+set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
+
+//
+// addslashes to vars if magic_quotes_gpc is off
+// this is a security precaution to prevent someone
+// trying to break out of a SQL statement.
+//
+if( !get_magic_quotes_gpc() )
+{
+ if( is_array($HTTP_GET_VARS) )
+ {
+ while( list($k, $v) = each($HTTP_GET_VARS) )
+ {
+ if( is_array($HTTP_GET_VARS[$k]) )
+ {
+ while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) )
+ {
+ $HTTP_GET_VARS[$k][$k2] = addslashes($v2);
+ }
+ @reset($HTTP_GET_VARS[$k]);
+ }
+ else
+ {
+ $HTTP_GET_VARS[$k] = addslashes($v);
+ }
+ }
+ @reset($HTTP_GET_VARS);
+ }
+
+ if( is_array($HTTP_POST_VARS) )
+ {
+ while( list($k, $v) = each($HTTP_POST_VARS) )
+ {
+ if( is_array($HTTP_POST_VARS[$k]) )
+ {
+ while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) )
+ {
+ $HTTP_POST_VARS[$k][$k2] = addslashes($v2);
+ }
+ @reset($HTTP_POST_VARS[$k]);
+ }
+ else
+ {
+ $HTTP_POST_VARS[$k] = addslashes($v);
+ }
+ }
+ @reset($HTTP_POST_VARS);
+ }
+
+ if( is_array($HTTP_COOKIE_VARS) )
+ {
+ while( list($k, $v) = each($HTTP_COOKIE_VARS) )
+ {
+ if( is_array($HTTP_COOKIE_VARS[$k]) )
+ {
+ while( list($k2, $v2) = each($HTTP_COOKIE_VARS[$k]) )
+ {
+ $HTTP_COOKIE_VARS[$k][$k2] = addslashes($v2);
+ }
+ @reset($HTTP_COOKIE_VARS[$k]);
+ }
+ else
+ {
+ $HTTP_COOKIE_VARS[$k] = addslashes($v);
+ }
+ }
+ @reset($HTTP_COOKIE_VARS);
+ }
+}
+
+//
+// Define some basic configuration arrays this also prevents
+// malicious rewriting of language and otherarray values via
+// URI params
+//
+$conf = array();
+$page = array();
+$user = array();
+$lang = array();
+
+include($phpwg_root_path .'config.php');
+
+if( !defined("PHPWG_INSTALLED") )
+{
+ header("Location: install.php");
+ exit;
+}
+
+include($phpwg_root_path . 'include/constants.php');
+include($phpwg_root_path . 'include/functions.inc.php');
+include($phpwg_root_path . 'include/vtemplate.class.php');
+include($phpwg_root_path . 'include/config.inc.php');
+
+//
+// Database connection
+//
+
+mysql_connect( $cfgHote, $cfgUser, $cfgPassword )
+ or die ( "Could not connect to server" );
+mysql_select_db( $cfgBase )
+ or die ( "Could not connect to database" );
+
+//
+// Obtain and encode users IP
+//
+if( getenv('HTTP_X_FORWARDED_FOR') != '' )
+{
+ $client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
+
+ if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ip_list) )
+ {
+ $private_ip = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10.\.*/', '/^224.\.*/', '/^240.\.*/');
+ $client_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
+ }
+}
+else
+{
+ $client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
+}
+//$user_ip = encode_ip($client_ip);
+
+//
+// Setup forum wide options, if this fails
+// then we output a CRITICAL_ERROR since
+// basic forum information is not available
+//
+$sql = "SELECT * FROM " . CONFIG_TABLE;
+if( !($result = mysql_query($sql)) )
+{
+ die("Could not query config information");
+}
+
+$row =mysql_fetch_array($result);
+// rertieving the configuration informations for site
+// $infos array is used to know the fields to retrieve in the table "config"
+// Each field becomes an information of the array $conf.
+// Example :
+// prefix_thumbnail --> $conf['prefix_thumbnail']
+$infos = array( 'prefix_thumbnail', 'webmaster', 'mail_webmaster', 'access',
+ 'session_id_size', 'session_keyword', 'session_time',
+ 'max_user_listbox', 'show_comments', 'nb_comment_page',
+ 'upload_available', 'upload_maxfilesize', 'upload_maxwidth',
+ 'upload_maxheight', 'upload_maxwidth_thumbnail',
+ 'upload_maxheight_thumbnail','log','comments_validation',
+ 'comments_forall','authorize_cookies','mail_notification' );
+// affectation of each field of the table "config" to an information of the
+// array $conf.
+foreach ( $infos as $info ) {
+ if ( isset( $row[$info] ) ) $conf[$info] = $row[$info];
+ else $conf[$info] = '';
+ // If the field is true or false, the variable is transformed into a boolean
+ // value.
+ if ( $conf[$info] == 'true' or $conf[$info] == 'false' )
+ {
+ $conf[$info] = get_boolean( $conf[$info] );
+ }
+}
+
+if (file_exists('install.php') && !DEBUG)
+{
+ die('Please ensure both the install/ and contrib/ directories are deleted');
+}
+
+
+//---------------
+// A partir d'ici il faudra dispatcher le code dans d'autres fichiers
+//---------------
+
+include($phpwg_root_path . 'include/user.inc.php');
+
+// calculation of the number of picture to display per page
+$user['nb_image_page'] = $user['nb_image_line'] * $user['nb_line_page'];
+
+$isadmin = false;
+if ($user['status'] == 'admin') $isadmin =true;
+include_once( './language/'.$user['language'].'.php' );
+// displaying the username in the language of the connected user, instead of
+// "guest" as you can find in the database
+if ( $user['is_the_guest'] ) $user['username'] = $lang['guest'];
+include_once( './template/'.$user['template'].'/htmlfunctions.inc.php' );
+define('PREFIX_TABLE', $table_prefix);
+?> \ No newline at end of file
diff --git a/config.php b/config.php
new file mode 100644
index 000000000..d3bb0411c
--- /dev/null
+++ b/config.php
@@ -0,0 +1,10 @@
+<?php
+$cfgBase = 'dev14';
+$cfgUser = 'conventus';
+$cfgPassword = 'Sefsihi';
+$cfgHote = 'localhost';
+
+$table_prefix = 'phpwg_';
+
+define('PHPWG_INSTALLED', true);
+?> \ No newline at end of file
diff --git a/identification.php b/identification.php
index cf34195dc..27ae3dc3b 100644
--- a/identification.php
+++ b/identification.php
@@ -17,15 +17,17 @@
* *
***************************************************************************/
-//----------------------------------------------------------- personnal include
-include_once( "./include/init.inc.php" );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
+
//-------------------------------------------------------------- identification
$errors = array();
if ( isset( $_POST['login'] ) )
{
// retrieving the encrypted password of the login submitted
$query = 'SELECT password';
- $query.= ' FROM '.PREFIX_TABLE.'users';
+ $query.= ' FROM '.USERS_TABLE;
$query.= " WHERE username = '".$_POST['login']."';";
$row = mysql_fetch_array( mysql_query( $query ) );
if( $row['password'] == md5( $_POST['pass'] ) )
@@ -43,10 +45,14 @@ if ( isset( $_POST['login'] ) )
}
}
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+$title = $lang['ident_page_title'];
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/default/identification.vtp' );
// language
-$vtp->setGlobalVar( $handle, 'ident_page_title', $lang['ident_page_title'] );
$vtp->setGlobalVar( $handle, 'ident_title', $lang['ident_title'] );
$vtp->setGlobalVar( $handle, 'login', $lang['login'] );
$vtp->setGlobalVar( $handle, 'password', $lang['password'] );
@@ -73,7 +79,7 @@ if ( sizeof( $errors ) != 0 )
}
//------------------------------------------------------------------ users list
// retrieving all the users login
-$query = 'select username from '.PREFIX_TABLE.'users;';
+$query = 'select username from '.USERS_TABLE.';';
$result = mysql_query( $query );
if ( mysql_num_rows ( $result ) < $conf['max_user_listbox'] )
{
@@ -109,4 +115,5 @@ if ( $conf['access'] == 'free' )
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/include/config.inc.php b/include/config.inc.php
index ff633f5de..ada80a650 100644
--- a/include/config.inc.php
+++ b/include/config.inc.php
@@ -2,7 +2,7 @@
/***************************************************************************
* config.inc.php *
* ------------------- *
- * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * application : PhpWebGallery 1.4 <http://phpwebgallery.net> *
* author : Pierrick LE GALL <pierrick@z0rglub.com> *
* *
* $Id$
@@ -16,14 +16,6 @@
* the Free Software Foundation; *
* *
***************************************************************************/
-unset( $conf, $page, $user, $lang );
-$conf = array();
-$page = array();
-$user = array();
-$lang = array();
-
-include_once( PREFIX_INCLUDE.'./include/functions.inc.php' );
-include_once( PREFIX_INCLUDE.'./include/vtemplate.class.php' );
// How to change the order of display for images in a category ?
//
// You have to modify $conf['order_by'].
@@ -44,46 +36,13 @@ $conf['nb_image_row'] = array(4,5,6,7,8);
$conf['nb_row_page'] = array(2,3,4,5,6,7,10,20,1000);
$conf['slideshow_period'] = array(2,5,10);
$conf['last_days'] = array(1,2,3,10,30,365);
-$conf['version'] = 'devel';
+$conf['version'] = '1.4 - devel';
$conf['site_url'] = 'http://www.phpwebgallery.net';
$conf['forum_url'] = 'http://forum.phpwebgallery.net';
$conf['picture_ext'] = array('jpg','JPG','gif','GIF','png','PNG');
$conf['document_ext'] = array('doc','pdf','zip');
$conf['top_number'] = 10;
$conf['anti-flood_time'] = 60; // seconds between 2 comments : 0 to disable
+$conf['max_LOV_categories'] = 50;
-database_connection();
-// rertieving the configuration informations for site
-// $infos array is used to know the fields to retrieve in the table "config"
-// Each field becomes an information of the array $conf.
-// Example :
-// prefix_thumbnail --> $conf['prefix_thumbnail']
-$infos = array( 'prefix_thumbnail', 'webmaster', 'mail_webmaster', 'access',
- 'session_id_size', 'session_keyword', 'session_time',
- 'max_user_listbox', 'show_comments', 'nb_comment_page',
- 'upload_available', 'upload_maxfilesize', 'upload_maxwidth',
- 'upload_maxheight', 'upload_maxwidth_thumbnail',
- 'upload_maxheight_thumbnail','log','comments_validation',
- 'comments_forall','authorize_cookies','mail_notification' );
-
-$query = 'SELECT ';
-foreach ( $infos as $i => $info ) {
- if ( $i > 0 ) $query.= ',';
- $query.= $info;
-}
-$query.= ' FROM '.PREFIX_TABLE.'config;';
-
-$row = mysql_fetch_array( mysql_query( $query ) );
-
-// affectation of each field of the table "config" to an information of the
-// array $conf.
-foreach ( $infos as $info ) {
- $conf[$info] = $row[$info];
- // If the field is true or false, the variable is transformed into a boolean
- // value.
- if ( $row[$info] == 'true' or $row[$info] == 'false' )
- {
- $conf[$info] = get_boolean( $row[$info] );
- }
-}
?> \ No newline at end of file
diff --git a/include/constant.php b/include/constants.php
index 07d940c3e..d7e8fded7 100644
--- a/include/constant.php
+++ b/include/constants.php
@@ -18,8 +18,22 @@
***************************************************************************/
define( 'PREFIX_INCLUDE', '' );
+
+// Debug Level
+define('DEBUG', 1); // Debugging on
+//define('DEBUG', 0); // Debugging off
+
+// Error codes
+define('GENERAL_MESSAGE', 200);
+define('GENERAL_ERROR', 202);
+define('CRITICAL_MESSAGE', 203);
+define('CRITICAL_ERROR', 204);
+
+// xml tags
+define( 'ATT_REG', '\w+' );
+define( 'VAL_REG', '[^"]*' );
- // Table names
+// Table names
define('CATEGORIES_TABLE', $table_prefix.'categories');
define('COMMENTS_TABLE', $table_prefix.'comments');
define('CONFIG_TABLE', $table_prefix.'config');
diff --git a/include/functions.inc.php b/include/functions.inc.php
index ccfc5fa88..67416291a 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -1,20 +1,21 @@
<?php
-// +-----------------------------------------------------------------------+
-// | functions.inc.php |
-// +-----------------------------------------------------------------------+
-// | application : PhpWebGallery 1.3 <http://phpwebgallery.net> |
-// | author : Pierrick LE GALL <pierrick@z0rglub.com> |
-// +-----------------------------------------------------------------------+
-// | file : $RCSfile$
-// | tag : $Name$
-// | last update : $Date$
-// | revision : $Revision$
-// +-----------------------------------------------------------------------+
-// | This program is free software; you can redistribute it and/or modify |
-// | it under the terms of the GNU General Public License as published by |
-// | the Free Software Foundation; |
-// +-----------------------------------------------------------------------+
+/***************************************************************************
+ * functions.inc.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * *
+ * $Id$
+ * *
+ ***************************************************************************
+ ***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
include( PREFIX_INCLUDE.'./include/functions_user.inc.php' );
include( PREFIX_INCLUDE.'./include/functions_session.inc.php' );
include( PREFIX_INCLUDE.'./include/functions_category.inc.php' );
@@ -166,23 +167,27 @@ function get_filename_wo_extension( $filename )
return substr( $filename, 0, strrpos( $filename, '.' ) );
}
-// get_dirs retourne un tableau contenant tous les sous-répertoires d'un
-// répertoire
-function get_dirs( $rep )
+/**
+ * returns an array contening sub-directories
+ *
+ * @param string $dir
+ * @return array
+ */
+function get_dirs( $directory )
{
- $sub_rep = array();
+ $sub_dirs = array();
- if ( $opendir = opendir ( $rep ) )
+ if ( $opendir = opendir( $directory ) )
{
while ( $file = readdir ( $opendir ) )
{
- if ( $file != '.' and $file != '..' and is_dir ( $rep.$file ) )
+ if ( $file != '.' and $file != '..' and is_dir ( $directory.'/'.$file ) )
{
- array_push( $sub_rep, $file );
+ array_push( $sub_dirs, $file );
}
}
}
- return $sub_rep;
+ return $sub_dirs;
}
// The get_picture_size function return an array containing :
@@ -265,22 +270,6 @@ function get_languages( $rep_language )
return $languages;
}
-// get_themes retourne un tableau contenant tous les "template - couleur"
-function get_themes( $theme_dir )
-{
- $themes = array();
- $main_themes = get_dirs( $theme_dir );
- for ( $i = 0; $i < sizeof( $main_themes ); $i++ )
- {
- $colors = get_dirs( $theme_dir.$main_themes[$i].'/' );
- for ( $j = 0; $j < sizeof( $colors ); $j++ )
- {
- array_push( $themes, $main_themes[$i].' - '.$colors[$j] );
- }
- }
- return $themes;
-}
-
// - add_style replaces the
// $search into <span style="$style">$search</span>
// in the given $string.
@@ -324,17 +313,6 @@ function replace_search( $string, $search )
return $string;
}
-function database_connection()
-{
- include( PREFIX_INCLUDE.'./include/mysql.inc.php' );
- define( "PREFIX_TABLE", $prefixeTable );
-
- @mysql_connect( $cfgHote, $cfgUser, $cfgPassword )
- or die ( "Could not connect to server" );
- @mysql_select_db( $cfgBase )
- or die ( "Could not connect to database" );
-}
-
function pwg_log( $file, $category, $picture = '' )
{
global $conf, $user;
@@ -355,6 +333,7 @@ function templatize_array( $array, $global_array_name, $handle )
global $vtp, $lang, $page, $user, $conf;
foreach ( $array as $value ) {
+ if (isset(${$global_array_name}[$value]))
$vtp->setGlobalVar( $handle, $value, ${$global_array_name}[$value] );
}
}
@@ -432,4 +411,47 @@ function notify( $type, $infos = '' )
@mail( $to, $subject, $content, $headers, $options );
}
}
+
+function pwg_write_debug()
+{
+ global $debug;
+
+ $fp = @fopen( './log/debug.log', 'a+' );
+ fwrite( $fp, "\n\n" );
+ fwrite( $fp, $debug );
+ fclose( $fp );
+}
+
+function pwg_query( $query )
+{
+ global $count_queries,$queries_time;
+
+ $start = get_moment();
+ $output = '';
+
+ $count_queries++;
+ $output.= '<br /><br />['.$count_queries.'] '.$query;
+ $result = mysql_query( $query );
+ $time = get_moment() - $start;
+ $queries_time+= $time;
+ $output.= '<b>('.number_format( $time, 3, '.', ' ').' s)</b>';
+ $output.= '('.number_format( $queries_time, 3, '.', ' ').' s)';
+
+ // echo $output;
+
+ return $result;
+}
+
+function pwg_debug( $string )
+{
+ global $debug,$t2,$count_queries;
+
+ $now = explode( ' ', microtime() );
+ $now2 = explode( '.', $now[0] );
+ $now2 = $now[1].'.'.$now2[1];
+ $time = number_format( $now2 - $t2, 3, '.', ' ').' s';
+ $debug.= '['.$time.', ';
+ $debug.= $count_queries.' queries] : '.$string;
+ $debug.= "\n";
+}
?> \ No newline at end of file
diff --git a/include/functions_category.inc.php b/include/functions_category.inc.php
index a691140d6..311935b49 100644
--- a/include/functions_category.inc.php
+++ b/include/functions_category.inc.php
@@ -17,31 +17,11 @@
* *
***************************************************************************/
-function get_subcats_id( $cat_id )
-{
- $restricted_cats = array();
-
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE id_uppercat = '.$cat_id;
- $query.= ';';
- $result = mysql_query( $query );
- while ( $row = mysql_fetch_array( $result ) )
- {
- array_push( $restricted_cats, $row['id'] );
- $sub_restricted_cats = get_subcats_id( $row['id'] );
- foreach ( $sub_restricted_cats as $sub_restricted_cat ) {
- array_push( $restricted_cats, $sub_restricted_cat );
- }
- }
- return $restricted_cats;
-}
-
function check_restrictions( $category_id )
{
global $user,$lang;
- if ( is_user_allowed( $category_id, $user['restrictions'] ) > 0 )
+ if ( in_array( $category_id, $user['restrictions'] ) )
{
echo '<div style="text-align:center;">'.$lang['access_forbiden'].'<br />';
echo '<a href="'.add_session_id( './category.php' ).'">';
@@ -49,7 +29,7 @@ function check_restrictions( $category_id )
exit();
}
}
-
+
// the check_cat_id function check whether the $cat is a right parameter :
// - $cat is numeric and corresponds to a category in the database
// - $cat equals 'fav' (for favorites)
@@ -61,19 +41,14 @@ function check_cat_id( $cat )
unset( $page['cat'] );
if ( isset( $cat ) )
{
- if ( isset( $page['plain_structure'] ) )
+ if ( isset( $page['plain_structure'][$cat] ) )
{
- if ( isset( $page['plain_structure'][$cat] ) )
- {
- $page['cat'] = $cat;
- }
+ $page['cat'] = $cat;
}
else if ( is_numeric( $cat ) )
{
$query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE id = '.$cat;
- $query. ';';
+ $query.= ' FROM '.CATEGORIES_TABLE.' WHERE id = '.$cat.';';
$result = mysql_query( $query );
if ( mysql_num_rows( $result ) != 0 )
{
@@ -91,17 +66,34 @@ function check_cat_id( $cat )
}
}
-function get_plain_structure()
+function get_user_plain_structure()
{
- $infos = array( 'name','id','date_last','nb_images','dir','id_uppercat',
- 'rank','site_id');
+ global $page,$user;
+
+ $infos = array( 'name','id','uc.date_last','nb_images','dir','id_uppercat',
+ 'rank','site_id','nb_sub_categories','uppercats');
- $query = 'SELECT ';
- foreach ( $infos as $i => $info ) {
- if ( $i > 0 ) $query.= ',';
- $query.= $info;
+ $query = 'SELECT '.implode( ',', $infos );
+ $query.= ' FROM '.CATEGORIES_TABLE.' AS c';
+// $query.= ' ,'.PREFIX_TABLE.'user_category AS uc';
+ $query.= ' INNER JOIN '.USER_CATEGORY_TABLE.' AS uc';
+ $query.= ' ON c.id = uc.category_id';
+ $query.= ' WHERE user_id = '.$user['id'];
+ if ( $page['expand'] != 'all' )
+ {
+ $query.= ' AND (id_uppercat is NULL';
+ if ( count( $page['tab_expand'] ) > 0 )
+ {
+ $query.= ' OR id_uppercat IN ('.$page['expand'].')';
+ }
+ $query.= ')';
+ }
+ if ( $user['forbidden_categories'] != '' )
+ {
+ $query.= ' AND id NOT IN ';
+ $query.= '('.$user['forbidden_categories'].')';
}
- $query.= ' FROM '.PREFIX_TABLE.'categories';
+// $query.= ' AND c.id = uc.category_id';
$query.= ' ORDER BY id_uppercat ASC, rank ASC';
$query.= ';';
@@ -111,12 +103,13 @@ function get_plain_structure()
{
$category = array();
foreach ( $infos as $info ) {
- $category[$info] = $row[$info];
- if ( $info == 'date_last' )
+ if ( $info == 'uc.date_last' )
{
- list($year,$month,$day) = explode( '-', $row[$info] );
- $category[$info] = mktime(0,0,0,$month,$day,$year);
+ list($year,$month,$day) = explode( '-', $row['date_last'] );
+ $category['date_last'] = mktime(0,0,0,$month,$day,$year);
}
+ else if ( isset( $row[$info] ) ) $category[$info] = $row[$info];
+ else $category[$info] = '';
}
$plain_structure[$row['id']] = $category;
}
@@ -124,27 +117,24 @@ function get_plain_structure()
return $plain_structure;
}
-function create_structure( $id_uppercat, $restrictions )
+function create_user_structure( $id_uppercat )
{
global $page;
if ( !isset( $page['plain_structure'] ) )
- $page['plain_structure'] = get_plain_structure();
+ $page['plain_structure'] = get_user_plain_structure();
$structure = array();
- $ids = get_subcat_ids( $id_uppercat );
+ $ids = get_user_subcat_ids( $id_uppercat );
foreach ( $ids as $id ) {
- if ( !in_array( $id, $restrictions ) )
- {
- $category = $page['plain_structure'][$id];
- $category['subcats'] = create_structure( $id, $restrictions );
- array_push( $structure, $category );
- }
+ $category = $page['plain_structure'][$id];
+ $category['subcats'] = create_user_structure( $id );
+ array_push( $structure, $category );
}
return $structure;
}
-function get_subcat_ids( $id_uppercat )
+function get_user_subcat_ids( $id_uppercat )
{
global $page;
@@ -157,31 +147,14 @@ function get_subcat_ids( $id_uppercat )
}
// update_structure updates or add informations about each node of the
-// structure : the last date, should the category be expanded in the menu ?,
-// the associated expand string "48,14,54"
-//
-// 1. last date
-// for each category of the structure, we have to find the most recent
-// subcat so that the parent cat has the same last_date info.
-// For example : we have :
-// > pets (2003.02.15)
-// > dogs (2003.06.14)
-// > rex (2003.06.18)
-// > toby (2003.06.13)
-// > kitten (2003.07.05)
-// We finally want to have :
-// > pets (2003.07.05) <- changed to pets > kitten last date
-// > dogs (2003.06.18) <- changed to pets > dogs > rex last date
-// > rex (2003.06.18)
-// > toby (2003.06.13)
-// > kitten (2003.07.05)
+// structure :
//
-// 2. should the category be expanded in the menu ?
+// 1. should the category be expanded in the menu ?
// If the category has to be expanded (ie its id is in the
// $page['tab_expand'] or all the categories must be expanded by default),
// $category['expanded'] is set to true.
//
-// 3. associated expand string
+// 2. associated expand string
// in the menu, there is a expand string (used in the URL) to tell which
// categories must be expanded in the menu if this category is chosen
function update_structure( $categories )
@@ -191,9 +164,6 @@ function update_structure( $categories )
$updated_categories = array();
foreach ( $categories as $category ) {
- // update the last date of the category
- $last_date = search_last_date( $category );
- $category['date_last'] = $last_date;
// update the "expanded" key
if ( $user['expand']
or $page['expand'] == 'all'
@@ -205,7 +175,7 @@ function update_structure( $categories )
{
$category['expanded'] = false;
}
- // update the "expand_string" key
+ // update the "expand_string" key
if ( $page['expand'] == 'all' )
{
$category['expand_string'] = 'all';
@@ -219,7 +189,7 @@ function update_structure( $categories )
// the $category['id']
$tab_expand = array_diff( $page['tab_expand'],array($category['id']) );
}
- else if ( count( $category['subcats'] ) > 0 )
+ else if ( $category['nb_sub_categories'] > 0 )
{
// we have this time to add the $category['id']...
$tab_expand = array_merge($page['tab_expand'],array($category['id']));
@@ -235,24 +205,6 @@ function update_structure( $categories )
return $updated_categories;
}
-// search_last_date searchs the last date for a given category. If we take
-// back the example given for update_last_dates, we should have :
-// search_last_date( pets ) --> 2003.07.05
-// search_last_date( pets > dogs ) --> 2003.06.18
-// and so on
-function search_last_date( $category )
-{
- $date_last = $category['date_last'];
- foreach ( $category['subcats'] as $subcat ) {
- $subcat_date_last = search_last_date( $subcat );
- if ( $subcat_date_last > $date_last )
- {
- $date_last = $subcat_date_last;
- }
- }
- return $date_last;
-}
-
// count_images returns the number of pictures contained in the given
// category represented by an array, in this array, we have (among other
// things) :
@@ -262,6 +214,7 @@ function search_last_date( $category )
// pictures contained in the given given category
function count_images( $categories )
{
+ return count_user_total_images();
$total = 0;
foreach ( $categories as $category ) {
$total+= $category['nb_images'];
@@ -270,6 +223,23 @@ function count_images( $categories )
return $total;
}
+function count_user_total_images()
+{
+ global $user;
+
+ $query = 'SELECT SUM(nb_images) AS total';
+ $query.= ' FROM '.CATEGORIES_TABLE;
+ if ( count( $user['restrictions'] ) > 0 )
+ $query.= ' WHERE id NOT IN ('.$user['forbidden_categories'].')';
+ $query.= ';';
+
+ $row = mysql_fetch_array( mysql_query( $query ) );
+
+ if ( !isset( $row['total'] ) ) $row['total'] = 0;
+
+ return $row['total'];
+}
+
// variables :
// $cat['comment']
// $cat['dir']
@@ -285,37 +255,45 @@ function get_cat_info( $id )
{
global $page;
- $cat = array();
-
- $query = 'SELECT nb_images,id_uppercat,comment,site_id,galleries_url,dir';
- $query.= ',date_last,uploadable,status,visible,representative_picture_id';
- $query.= ' FROM '.PREFIX_TABLE.'categories AS a';
- $query.= ', '.PREFIX_TABLE.'sites AS b';
+ $infos = array( 'nb_images','id_uppercat','comment','site_id','galleries_url'
+ ,'dir','date_last','uploadable','status','visible'
+ ,'representative_picture_id','uppercats' );
+
+ $query = 'SELECT '.implode( ',', $infos );
+ $query.= ' FROM '.CATEGORIES_TABLE.' AS a';
+ $query.= ', '.SITES_TABLE.' AS b';
$query.= ' WHERE a.id = '.$id;
- $query.= ' AND a.site_id = b.id;';
+ $query.= ' AND a.site_id = b.id';
+ $query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
- $cat['site_id'] = $row['site_id'];
- $cat['id_uppercat'] = $row['id_uppercat'];
- $cat['comment'] = nl2br( $row['comment'] );
- $cat['nb_images'] = $row['nb_images'];
- $cat['dir'] = $row['dir'];
- $cat['date_last'] = $row['date_last'];
- $cat['uploadable'] = get_boolean( $row['uploadable'] );
- $cat['status'] = $row['status'];
- $cat['visible'] = get_boolean( $row['visible'] );
- $cat['representative_picture_id'] = $row['representative_picture_id'];
- $cat['name'] = array();
+ $cat = array();
+ // affectation of each field of the table "config" to an information of the
+ // array $cat.
+ foreach ( $infos as $info ) {
+ if ( isset( $row[$info] ) ) $cat[$info] = $row[$info];
+ else $cat[$info] = '';
+ // If the field is true or false, the variable is transformed into a
+ // boolean value.
+ if ( $cat[$info] == 'true' or $cat[$info] == 'false' )
+ {
+ $cat[$info] = get_boolean( $cat[$info] );
+ }
+ }
+ $cat['comment'] = nl2br( $cat['comment'] );
- if ( !isset( $page['plain_structure'] ) )
- $page['plain_structure'] = get_plain_structure();
+ $cat['name'] = array();
- array_push( $cat['name'], $page['plain_structure'][$id]['name'] );
- while ( $page['plain_structure'][$id]['id_uppercat'] != '' )
+ $query = 'SELECT name FROM '.CATEGORIES_TABLE;
+ $query.= ' WHERE id IN ('.$cat['uppercats'].')';
+ $query.= ' ORDER BY id ASC';
+ $query.= ';';
+ $result = mysql_query( $query );
+ while( $row = mysql_fetch_array( $result ) )
{
- $id = $page['plain_structure'][$id]['id_uppercat'];
- array_push( $cat['name'], $page['plain_structure'][$id]['name'] );
+ array_push( $cat['name'], $row['name'] );
}
+
return $cat;
}
@@ -337,17 +315,38 @@ function get_local_dir( $category_id )
{
global $page;
- if ( !isset( $page['plain_structure'] ) )
- $page['plain_structure'] = get_plain_structure();
-
- // creating the local path : "root_cat/sub_cat/sub_sub_cat/"
- $dir = $page['plain_structure'][$category_id]['dir'].'/';
- while ( $page['plain_structure'][$category_id]['id_uppercat'] != '' )
+ $uppercats = '';
+ $local_dir = '';
+
+ if ( isset( $page['plain_structure'][$category_id]['uppercats'] ) )
+ {
+ $uppercats = $page['plain_structure'][$category_id]['uppercats'];
+ }
+ else
+ {
+ $query = 'SELECT uppercats';
+ $query.= ' FROM '.CATEGORIES_TABLE.' WHERE id = '.$category_id;
+ $query.= ';';
+ $row = mysql_fetch_array( mysql_query( $query ) );
+ $uppercats = $row['uppercats'];
+ }
+
+ $upper_array = explode( ',', $uppercats );
+
+ $database_dirs = array();
+ $query = 'SELECT id,dir';
+ $query.= ' FROM '.CATEGORIES_TABLE.' WHERE id IN ('.$uppercats.')';
+ $query.= ';';
+ $result = mysql_query( $query );
+ while( $row = mysql_fetch_array( $result ) )
{
- $category_id = $page['plain_structure'][$category_id]['id_uppercat'];
- $dir = $page['plain_structure'][$category_id]['dir'].'/'.$dir;
+ $database_dirs[$row['id']] = $row['dir'];
+ }
+ foreach ( $upper_array as $id ) {
+ $local_dir.= $database_dirs[$id].'/';
}
- return $dir;
+
+ return $local_dir;
}
// retrieving the site url : "http://domain.com/gallery/" or
@@ -356,12 +355,10 @@ function get_site_url( $category_id )
{
global $page;
- if ( !isset( $page['plain_structure'] ) )
- $page['plain_structure'] = get_plain_structure();
-
$query = 'SELECT galleries_url';
- $query.= ' FROM '.PREFIX_TABLE.'sites';
- $query.= ' WHERE id = '.$page['plain_structure'][$category_id]['site_id'];
+ $query.= ' FROM '.SITES_TABLE.' AS s,'.CATEGORIES_TABLE.' AS c';
+ $query.= ' WHERE s.id = c.site_id';
+ $query.= ' AND c.id = '.$category_id;
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
return $row['galleries_url'];
@@ -374,33 +371,19 @@ function get_site_url( $category_id )
// - $separation : the string between each category name " - " for example
// - $style : the style of the span tag for the lowest category,
// "font-style:italic;" for example
-function get_cat_display_name( $array_cat_names, $separation, $style )
+function get_cat_display_name( $array_cat_names, $separation,
+ $style, $replace_space = true )
{
- $output = "";
- for ( $i = sizeof( $array_cat_names ) - 1; $i >= 0; $i-- )
- {
- if ( $i != sizeof( $array_cat_names ) - 1 )
- {
- $output.= $separation;
- }
- if ( $i != 0 )
- {
- $output.= $array_cat_names[$i];
- }
+ $output = '';
+ foreach ( $array_cat_names as $i => $name ) {
+ if ( $i > 0 ) $output.= $separation;
+ if ( $i < count( $array_cat_names ) - 1 or $style == '')
+ $output.= $name;
else
- {
- if ( $style != "" )
- {
- $output.= '<span style="'.$style.'">';
- }
- $output.= $array_cat_names[$i];
- if ( $style != "" )
- {
- $output.= "</span>";
- }
- }
+ $output.= '<span style="'.$style.'">'.$name.'</span>';
}
- return replace_space( $output );
+ if ( $replace_space ) return replace_space( $output );
+ else return $output;
}
// initialize_category initializes ;-) the variables in relation
@@ -418,6 +401,7 @@ function get_cat_display_name( $array_cat_names, $separation, $style )
// 4. creation of the navigation bar
function initialize_category( $calling_page = 'category' )
{
+ pwg_debug( 'start initialize_category' );
global $page,$lang,$user,$conf;
if ( isset( $page['cat'] ) )
@@ -426,7 +410,8 @@ function initialize_category( $calling_page = 'category' )
// By default, it is the same as the $user['nb_image_page']
$page['nb_image_page'] = $user['nb_image_page'];
// $url is used to create the navigation bar
- $url = './category.php?cat='.$page['cat'].'&amp;expand='.$page['expand'];
+ $url = './category.php?cat='.$page['cat'];
+ if ( isset($page['expand']) ) $url.= '&amp;expand='.$page['expand'];
// simple category
if ( is_numeric( $page['cat'] ) )
{
@@ -437,7 +422,8 @@ function initialize_category( $calling_page = 'category' )
$page['cat_nb_images'] = $result['nb_images'];
$page['cat_site_id'] = $result['site_id'];
$page['cat_uploadable'] = $result['uploadable'];
- $page['title'] = get_cat_display_name( $page['cat_name'], ' - ', '' );
+ $page['uppercats'] = $result['uppercats'];
+ $page['title'] = get_cat_display_name( $page['cat_name'],' - ','',false);
$page['where'] = ' WHERE category_id = '.$page['cat'];
}
else
@@ -446,15 +432,10 @@ function initialize_category( $calling_page = 'category' )
or $page['cat'] == 'recent' or $page['cat'] == 'best_rated' )
{
// we must not show pictures of a forbidden category
- $restricted_cats = get_all_restrictions( $user['id'],$user['status'] );
- if ( count( $restricted_cats ) > 0 )
+ if ( $user['forbidden_categories'] != '' )
{
- $where_append.= ' AND category_id NOT IN (';
- foreach ( $restricted_cats as $i => $restricted_cat ) {
- if ( $i > 0 ) $where_append.= ',';
- $where_append.= $restricted_cat;
- }
- $where_append.= ')';
+ $forbidden = ' category_id NOT IN ';
+ $forbidden.= '('.$user['forbidden_categories'].')';
}
}
// search result
@@ -499,11 +480,11 @@ function initialize_category( $calling_page = 'category' )
}
}
$page['where'].= ' )';
- $page['where'].= $where_append;
+ if ( isset( $forbidden ) ) $page['where'].= ' AND '.$forbidden;
$query = 'SELECT COUNT(DISTINCT(id)) AS nb_total_images';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic';
+ $query.= ' FROM '.IMAGES_TABLE;
+ $query.= ' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic';
$query.= ' ON id = ic.image_id';
$query.= $page['where'];
$query.= ';';
@@ -515,12 +496,12 @@ function initialize_category( $calling_page = 'category' )
{
$page['title'] = $lang['favorites'];
- $page['where'] = ', '.PREFIX_TABLE.'favorites AS fav';
+ $page['where'] = ', '.FAVORITES_TABLE.' AS fav';
$page['where'].= ' WHERE user_id = '.$user['id'];
$page['where'].= ' AND fav.image_id = id';
$query = 'SELECT COUNT(*) AS nb_total_images';
- $query.= ' FROM '.PREFIX_TABLE.'favorites';
+ $query.= ' FROM '.FAVORITES_TABLE;
$query.= ' WHERE user_id = '.$user['id'];
$query.= ';';
}
@@ -533,11 +514,11 @@ function initialize_category( $calling_page = 'category' )
$date = time() - 60*60*24*$user['short_period'];
$page['where'] = " WHERE date_available > '";
$page['where'].= date( 'Y-m-d', $date )."'";
- $page['where'].= $where_append;
+ if ( isset( $forbidden ) ) $page['where'].= ' AND '.$forbidden;
$query = 'SELECT COUNT(DISTINCT(id)) AS nb_total_images';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic';
+ $query.= ' FROM '.IMAGES_TABLE;
+ $query.= ' INNER JOIN '.PREFIX_TABLE.'image_category AS ic';
$query.= ' ON id = ic.image_id';
$query.= $page['where'];
$query.= ';';
@@ -546,16 +527,19 @@ function initialize_category( $calling_page = 'category' )
else if ( $page['cat'] == 'most_visited' )
{
$page['title'] = $conf['top_number'].' '.$lang['most_visited_cat'];
- $page['where'] = ' WHERE category_id != -1'.$where_append;
+
+ if ( isset( $forbidden ) ) $page['where'] = ' WHERE '.$forbidden;
+ else $page['where'] = '';
$conf['order_by'] = ' ORDER BY hit DESC, file ASC';
$page['cat_nb_images'] = $conf['top_number'];
- if ( $page['start'] + $user['nb_image_page'] >= $conf['top_number'] )
+ if ( isset( $page['start'] )
+ and ($page['start']+$user['nb_image_page']>=$conf['top_number']))
{
$page['nb_image_page'] = $conf['top_number'] - $page['start'];
}
}
- if ( $query != '' )
+ if ( isset($query))
{
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
@@ -573,6 +557,7 @@ function initialize_category( $calling_page = 'category' )
{
$page['title'] = $lang['diapo_default_page_title'];
}
+ pwg_debug( 'end initialize_category' );
}
// get_non_empty_subcat_ids returns an array with sub-categories id
@@ -599,13 +584,14 @@ function get_non_empty_subcat_ids( $id_uppercat )
$ids = array();
$query = 'SELECT id,nb_images';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' FROM '.CATEGORIES_TABLE;
$query.= ' WHERE id_uppercat ';
if ( !is_numeric( $id_uppercat ) ) $query.= 'is NULL';
else $query.= '= '.$id_uppercat;
// we must not show pictures of a forbidden category
- foreach ( $user['restrictions'] as $restricted_cat ) {
- $query.= ' AND id != '.$restricted_cat;
+ if ( $user['forbidden_categories'] != '' )
+ {
+ $query.= ' AND id NOT IN ('.$user['forbidden_categories'].')';
}
$query.= ' ORDER BY rank';
$query.= ';';
@@ -632,11 +618,12 @@ function get_first_non_empty_cat_id( $id_uppercat )
global $user;
$query = 'SELECT id,nb_images';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
+ $query.= ' FROM '.CATEGORIES_TABLE;
$query.= ' WHERE id_uppercat = '.$id_uppercat;
// we must not show pictures of a forbidden category
- foreach ( $user['restrictions'] as $restricted_cat ) {
- $query.= ' AND id != '.$restricted_cat;
+ if ( $user['forbidden_categories'] != '' )
+ {
+ $query.= ' AND id NOT IN ('.$user['forbidden_categories'].')';
}
$query.= ' ORDER BY RAND()';
$query.= ';';
diff --git a/include/functions_group.inc.php b/include/functions_group.inc.php
index 68c01b68d..8575b25a9 100644
--- a/include/functions_group.inc.php
+++ b/include/functions_group.inc.php
@@ -85,10 +85,8 @@ function is_group_allowed( $category_id, $restrictions )
$query.= ' WHERE id = '.$category_id;
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
- if ( $row['id_uppercat'] == '' )
- {
- $is_root = true;
- }
+ if ( !isset( $row['id_uppercat'] ) ) $row['id_uppercat'] = '';
+ if ( $row['id_uppercat'] == '' ) $is_root = true;
$category_id = $row['id_uppercat'];
}
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php
index 5bc70cf92..95ca7bb3c 100644
--- a/include/functions_user.inc.php
+++ b/include/functions_user.inc.php
@@ -37,8 +37,8 @@ function validate_mail_address( $mail_address )
}
}
-function register_user(
- $login, $password, $password_conf, $mail_address, $status = 'guest' )
+function register_user( $login, $password, $password_conf,
+ $mail_address, $status = 'guest' )
{
global $lang;
@@ -49,44 +49,26 @@ function register_user(
// 2. start ou end with space character
// 3. include ' or " characters
// 4. be already used
- if ( $login == '' )
- {
- $error[$i++] = $lang['reg_err_login1'];
- }
- if ( ereg( "^.* $", $login) )
- {
- $error[$i++] = $lang['reg_err_login2'];
- }
- if ( ereg( "^ .*$", $login ) )
- {
- $error[$i++] = $lang['reg_err_login3'];
- }
+ if ( $login == '' ) $error[$i++] = $lang['reg_err_login1'];
+ if ( ereg( "^.* $", $login) ) $error[$i++] = $lang['reg_err_login2'];
+ if ( ereg( "^ .*$", $login ) ) $error[$i++] = $lang['reg_err_login3'];
+
if ( ereg( "'", $login ) or ereg( "\"", $login ) )
- {
$error[$i++] = $lang['reg_err_login4'];
- }
else
{
- $query = 'select id';
- $query.= ' from '.PREFIX_TABLE.'users';
- $query.= " where username = '".$login."';";
+ $query = 'SELECT id';
+ $query.= ' FROM '.PREFIX_TABLE.'users';
+ $query.= " WHERE username = '".$login."'";
+ $query.= ';';
$result = mysql_query( $query );
- if ( mysql_num_rows( $result ) > 0 )
- {
- $error[$i++] = $lang['reg_err_login5'];
- }
+ if ( mysql_num_rows($result) > 0 ) $error[$i++] = $lang['reg_err_login5'];
}
// given password must be the same as the confirmation
- if ( $password != $password_conf )
- {
- $error[$i++] = $lang['reg_err_pass'];
- }
+ if ( $password != $password_conf ) $error[$i++] = $lang['reg_err_pass'];
$error_mail_address = validate_mail_address( $mail_address );
- if ( $error_mail_address != '' )
- {
- $error[$i++] = $error_mail_address;
- }
+ if ( $error_mail_address != '' ) $error[$i++] = $error_mail_address;
// if no error until here, registration of the user
if ( sizeof( $error ) == 0 )
@@ -94,25 +76,20 @@ function register_user(
// 1. retrieving default values, the ones of the user "guest"
$infos = array( 'nb_image_line', 'nb_line_page', 'language',
'maxwidth', 'maxheight', 'expand', 'show_nb_comments',
- 'short_period', 'long_period', 'template' );
- $query = 'select';
+ 'short_period', 'long_period', 'template',
+ 'forbidden_categories' );
+ $query = 'SELECT ';
for ( $i = 0; $i < sizeof( $infos ); $i++ )
{
- if ( $i > 0 )
- {
- $query.= ',';
- }
- else
- {
- $query.= ' ';
- }
+ if ( $i > 0 ) $query.= ',';
$query.= $infos[$i];
}
- $query.= ' from '.PREFIX_TABLE.'users';
- $query.= " where username = 'guest';";
+ $query.= ' FROM '.PREFIX_TABLE.'users';
+ $query.= " WHERE username = 'guest'";
+ $query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
// 2. adding new user
- $query = 'insert into '.PREFIX_TABLE.'users';
+ $query = 'INSERT INTO '.PREFIX_TABLE.'users';
$query.= ' (';
$query.= ' username,password,mail_address,status';
for ( $i = 0; $i < sizeof( $infos ); $i++ )
@@ -122,26 +99,13 @@ function register_user(
$query.= ') values (';
$query.= " '".$login."'";
$query.= ",'".md5( $password )."'";
- if ( $mail_address != '' )
- {
- $query.= ",'".$mail_address."'";
- }
- else
- {
- $query.= ',NULL';
- }
+ if ( $mail_address != '' ) $query.= ",'".$mail_address."'";
+ else $query.= ',NULL';
$query.= ",'".$status."'";
- for ( $i = 0; $i < sizeof( $infos ); $i++ )
- {
+ foreach ( $infos as $info ) {
$query.= ',';
- if ( $row[$infos[$i]] == '' )
- {
- $query.= 'NULL';
- }
- else
- {
- $query.= "'".$row[$infos[$i]]."'";
- }
+ if ( !isset( $row[$info] ) ) $query.= 'NULL';
+ else $query.= "'".$row[$info]."'";
}
$query.= ');';
mysql_query( $query );
@@ -165,6 +129,39 @@ function register_user(
$query.= ' ('.$user_id.','.$row['cat_id'].');';
mysql_query ( $query );
}
+ // 5. associate new user to the same groups that the guest
+ $query = 'SELECT group_id';
+ $query.= ' FROM '.PREFIX_TABLE.'user_group AS ug';
+ $query.= ', '.PREFIX_TABLE.'users AS u';
+ $query.= " WHERE u.username = 'guest'";
+ $query.= ' AND ug.user_id = u.id';
+ $query.= ';';
+ $result = mysql_query( $query );
+ while( $row = mysql_fetch_array( $result ) )
+ {
+ $query = 'INSERT INTO '.PREFIX_TABLE.'user_group';
+ $query.= ' (user_id,group_id) VALUES';
+ $query.= ' ('.$user_id.','.$row['group_id'].')';
+ $query.= ';';
+ mysql_query ( $query );
+ }
+ // 6. has the same categories informations than guest
+ $query = 'SELECT category_id,date_last,nb_sub_categories';
+ $query.= ' FROM '.PREFIX_TABLE.'user_category AS uc';
+ $query.= ', '.PREFIX_TABLE.'users AS u';
+ $query.= " WHERE u.username = 'guest'";
+ $query.= ' AND uc.user_id = u.id';
+ $query.= ';';
+ $result = mysql_query( $query );
+ while( $row = mysql_fetch_array( $result ) )
+ {
+ $query = 'INSERT INTO '.PREFIX_TABLE.'user_category';
+ $query.= ' (user_id,category_id,date_last,nb_sub_categories) VALUES';
+ $query.= ' ('.$user_id.','.$row['category_id'];
+ $query.= ",'".$row['date_last']."',".$row['nb_sub_categories'].')';
+ $query.= ';';
+ mysql_query ( $query );
+ }
}
return $error;
}
@@ -209,128 +206,14 @@ function check_login_authorization()
{
global $user,$lang,$conf,$page;
- if ( $user['is_the_guest']
- and ( $conf['access'] == 'restricted' or $page['cat'] == 'fav' ) )
+ if ( $user['is_the_guest'])
+ {
+ if ( $conf['access'] == 'restricted' || (isset($page['cat']) && $page['cat'] == 'fav' ) )
{
echo '<div style="text-align:center;">'.$lang['only_members'].'<br />';
echo '<a href="./identification.php">'.$lang['ident_title'].'</a></div>';
exit();
}
-}
-
-// The function get_restrictions returns an array with the ids of the
-// restricted categories for the user.
-// If the $check_invisible parameter is set to true, invisible categories
-// are added to the restricted one in the array.
-function get_restrictions( $user_id, $user_status,
- $check_invisible, $use_groups = true )
-{
- // 1. retrieving ids of private categories
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= " WHERE status = 'private'";
- $query.= ';';
- $result = mysql_query( $query );
- $privates = array();
- while ( $row = mysql_fetch_array( $result ) )
- {
- array_push( $privates, $row['id'] );
- }
- // 2. retrieving all authorized categories for the user
- $authorized = array();
- // 2.1. retrieving authorized categories thanks to personnal user
- // authorization
- $query = 'SELECT cat_id';
- $query.= ' FROM '.PREFIX_TABLE.'user_access';
- $query.= ' WHERE user_id = '.$user_id;
- $query.= ';';
- $result = mysql_query( $query );
- while ( $row = mysql_fetch_array( $result ) )
- {
- array_push( $authorized, $row['cat_id'] );
- }
- // 2.2. retrieving authorized categories thanks to group authorization to
- // which the user is a member
- if ( $use_groups )
- {
- $query = 'SELECT ga.cat_id';
- $query.= ' FROM '.PREFIX_TABLE.'user_group as ug';
- $query.= ', '.PREFIX_TABLE.'group_access as ga';
- $query.= ' WHERE ug.group_id = ga.group_id';
- $query.= ' AND ug.user_id = '.$user_id;
- $query.= ';';
- $result = mysql_query( $query );
- while ( $row = mysql_fetch_array( $result ) )
- {
- array_push( $authorized, $row['cat_id'] );
- }
- $authorized = array_unique( $authorized );
- }
-
- $forbidden = array();
- foreach ( $privates as $private ) {
- if ( !in_array( $private, $authorized ) )
- {
- array_push( $forbidden, $private );
- }
- }
-
- if ( $check_invisible )
- {
- // 3. adding to the restricted categories, the invisible ones
- if ( $user_status != 'admin' )
- {
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= " WHERE visible = 'false';";
- $result = mysql_query( $query );
- while ( $row = mysql_fetch_array( $result ) )
- {
- array_push( $forbidden, $row['id'] );
- }
- }
- }
- return array_unique( $forbidden );
-}
-
-// The get_all_restrictions function returns an array with all the
-// categories id which are restricted for the user. Including the
-// sub-categories and invisible categories
-function get_all_restrictions( $user_id, $user_status )
-{
- $restricted_cats = get_restrictions( $user_id, $user_status, true );
- foreach ( $restricted_cats as $restricted_cat ) {
- $sub_restricted_cats = get_subcats_id( $restricted_cat );
- foreach ( $sub_restricted_cats as $sub_restricted_cat ) {
- array_push( $restricted_cats, $sub_restricted_cat );
- }
}
- return $restricted_cats;
-}
-
-// The function is_user_allowed returns :
-// - 0 : if the category is allowed with this $restrictions array
-// - 1 : if this category is not allowed
-// - 2 : if an uppercat category is not allowed
-function is_user_allowed( $category_id, $restrictions )
-{
- $lowest_category_id = $category_id;
-
- $is_root = false;
- while ( !$is_root and !in_array( $category_id, $restrictions ) )
- {
- $query = 'SELECT id_uppercat';
- $query.= ' FROM '.PREFIX_TABLE.'categories';
- $query.= ' WHERE id = '.$category_id;
- $query.= ';';
- $row = mysql_fetch_array( mysql_query( $query ) );
- if ( $row['id_uppercat'] == '' ) $is_root = true;
- $category_id = $row['id_uppercat'];
- }
-
- if ( in_array( $lowest_category_id, $restrictions ) ) return 1;
- if ( in_array( $category_id, $restrictions ) ) return 2;
- // this user is allowed to go in this category
- return 0;
}
?> \ No newline at end of file
diff --git a/include/functions_xml.inc.php b/include/functions_xml.inc.php
index 034b49512..a4645dc1e 100644
--- a/include/functions_xml.inc.php
+++ b/include/functions_xml.inc.php
@@ -16,10 +16,6 @@
* the Free Software Foundation; *
* *
***************************************************************************/
-
-//------------------------------------------------------------------ constantes
-define( "ATT_REG", '\w+' );
-define( "VAL_REG", '[^"]*' );
//------------------------------------------------------------------- functions
// getContent returns the content of a tag
//
diff --git a/include/init.inc.php b/include/init.inc.php
deleted file mode 100644
index 1bcc96ae0..000000000
--- a/include/init.inc.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/***************************************************************************
- * init.inc.php *
- * ------------------- *
- * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
- * author : Pierrick LE GALL <pierrick@z0rglub.com> *
- * *
- * $Id$
- * *
- ***************************************************************************
-
- ***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; *
- * *
- ***************************************************************************/
-define( "PREFIX_INCLUDE", '' );
-
-include_once( './include/config.inc.php' );
-include_once( './include/user.inc.php' );
-
-// calculation of the number of picture to display per page
-$user['nb_image_page'] = $user['nb_image_line'] * $user['nb_line_page'];
-// retrieving the restrictions for this user
-$user['restrictions'] = get_restrictions( $user['id'], $user['status'], true );
-
-$isadmin = false;
-include_once( './language/'.$user['language'].'.php' );
-// displaying the username in the language of the connected user, instead of
-// "guest" as you can find in the database
-if ( $user['is_the_guest'] ) $user['username'] = $lang['guest'];
-include_once( './template/'.$user['template'].'/htmlfunctions.inc.php' );
-?> \ No newline at end of file
diff --git a/include/page_header.php b/include/page_header.php
new file mode 100644
index 000000000..68bb17993
--- /dev/null
+++ b/include/page_header.php
@@ -0,0 +1,30 @@
+<?php
+
+//
+// Start output of page
+//
+$vtp = new VTemplate;
+$handle = $vtp->Open( './template/'.$user['template'].'/header.vtp' );
+$vtp->setGlobalVar( $handle, 'charset', $lang['charset'] );
+$vtp->setGlobalVar( $handle, 'style', './template/'.$user['template'].'/'.$user['template'].'.css');
+
+ // refresh
+ if ( isset( $refresh ) && $refresh >0 && isset($url_link))
+ {
+ $vtp->addSession( $handle, 'refresh' );
+ $vtp->setVar( $handle, 'refresh.time', $refresh );
+ $url = $url_link.'&amp;slideshow='.$refresh;
+ $vtp->setVar( $handle, 'refresh.url', add_session_id( $url ) );
+ $vtp->closeSession( $handle, 'refresh' );
+ }
+
+$vtp->setGlobalVar( $handle, 'title', $title );
+$vtp->setVarF( $handle, 'header', './template/'.$user['template'].'/header.htm' );
+
+//
+// Generate the page
+//
+
+$code = $vtp->Display( $handle, 0 );
+echo $code;
+?> \ No newline at end of file
diff --git a/include/page_tail.php b/include/page_tail.php
new file mode 100644
index 000000000..d4548f170
--- /dev/null
+++ b/include/page_tail.php
@@ -0,0 +1,19 @@
+<?php
+$handle = $vtp->Open( './template/'.$user['template'].'/footer.vtp' );
+
+//------------------------------------------------------------- generation time
+$time = get_elapsed_time( $t2, get_moment() );
+$vtp->setGlobalVar( $handle, 'time', $time );
+
+$vtp->setGlobalVar( $handle, 'generation_time', $lang['generation_time'] );
+$vtp->setGlobalVar( $handle, 'version', $conf['version'] );
+$vtp->setGlobalVar( $handle, 'site_url', $conf['site_url'] );
+$vtp->setVarF( $handle, 'footer', './template/'.$user['template'].'/footer.htm' );
+
+//
+// Generate the page
+//
+
+$code = $vtp->Display( $handle, 0 );
+echo $code;
+?> \ No newline at end of file
diff --git a/include/user.inc.php b/include/user.inc.php
index a91a4b61b..d25f26b7a 100644
--- a/include/user.inc.php
+++ b/include/user.inc.php
@@ -16,6 +16,7 @@
* the Free Software Foundation; *
* *
***************************************************************************/
+
// retrieving user informations
// $infos array is used to know the fields to retrieve in the table "users"
// Each field becomes an information of the array $user.
@@ -24,14 +25,10 @@
$infos = array( 'id', 'username', 'mail_address', 'nb_image_line',
'nb_line_page', 'status', 'language', 'maxwidth',
'maxheight', 'expand', 'show_nb_comments', 'short_period',
- 'long_period', 'template' );
+ 'long_period', 'template', 'forbidden_categories' );
-$query_user = 'SELECT ';
-foreach ( $infos as $i => $info ) {
- if ( $i > 0 ) $query_user.= ',';
- $query_user.= $info;
-}
-$query_user.= ' FROM '.PREFIX_TABLE.'users';
+$query_user = 'SELECT '.implode( ',', $infos );
+$query_user.= ' FROM '.USERS_TABLE;
$query_done = false;
$user['is_the_guest'] = false;
@@ -59,7 +56,7 @@ if ( isset( $session_id )
{
$page['session_id'] = $session_id;
$query = 'SELECT user_id,expiration,ip';
- $query.= ' FROM '.PREFIX_TABLE.'sessions';
+ $query.= ' FROM '.SESSIONS_TABLE;
$query.= " WHERE id = '".$page['session_id']."'";
$query.= ';';
$result = mysql_query( $query );
@@ -72,7 +69,7 @@ if ( isset( $session_id )
{
// deletion of the session from the database,
// because it is out-of-date
- $delete_query = 'DELETE FROM '.PREFIX_TABLE.'sessions';
+ $delete_query = 'DELETE FROM '.SESSIONS_TABLE;
$delete_query.= " WHERE id = '".$page['session_id']."'";
$delete_query.= ';';
mysql_query( $delete_query );
@@ -96,18 +93,27 @@ if ( !$query_done )
$user['is_the_guest'] = true;
}
$query_user .= ';';
-
$row = mysql_fetch_array( mysql_query( $query_user ) );
// affectation of each value retrieved in the users table into a variable
// of the array $user.
foreach ( $infos as $info ) {
- $user[$info] = $row[$info];
- // If the field is true or false, the variable is transformed into a
- // boolean value.
- if ( $row[$info] == 'true' or $row[$info] == 'false' )
+ if ( isset( $row[$info] ) )
{
- $user[$info] = get_boolean( $row[$info] );
+ // If the field is true or false, the variable is transformed into a
+ // boolean value.
+ if ( $row[$info] == 'true' or $row[$info] == 'false' )
+ $user[$info] = get_boolean( $row[$info] );
+ else
+ $user[$info] = $row[$info];
+ }
+ else
+ {
+ $user[$info] = '';
}
}
+
+// special for $user['restrictions'] array
+$user['restrictions'] = explode( ',', $user['forbidden_categories'] );
+if ( $user['restrictions'][0] == '' ) $user['restrictions'] = array();
?> \ No newline at end of file
diff --git a/include/vtemplate.class.php b/include/vtemplate.class.php
index e3ae0b058..45dfd7f10 100644
--- a/include/vtemplate.class.php
+++ b/include/vtemplate.class.php
@@ -15,7 +15,6 @@
*
*
*****************************************************************/
-
// to make it work on nexen.net
set_magic_quotes_runtime(0);
diff --git a/index.php b/index.php
index 0f6255ba4..cdcfaa01f 100644
--- a/index.php
+++ b/index.php
@@ -17,14 +17,10 @@
* *
***************************************************************************/
-define( "PREFIX_INCLUDE", '' );
-include_once( './include/functions.inc.php' );
-database_connection();
-// retrieving configuration informations
-$query = 'SELECT access';
-$query.= ' FROM '.PREFIX_TABLE.'config;';
-$row = mysql_fetch_array( mysql_query( $query ) );
-if ( $row['access'] == 'restricted' )
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
+if ( $conf['access'] == 'restricted' )
{
if ( isset( $_COOKIE['id'] ) ) $url = 'category';
else $url = 'identification';
diff --git a/install.php b/install.php
index 6cfeeeaaa..95c0098e6 100644
--- a/install.php
+++ b/install.php
@@ -18,13 +18,15 @@
***************************************************************************/
//-------------------------------------------------------------------- includes
-define( "PREFIX_INCLUDE", '' );
+define( 'PREFIX_INCLUDE', '' );
include( './include/vtemplate.class.php' );
include( './include/functions.inc.php' );
+
+$config_file = './config.php';
//----------------------------------------------------- template initialization
$vtp = new VTemplate;
$handle = $vtp->Open( './template/default/install.vtp' );
-$vtp->setGlobalVar( $handle, 'release', '1.3' );
+$vtp->setGlobalVar( $handle, 'release', '1.4' );
//-------------------------------------------------------------------- language
if ( isset( $_GET['language'] ) )
{
@@ -45,7 +47,7 @@ if ( isset( $_GET['language'] ) )
$vtp->setGlobalVar( $handle, 'language', $_GET['language'] );
}
//---------------------- Step 1 : connection informations, write of config file
-if ( $_GET['step'] == 1 )
+if ( isset($_GET['step']) && $_GET['step'] == 1 )
{
$errors = array();
$infos = array();
@@ -73,7 +75,7 @@ if ( $_GET['step'] == 1 )
{
array_push( $errors, $lang['step1_err_server'] );
}
-
+
if ( count( $errors ) == 0 )
{
$file_content = "<?php";
@@ -81,11 +83,15 @@ if ( $_GET['step'] == 1 )
$file_content.= "\n\$cfgUser = '". $_POST['cfgUser']."';";
$file_content.= "\n\$cfgPassword = '". $_POST['cfgPassword']."';";
$file_content.= "\n\$cfgHote = '". $_POST['cfgHote']."';";
- $file_content.= "\n\$prefixeTable = '".$_POST['prefixeTable']."';";
+ $file_content.= "\n";
+ $file_content.= "\n\$table_prefix = '".$_POST['prefixeTable']."';";
+ $file_content.= "\n";
+ $file_content.= "\ndefine('PHPWG_INSTALLED', true);";
$file_content.= "\n?>";
// writting the configuration file
- if ( $fp = @fopen( './include/mysql.inc.php', 'a+' ) )
+ if ( $fp = @fopen( $config_file, 'a+' ) )
{
+ ftruncate($fp, 0);
fwrite( $fp, $file_content );
fclose( $fp );
}
@@ -93,7 +99,7 @@ if ( $_GET['step'] == 1 )
$cfgUser = '';
$cfgPassword = '';
$cfgBase = '';
- include( './include/mysql.inc.php' );
+ if ( is_file( $config_file ) ) include( $config_file );
$file_OK = false;
if ( @mysql_connect( $cfgHote, $cfgUser, $cfgPassword ) )
{
@@ -150,9 +156,11 @@ if ( $_GET['step'] == 1 )
else
$vtp->setVar( $handle, 'step1.f_host', $_POST['cfgHote'] );
// user
- $vtp->setVar( $handle, 'step1.f_user', $_POST['cfgUser'] );
+ if ( isset( $_POST['cfgUser'] ) )
+ $vtp->setVar( $handle, 'step1.f_user', $_POST['cfgUser'] );
// base
- $vtp->setVar( $handle, 'step1.f_base', $_POST['cfgBase'] );
+ if ( isset( $_POST['cfgBase'] ) )
+ $vtp->setVar( $handle, 'step1.f_base', $_POST['cfgBase'] );
// prefixeTable
if ( !isset( $_POST['prefixeTable'] ) )
$vtp->setVar( $handle, 'step1.f_prefixeTable', 'phpwebgallery_' );
@@ -163,12 +171,12 @@ if ( $_GET['step'] == 1 )
}
}
//------------------------------------- Step 2 : creation of tables in database
-else if ( $_GET['step'] == 2 )
+else if ( isset($_GET['step']) && $_GET['step'] == 2 )
{
$errors = array();
$infos = array();
- include( './include/mysql.inc.php' );
+ include( $config_file );
mysql_connect( $cfgHote, $cfgUser, $cfgPassword )
or die ( "Can't connect to database host" );
mysql_select_db( $cfgBase )
@@ -188,7 +196,7 @@ else if ( $_GET['step'] == 2 )
if ( preg_match( '/;$/', $sql_line ) )
{
$query = trim( $query );
- $query = str_replace( 'phpwebgallery_', $prefixeTable, $query );
+ $query = str_replace( 'phpwebgallery_', $table_prefix, $query );
// we don't execute "DROP TABLE" queries
if ( !preg_match( '/^DROP TABLE/i', $query ) )
mysql_query( $query );
@@ -221,30 +229,31 @@ else if ( $_GET['step'] == 2 )
// if no error found till here : insertion of data in tables
if ( count( $errors ) == 0 )
{
- $query = 'DELETE FROM '.$prefixeTable.'config';
+ $query = 'DELETE FROM '.$table_prefix.'config';
mysql_query( $query );
- $query = 'INSERT INTO '.$prefixeTable.'config';
+ $query = 'INSERT INTO '.$table_prefix.'config';
$query.= ' (webmaster,mail_webmaster) VALUES ';
$query.= " ('".$webmaster."','".$_POST['mail_webmaster']."')";
$query.= ';';
mysql_query( $query );
- $query = 'INSERT INTO '.$prefixeTable.'sites';
+ $query = 'INSERT INTO '.$table_prefix.'sites';
$query.= " (id,galleries_url) VALUES (1, './galleries/')";
$query.= ';';
mysql_query( $query );
// webmaster admin user
- $query = 'INSERT INTO '.$prefixeTable.'users';
- $query.= ' (id,username,password,status,language) VALUES ';
+ $query = 'INSERT INTO '.$table_prefix.'users';
+ $query.= ' (id,username,password,status,language,mail_address) VALUES ';
$query.= "(1,'".$webmaster."','".md5( $_POST['pwdWebmaster'] )."'";
- $query.= ",'admin','".$_GET['language']."')";
+ $query.= ",'admin','".$_GET['language']."'";
+ $query.= ",'".$_POST['mail_webmaster']."')";
$query.= ';';
mysql_query($query);
// guest user
- $query = 'INSERT INTO '.$prefixeTable.'users';
+ $query = 'INSERT INTO '.$table_prefix.'users';
$query.= '(id,username,password,status,language) VALUES ';
$query.= "(2,'guest','','guest','".$_GET['language']."')";
$query.= ';';
@@ -267,7 +276,9 @@ else if ( $_GET['step'] == 2 )
if ( !isset( $_POST['submit'] ) or sizeof( $errors ) > 0 )
{
$vtp->addSession( $handle, 'step2' );
+ if ( isset( $_POST['webmaster'] ))
$vtp->setVar( $handle, 'step2.f_webmaster', $_POST['webmaster'] );
+ if ( isset( $_POST['mail_webmaster'] ))
$vtp->setVar( $handle, 'step2.f_mail_webmaster', $_POST['mail_webmaster']);
$vtp->closeSession( $handle, 'step2' );
}
diff --git a/language/catala.php b/language/catala.php
new file mode 100644
index 000000000..16735e912
--- /dev/null
+++ b/language/catala.php
@@ -0,0 +1,550 @@
+<?php
+/***************************************************************************
+ * catala.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * translation : Xolda <xolda@hotmail.com> *
+ * *
+ * $Id$
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+$lang['only_members'] = 'Accés restringit a membres';
+$lang['invalid_pwd'] = '¡Contrasenya errònia!';
+$lang['access_forbiden'] = 'No està autoritzat per accedir a aquesta plana';
+$lang['submit'] = 'Validar';
+$lang['login'] = 'usuari';
+$lang['password'] = 'contrasenya';
+$lang['new'] = 'nova';
+$lang['delete'] = 'esborrar';
+$lang['category'] = 'categoria';
+$lang['thumbnail'] = 'miniatura';
+$lang['date'] = 'data';
+$lang['diapo_default_page_title'] = 'No hi ha cap categoria seleccionada';
+$lang['thumbnails'] = 'Miniatures';
+$lang['categories'] = 'Categories';
+$lang['hint_category'] = 'mostra imatges a l\'arrel d\'aquesta categoria';
+$lang['total_images'] = 'total';
+$lang['title_menu'] = 'Menú';
+$lang['change_login'] = 'canviar usuari';
+$lang['login'] = 'usuari';
+$lang['hint_login'] = 'identificar-se li permet modificar l\'aparença del site';
+$lang['logout'] = 'sortir';
+$lang['customize'] = 'personalitzar';
+$lang['hint_customize'] = 'personalitzar l\'aspecte de la galeria';
+$lang['hint_search'] = 'cercar';
+$lang['search'] = 'cercar';
+$lang['favorite_cat'] = 'favorits';
+$lang['favorite_cat_hint'] = 'mostrar els seus favorits';
+$lang['about'] = 'quant a';
+$lang['hint_about'] = 'més informació a PhpWebGallery...';
+$lang['admin'] = 'admin';
+$lang['hint_admin'] = 'disponible només per a administradors';
+$lang['no_category'] = 'No hi ha una categoria seleccionada,<br>si us plau, seleccioni\'n una al menú';
+$lang['page_number'] = 'plana número';
+$lang['previous_page'] = 'Anterior';
+$lang['next_page'] = 'Següent';
+$lang['nb_image_category'] = 'número d\'imatges en aquesta categoria';
+$lang['recent_image'] = 'imatge dels darrers';
+$lang['days'] = 'dies';
+$lang['send_mail'] = 'Si té cap comentari o desitja comprar<br>alguna imatge, enviï un correu electrònic';
+$lang['title_send_mail'] = 'Comentari del site o comprar imatge';
+$lang['sub-cat'] = 'subcategories';
+$lang['images_available'] = 'imatges en aquesta categoria';
+$lang['total'] = 'imatges';
+$lang['upload_picture'] = 'Pujar una imatge';
+$lang['registration_date'] = 'registrada el';
+$lang['creation_date'] = 'creada el';
+$lang['comment'] = 'comentari';
+$lang['author'] = 'autor';
+$lang['size'] = 'tamany';
+$lang['filesize'] = 'tamany de l\'arxiu';
+$lang['file'] = 'arxiu';
+$lang['generation_time'] = 'Plana creada en';
+$lang['favorites'] = 'Favorits';
+$lang['search_result'] = 'Resultats de la cerca';
+$lang['about_page_title'] = 'Quant a PhpWebGallery';
+$lang['about_title'] = 'Quant a...';
+$lang['about_message'] = '<div style="text-align:center;font-weigh:bold;">Informació quant a PhpWebGallery</div>
+<ul>
+ <li>Aquest lloc web utilitza <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> versió '.$conf['version'].'. PhpWebGallery és una aplicació web que li ofereix la possibilitat de crear fàcilment una galeria d\'imatges on-line.</li>
+ <li>Tècnicament, PhpWebGallery està totalment desenvolupat en PHP (the elePHPant) en combinació amb la base de dades MySQL (the SQuirreL).</li>
+ <li>Si té qualsevol suggerència o comentari, si us plau, visiti el site oficial de <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> i el seu <a href="'.$conf['forum_url'].'" style="text-decoration:underline">fòrum de discussió</a>.</li>
+</ul>';
+$lang['about_return'] = 'Enrere';
+$lang['ident_page_title'] = 'Identificació';
+$lang['ident_title'] = 'Identificació';
+$lang['ident_register'] = 'Registrar';
+$lang['ident_forgotten_password'] = 'Ha oblidat la seva contrasenya?';
+$lang['ident_guest_visit'] = 'Entri a la Galeria com a visitant';
+$lang['customize_page_title'] = 'Personalització';
+$lang['customize_title'] = 'Personalització';
+$lang['customize_nb_image_per_row'] = 'número d\'imatges per filera';
+$lang['customize_nb_row_per_page'] = 'número d\'imatges per plana';
+$lang['customize_language'] = 'idioma';
+$lang['maxwidth'] = 'amplada màxima de les imatges';
+$lang['maxheight'] = 'alçada màxima de les imatges';
+$lang['err_maxwidth'] = 'l\'amplada màxima ha de ser un número superior a 50';
+$lang['err_maxheight'] = 'l\'alçada màxima ha de ser un número superior a 50';
+$lang['previous_image'] = 'Anterior';
+$lang['next_image'] = 'Següent';
+$lang['back'] = 'Polsi a l\'imatge per tornar a la plana de miniatures';
+$lang['info_image_title'] = 'Informació de l\'imatge';
+$lang['link_info_image'] = 'Modificar informació';
+$lang['true_size'] = 'Tamany real';
+$lang['comments_title'] = 'Comentaris dels usuaris del lloc web';
+$lang['comments_del'] = 'esborrar aquest comentari';
+$lang['comments_add'] = 'Afegir un comentari';
+$lang['month'][1] = 'Gener';
+$lang['month'][2] = 'Febrer';
+$lang['month'][3] = 'Març';
+$lang['month'][4] = 'Abril';
+$lang['month'][5] = 'Maig';
+$lang['month'][6] = 'Juny';
+$lang['month'][7] = 'Juliol';
+$lang['month'][8] = 'Agost';
+$lang['month'][9] = 'Setembre';
+$lang['month'][10] = 'Octubre';
+$lang['month'][11] = 'Novembre';
+$lang['month'][12] = 'Desembre';
+$lang['day'][0] = 'Diumenge';
+$lang['day'][1] = 'Dilluns';
+$lang['day'][2] = 'Dimarts';
+$lang['day'][3] = 'Dimecres';
+$lang['day'][4] = 'Dijous';
+$lang['day'][5] = 'Divendres';
+$lang['day'][6] = 'Dissabte';
+$lang['add_favorites_alt'] = 'Afegir a favorits';
+$lang['add_favorites_hint'] = 'Afegir imatge a favorits';
+$lang['del_favorites_alt'] = 'Eliminar imatge de favorits';
+$lang['del_favorites_hint'] = 'Eliminar imatge de favorits';
+$lang['register_page_title'] = 'Registre';
+$lang['register_title'] = 'Registre';
+$lang['reg_err_login1'] = 'Si us plau, introdueixi un nom d\'usuari';
+$lang['reg_err_login2'] = 'el nom d\'usuari no pot acabar en espai';
+$lang['reg_err_login3'] = 'el nom d\'usuari no pot començar en espai';
+$lang['reg_err_login4'] = 'el nom d\'usuari no pot contenir " ni \'';
+$lang['reg_err_login5'] = 'el nom d\'usuari ja existeix';
+$lang['reg_err_pass'] = 'si us plau, introdueixi la seva contrasenya de nou';
+$lang['reg_confirm'] = 'confirmar';
+$lang['reg_err_mail_address'] = 'l\'adreça de correu ha de ser del tipus xxx@yyy.eee (p.ex.: usuari@proveidor.com)';
+$lang['search_title'] = 'Cercar';
+$lang['invalid_search'] = 'la cerca ha de tenir 3 caràcters o més';
+$lang['search_field_search'] = 'Cercar';
+$lang['search_return_main_page'] = 'Tornar a la plana de miniatures';
+$lang['upload_forbidden'] = 'No pot pujar imatges en aquesta categoria';
+$lang['upload_file_exists'] = 'El nom d\'alguna imatge ja existeix';
+$lang['upload_filenotfound'] = 'Ha d\'escollir un format d\'imatge per a l\'arxiu';
+$lang['upload_cannot_upload'] = 'no es pot pujar la imatge al servidor';
+$lang['upload_title'] = 'Pujar una imatge';
+$lang['upload_advise'] = 'Esculli una imatge per posar-la a la categoria: ';
+$lang['upload_advise_thumbnail'] = 'Opcional, però recomanable: esculli una miniatura per associar-la a ';
+$lang['upload_advise_filesize'] = 'el tamany de l\'arxiu de la imatge no ha de passar de: ';
+$lang['upload_advise_width'] = 'l\'amplada de la imatge no ha de passar de: ';
+$lang['upload_advise_height'] = 'l\'alçada de la imatge no ha de passar de: ';
+$lang['upload_advise_filetype'] = 'la imatge ha d\'estar en format JPG, GIF ó PNG';
+$lang['upload_err_username'] = 'ha de donar el nom d\'usuari';
+$lang['upload_username'] = 'Usuari';
+$lang['upload_successful'] = 'Imatge pujada correctament, un administrador la validarà tan aviat com sigui possible';
+// new or modified in release 1.3
+$lang['charset'] = 'iso-8859-1';
+$lang['no'] = 'no';
+$lang['yes'] = 'si';
+$lang['guest'] = 'convidat';
+$lang['mail_address'] = 'adreça de correu';
+$lang['public'] = 'públic';
+$lang['private'] = 'privat';
+$lang['add'] = 'afegir';
+$lang['dissociate'] = 'diferenciar';
+$lang['mandatory'] = 'obligatori';
+$lang['err_date'] = 'data errònia';
+$lang['picture'] = 'imatge';
+$lang['IP'] = 'IP';
+$lang['close'] = 'tancar';
+$lang['open'] = 'obrir';
+$lang['keywords'] = 'paraules clau';
+$lang['errors_title'] = 'Errors';
+$lang['infos_title'] = 'Informacions';
+$lang['default'] = 'per defecte';
+$lang['comments'] = 'comentaris';
+$lang['category_representative'] = 'representativa';
+$lang['stats'] = 'estadístiques';
+$lang['most_visited_cat_hint'] = 'mostra les imatges més visitades';
+$lang['most_visited_cat'] = 'més visitades';
+$lang['best_rated_cat_hint'] = 'mostra les imatges millor valorades';
+$lang['best_rated_cat'] = 'millor valorades';
+$lang['recent_cat_hint'] = 'mostra les imatges més recents';
+$lang['recent_cat'] = 'més recents';
+$lang['recent_cat_title'] = 'Imatges recents';
+$lang['visited'] = 'visitada';
+$lang['times'] = 'vegades';
+$lang['customize_theme'] = 'tema de l\'interface';
+$lang['customize_expand'] = 'expandir totes les categories';
+$lang['customize_show_nb_comments'] = 'mostrar el nombre de comentaris';
+$lang['customize_short_period'] = 'període curt';
+$lang['customize_long_period'] = 'període llarg';
+$lang['customize_template'] = 'plantilla';
+$lang['err_periods'] = 'els períodes han de ser valors enters';
+$lang['err_periods_2'] = 'els períodes han de ser superiors a 0. El període llarg ha de ser més gran que el període curt.';
+$lang['create_cookie'] = 'crear una cookie';
+$lang['customize_day'] = 'dia';
+$lang['customize_week'] = 'setmana';
+$lang['customize_month'] = 'mes';
+$lang['customize_year'] = 'any';
+$lang['slideshow'] = 'slideshow';
+$lang['period_seconds'] = 'segons per imatge';
+$lang['slideshow_stop'] = 'parar l\'slideshow';
+$lang['comment_added'] = 'El seu comentari ha estat registrat';
+$lang['comment_to_validate'] = 'Un administrador ha d\'autoritzar el comentari abans de que sigui visible.';
+$lang['comment_anti-flood'] = 'Sistema Anti-flood: si us plau, esperi un moment abans d\'intentar enviar un altre comentari';
+$lang['comment_user_exists'] = 'El nom d\'usuari ja està en us';
+$lang['invalid_search'] = 'Les paraules cercades han de ser de més de 3 caràcters i no han de contenir signes de puntuació';
+$lang['search_mode_or'] = 'almenys una paraula';
+$lang['search_mode_and'] = 'totes les paraules';
+$lang['search_comments'] = 'separi les diferents paraules amb espais';
+$lang['upload_name'] = 'Nom de la imatge';
+$lang['upload_author'] = 'Autor (ex "Pierrick LE GALL")';
+$lang['upload_creation_date'] = 'Data de creació (DD/MM/AAAA)';
+$lang['upload_comment'] = 'Comentari';
+$lang['mail_hello'] = 'Hola,';
+$lang['mail_new_upload_subject'] = 'Nova imatge al lloc web';
+$lang['mail_new_upload_content'] = 'S\'ha pujat una nova imatge a la galeria. Està esperant a ser validada. Vagi al panell d\'administració per autoritzar o refusar la imatge.';
+$lang['mail_new_comment_subject'] = 'Nou comentari del lloc web';
+$lang['mail_new_comment_content'] = 'S\'ha registrat un nou comentari a la galeria. Si escull validar cada comentari, primer haurà de validar aquest comentari al panell d\'administració per fer-lo visible a la galeria.'."\n\n".'Pot veure els últims comentaris al panell d\'administració';
+$lang['connected_user'] = 'usuari connectat';
+$lang['title_comments'] = 'Comentaris dels usuaris';
+$lang['stats_last_days'] = 'últims dies';
+$lang['hint_comments'] = 'Veure els últims comentaris dels usuaris';
+$lang['menu_login'] = 'usuari';
+//-------------------------------------------------------------- administration
+if ( $isadmin )
+{
+ $lang['title_liste_users'] = 'Llista d\'usuaris';
+ $lang['title_history'] = 'Historial';
+ $lang['title_update'] = 'Actualitzar base de dades';
+ $lang['title_configuration'] = 'Configuració de PhpWebGallery';
+ $lang['title_instructions'] = 'Instruccions';
+ $lang['title_categories'] = 'Administració de categories';
+ $lang['title_edit_cat'] = 'Editar una categoria';
+ $lang['title_info_images'] = 'Modificar informació de la categoria d\'imatges';
+ $lang['title_thumbnails'] = 'Creació de miniatures';
+ $lang['title_thumbnails_2'] = 'per a';
+ $lang['title_default'] = 'Administració de PhpWebGallery';
+ $lang['menu_title'] = 'Administració';
+ $lang['menu_config'] = 'Configuració';
+ $lang['menu_users'] = 'Usuaris';
+ $lang['menu_add_user'] = 'afegir';
+ $lang['menu_list_user'] = 'llistar';
+ $lang['menu_categories'] = 'Categories';
+ $lang['menu_update'] = 'Actualitzar base de dades';
+ $lang['menu_thumbnails'] = 'Miniatures';
+ $lang['menu_history'] = 'Historial';
+ $lang['menu_instructions'] = 'Instruccions';
+ $lang['menu_back'] = 'Tornar a les galeries';
+ $lang['title_waiting'] = 'Imatges pendents de validació';
+ $lang['menu_waiting'] = 'En espera';
+ $lang['default_message'] = 'Panell d\'administració de PhpWebGallery';
+ $lang['conf_err_prefixe'] = 'el prefix de la miniatura no ha de contenir caràcters accentuats';
+ $lang['conf_err_mail'] = 'direcció d\'E-mail refusada, ha de ser del tipus usuari@servidor.com';
+ $lang['conf_err_sid_size'] = 'el tamany d\'identificador de sessió ha de ser un valor enter entre 4 i 50';
+ $lang['conf_err_sid_time'] = 'el temps de sessió ha de ser un valor enter entre 5 i 60';
+ $lang['conf_err_max_user_listbox'] = 'el nombre màxim d\'usuaris a la llista ha de ser un valor enter entre 0 i 255';
+ $lang['conf_confirmation'] = 'Informació registrada a la base de dades';
+ $lang['conf_general_title'] = 'Configuració principal';
+ $lang['conf_general_webmaster'] = 'login del webmaster';
+ $lang['conf_general_webmaster_info'] = 'Serà mostrat als visitants. Es necessari per a l\'administració del lloc web';
+ $lang['conf_general_mail'] = 'E-mail del Webmaster';
+ $lang['conf_general_mail_info'] = 'Els visitants podran contactar mitjançant aquest E-mail';
+ $lang['conf_general_prefix'] = 'prefix de las miniatures';
+ $lang['conf_general_prefix_info'] = 'Les miniatures utilitzaran aquest prefix. Deixar en blanc en cas de dubte.';
+ $lang['conf_general_access'] = 'tipus d\'accés';
+ $lang['conf_general_access_1'] = 'lliure';
+ $lang['conf_general_access_2'] = 'restringit';
+ $lang['conf_general_access_info'] = '- lliure: qualsevol pot entrar al site i crear un compte per personalitzar l\'apariència del lloc web<br />- restringit: el webmaster crea els comptes. Només els usuaris registrats poden entrar al lloc web';
+ $lang['conf_general_max_user_listbox'] = 'màxim nombre d\'usuaris a la llista';
+ $lang['conf_general_max_user_listbox_info'] = '- aquest és el nombre màx. d\'usuaris que PhpWebGallery mostrarà a la llista en lloc d\'una simple caixa de text a la plana d\'identificació<br />- introdueixi un número entre 0 i 255, 0 farà que es mostri la llista';
+ $lang['conf_comments'] = 'comentaris dels usuaris';
+ $lang['conf_comments_title'] = 'Configuració dels '.$lang['conf_comments'];
+ $lang['conf_comments_show_comments'] = $lang['conf_comments'];
+ $lang['conf_comments_show_comments_info'] = '¿mostrar comentaris dels usuaris a sota de cada imatge?';
+ $lang['conf_comments_comments_number'] = 'nombre de comentaris per plana';
+ $lang['conf_comments_comments_number_info'] = 'nombre de comentaris a mostrar a cada plana. Aquest nombre és ilimitat per a cada imatge. Introdueixi un número entre 5 i 50.';
+ $lang['conf_err_comment_number'] = 'El nombre de comentaris per plana ha d\'estar entre 5 i 50 (inclòs).';
+ $lang['conf_remote_site_delete_info'] = 'Si elimina un servidor remot, esborrarà totes les imatges i categories relacionades amb el servidor.';
+ $lang['conf_upload_title'] = 'Configuració dels enviaments dels usuaris';
+ $lang['conf_upload_available'] = 'autoritzada la pujada d\'imatges';
+ $lang['conf_upload_maxfilesize'] = 'tamany màxim de l\'arxiu';
+ $lang['conf_upload_maxfilesize_info'] = 'Tamany màxim dels arxius a pujar. Ha de ser un enter entre 10 i 1000 (Kb).';
+ $lang['conf_err_upload_maxfilesize'] = 'tamany màxim dels arxius a pujar. Ha de ser un enter entre 10 i 1000 (Kb).';
+ $lang['conf_upload_maxwidth'] = 'amplada màxima';
+ $lang['conf_upload_maxwidth_info'] = 'Amplada màxima de les imatges a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_err_upload_maxwidth'] = 'amplada màxima de les imatges a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_upload_maxheight'] = 'alçada màxima';
+ $lang['conf_upload_maxheight_info'] = 'Alçada màxima de les imatges a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_err_upload_maxwidth'] = 'alçada màxima de les imatges a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_upload_maxwidth_thumbnail'] = 'amplada màxima de les miniatures';
+ $lang['conf_upload_maxwidth_thumbnail_info'] = 'Amplada màxima de les miniatures a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_err_upload_maxwidth_thumbnail'] = 'amplada màxima de les miniatures a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_upload_maxheight_thumbnail'] = 'alçada màxima de les miniatures';
+ $lang['conf_upload_maxheight_thumbnail_info'] = 'Alçada màxima de les miniatures a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_err_upload_maxheight_thumbnail'] = 'alçada màxima de les miniatures a pujar. Ha de ser un número superior a 10 (píxels).';
+ $lang['conf_default_title'] = 'Propietats de visualització per defecte per a usuaris no registrats i nous comptes';
+ $lang['conf_default_language_info'] = 'idioma per defecte';
+ $lang['conf_default_theme_info'] = 'tema per defecte';
+ $lang['conf_session_title'] = 'Configuració de les sessions';
+ $lang['conf_session_size'] = 'tamany de l\'identificador';
+ $lang['conf_session_size_info'] = '- com més llarg sigui l\'identificador, més segur serà el site<br />- introdueixi un número entre 4 i 50';
+ $lang['conf_session_time'] = 'període de validesa';
+ $lang['conf_session_time_info'] = '- com més curt sigui el període de validesa més segur serà el site<br />- introdueixi un número entre 5 i 60, en minuts';
+ $lang['conf_session_key'] = 'paraula clau';
+ $lang['conf_session_key_info'] = '- la paraula clau de la sessió millora la codificació de l\'identificador de sessió<br />- introdueixi una frase que no passi de 255 caràcters';
+ $lang['conf_session_delete'] = 'esborrar sessions caducades';
+ $lang['conf_session_delete_info'] = 'és recomanable buidar la taula de sessions de la base de dades, perquè les sessions caducades romanen a la base de dades (encara que no representen cap problema de seguretat)';
+ $lang['user_err_modify'] = 'Aquest usuari no pot ser modificat ni esborrat';
+ $lang['user_err_unknown'] = 'Aquest usuari no existeix a la base de dades';
+ $lang['adduser_info_message'] = 'Informació registrada a la base de dades per a l\'usuari ';
+ $lang['adduser_info_password_updated'] = '(contrasenya actualitzada)';
+ $lang['adduser_info_back'] = 'tornar a la llista d\'usuaris';
+ $lang['adduser_fill_form'] = 'Si us plau, empleni el següent formulari';
+ $lang['adduser_unmodify'] = 'no-modificable';
+ $lang['adduser_status'] = 'estat';
+ $lang['adduser_status_admin'] = 'admin';
+ $lang['adduser_status_guest'] = 'convidat';
+ $lang['permuser_info_message'] = 'Permisos registrats';
+ $lang['permuser_title'] = 'Restriccions per a l\'usuari';
+ $lang['permuser_warning'] = 'Atenció : un "<span style="font-weight:bold;">accés prohibit</span>" a l\'arrel d\'una categoria denega l\'accés a tota la categoria';
+ $lang['permuser_authorized'] = 'autoritzat';
+ $lang['permuser_forbidden'] = 'prohibit';
+ $lang['permuser_parent_forbidden'] = 'categoria superior prohibida';
+ $lang['listuser_confirm'] = 'Realment desitja esborrar aquest usuari?';
+ $lang['listuser_info_deletion'] = 'esborrat de la base de dades';
+ $lang['listuser_user_group'] = 'Grup d\'usuaris';
+ $lang['listuser_modify'] = 'modificar';
+ $lang['listuser_modify_hint'] = 'modificar la informació de';
+ $lang['listuser_permission'] = 'permisos';
+ $lang['listuser_permission_hint'] = 'modifica els permisos de';
+ $lang['listuser_delete'] = 'esborrar';
+ $lang['listuser_delete_hint'] = 'esborrar usuari';
+ $lang['listuser_button_all'] = 'tots';
+ $lang['listuser_button_invert'] = 'invertir';
+ $lang['listuser_button_create_address'] = 'crear adreça de correu';
+ $lang['cat_invisible'] = 'invisible';
+ $lang['cat_edit'] = 'Editar';
+ $lang['cat_up'] = 'Pujar';
+ $lang['cat_down'] = 'Baixar';
+ $lang['cat_image_info'] = 'Informació de les imatges';
+ $lang['cat_total'] = 'total';
+ $lang['editcat_confirm'] = 'Informació registrada a la base de dades';
+ $lang['editcat_back'] = 'categories';
+ $lang['editcat_title1'] = 'Opcions per al';
+ $lang['editcat_name'] = 'Nom';
+ $lang['editcat_comment'] = 'Comentari';
+ $lang['editcat_status'] = 'Estat';
+ $lang['infoimage_general'] = 'Opcions generals per a la categoria';
+ $lang['infoimage_useforall'] = 'utilitzar per a totes les imatges?';
+ $lang['infoimage_creation_date'] = 'data de creació';
+ $lang['infoimage_detailed'] = 'Opció per a cada imatge';
+ $lang['infoimage_title'] = 'títol';
+ $lang['infoimage_comment'] = 'comentari';
+ $lang['update_missing_tn'] = 'no hi ha miniatura per a';
+ $lang['update_disappeared_tn'] = 'la miniatura no existeix';
+ $lang['update_disappeared'] = 'no existeix';
+ $lang['update_part_deletion'] = 'Esborrat d\'imatges que no tenen miniatura o que no existeixen';
+ $lang['update_deletion_conclusion'] = 'imatges esborrades de la base de dades';
+ $lang['update_part_research'] = 'Buscar noves imatges als directoris';
+ $lang['update_research_added'] = 'afegides';
+ $lang['update_research_tn_ext'] = 'miniatures a';
+ $lang['update_research_conclusion'] = 'imatges afegides a la base de dades';
+ $lang['update_default_title'] = 'Esculli una opció';
+ $lang['update_only_cat'] = 'actualitzar categories, no imatges';
+ $lang['update_all'] = 'actualitzar totes';
+ $lang['tn_width'] = 'amplada';
+ $lang['tn_height'] = 'alçada';
+ $lang['tn_no_support'] = 'Imatge inaccessible o sense suport';
+ $lang['tn_format'] = 'per al format d\'arxiu';
+ $lang['tn_thisformat'] = 'per a aquest format d\'arxiu';
+ $lang['tn_err_width'] = 'l\'amplada ha de ser un número superior a';
+ $lang['tn_err_height'] = 'l\'alçada ha de ser un número superior a';
+ $lang['tn_results_title'] = 'Resultats de la miniaturització';
+ $lang['tn_picture'] = 'imatge';
+ $lang['tn_results_gen_time'] = 'generada en';
+ $lang['tn_stats'] = 'Estadístiques generals';
+ $lang['tn_stats_nb'] = 'nombre d\'imatges miniaturitzades';
+ $lang['tn_stats_total'] = 'temps total';
+ $lang['tn_stats_max'] = 'temps màx.';
+ $lang['tn_stats_min'] = 'temps mín.';
+ $lang['tn_stats_mean'] = 'temps mitjà';
+ $lang['tn_err'] = 'Ha comès errors';
+ $lang['tn_params_title'] = 'Paràmetres de la miniaturització';
+ $lang['tn_params_GD'] = 'Versió de GD';
+ $lang['tn_params_GD_info'] = '- GD és la llibreria de manipulació de miniatures per a PHP<br />-esculli la versió instal·lada en el seu servidor. Si n\'escull una d\'incorrecta, obtindrà missatges d\'error, torni enrere amb el seu navegador i esculli una altra versió. Si no funciona, és que el seu servidor no suporta GD.';
+ $lang['tn_params_width_info'] = 'màxima amplada de les miniatures';
+ $lang['tn_params_height_info'] = 'màxima alçada de les miniatures';
+ $lang['tn_params_create'] = 'crear';
+ $lang['tn_params_create_info'] = 'No intenti miniaturitzar massa imatges a la vegada.<br />De fet, la miniaturització utilitza molts recursos de la CPU. Si va instal·lar PhpWebGallery a un proveïdor gratuït, una sobrecàrrega de la CPU pot derivar en l\'eliminació del seu lloc web.';
+ $lang['tn_params_format'] = 'format d\'arxiu';
+ $lang['tn_params_format_info'] = 'únicament es permet el format JPG per a la creació de miniatures.';
+ $lang['tn_alone_title'] = 'imatge sense miniatura (només JPG i PNG)';
+ $lang['tn_dirs_title'] = 'Llista de directoris';
+ $lang['tn_dirs_alone'] = 'imatges sense miniatura';
+ $lang['help_images_title'] = 'Afegir imatges';
+ $lang['help_images_intro'] = 'Com posar les imatges als seus directoris';
+ $lang['help_images'][0] = 'al directori "galleries", creï directoris que representin a les seves categories.';
+ $lang['help_images'][1] = 'a cada directori, pot crear tants subdirectoris com desitgi.';
+ $lang['help_images'][2] = 'pot crear tantes categories i subcategories com desitgi.';
+ $lang['help_images'][3] = 'les imatges han de ser en format JPG (extensió jpg ó JPG), format GIF (extensió gif ó GIF) o format PNG (extensió png ó PNG).';
+ $lang['help_images'][4] = 'intenti NO utilitzar espais en blanc " " ni guions "-" als noms d\'imatge, li recomanem utilitzar el caràcter "_" de subratllat suportat per PhpWebGallery i obtindrà millors resultats.';
+ $lang['help_thumbnails_title'] = 'Miniatures';
+ $lang['help_thumbnails'][0] = 'a cada directori que contingui imatges a mostrar, ha d\'haver-hi un subdirectori amb el nom "thumbnail", si no existeix, creï\'l i posi les miniatures dins d\'ell.';
+ $lang['help_thumbnails'][1] = 'les miniatures no necessiten tenir la mateixa extensió que la seva imatge associada (una imatge en format .JPG pot tenir associada una miniatura en format .GIF).';
+ $lang['help_thumbnails'][2] = 'la miniatura associada a la imatge ha de tenir el prefix que es va indicar a la plana de configuració (imatge.jpg -> TN_imatge.GIF, per exemple).';
+ $lang['help_thumbnails'][3] = 'li recomanem utilitzar el mòdul per a Windows, descarregable al site de presentació de PhpWebGallery, per a la gestió de les miniatures.';
+ $lang['help_thumbnails'][4] = 'pot utilitzar la plana de creació de miniatures integrada a PhpWebGallery, però no és aconsellable, perquè la qualitat pot ser bastant pobre i carrega bastant la CPU, cosa que pot ser un problema si utilitza un servidor gratuït.';
+ $lang['help_thumbnails'][5] = 'si escull utilitzar al seu proveïdor de hosting per crear les miniatures, ha de donar els drets 775 a la carpeta "galleries" i a totes les seves subcarpetes.';
+ $lang['help_database_title'] = 'Actualitzant la base de dades';
+ $lang['help_database'][0] = 'un cop ubicades correctament les imatges i miniatures als directoris, polsi a "database update" al menú del panell d\'administració.';
+ $lang['help_infos_title'] = 'Informació diversa';
+ $lang['help_infos'][1] = 'Un cop hagi creat la seva galeria, vagi a la llista d\'usuaris i modifiqui els permisos per al "visiteur". De fet, cada nou usuari tindrà per defecte els mateixos permisos que l\'usuari "visiteur".';
+ $lang['help_remote_title'] = 'Site remot';
+ $lang['help_remote'][0] = 'PhpWebGallery ofereix la possibilitat d\'utilitzar diversos servidors per emmagatzemar les imatges que componen la seva galeria. Pot ser útil si la seva galeria està instal·lada en un espai web reduït i té gran quantitat d\'imatges per mostrar. Si us plau, segueixi el següent procediment: ';
+ $lang['help_remote'][1] = '1. Editi el fitxer "create_listing_file.php" (el trobarà al directori "admin"), i modifiqui la línia "$prefix_thumbnail = "TN-";" si el prefix de les seves miniatures no és "TN-".';
+ $lang['help_remote'][2] = '2. Posi l\'arxiu "create_listing_file.php" modificat al seu website remot, al directori arrel dels seus directoris d\'imatges (com el directori "galleries" d\'aquest website), mitjançant l\'ftp.';
+ $lang['help_remote'][3] = '3. Executi l\'script utilitzant la url http://DominiRemot/Galeria/create_listing_file.php, i es crearà l\'arxiu listing.xml.';
+ $lang['help_remote'][4] = '4. Recuperi el fitxer listing.xml del seu website remot i posi\'l al directori "admin" d\'aquest website.';
+ $lang['help_remote'][5] = '5. Si us plau, realitzi una actualització de les dades de les imatges mitjançant l\'interface d\'administració, i un cop utilitzat el fitxer listing.xml, esborri\'l del directori "admin".';
+ $lang['help_remote'][6] = 'Pot actualitzar els continguts del site remot repetint els passos descrits. També pot eliminar el site remot escollint l\'opció a la secció de configuració del panell d\'administració.';
+ $lang['help_upload_title'] = 'Imatges afegides pels usuaris';
+ $lang['help_upload'][0] = 'PhpWebGallery ofereix la possibilitat als usuaris de pujar imatges. Per fer-ho:';
+ $lang['help_upload'][1] = '1. Autoritzi l\'opció a la zona de configuració del panell d\'administració';
+ $lang['help_upload'][2] = '2. Autoritzi els drets d\'escriptura als directoris d\'imatges';
+ $lang['install_message'] = 'Missatge';
+ $lang['step1_confirmation'] = 'Paràmetres correctes';
+ $lang['step1_err_db'] = 'Connexió al servidor realitzada, però impossible connectar amb la base de dades';
+ $lang['step1_err_server'] = 'No es pot connectar al servidor';
+ $lang['step1_err_copy_2'] = 'Es pot procedir al següent pas de la instal·lació';
+ $lang['step1_err_copy_next'] = 'següent pas';
+ $lang['step1_title'] = 'Pas 1/2';
+ $lang['step1_host'] = 'Servidor MySQL';
+ $lang['step1_host_info'] = 'localhost, sql.multimania.com, toto.freesurf.fr';
+ $lang['step1_user'] = 'usuari';
+ $lang['step1_user_info'] = 'nom d\'usuari proporcionat pel seu proveïdor';
+ $lang['step1_pass'] = 'Contrasenya';
+ $lang['step1_pass_info'] = 'contrasenya d\'usuari proporcionada pel seu proveïdor';
+ $lang['step1_database'] = 'Nom de la base de dades';
+ $lang['step1_database_info'] = 'també proporcionat pel seu proveïdor';
+ $lang['step1_prefix'] = 'Prefix per a les taules a la base de dades';
+ $lang['step1_prefix_info'] = 'els noms de les taules de la base de dades hauran de dur un prefix (facilita la gestió de les taules)';
+ $lang['step2_err_login1'] = 'introdueixi un nom d\'usuari per al webmaster';
+ $lang['step2_err_login3'] = 'el nom del Webmaster no pot incloure caràcters com \' o "';
+ $lang['step2_err_pass'] = 'si us plau, confirmi la seva contrasenya';
+ $lang['step2_err_mail'] = $lang['conf_err_mail'];
+ $lang['install_end_title'] = 'Instal·lació finalitzada';
+ $lang['install_end_message'] = 'La configuració de PhpWebGallery s\'ha acabat, aquest és el següent pas<br /><br />
+Per raons de seguretat, si us plau esborri el fitxer "install.php" del directori "admin"<br />
+Un cop esborrat, segueixi aquestes instruccions:
+<ul>
+ <li>vagi a la plana d\'identificació: [ <a href="../identification.php">identificació</a> ] i introdueixi l\'usuari/contrasenya assignats al webmaster</li>
+ <li>Aquesta identificació li donarà accés al [ <a href="admin.php">panell d\'administració</a> ] i a les instruccions necessàries per posar imatges als seus directoris</li>
+</ul>';
+ $lang['step2_title'] = 'Pas 2/2';
+ $lang['step2_pwd'] = 'contrasenya del webmaster';
+ $lang['step2_pwd_info'] = 'Mantingui-la confidencial, ja que li dóna accés al panell d\'administració';
+ $lang['step2_pwd_conf'] = 'confirmar contrasenya';
+ $lang['step2_pwd_conf_info'] = 'verificació';
+ // new or modified in release 1.3
+ $lang['remote_site'] = 'Site remot';
+ $lang['title_add'] = 'Afegir usuari';
+ $lang['title_modify'] = 'Modificar usuari';
+ $lang['title_groups'] = 'Gestió de grups';
+ $lang['title_user_perm'] = 'Modificar permisos per a l\'usuari';
+ $lang['title_cat_perm'] = 'Modificar permisos per a la categoria';
+ $lang['title_group_perm'] = 'Modificar permisos per al grup';
+ $lang['title_picmod'] = 'Modificar informació de la imatge';
+ $lang['menu_groups'] = 'Grups';
+ $lang['menu_comments'] = 'Comentaris';
+ $lang['conf_general_log'] = 'historial';
+ $lang['conf_general_log_info'] = 'Mantenir historial de visites del seu lloc web? Les visites es mostraran a la secció d\'historial del panell d\'administració';
+ $lang['conf_general_mail_notification'] = 'Notificació per correu';
+ $lang['conf_general_mail_notification_info'] = 'Notificació automàtica de correu per als administradors (i només per a ells) quan un usuari afegeixi un comentari o pugi una imatge.';
+ $lang['conf_comments_validation'] = 'validació';
+ $lang['conf_comments_validation_info'] = 'Un administrador valida els comentaris enviats pels usuaris abans de que siguin visibles al lloc web.';
+ $lang['conf_comments_forall'] = 'per a tots?';
+ $lang['conf_comments_forall_info'] = 'Els usuaris no registrats poden enviar comentaris';
+ $lang['conf_default_nb_image_per_row_info'] = 'nombre d\'imatges per fila per defecte';
+ $lang['conf_default_nb_row_per_page_info'] = 'nombre de files per plana per defecte';
+ $lang['conf_default_short_period_info'] = 'Per dies. Període durant el qual una imatge es mostra amb la marca vermella. El període curt ha de ser superior a 1 dia.';
+ $lang['conf_default_long_period_info'] = 'Per dies. Període durant el qual una imatge es mostra amb la marca verda. El període llarg ha de ser superior al període curt.';
+ $lang['conf_default_expand_info'] = 'expandir totes les categories per defecte al menú?';
+ $lang['conf_default_show_nb_comments_info'] = 'mostrar el nombre de comentaris per a cada imatge a la plana de miniatures';
+ $lang['conf_default_maxwidth_info'] = 'Màxima amplada per a la visualització d\'imatges: la imatge tindrà una nova amplada només per a la visualització, els arxius d\'imatge no es canviaran. Deixi-ho buit si no vol posar límit.';
+ $lang['conf_default_maxheight_info'] = 'Només com la màxima amplada, excepte per a l\'alçada';
+ $lang['conf_session_cookie'] = 'autoritzar cookies';
+ $lang['conf_session_cookie_info'] = 'els usuaris no hauran d\'identificar-se a cada visita. Menys segur.';
+ $lang['adduser_associate'] = 'Associar al grup';
+ $lang['group_add'] = 'Afegir un grup';
+ $lang['group_add_error1'] = 'El nom del grup no ha d\'incloure " o \'';
+ $lang['group_add_error2'] = 'El nom ja l\'utilitza un altre grup';
+ $lang['group_confirm'] = 'Està segur de que vol esborrar aquest grup?';
+ $lang['group_list_title'] = 'Llista de grups existents';
+ $lang['group_err_unknown'] = 'Aquest grup no existeix a la base de dades';
+ $lang['cat_permission'] = 'permisos';
+ $lang['cat_update'] = 'actualitzar';
+ $lang['cat_add'] = 'Afegir una categoria virtual';
+ $lang['cat_parent'] = 'categoria pare';
+ $lang['cat_error_name'] = 'El nom de la categoria no ha d\'estar buit';
+ $lang['cat_virtual'] = 'virtual';
+ $lang['cat_first'] = 'Posar primera';
+ $lang['cat_last'] = 'Posar última';
+ $lang['editcat_visible_info'] = '(invisible excepte per als administradors)';
+ $lang['editcat_visible'] = 'Visible';
+ $lang['editcat_uploadable'] = 'Pujar disponible';
+ $lang['infoimage_keyword_separation'] = '(separar amb coma ",")';
+ $lang['infoimage_addtoall'] = 'afegir a totes';
+ $lang['infoimage_removefromall'] = 'esborrar de totes';
+ $lang['infoimage_associate'] = 'Associar a la categoria';
+ $lang['update_wrong_dirname'] = 'El nom dels directoris i dels arxius ha d\'estar compost de lletres, xifres, "-", "_" o "."';
+ $lang['stats_pages_seen'] = 'planes visitades';
+ $lang['stats_visitors'] = 'convidats';
+ $lang['stats_empty'] = 'esborrar historial';
+ $lang['stats_pages_seen_graph_title'] = 'Nombre de planes visitades per dia';
+ $lang['stats_visitors_graph_title'] = 'Nombre de convidats per dia';
+ $lang['comments_last_title'] = 'Darrers comentaris';
+ $lang['comments_non_validated_title'] = 'Comentaris en espera de validació';
+ $lang['help_database'][1] = 'Per a evitar l\'actualització de massa imatges en una actualització simple, li recomanem que comenci actualitzant només les categories, i llavors a la secció de categories del panell d\'administració, actualitzi cada categoria des de l\'enllaç "actualitzar"';
+ $lang['help_upload'][3] = 'La categoria ha de tenir habilitat "pujar" per poder fer-ho.';
+ $lang['help_upload'][4] = 'Les imatges pujades pels usuaris no estan directament visibles al lloc web, han de ser validades per l\'administrador. Per fer-ho, un administrador ha d\'entrar a la plana "en attente" del panell d\'administració, per validar o refusar les imatges proposades, i llavors realitzar una actualització de les dades de les imatges.';
+ $lang['help_virtual_title'] = 'Enllaços entre les imatges i les categories i les categories virtuals';
+ $lang['help_virtual'][0] = 'PhpWebGallery és capaç de diferenciar les categories on les imatges estan guardades i les categories on les imatges es mostren.';
+ $lang['help_virtual'][1] = 'Per defecte, les imatges només es mostren a les seves categories reals: les que es corresponguin als directoris al servidor web.';
+ $lang['help_virtual'][2] = 'Per a enllaçar una imatge a una categoria, només ha de fer l\'associació a la pàgina d\'informació de la imatge o a les informacions de totes les imatges d\'una categoria.';
+ $lang['help_virtual'][3] = 'Utilitzant aquest principi, és possible crear categories virtuals a PhpWebGallery: cap directori real correspon a aquesta categoria. Només ha de crear aquesta categoria a la secció de "categories" del panell d\'administració.';
+ $lang['help_groups_title'] = 'Grups d\'Usuaris';
+ $lang['help_groups'][0] = 'PhpWebGallery pot gestionar grups d\'usuaris. Pot ser molt útil tenir un permís d\'accés comú per a les categories privades.';
+ $lang['help_groups'][1] = '1. Crear el grup "família" a la secció "Grups" del panell d\'administració.';
+ $lang['help_groups'][2] = '2. A la secció d\'"Usuaris", editi un d\'ells i associï\'l al grup "família".';
+ $lang['help_groups'][3] = '3. Modificant els permisos d\'una categoria o grup, veurà que totes les categories accessibles per a un grup són accessibles per als seus membres.';
+ $lang['help_groups'][4] = 'Un usuari pot pertànyer a diversos grups. L\'autorització té més pes que la prohibició: si l\'usuari "pep" pertany al grup "família" i "amics", i només el grup "família" pot veure la categoria "Nadal 2003", "pep" podrà veure "Nadal 2003".';
+ $lang['help_access_title'] = 'Autorització d\'accés';
+ $lang['help_access'][0] = 'PhpWebGallery pot prohibir l\'accés a les categories. Les categories poden ser "públiques" o "privades". Per prohibir l\'accés a una categoria:';
+ $lang['help_access'][1] = '1. Modifiqui les informacions de la categoria (des de la secció de "categories" al panell d\'administració) i faci-la "privada".';
+ $lang['help_access'][2] = '2. A la pàgina de permisos (per a un grup o un usuari) la categoria privada es mostrarà i podrà autoritzar l\'accés o no.';
+ $lang['help_infos'][2] = 'Si té alguna pregunta, no dubti en entrar al fòrum o realitzi una consulta des d\'allà. El <a href="'.$conf['forum_url'].'" style="text-decoration:underline">fòrum</a> (taulell de missatges) està disponible al site de presentació de PhpWebGallery.';
+ $lang['step1_err_copy'] = 'Copiï el text entre parèntesi i enganxi\'l a l\'arxiu "include/mysql.inc.php"(Atenció: mysql.inc.php només ha de contenir el que està en blau, sense cap salt de línia ni espai)';
+ $lang['permuser_only_private'] = 'Només es mostren les categories privades';
+ $lang['waiting_update'] = 'Les imatges validades seran mostrades quan s\'actualitzi la base de dades de les imatges';
+ $lang['conf_upload_available_info'] = 'Autoritzant la pujada d\'imatges pels usuaris a les categories del lloc web (no a un servidor remot). Aquest és un paràmetre general, és necessari autoritzar la pujada categoria per categoria, ja que per defecte no es poden pujar imatges a les categories.';
+ $lang['install_help'] = 'Necessita ajuda? Realitzi la seva consulta al <a href="http://forum.phpwebgallery.net">Taulell de missatges de PhpWebGallery</a>.';
+ $lang['install_warning'] = 'L\'arxiu "admin/install.php" encara està present. Si us plau, elimini\'l del seu servidor. No és segur mantenir-lo.';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+?> \ No newline at end of file
diff --git a/language/deutsch.php b/language/deutsch.php
new file mode 100644
index 000000000..1bfcba4fc
--- /dev/null
+++ b/language/deutsch.php
@@ -0,0 +1,560 @@
+<?php
+/***************************************************************************
+ * deutsch.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * *
+ * $Id$
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * Deutsche Übersetzung von SPriTTeR! *
+ * Firstname : Alexander *
+ * Lastname : Meinecke *
+ * Nick : alex, spritter, Hans ;-) *
+ * e-Mail : spritter@gmx.de *
+ * *
+ ***************************************************************************/
+
+$lang['only_members'] = 'Nur Mitglieder k&ouml;nnen diese Seite betreten';
+$lang['invalid_pwd'] = 'Falsches Passwort!';
+$lang['access_forbiden'] = 'Du bist nicht autorisiert diese Seite zu betreten';
+$lang['submit'] = 'Senden';
+$lang['login'] = 'Login';
+$lang['password'] = 'Passwort';
+$lang['new'] = 'Neu';
+$lang['delete'] = 'L&ouml;schen';
+$lang['category'] = 'Ordner';
+$lang['thumbnail'] = 'Thumbnail';
+$lang['date'] = 'Datum';
+$lang['diapo_default_page_title'] = 'Kein Ordner ausgew&auml;hlt';
+$lang['thumbnails'] = 'Thumbnails';
+$lang['categories'] = 'Ordner';
+$lang['hint_category'] = 'Zeigt Bilder auf unterster Ebene dieses Ordners';
+$lang['total_images'] = 'Gesamt';
+$lang['title_menu'] = 'Men&uuml;';
+$lang['change_login'] = 'Login &auml;ndern';
+$lang['login'] = 'Login';
+$lang['hint_login'] = 'Mit einer Anmeldung ist es m&ouml;glich das Aussehen der Seite anzupassen';
+$lang['logout'] = 'Logout';
+$lang['customize'] = 'Einstellungen';
+$lang['hint_customize'] = 'Layout, Bildgr&ouml;sse, etc. anpassen';
+$lang['hint_search'] = 'Suche nach einem Bild';
+$lang['search'] = 'Suchen';
+$lang['favorite_cat'] = 'Favoriten';
+$lang['favorite_cat_hint'] = 'pers&ouml;nlliche Favoriten ansehen';
+$lang['about'] = '&Uuml;ber';
+$lang['hint_about'] = 'Informationen zu PhpWebGallery...';
+$lang['admin'] = 'Admin';
+$lang['hint_admin'] = 'Nur f6uuml;r Administratoren';
+$lang['no_category'] = 'W&auml;hle links einen Ordner aus.<br />Die Bilder kannst Du dann auch kommentieren...';
+$lang['page_number'] = 'Seite';
+$lang['previous_page'] = 'zur&uuml;ck';
+$lang['next_page'] = 'vor';
+$lang['nb_image_category'] = 'Anzahl Bilder im Ordner';
+$lang['recent_image'] = 'Bilder neuer als';
+$lang['days'] = 'Tage';
+$lang['send_mail'] = 'Anmerkungen? Sende mir eine e-mail';
+$lang['title_send_mail'] = '[PhpWebGallery] Anmerkung zur Seite';
+$lang['sub-cat'] = 'Unterordner';
+$lang['images_available'] = 'Bilder in diesem Ordner';
+$lang['total'] = 'Bilder';
+$lang['upload_picture'] = 'F&uuml;ge ein Bild ein';
+$lang['registration_date'] = 'eingef&uuml;gt am';
+$lang['creation_date'] = 'erstellt am';
+$lang['comment'] = 'Kommentar';
+$lang['author'] = 'Autor';
+$lang['size'] = 'Gr&ouml;sse';
+$lang['filesize'] = 'Dateigr&ouml;sse';
+$lang['file'] = 'Dateiname';
+$lang['generation_time'] = 'Seite erstellt in';
+$lang['favorites'] = 'Favoriten';
+$lang['search_result'] = 'Suchergebnisse';
+$lang['about_page_title'] = '&Uuml;ber PhpWebGallery';
+$lang['about_title'] = '&Uuml;ber...';
+$lang['about_message'] = '<div style="text-align:center;font-weigh:bold;">Informationen zu PhpWebGallery</div>
+<ul>
+ <li>Diese Website basiert auf <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> Version '.$conf['version'].'. PhpWebGallery ist eine einfach zu benutzende online-Bildergallerie.</li>
+ <li>PhpWebGallery ist komplett in PHP erstellt (the elePHPant) und nutzt eine MySQL Datenbank (the SQuirreL).</li>
+ <li>Wenn Du Vorschl&auml;ge oder Anmerkungen hast, besuche bitte die offizielle Website von <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> und das dazugeh&ouml;hrende <a href="'.$conf['forum_url'].'" style="text-decoration:underline">Forum</a>.</li>
+</ul>';
+$lang['about_return'] = 'zur&uuml;ck';
+$lang['ident_page_title'] = 'Anmeldung';
+$lang['ident_title'] = 'Anmeldung';
+$lang['ident_register'] = 'Anmeldung';
+$lang['ident_forgotten_password'] = 'Passwort vergessen?';
+$lang['ident_guest_visit'] = 'Als Besucher anmelden';
+$lang['customize_page_title'] = 'Einstellungen';
+$lang['customize_title'] = 'Einstellungen';
+$lang['customize_nb_image_per_row'] = 'Anzahl Bilder pro Reihe';
+$lang['customize_nb_row_per_page'] = 'Anzahl Bilder pro Seite';
+$lang['customize_language'] = 'Sprache';
+$lang['maxwidth'] = 'maximale Anzeigebreite der Bilder';
+$lang['maxheight'] = 'maximale Anzeigeh&ouml;he der Bilder';
+$lang['err_maxwidth'] = 'maximale Anzeigebreite muss eine Zahl gr&ouml;sser 50 sein';
+$lang['err_maxheight'] = 'maximale Anzeigeh&ouml;he muss eine Zahl gr&ouml;sser 50 sein';
+$lang['previous_image'] = 'zur&uuml;ck';
+$lang['next_image'] = 'vor';
+$lang['back'] = 'Klicke in das Bild um auf die &Uuml;bersicht zur&uuml;ck zu gelangen';
+$lang['info_image_title'] = 'Bildinformation';
+$lang['link_info_image'] = 'Bildinformation &auml;ndern';
+$lang['true_size'] = 'Originalgr&ouml;sse';
+$lang['comments_title'] = 'Kommentare von Besuchern dieser Seite';
+$lang['comments_del'] = 'Kommentar l&ouml;schen';
+$lang['comments_add'] = 'Kommentar hinzuf&uuml;gen';
+$lang['month'][1] = 'Januar';
+$lang['month'][2] = 'Februar';
+$lang['month'][3] = 'M&auml;rz';
+$lang['month'][4] = 'April';
+$lang['month'][5] = 'Mai';
+$lang['month'][6] = 'Juni';
+$lang['month'][7] = 'Juli';
+$lang['month'][8] = 'August';
+$lang['month'][9] = 'September';
+$lang['month'][10] = 'Oktober';
+$lang['month'][11] = 'November';
+$lang['month'][12] = 'Dezember';
+$lang['day'][0] = 'Sonntag';
+$lang['day'][1] = 'Montag';
+$lang['day'][2] = 'Dienstag';
+$lang['day'][3] = 'Mittwoch';
+$lang['day'][4] = 'Donnerstag';
+$lang['day'][5] = 'Freitag';
+$lang['day'][6] = 'Samstag';
+$lang['add_favorites_alt'] = 'in den Favoriten-Ornder legen';
+$lang['add_favorites_hint'] = 'fuuml;ge dieses Bild deinem Favoriten-Ordner hinzu';
+$lang['del_favorites_alt'] = 'aus dem Favoriten-Ordner entfernen';
+$lang['del_favorites_hint'] = 'l&ouml;sche dieses Bild aus deinem Favoriten-Ordner';
+$lang['register_page_title'] = 'Anmeldung';
+$lang['register_title'] = 'Anmeldung';
+$lang['reg_err_login1'] = 'Gib bitte einen Benutzernamen ein';
+$lang['reg_err_login2'] = 'Der Benutzername darf nicht mit einem Leerzeichen enden';
+$lang['reg_err_login3'] = 'Der benutzername darf nicht mir einem Leerzeichen beginnen';
+$lang['reg_err_login4'] = 'Der Benutzername darf die Zeichen " and \' nicht enthalten';
+$lang['reg_err_login5'] = 'Der Benutzername ist schon vorhanden';
+$lang['reg_err_pass'] = 'Bitte Passwort wiederholen';
+$lang['reg_confirm'] = 'best&auml;tigen';
+$lang['reg_err_mail_address'] = 'Die e-mail Adeesse muss die Form xxx@yyy.eee haben (Beispiel : jack@altern.org)';
+$lang['search_title'] = 'Suche';
+$lang['invalid_search'] = 'Die Suche muss aus mindestens 3 Zeichen bestehen';
+$lang['search_field_search'] = 'Suche';
+$lang['search_return_main_page'] = 'Zur&uuml;ck zur Ordner&uuml;bersicht';
+$lang['upload_forbidden'] = 'In diesem Ordner kann man keine Bilder hochladen';
+$lang['upload_file_exists'] = 'Es gibt schon ein Bild mit diesem Namen';
+$lang['upload_filenotfound'] = 'Du musst eine Datei f&uuml;r das Bild ausw&auml;hlen';
+$lang['upload_cannot_upload'] = 'Das Bild kann nicht auf den Server geladen werden';
+$lang['upload_title'] = 'F&uuml;ge ein Bild hinzu';
+$lang['upload_advise'] = 'Suche ein Bild aus, dass du plazieren m&ouml;chtest im Ordner: ';
+$lang['upload_advise_thumbnail'] = 'Optional, aber Empfohlen: W&auml;hle ein Thumbnail ein f&uu;r ';
+$lang['upload_advise_filesize'] = 'Die Datei darf nicht gr&ouml;sser sein als: ';
+$lang['upload_advise_width'] = 'Die Bildbreite darf nicht gr&ouml;sser sein als: ';
+$lang['upload_advise_height'] = 'Die Bildh&ouml;he darf nicht gr&ouml;sser sein als: ';
+$lang['upload_advise_filetype'] = 'Das Bild muss im Format jpg, gif oder png sein';
+$lang['upload_err_username'] = 'Der Benutzername muss angegeben werden';
+$lang['upload_username'] = 'Benutzername';
+$lang['upload_successful'] = 'Das Bild wurde erfolgreich upgeloaded, ein Administrator wird das Bild bald freischalten.';
+// new or modified in release 1.3
+$lang['charset'] = 'iso-8859-1';
+$lang['no'] = 'Nein';
+$lang['yes'] = 'Ja';
+$lang['guest'] = 'Gast';
+$lang['mail_address'] = 'e-Mail';
+$lang['public'] = '&ouml;ffentlich';
+$lang['private'] = 'privat';
+$lang['add'] = 'hinzuf&uuml;gen';
+$lang['dissociate'] = 'trennen';
+$lang['mandatory'] = 'obligatorisch';
+$lang['err_date'] = 'falsches Datum';
+$lang['picture'] = 'Bild';
+$lang['IP'] = 'IP';
+$lang['close'] = 'Schliessen';
+$lang['open'] = '&Ouml;ffnen';
+$lang['keywords'] = 'Keywords';
+$lang['errors_title'] = 'Fehler';
+$lang['infos_title'] = 'Informationen';
+$lang['default'] = 'Default';
+$lang['comments'] = 'Kommentare';
+$lang['category_representative'] = 'Vertreter';
+$lang['stats'] = 'Statistik';
+$lang['most_visited_cat_hint'] = 'zeigt die meist gesehenen Bilder';
+$lang['most_visited_cat'] = 'Most Visited';
+$lang['best_rated_cat_hint'] = 'zeigt die am Besten bewerteten Bilder';
+$lang['best_rated_cat'] = 'Beste Bilder';
+$lang['recent_cat_hint'] = 'zeigt die neuesten Bilder';
+$lang['recent_cat'] = 'Neueste Bilder';
+$lang['recent_cat_title'] = 'Letzte Bilder';
+$lang['visited'] = 'Gesehen';
+$lang['times'] = 'Mal';
+$lang['customize_theme'] = 'Thema &auml;nern';
+$lang['customize_expand'] = 'Alle Ordner aufklappen';
+$lang['customize_show_nb_comments'] = 'Zeige die Anzahl an Kommentaren';
+$lang['customize_short_period'] = 'langer Zeitraum';
+$lang['customize_long_period'] = 'kurzer Zeitraum';
+$lang['customize_template'] = 'Template';
+$lang['err_periods'] = 'Zeitraum in ganzen Zahlen (Integer) eingeben';
+$lang['err_periods_2'] = 'Zeitraum muss gr&ouml;sser 0 sein. Der lange Zeitraum muss gr&ouml;sser als der kurze Zeitraum sein.';
+$lang['create_cookie'] = 'Cookie erzeugen';
+$lang['customize_day'] = 'Tag';
+$lang['customize_week'] = 'Woche';
+$lang['customize_month'] = 'Monat';
+$lang['customize_year'] = 'Jahr';
+$lang['slideshow'] = 'Slideshow';
+$lang['period_seconds'] = 'Sekunden pro Bild';
+$lang['slideshow_stop'] = 'Slideshow anhalten';
+$lang['comment_added'] = 'Dein Kommentar wurde aufgenommen';
+$lang['comment_to_validate'] = 'Ein Administrator muss den Kommentar autorisieren bevor dieser angezeigt wird.';
+$lang['comment_anti-flood'] = 'Anti-flood System: Bitte warte einen Moment bevor Du einen weiteren Kommentar sendest';
+$lang['comment_user_exists'] = 'Dieser Benutzername wird schon von einem anderen User genutzt';
+$lang['invalid_search'] = 'Suchw&ouml;rter m&uuml;ssen l&auml;nger als 3 Zeichen sein und d&uuml;rfen keine Satzzeichen enthalten';
+$lang['search_mode_or'] = 'mindestens ein Wort';
+$lang['search_mode_and'] = 'alle W&ouml;rter';
+$lang['search_comments'] = 'Suchw&ouml;rter mit Leerzeichen trennen';
+$lang['upload_name'] = 'Name des Bildes';
+$lang['upload_author'] = 'Autor (z.B. "Hans Wurst")';
+$lang['upload_creation_date'] = 'Datum der Aufnahme (DD/MM/YYYY)';
+$lang['upload_comment'] = 'Kommentar';
+$lang['mail_hello'] = 'Hi,';
+$lang['mail_new_upload_subject'] = 'Neue Bilder auf der Website';
+$lang['mail_new_upload_content'] = 'Es wurde ein neues Bild in die Bildergallerie eingestellt. Dieses muss validiert werden. Gehe in die Admin-Sektion und schalte das Bild frei oder lehne das Bild ab.';
+$lang['mail_new_comment_subject'] = 'Neuer Kommentar auf der Website';
+$lang['mail_new_comment_content'] = 'Es wurde ein neuer Kommentar in der Bildergallerie eingestellt. Wenn konfiguriert ist, jeden Kommentar zu validieren, dann musst du den Kommentar erst freischalten bevor dieser sichtbar wird.';
+$lang['connected_user'] = 'angemeldeter Benutzer';
+$lang['title_comments'] = 'Kommentare';
+$lang['stats_last_days'] = 'letzte Tage';
+$lang['hint_comments'] = 'sehe die letzten Kommentare von Benutzern an';
+$lang['menu_login'] = 'Login';
+//-------------------------------------------------------------- administration
+if ( $isadmin )
+{
+ $lang['title_liste_users'] = 'Benutzerliste';
+ $lang['title_history'] = 'Zugriffe';
+ $lang['title_update'] = 'Aktualisiere Datenbank';
+ $lang['title_configuration'] = 'Konfiguration';
+ $lang['title_instructions'] = 'Hilfe';
+ $lang['title_categories'] = 'Ordner - Einstellungen';
+ $lang['title_edit_cat'] = 'Ordner bearbeiten';
+ $lang['title_info_images'] = 'Bildinformationen eines Ordners &auml;ndern';
+ $lang['title_thumbnails'] = 'Thumbnail erstellen';
+ $lang['title_thumbnails_2'] = 'f&uuml;r';
+ $lang['title_default'] = 'Administration';
+ $lang['menu_title'] = 'PhpWebGallery - Administration';
+ $lang['menu_config'] = 'Konfiguration';
+ $lang['menu_users'] = 'Benutzer';
+ $lang['menu_add_user'] = 'hinzuf&uuml;gen';
+ $lang['menu_list_user'] = 'auflisten';
+ $lang['menu_categories'] = 'Ordner';
+ $lang['menu_update'] = 'Datenbank aktualisieren';
+ $lang['menu_thumbnails'] = 'Thumbnails';
+ $lang['menu_history'] = 'Zugriffe';
+ $lang['menu_instructions'] = 'Hilfe';
+ $lang['menu_back'] = 'Zur&uuml;ck zu den Ordnern';
+ $lang['title_waiting'] = 'Wartende Bilder';
+ $lang['menu_waiting'] = 'Wartende Bilder';
+ $lang['default_message'] = 'Administration von PhpWebGallery' ;
+ $lang['conf_err_prefixe'] = 'Der Pr&auml;fix der Thumbnails darf keine Akzente enthalten';
+ $lang['conf_err_mail'] = 'Die e-mail Adresse ist fehlerhaft, bitte im Format name@server.com angeben';
+ $lang['conf_err_sid_size'] = 'die L&auml;ge des Session Identifier muss ein ganzzahliger Wert zwischen 4 und 50 sein';
+ $lang['conf_err_sid_time'] = 'die G&uuml;ltigkeitsdauer einer Session muss ein integer Wert zwischen 5 und 60 sein';
+ $lang['conf_err_max_user_listbox'] = 'die Anzahl der maximalen Benutzer, die noch in einer Listbox angezeigt werden, muss ein ganzzahliger Wert zwischen 0 und 255 sein';
+ $lang['conf_confirmation'] = 'Informationen wurden in die Datenbank &uuml;bernommen';
+ $lang['conf_general_title'] = 'Hauptkonfiguration';
+ $lang['conf_general_webmaster'] = 'Webmaster Login';
+ $lang['conf_general_webmaster_info'] = '...wird den Besuchern angezeigt. Wichtig auch f&uuml;r die Administration der Website';
+ $lang['conf_general_mail'] = 'Webmaster e-mail Adresse';
+ $lang['conf_general_mail_info'] = 'Besucher k&ouml;nnen Dich unter dieser e-mail Adresse kontaktieren';
+ $lang['conf_general_prefix'] = 'Thumbnail Pr&auml;fix';
+ $lang['conf_general_prefix_info'] = 'Die Dateien der Thumbnails erhalten diesen Pr&auml;fix. Wenn Du nicht sicher bist, dann lass das so!';
+ $lang['conf_general_access'] = 'Art des Zugangs';
+ $lang['conf_general_access_1'] = 'frei';
+ $lang['conf_general_access_2'] = 'eingeschr&auml;nkt';
+ $lang['conf_general_access_info'] = '- frei: Jeder kann auf die Website zugreifen, jeder kann einen Account anlegen um das Erscheinungsbild der Website anzupassen.<br/>- eingeschr&auml;nkt : Der Webmaster erstellt die Benutzerkontens. Nur angemeldete Benutzer d&uuml;rfen auf die Website zugreifen';
+ $lang['conf_general_max_user_listbox'] = 'maximale Anzahl Benutzer, die in einer Listbox erscheinen';
+ $lang['conf_general_max_user_listbox_info'] = '- das ist die maximale Anzahl der angemeldeten Benutzer, die mittels einer Listbox anstatt einer einfachen Textbox auf der Anmeldeseite angezeigt werden.<br/>- Gib eine Zahl zwischen 0 und 255 ein, 0 bedeuted "immer Listbox" ';
+ $lang['conf_comments'] = 'Benutzerkommentare';
+ $lang['conf_comments_title'] = 'Konfiguration der Benutzerkommentare';
+ $lang['conf_comments_show_comments'] = $lang['conf_comments'];
+ $lang['conf_comments_show_comments_info'] = 'zeige die Kommentare unter jedem Bild an?';
+ $lang['conf_comments_comments_number'] = 'Anzahl der Kommentare pro Seite';
+ $lang['conf_comments_comments_number_info'] = 'Anzahl der Kommentare, die auf einer Seite angezeigt werden. Gib einen Wert zwischen 5 and 50 ein.';
+ $lang['conf_err_comment_number'] = 'Die Anzahl der Benutzerkommentare pro Seite muss zwischen 5 und 50 liegen.';
+ $lang['conf_remote_site_delete_info'] = 'Wird ein remote server entfernt, so werden auch alle Bilder und Ordner, die in Verbindung mit dem Server stehen, gel&oumlr;scht.';
+ $lang['conf_upload_title'] = 'Konfiguration f&uuml;r den Bilder Upload durch Benutzer';
+ $lang['conf_upload_available'] = 'erlaube Upload von Bildern';
+ $lang['conf_upload_maxfilesize'] = 'maximale Dateigr&ouml;sse';
+ $lang['conf_upload_maxfilesize_info'] = 'Maximale Dateigr&ouml;sse die die Bilder haben d&uuml;rfen. Muss eine Zahl zwischen 10 und 1000 KB sein.';
+ $lang['conf_err_upload_maxfilesize'] = 'Die Dateigr&ouml;sse f&uuml;r die Bilder muss zwischen 10 and 1000 KB liegen.';
+ $lang['conf_upload_maxwidth'] = 'maximale Breite';
+ $lang['conf_upload_maxwidth_info'] = 'Maximale Breite die die Bilder haben k&ouml;nnen. Die Breite muss mindestens 10 Pixel betragen';
+ $lang['conf_err_upload_maxwidth'] = 'Die maximale Breite muss mindestens 10 Pixel betragen.';
+ $lang['conf_upload_maxheight'] = 'maximale H&ouml;he';
+ $lang['conf_upload_maxheight_info'] = '"Maximale H&ouml;he die die Bilder haben k&ouml;nnen. Die H&ouml;he muss mindestens 10 Pixel betragen';
+ $lang['conf_err_upload_maxwidth'] = 'Die maximale H&ouml;he muss mindestens 10 Pixel betragen';
+ $lang['conf_upload_maxwidth_thumbnail'] = 'maximale Breite der Thumbnails';
+ $lang['conf_upload_maxwidth_thumbnail_info'] = 'Maximale Breite die die Thumbnails haben k&ouml;nnen. Die Breite muss mindestens 10 Pixel betragen';
+ $lang['conf_err_upload_maxwidth_thumbnail'] = 'Die maximale H&ouml;he muss mindestens 10 Pixel betragen';
+ $lang['conf_upload_maxheight_thumbnail'] = 'maximale H&ouml;he der Thumbnails';
+ $lang['conf_upload_maxheight_thumbnail_info'] = 'Maximale H&ouml;he die die Thumbnails haben k&ouml;nnen. Die H&ouml;he muss mindestens 10 Pixel betragen';
+ $lang['conf_err_upload_maxheight_thumbnail'] = 'Die maximale H&ouml;he muss mindestens 10 Pixel betragen.';
+ $lang['conf_default_title'] = 'Standard Display Einstellungen f&uuml;r nicht registrierte Besucher und neue Accounts';
+ $lang['conf_default_language_info'] = 'Standardeinstellung Sprache';
+ $lang['conf_default_theme_info'] = 'Standard Farbschema';
+ $lang['conf_session_title'] = 'Session-Konfiguration';
+ $lang['conf_session_size'] = 'L&auml;nge des Identifier';
+ $lang['conf_session_size_info'] = '- je l&auml;nger der Identifier, desto sicherer ist Deine Website<br/>- gib\' eine Nummer zwischen 4 und 50 ein';
+ $lang['conf_session_time'] = 'G&uuml;ltigkeitsdauer';
+ $lang['conf_session_time_info'] = '- je k&uuml;rzer die G&uuml;tigkeitsdauer, desto sicherer ist Deine Website<br />- gib\' eine Nummer zwischen 5 und 60 ein (Minuten)';
+ $lang['conf_session_key'] = 'keyword';
+ $lang['conf_session_key_info'] = '- das session keyword verbessert die Verschl&uuml;sselung des Session Identifier<br/>- gib einen beliebigen Satz mit einer maximalen L&auml;nge von 255 Zeichen ein';
+ $lang['conf_session_delete'] = 'l&ouml;sche abgelaufene Sessions';
+ $lang['conf_session_delete_info'] = 'es wird empfohlen die Session-Tabelle in der Datenbank zu l&ouml;schen, da abgelaufene Sessions in der Datenbank verbleiben. (Dies ist aber keine sicherheitsrelevante Option)';
+ $lang['user_err_modify'] = 'Der Benutzer kann nicht ge&auml;ndert oder gel&ouml;scht werden';
+ $lang['user_err_unknown'] = 'Der Benutzer ist nicht in der Datenbank vorhanden';
+ $lang['adduser_info_message'] = 'Informations sind in die Datenbank &uuml;bertragen worden f&uuml;r Benutzer ';
+ $lang['adduser_info_password_updated'] = '(Passwort ge&auml;ndert)';
+ $lang['adduser_info_back'] = 'zur&uuml;ck zur Benutzerliste';
+ $lang['adduser_fill_form'] = 'Bitte mache folgende Angaben';
+ $lang['adduser_unmodify'] = 'nicht &auml;nderbar';
+ $lang['adduser_status'] = 'Status';
+ $lang['adduser_status_admin'] = 'Administrator';
+ $lang['adduser_status_guest'] = 'Gast';
+ $lang['permuser_info_message'] = 'Zugriffsart gesetzt';
+ $lang['permuser_title'] = 'Restriktionen f&uuml;r Benutzer';
+ $lang['permuser_warning'] = 'Warnung: "<span style="font-weight:bold;">verboten</span>" im Root eines Ordners verhindert auch das Aufrufen aller Unterordner';
+ $lang['permuser_authorized'] = 'erlaubt';
+ $lang['permuser_forbidden'] = 'verboten';
+ $lang['permuser_parent_forbidden'] = 'Oberordner verboten';
+ $lang['listuser_confirm'] = 'Soll der User wirklich gel&ouml;scht werden?';
+ $lang['listuser_info_deletion'] = 'wurde aus der Datenbank entfernt';
+ $lang['listuser_user_group'] = 'Benutzergruppe';
+ $lang['listuser_modify'] = '&Auml;ndern';
+ $lang['listuser_modify_hint'] = '&auml;ndere Informationen von';
+ $lang['listuser_permission'] = 'Restriktionen';
+ $lang['listuser_permission_hint'] = '&auml;ndere Restriktionen f&uuml;r';
+ $lang['listuser_delete'] = 'L&ouml;schen';
+ $lang['listuser_delete_hint'] = 'l&ouml;sche Benutzer';
+ $lang['listuser_button_all'] = 'alle';
+ $lang['listuser_button_invert'] = 'umkehren';
+ $lang['listuser_button_create_address'] = 'erstelle e-mail Addresse';
+ $lang['cat_invisible'] = 'nicht sichtbar';
+ $lang['cat_edit'] = 'Bearbeiten';
+ $lang['cat_up'] = 'hoch';
+ $lang['cat_down'] = 'runter';
+ $lang['cat_image_info'] = 'Bilder-Info';
+ $lang['cat_total'] = 'gesamt';
+ $lang['editcat_confirm'] = 'Informationen in der Datenbank gespeichert';
+ $lang['editcat_back'] = 'Ordner';
+ $lang['editcat_title1'] = 'Optionen f&uuml;r';
+ $lang['editcat_name'] = 'Name';
+ $lang['editcat_comment'] = 'Kommentar';
+ $lang['editcat_status'] = 'Status';
+ $lang['infoimage_general'] = 'Globale Optionen f&uuml;r den Ordner';
+ $lang['infoimage_useforall'] = 'auf alle Bilder anwenden?';
+ $lang['infoimage_creation_date'] = 'Erstellungs-Datum';
+ $lang['infoimage_detailed'] = 'Optionen f&uuml;r jedes Bild';
+ $lang['infoimage_title'] = 'Title';
+ $lang['infoimage_comment'] = 'Kommentar';
+ $lang['update_missing_tn'] = 'ein Thumbnail fehlt bei';
+ $lang['update_disappeared_tn'] = 'das Thumbnail wurde entfernt';
+ $lang['update_disappeared'] = 'exisitiert nicht';
+ $lang['update_part_deletion'] = 'Entferne Bilder, f&uuml;r die kein Thumbnail oder keine Bilddatei vorhanden ist';
+ $lang['update_deletion_conclusion'] = 'Bilder aus der Datenbank entfernt';
+ $lang['update_part_research'] = 'Suche nach neuen Bildern in den Verzeichnissen';
+ $lang['update_research_added'] = 'hinzugef&uuml;gt';
+ $lang['update_research_tn_ext'] = 'Thumbnail in';
+ $lang['update_research_conclusion'] = 'Bilder wurden der Datenbank hinzugef&uuml;gt';
+ $lang['update_default_title'] = 'W&auml;hle eine Option';
+ $lang['update_only_cat'] = 'Update der Ordner, ohne Bilder';
+ $lang['update_all'] = 'Update alles';
+ $lang['tn_width'] = 'Breite';
+ $lang['tn_height'] = 'H&ouml;he';
+ $lang['tn_no_support'] = 'Bild nicht vorhanden, oder das Format wird nicht unterst&uuml;tzt';
+ $lang['tn_format'] = 'f&uuml;r das Dateiformat';
+ $lang['tn_thisformat'] = 'f&uuml;r dieses Dateiformat';
+ $lang['tn_err_width'] = 'Breite muss eine Zahl gr&ouml;sser sein als';
+ $lang['tn_err_height'] = 'H&ouml;he mzss eine Zahl gr&ouml;sser sein als';
+ $lang['tn_results_title'] = 'Ergebnisse der Thumbnail-Erstellung';
+ $lang['tn_picture'] = 'Bilder';
+ $lang['tn_results_gen_time'] = 'berechnet in';
+ $lang['tn_stats'] = 'Generelle Statistik';
+ $lang['tn_stats_nb'] = 'Anzahl erstellter Thumbnails';
+ $lang['tn_stats_total'] = 'Gesamtzeit';
+ $lang['tn_stats_max'] = 'l&auml;ngste Zeit';
+ $lang['tn_stats_min'] = 'k&uuml;rzeste Zeit';
+ $lang['tn_stats_mean'] = 'Durchschnittszeit';
+ $lang['tn_err'] = 'Du hast Fehler gemacht';
+ $lang['tn_params_title'] = 'Thumbnail Parameter';
+ $lang['tn_params_GD'] = 'GD Version';
+ $lang['tn_params_GD_info'] = '- GD ist die Bibliothek f&uuml;r PHP zum manipulieren von Bildern<br />- w&auml;hle die Version, die auf Deinem Server installiert ist. Wenn Du die falsche Version ausw&auml;hlst wirst du lediglich Fehlermeldungen sehen. In diesem Fall w&auml;hlst Du beim n&auml;chsten Mal die andere Version aus. Funktioniert gar keine Version, so wird GD auf Deinem Server nicht unterst&uuml;tzt.';
+ $lang['tn_params_width_info'] = 'maximale Breite die ein Thumbnail haben soll';
+ $lang['tn_params_height_info'] = 'maximale H&ouml;he die ein Thumbnail haben soll';
+ $lang['tn_params_create'] = 'erstellen';
+ $lang['tn_params_create_info'] = 'Versuche nicht zu viele Bilder gleichzeitig zu verarbeiten.<br />Das Verkleinern der Bilder kostet eine Menge Rechenzeit. Wenn Du PhpWebGallery bei einem freien Provider installiert hast, k&ouml;nnte eventuell Dein account gel&ouml;scht werden, wenn Du &uuml;berm&auml;ssig viel Leistung beanspruchst.';
+ $lang['tn_params_format'] = 'Dateiformat';
+ $lang['tn_params_format_info'] = 'F&uuml;r die Thumbnails wird nur das jpeg Dateiformat unterst&uuml;tzt.';
+ $lang['tn_alone_title'] = 'Bilder ohne Thumbnail (nur jpeg und png)';
+ $lang['tn_dirs_title'] = 'Ordnerliste';
+ $lang['tn_dirs_alone'] = 'Bilder ohne Thumbnail';
+ $lang['help_images_title'] = 'Hinzuf&uuml;gen von Bildern';
+ $lang['help_images_intro'] = 'So m&uuml;ssen Bilder in den Verzeichnissen abgelegt werden';
+ $lang['help_images'][0] = 'Erstelle im Verzeichnis "galleries" Unterverzeichnisse. Diese repr&auml;sentieren Deine Bilderordner';
+ $lang['help_images'][1] = 'In jedem Verzeichnis kannst Du beliebig viele Ebenen an Unterordnern anlegen.';
+ $lang['help_images'][2] = 'In jeden Ordner kannst Du beliebig viele Unterordner erstellen.';
+ $lang['help_images'][3] = 'Bilddateien m&uuml;ssen eines der folgenden Formate haben: jpeg (Erweiterung jpg oder JPG), gif (Erweiterung gif or GIF) oder png (Erweiterung png or PNG).';
+ $lang['help_images'][4] = 'Es d&uuml;rfen keine Leerstellen " " in den Dateinamen verwendet werden. Besser ist der Unterstrich "_", da dieser von PhpWebGallery gesondert behandelt wird und so bessere Ergebnisse erzielt.';
+ $lang['help_thumbnails_title'] = 'Thumbnails';
+ $lang['help_thumbnails'][0] = 'In jeden Verzeichnis das Bilder enth&auml;lt, existiert ein Unterverzeichnis "thumbnail". Falls nicht, erstelle eines und setze die Thumbnails dort hinein.';
+ $lang['help_thumbnails'][1] = 'Thumbnails m&uuml;ssen nicht die gleiche Dateiendung haben wie das dazugeh&ouml;rige Bild. (zum Beispiel kann ein Bild mit .jpg Endung ein Thumbnail mit einer .GIF Endung haben).';
+ $lang['help_thumbnails'][2] = 'Das Thumbnail eines Bildes muss den gleichen Prefix haben wie auf der Konfigurationsseite angegeben wurde (image.jpg -> TN_image.GIF).';
+ $lang['help_thumbnails'][3] = 'F&uuml;r die Erstellung der Thumbnails rate ich Dir das Modul f&uuml;r Windows zu nutzen. Dieses gibt es zum Download auf der Pr&auml;sentationsseite von PhpWebGallery.';
+ $lang['help_thumbnails'][4] = 'Du kannst Thumbnails auch mit der in PhpWebGallery integrierten Funktion erstellen. Allerdings rate ich davon ab, da die Qualit&auml;t der Thumbnails nicht gut ist und eine hohe CPU Belastung verursacht.';
+ $lang['help_thumbnails'][5] = 'Falls Du Deinen Provider-Account dazu nutzt die Thumbnails zu erstellen, musst Du entsprechende Rechte auf das Verzeichnis "galleries" und dessen Unterverzeichnisse geben (777).';
+ $lang['help_database_title'] = 'Datenbank aktualisieren';
+ $lang['help_database'][0] = 'Sind die Bilder und Thumbnails korrekt in den Verzeichnissen plaziert, dann klicke auf "Datenbank aktualisieren" im Administrations-Men&uuml;.';
+ $lang['help_infos_title'] = 'zus&auml;tzliche Informationen';
+ $lang['help_infos'][1] = 'Sobald Du die Site zum Laufen gebracht hast solltest Du die Einstellungen f&uuml;r den Benutzer "Gast" vornehmen. Jeder neu registrierte Benutzer &uuml;bernimmt vom Benutzer "Gast" zun&auml;chst die Einstellungen.';
+ $lang['help_remote_title'] = 'Remote Site';
+ $lang['help_remote'][0] = 'PhpWebGallery bietet die M&ouml;glichkeit mehrere Server zur Ablage der Bilder zu nutzen. Dies kann sehr n&uuml;tzlich sein, wenn Deine Galerie bei einem Provider l&auml;ft, der zu wenig Platz f&uuml;r alle Deine Bilder bietet. Lies Dir dazu bitte folgende Anleitung durch: ';
+ $lang['help_remote'][1] = '1. editiere die Datei "create_listing_file.php" (diese findest Du im Verzeichnis "admin"), und &auml;ndere die Zeile in "$prefixe_thumbnail = "TN-";" falls Dein f&uuml;r die Thumbnails gew&auml;hlter Pr&auml;fix noch nicht "TN-" ist.';
+ $lang['help_remote'][2] = '2. kopiere die ge&auml;nderte Datei "create_listing_file.php" ins Root Deines Bilderverzeichnisses (wie das Verzeichnis "galleries" dieser Website) per FTP';
+ $lang['help_remote'][3] = '3. starte ein Skript, indem Du folgende Adresse aufrufst: http://entfernteDomain/repGalerie/create_listing_file.php. Die Datei "listing.xml" wird dann erstellt.';
+ $lang['help_remote'][4] = '4. hole die Datei "listing.xml" von der entfernten Website zur&uuml;ck, und kopiere diese in das Verzeichnis "admin" dieser Website.';
+ $lang['help_remote'][5] = '5. please , launch an update of the data of images by the interface of administration, once the listing.xml used file, kill it from the directory "admin".';
+ $lang['help_remote'][6] = 'Die Inhalte einer entfernt liegenden Website kannst Du updaten, indem Du die eben beschriebenen Schritte wiederholst. Du kannst eine entfernt liegende Website auch entfernen indem Du die entsprechende Option im Administrationsmen&uuml; (Punkt Konfiguration) ausw&auml;hlst.';
+ $lang['help_upload_title'] = 'Bilder Upload f&uuml;r Benutzer';
+ $lang['help_upload'][0] = 'PhpWebGallery bietet Benutzern die M&ouml;glichkeit Bilder in einem Ordner hinzuzuf&uuml;gen. Und so funktioniert das:';
+ $lang['help_upload'][1] = '1. aktiviere die entsprechende Option im Administrationsmen&uuml;';
+ $lang['help_upload'][2] = '2. setze entsprechende Schreibrechte auf die Verzeichnisse zu denen Bilder hinzugef&uuml;gt werden.';
+ $lang['help_upload'][3] = 'Hochgeladene Bilder sind nicht direkt auf der Website sichtbar, da sie erst durch einen Administrator validiert werden m&uuml;ssen. Daf&uuml;r w&auml;hlt der Administrator "Bilder-Uploads" aus dem Administrationsmen&uuml; aus und entscheidet dann, ob das Bild eingestellt oder verworfen wird. Danach m&uuml;ssen die Bilddaten auf der Datenbank aktualisiert werden.';
+ $lang['install_message'] = 'Nachricht';
+ $lang['step1_confirmation'] = 'Parameter sind richtig';
+ $lang['step1_err_db'] = 'Verbindung zum Server klappte, aber die Datenbank konnte nicht konnektiert werden.';
+ $lang['step1_err_server'] = 'Server nicht erreichbar.';
+ $lang['step1_err_copy_2'] = 'Der n&auml;chste Installationschritt kann nun durchgef&uuml;hrt werden.';
+ $lang['step1_err_copy_next'] = 'n&auml;chster Schritt';
+ $lang['step1_title'] = 'Schritt 1/2';
+ $lang['step1_host'] = 'MySQL Host';
+ $lang['step1_host_info'] = 'localhost, sql.multimania.com, toto.freesurf.fr';
+ $lang['step1_user'] = 'Benutzer';
+ $lang['step1_user_info'] = 'Benutzername bei Deinem Provider';
+ $lang['step1_pass'] = 'Passwort';
+ $lang['step1_pass_info'] = 'Benutzerpasswort bei Deinem Provider';
+ $lang['step1_database'] = 'Name der Datenbank';
+ $lang['step1_database_info'] = 'auch von Deinem Provider';
+ $lang['step1_prefix'] = 'Datenbank Tabellen-Pr&auml;fix';
+ $lang['step1_prefix_info'] = 'die Tabellennamen werden mit dem Pr&auml;fix beginnen (das schafft mehr &Uuml;bersicht in Deiner Datenbank)';
+ $lang['step2_err_login1'] = 'erstelle einen Login f&uuml;r den Webmaster';
+ $lang['step2_err_login3'] = 'der Login darf keine \' oder " Zeichen enthalten.';
+ $lang['step2_err_pass'] = 'bitte wiederhole Dein Passwort';
+ $lang['step2_err_mail'] = $lang['conf_err_mail'];
+ $lang['install_end_title'] = 'Installation beendet';
+ $lang['install_end_message'] = 'Die Konfiguration von PhpWebGallery ist beendet, hier der n&auml;chste Schritt<br /><br /><br />
+Aus Gr&uuml;nden der Sicherheit solltest Du die Datei "install.php" im Verzeichnis "admin" l&ouml;schen<br />
+ Sobald diese gel&ouml;scht ist, geht es so weiter:
+<ul>
+ <li>gehe auf die Anmeldeseite: [ <a href="../identification.php">Anmeldung</a> ] und benutze dort das Login/Passwort Paar, das Du zuvor f&uuml;r den Webmaster vergeben hast</li>
+ <li>Mit diesem Login kannst Du das [ <a href="admin.php">Administrations-Men&uuml;</a> ] aufrufen und den dortigen Anweisungen folgen um Bilder einzustellen</li>
+</ul>';
+ $lang['step2_title'] = 'Schritt 2/2';
+ $lang['step2_pwd'] = 'Webmaster Password';
+ $lang['step2_pwd_info'] = 'Halte es vertraulich! Es ist der Zugang zum Administrations-Men&uuml;';
+ $lang['step2_pwd_conf'] = 'best&auml;tige Passwort';
+ $lang['step2_pwd_conf_info'] = 'Best&auml;tigung';
+ // new or modified in release 1.3
+ $lang['remote_site'] = 'Remote Site';
+ $lang['title_add'] = 'Benutzer hinzuf&uuml;gen/&auml;ndern';
+ $lang['title_modify'] = 'Benutzer bearbeiten';
+ $lang['title_groups'] = 'Benutzergruppen bearbeiten';
+ $lang['title_user_perm'] = 'Benutzerrechte bearbeiten';
+ $lang['title_cat_perm'] = 'Zugriffsrechte auf einen Ordner &auml;ndern';
+ $lang['title_group_perm'] = 'Gruppenrechte bearbeiten';
+ $lang['title_picmod'] = 'Bildinformationen bearbeiten';
+ $lang['menu_groups'] = 'Gruppen';
+ $lang['menu_comments'] = 'Kommentare';
+ $lang['conf_general_log'] = 'History';
+ $lang['conf_general_log_info'] = 'Sollen die Besuche Deiner Seite gelogged werden? Zugriffe werden in der History in der Admin Sektion angezeigt';
+ $lang['conf_general_mail_notification'] = 'Mail Benachrichtigung';
+ $lang['conf_general_mail_notification_info'] = 'Automatische Mail Benachrichtigung f&uuml;r Administratoren (nur f&uuml;r diese) wenn ein Benutzer einen Kommentar oder ein Bild hinzugef&uuml;gt hat.';
+ $lang['conf_comments_validation'] = 'Pr&uuml;fung';
+ $lang['conf_comments_validation_info'] = 'Ein Administrator muss jeden Kommentar zun&auml;chst freischalten bevor dieser angezeigt wird.';
+ $lang['conf_comments_forall'] = 'Alle?';
+ $lang['conf_comments_forall_info'] = 'Auch nicht registrierte Benutzer d&uuml;rfen Kommentare eingeben.';
+ $lang['conf_default_nb_image_per_row_info'] = 'Standardvorgabe Anzahl Bilder pro Reihe';
+ $lang['conf_default_nb_row_per_page_info'] = 'Standardvorgabe Anzahl Reihen pro Seite';
+ $lang['conf_default_short_period_info'] = 'In Tagen. Zeitraum, in dem ein Bild mit einem roten Punkt markiert wird. Der kurze Zeitraum muss grösser als 1 Tag sein.';
+ $lang['conf_default_long_period_info'] = 'In Tagen. Zeitraum, in dem ein Bild mit einem grünen Punkt markiert wird. Der lange Zeitraum muss grösser als der kurze Zeitraum sein.';
+ $lang['conf_default_expand_info'] = 'Alle Ordner im Men&uuml; aufgeklappt anzeigen?';
+ $lang['conf_default_show_nb_comments_info'] = 'Zeige die Anzahl der Kommentare f&uuml;r jedes Bild in der Ordner&uuml;bersicht?';
+ $lang['conf_default_maxwidth_info'] = 'Maximale Breite in der die Bilder angezeigt werden. (Das Bild wird nicht ge&auml;ndert). Lass das Feld leer, um keine Vorgabe zu machen.';
+ $lang['conf_default_maxheight_info'] = 'Genau wie die Einstellung zur Anzeigebreite der Bilder.';
+ $lang['conf_session_cookie'] = 'Cookies erlauben?';
+ $lang['conf_session_cookie_info'] = 'Benutzer m&uuml;ssen sich nicht jedes Mal neu anmelden. Geringere Sicherheit.';
+ $lang['adduser_associate'] = 'F&uuml;ge ein in Gruppe';
+ $lang['group_add'] = 'Neue Gruppe erstellen';
+ $lang['group_add_error1'] = 'Der Name der Gruppe darf kein " oder \' enthalten';
+ $lang['group_add_error2'] = 'Dieser Gruppenname ist schon vorhanden';
+ $lang['group_confirm'] = 'Soll diese Gruppe wirklich gel&ouml;scht werden?';
+ $lang['group_list_title'] = 'Liste aller vorhandenen Gruppen';
+ $lang['group_err_unknown'] = 'Diese Gruppe ist nicht in der Datenbank vorhanden';
+ $lang['cat_permission'] = 'Restriktionen';
+ $lang['cat_update'] = 'Update';
+ $lang['cat_add'] = 'Erstelle einen virtuellen Ordner';
+ $lang['cat_parent'] = 'Basis-Ordner';
+ $lang['cat_error_name'] = 'Es muss ein Name f&uuml;r den Ordner angegeben werden';
+ $lang['cat_virtual'] = 'Virtuell';
+ $lang['cat_first'] = 'an erste Stelle';
+ $lang['cat_last'] = 'an letzte Stelle';
+ $lang['editcat_visible_info'] = '(nicht sichtbar f&uuml;r alle ausser Administratoren)';
+ $lang['editcat_visible'] = 'Sichtbar';
+ $lang['editcat_uploadable'] = 'Upload m&ouml;glich';
+ $lang['infoimage_keyword_separation'] = '(trenne mit Komma ",")';
+ $lang['infoimage_addtoall'] = 'jedem Bild hinzuf&uuml;gen';
+ $lang['infoimage_removefromall'] = 'bei jedem Bild l&ouml;schen';
+ $lang['infoimage_associate'] = 'F&uuml;ge ein in den Ordner';
+ $lang['update_wrong_dirname'] = 'Die Verzeichnisnamen und die Dateinamen m&uuml;ssen aus Buchstaben, "-", "_" or "." bestehen. Leerzeichen sind nicht erlaubt.';
+ $lang['stats_pages_seen'] = 'aufgerufene Seiten';
+ $lang['stats_visitors'] = 'Gast';
+ $lang['stats_empty'] = 'leere History';
+ $lang['stats_pages_seen_graph_title'] = 'Anzahl Seitenaufrufe pro Tag';
+ $lang['stats_visitors_graph_title'] = 'Anzahl G&auml;ste pro Tag';
+ $lang['comments_last_title'] = 'neue Kommentare';
+ $lang['comments_non_validated_title'] = 'zu pr&uuml;fende Kommentare';
+ $lang['help_database'][1] = 'Um zu verhindern, dass zu viele Bilder in einem einzigen Updatevorgang aktualisiert werden empfiehlt es sich, zun&auml;chst nur die Ordner zu aktualisieren. Danach kann man im Administrations-Men&uuml; jeden Unter-Ordner einzeln mit der Funktion "Update" aktualisieren.';
+ $lang['help_upload'][3] = 'Der Ordner muss ebenfalls f&uuml;r die Upload-Funktionalit&auml;t freigeschaltet sein.';
+ $lang['help_upload'][4] = 'Bilder, die von Benutzern hochgeladen werden, sind nicht direkt auf der Website sichtbar. Ein Administrator muss diese erst pr&uuml;fen und dann freischalten. Dazu geht ein Administrator auf "Wartende Bilder" im Administrations-Men&uuml;, gibt das Bild frei und f&uuml;hrt ein Update f&uuml;r die Bilddaten durch.';
+ $lang['help_virtual_title'] = 'Links zwischen Bildern, Bilderordnern und virtuellen Bilderordnern';
+ $lang['help_virtual'][0] = 'PhpWebGallery kann zwischen dem realen Bilderordner (in dem die Bilder liegen) und virtuellen Bilderordnern (in denen die Bilder angezeigt werden) unterscheiden.';
+ $lang['help_virtual'][1] = 'Normalerweise werden die Bilder in ihren urspr&uuml;nglichen Ordnern angezeigt, n&auml;mlich in denen, die der Verzeichnisstruktur auf dem Webserver entsprechen.';
+ $lang['help_virtual'][2] = 'Um ein Bild mit einem Ordner zu verlinken, wird auf der Seite Bildinformationen ein Haken vor die entsprechenden Bilder gesetzt, die mit einem Ordner verlinkt werden sollen.';
+ $lang['help_virtual'][3] = 'Nach diesem Prinzip ist es m&ouml;glich, virtuelle Ordner in PhpWebGallery zu erstellen. Gehe dazu ins Administrations-Men&uuml; und w&auml;hle die Sektion "Ordner" aus.';
+ $lang['help_groups_title'] = 'Benutzergruppen';
+ $lang['help_groups'][0] = 'PhpWebGallery kann Benutzer in verschiedenen Gruppen zusammenfassen. Das ist sehr hilfreich, um schnell und einfach die Zugriffsrechte f&uuml;r mehrere gleichartige Benutzer einzustellen.';
+ $lang['help_groups'][1] = '1. Erstelle im Men&uuml;punkt "Gruppen" die Gruppe "Family".';
+ $lang['help_groups'][2] = '2. Unter dem Men&uuml;punkt "Benutzer" kann man Benutzer dann der Gruppe "Family" zuweisen.';
+ $lang['help_groups'][3] = '3. Beim Bearbeiten der Zugriffsrechte eines Ordners oder einer Benutzergruppe wird ersichtlich, dass alle Zugriffsrehte f&uuml;r die Benutzergruppe automatisch auch f&uuml;r die Mitglieder dieser Gruppe gelten.';
+ $lang['help_groups'][4] = 'Ein Benutzer kann mehreren Benutzergruppen angeh&ouml;ren. Darf eine dieser Gruppen einen Ordner ansehen, so sind die Verbote der anderen Gruppen unwirksam: Falls der Benutzer "Jack" den Gruppen "Family" und "Friends" angeh&ouml;rt, und nur die Gruppe "Family" den Ordner "Weihnachten 2003" betrachten darf, so kann "Jack" den Ordner "Weihnachten 2003" betrachten.';
+ $lang['help_access_title'] = 'Zugriffssteuerung';
+ $lang['help_access'][0] = 'PhpWebGallery kann den Zugriff auf verschiedene Ordner verbieten. Ordner k&ouml;nnen "&ouml;ffentlich" oder "privat" sein. Um den Zugriff auf einen Ordner zu verbieten, muss folgendes getan werden:';
+ $lang['help_access'][1] = '1. Stelle den Ordner auf "privat" (Unter "Ordner" im Administrations-Men&uuml;).';
+ $lang['help_access'][2] = '2. Unter dem Punkt "Gruppen" oder "Benutzer" werden die privaten Ordner angezeigt. Dort kann man den Zugriff nun erlauben oder verbieten.';
+ $lang['help_infos'][2] = 'Falls noch Fragen bleiben, besuche einmal das Forum und stelle die Fragen dort. Das <a href="'.$conf['forum_url'].'" style="text-decoration:underline">Forum</a> (Message Board) ist auf der Website von PhpWebGallery zu finden.';
+ $lang['step1_err_copy'] = 'Kopiere den Text zwischen den Trennstrichen und f&uuml;ge diesen in die Datei "include/mysql.inc.php" ein (Warnung: mysql.inc.php darf NUR den blau markierten Text enthalten. Steuerzeichen und Leerzeichen d&uuml;rfen nicht darin auftauchen!';
+ $lang['permuser_only_private'] = 'Nur private Ordner werden angezeigt.';
+ $lang['waiting_update'] = 'Freigegebene Bilder k&ouml;nnen erst nach einem Update der Datenbank angezeigt werden';
+ $lang['conf_upload_available_info'] = 'Gestatte den Bild-Upload f&uuml;r die Benutzer auf der &Uuml;bersichtsseite eines Ordners. (nicht m&ouml;glich bei einem Remote Server) Diese Einstellung ist notwendig, da standardm&auml;ssig in jedem Ordner diese Funktion deaktiviert ist.';
+ $lang['install_help'] = 'Brauchst Du Hilfe? Stelle deine Frage im <a href="http://forum.phpwebgallery.net">PhpWebGallery Message Board</a>.';
+ $lang['install_warning'] = 'Die Datei "admin/install.php" ist noch auf dem Server vorhanden. Bitte l&ouml;sche diese Datei, da ein weiterer Aufruf eine neue Installation ausl&ouml;st.';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+?>
diff --git a/language/english.php b/language/english.php
index 8f779f734..03c506a5a 100644
--- a/language/english.php
+++ b/language/english.php
@@ -155,7 +155,7 @@ $lang['upload_err_username'] = 'the username must be given';
$lang['upload_username'] = 'Username';
$lang['upload_successful'] = 'Picture uploaded with success, an administrator will validate it as soon as possible';
// new or modified in release 1.3
-$lang['charset'] = 'ISO_8859-1';
+$lang['charset'] = 'iso-8859-1';
$lang['no'] = 'no';
$lang['yes'] = 'yes';
$lang['guest'] = 'guest';
@@ -535,6 +535,10 @@ if ( $isadmin )
$lang['waiting_update'] = 'Validated pictures will be displayed only once pictures database updated';
$lang['conf_upload_available_info'] = 'Authorizing the upload of pictures by users on the categories of the website (not on a remote server). This is general parameter, it is needed to authorize upload category by category, by default, no category is "uploadable".';
$lang['install_help'] = 'Need help ? Ask your question on <a href="http://forum.phpwebgallery.net">PhpWebGallery message board</a>.';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+
// new or modified in release 1.4
$lang['install_end_message'] = 'The configuration of PhpWebGallery is finished, here is the next step<br /><br />
For security reason, please delete file "install.php"<br />
@@ -544,5 +548,5 @@ Once this file deleted , follow this instructions :
<li>this login will enable you to access to the administration panel and to the instructions in order to place pictures in your directories</li>
</ul>';
$lang['install_warning'] = 'The file "install.php" is still present. Please remove it from your server. It is not secure to keep it.';
-}
+
?> \ No newline at end of file
diff --git a/language/francais.php b/language/francais.php
index 08926df33..342695618 100644
--- a/language/francais.php
+++ b/language/francais.php
@@ -2,7 +2,7 @@
/***************************************************************************
* francais.php *
* ------------------- *
- * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * application : PhpWebGallery 1.4 <http://phpwebgallery.net> *
* author : Pierrick LE GALL <pierrick@z0rglub.com> *
* *
* $Id$
@@ -147,7 +147,7 @@ $lang['upload_err_username'] = 'le nom de l\'utilisateur doit être renseigné';
$lang['upload_username'] = 'Nom d\'utilisateur';
$lang['upload_successful'] = 'Image uploadée avec succès, un administrateur validera celle-ci dès que possible.';
// new or modified in release 1.3
-$lang['charset'] = 'ISO_8859-1';
+$lang['charset'] = 'iso-8859-1';
$lang['no'] = 'non';
$lang['yes'] = 'oui';
$lang['guest'] = 'visiteur';
@@ -215,6 +215,7 @@ $lang['mail_new_upload_subject'] = 'Nouvelle image sur le site';
$lang['mail_new_upload_content'] = 'Une nouvelle image a été placée sur la galerie. Elle est en attente de validation. RDV dans la section d\'administration pour valider ou supprimer cette image.';
$lang['mail_new_comment_subject'] = 'Nouveau commentaire sur le site';
$lang['mail_new_comment_content'] = 'Un nouveau commentaire a été posté sur la galerie. Si vous avez activé la validation des commentaires, il faut d\'abord valider le commentaire dans la zone d\'administration pour le voir apparaître.'."\n\n".'Vous avez accès aux derniers commentaires dans la zone d\'administration.';
+if (isset($conf))
$lang['about_message'] = '<div style="text-align:center;font-weigh:bold;">Informations sur le PhpWebGallery</div>
<ul>
<li>Ce site utilise la version '.$conf['version'].' de <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a>. PhpWebGallery est une application web permettant de créer simplement une galerie d\'images en ligne.</li>
@@ -531,18 +532,25 @@ if ( $isadmin )
$lang['help_access'][1] = '1. Editez la catégorie (depuis la page des catégories dans la zone d\'administration) et rendez la "privée".';
$lang['help_access'][2] = '2. Sur les pages des permissions (d\'un groupe, d\'utilisateur) la catégorie apparaîtra et vous pourrez autoriser l\'accès ou non.';
$lang['help_infos'][2] = 'Pour n\'importe quelle question, n\'hésitez pas à consulter le forum ou à y poser une question, sur le site';
+if (isset($conf))
$lang['help_infos'][2] = 'Pour n\'importe quelle question, n\'hésitez pas à consulter le <a href="'.$conf['forum_url'].'" style="text-decoration:underline">forum</a> ou à y poser une question, sur le site';
$lang['step1_err_copy'] = 'Copiez le texte en bleu entre les tirets et collez-le dans le fichier mysql.inc.php qui se trouve dans le répertoire "include" à la base de l\'endroit où vous avez installé PhpWebGallery (le fichier mysql.inc.php ne doit comporter QUE ce qui est en bleu entre les tirets, aucun retour à la ligne ou espace n\'est autorisé)';
$lang['conf_upload_available_info'] = 'Autoriser l\'ajout d\'image par les utilisateurs dans les catégories du site (pas sur un site distant). Ceci est un paramètre général, il est nécessaire pour autoriser l\'upload catégorie par catégorie.';
$lang['install_help'] = 'Besoin d\'aide ? Posez votre question sur le <a href="http://forum.phpwebgallery.net">forum de PhpWebGallery</a>.';
- // new or modified in release 1.4
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'Cette catégorie n\'existe pas dans la base de données';
+ }
+
+
+// new or modified in release 1.4
$lang['install_end_message'] = 'La configuration de l\'application s\'est correctement déroulée, place à la prochaine étape<br /><br />
Par mesure de sécurité, merci de supprimer le fichier "install.php"<br />
Un fois ce fichier supprimé, veuillez suivre ces indications :
<ul>
- <li>allez sur la page d\'identification : [ <a href="../identification.php">identification</a> ] et connectez-vous avec le pseudo donné pour le webmaster</li>
+ <li>allez sur la page d\'identification : [ <a href="./identification.php">identification</a> ] et connectez-vous avec le pseudo donné pour le webmaster</li>
<li>celui-ci vous permet d\'accéder à la partie administration et aux instructions pour placer les images dans les répertoires.</li>
</ul>';
$lang['install_warning'] = 'Le fichier "install.php" est encore présent sur votre serveur. Merci de le supprimer. Il pourrait être utilisé par un tiers à des fins malveillantes.';
-}
+
+
?> \ No newline at end of file
diff --git a/language/japanese.php b/language/japanese.php
new file mode 100644
index 000000000..590cff4b3
--- /dev/null
+++ b/language/japanese.php
@@ -0,0 +1,555 @@
+<?php
+/***************************************************************************
+ * japanese.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * *
+ * $Id$ *
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+* Japanese version by Mitsuhiro Yoshida, http://mitstek.com/ *
+* All files are written in shift_jis. *
+* Any suggestion for Japanese version, feel free to contact me. *
+***************************************************************************/
+
+$lang['only_members'] = "‚±‚̃y[ƒW‚ɂ̓ƒ“ƒo[‚Ì‚Ý‚ªƒAƒNƒZƒX‚Å‚«‚Ü‚·";
+$lang['invalid_pwd'] = "ƒpƒXƒ[ƒh‚ªˆá‚¢‚Ü‚·!";
+$lang['access_forbiden'] = "‚±‚̃y[ƒW‚ɃAƒNƒZƒX‚·‚錠ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñ";
+$lang['submit'] = "ŽÀs";
+$lang['login'] = "ƒƒOƒCƒ“";
+$lang['password'] = "ƒpƒXƒ[ƒh";
+$lang['new'] = "V";
+$lang['delete'] = "íœ";
+$lang['category'] = "ƒJƒeƒSƒŠ";
+$lang['thumbnail'] = "ƒTƒ€ƒlƒCƒ‹";
+$lang['date'] = "“ú•t";
+$lang['diapo_default_page_title'] = "ƒJƒeƒSƒŠ–¢‘I‘ð";
+$lang['thumbnails'] = "ƒTƒ€ƒlƒCƒ‹";
+$lang['categories'] = "ƒJƒeƒSƒŠ";
+$lang['hint_category'] = "‚±‚̃JƒeƒSƒŠ‚̃Cƒ[ƒW‚ð•\Ž¦‚µ‚Ü‚·";
+$lang['total_images'] = "‡Œv";
+$lang['title_menu'] = "ƒƒjƒ…[";
+$lang['change_login'] = "ƒƒOƒCƒ“‚Ì•ÏX";
+$lang['login'] = "ƒƒOƒCƒ“–¼";
+$lang['hint_login'] = "”FØ‚ðs‚¤‚±‚Æ‚É‚æ‚èƒTƒCƒg‚̃fƒUƒCƒ“‚ðƒJƒXƒ^ƒ}ƒCƒYo—ˆ‚Ü‚·";
+$lang['logout'] = "ƒƒOƒAƒEƒg";
+$lang['customize'] = "ƒJƒXƒ^ƒ}ƒCƒY";
+$lang['hint_customize'] = "ƒMƒƒƒ‰ƒŠ[‚̃fƒUƒCƒ“‚ðƒJƒXƒ^ƒ}ƒCƒY‚µ‚Ü‚·";
+$lang['hint_search'] = "ŒŸõ";
+$lang['search'] = "ŒŸõ";
+$lang['favorite_cat'] = "‚¨‹C‚É“ü‚è";
+$lang['favorite_cat_hint'] = "‚¨‹C‚É“ü‚è‚ð•\Ž¦‚µ‚Ü‚·";
+$lang['about'] = "about";
+$lang['hint_about'] = "PhpWebGallery‚ÉŠÖ‚·‚éÚ×î•ñ ...";
+$lang['admin'] = "ŠÇ—";
+$lang['hint_admin'] = "ŠÇ—ŽÒ‚Ì‚ÝŽg—p‚Å‚«‚Ü‚·";
+$lang['no_category'] = "ƒJƒeƒSƒŠ‚ª‘I‘ð‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ<br />ƒƒjƒ…[‚æ‚è‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['page_number'] = "ƒy[ƒW";
+$lang['previous_page'] = "‘O‚Ö";
+$lang['next_page'] = "ŽŸ‚Ö";
+$lang['nb_image_category'] = "ƒJƒeƒSƒŠ“àŽÊ^”";
+$lang['recent_image'] = "“o˜^";
+$lang['days'] = "“úˆÈ“à‚̃Cƒ[ƒW";
+$lang['send_mail'] = "‚²ˆÓŒ©‚²Š´‘z‚Í‚±‚¿‚ç‚Ö";
+$lang['title_send_mail'] = "ƒRƒƒ“ƒg‚ª“Še‚³‚ê‚Ü‚µ‚½";
+$lang['sub-cat'] = "ƒTƒuƒJƒeƒSƒŠ";
+$lang['images_available'] = "ƒCƒ[ƒW‚ª‚±‚̃JƒeƒSƒŠ‚É“o˜^‚³‚ê‚Ä‚¢‚Ü‚·";
+$lang['total'] = "ƒCƒ[ƒW";
+$lang['upload_picture'] = "ŽÊ^‚̃Aƒbƒvƒ[ƒh";
+$lang['registration_date'] = "“o˜^“úŽž";
+$lang['creation_date'] = "쬓úŽž";
+$lang['comment'] = "ƒRƒƒ“ƒg";
+$lang['author'] = "ìŽÒ";
+$lang['size'] = "ƒTƒCƒY";
+$lang['filesize'] = "ƒtƒ@ƒCƒ‹ƒTƒCƒY";
+$lang['file'] = "ƒtƒ@ƒCƒ‹";
+$lang['generation_time'] = "Page generated in";
+$lang['favorites'] = "‚¨‹C‚É“ü‚è";
+$lang['search_result'] = "ŒŸõŒ‹‰Ê";
+$lang['about_page_title'] = "PhpWebGallery‚ÉŠÖ‚µ‚Ä";
+$lang['about_title'] = "About...";
+$lang['about_message'] = "<div style=\"text-align:center;font-weigh:bold;\">PhpWebGallery‚ÉŠÖ‚·‚éî•ñ</div>
+<ul>
+ <li>‚±‚̃TƒCƒg‚Í<a href=\"".$conf['site_url']."\" style=\"text-decoration:underline\">PhpWebGallery</a> version ".$conf['version']."‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B‚ ‚È‚½‚ÍPhpWebGallery‚É‚æ‚èŠÈ’P‚ɃIƒ“ƒ‰ƒCƒ“EƒCƒ[ƒWƒMƒƒƒ‰ƒŠ[‚ð쬂·‚邱‚Æ‚ª‰Â”\‚Å‚·B</li>
+ <li>‹Zp“I‚É‚ÍAPhpWebGallery‚Í‘S‚ÄPHP(the elePHPant)‚ÆMySQLƒf[ƒ^ƒx[ƒX(the SQuirreL)‚ÅŠJ”­‚³‚ê‚Ä‚¢‚Ü‚·B</li>
+ <li>‚²ˆÓŒ©‚²Š´‘z‚ð‚¨Ž‚¿‚Ì•û‚ÍA<a href=\"".$conf['site_url']."\" style=\"text-decoration:underline\">PhpWebGalleryŒöŽ®ƒTƒCƒg</a>‹y‚Ñ<a href=\"".$conf['forum_url']."\" style=\"text-decoration:underline\">ƒtƒH[ƒ‰ƒ€</a>‚É‚¨‰z‚µ‚­‚¾‚³‚¢B</li>
+</ul>";
+$lang['about_return'] = "–ß‚é";
+$lang['ident_page_title'] = "”FØ";
+$lang['ident_title'] = "”FØ";
+$lang['ident_register'] = "ƒ†[ƒU“o˜^";
+$lang['ident_forgotten_password'] = "ƒpƒXƒ[ƒh‚ð–Y‚ê‚Ü‚µ‚½ ?";
+$lang['ident_guest_visit'] = "ƒrƒWƒ^[‚Æ‚µ‚ăMƒƒƒ‰ƒŠ[‚ÖˆÚ“®";
+$lang['customize_page_title'] = "ƒJƒXƒ^ƒ}ƒCƒY";
+$lang['customize_title'] = "ƒJƒXƒ^ƒ}ƒCƒY";
+$lang['customize_nb_image_per_row'] = "1—ñ‚ ‚½‚è‚ÌŽÊ^”";
+$lang['customize_nb_row_per_page'] = "1ƒy[ƒW‚ ‚½‚è‚Ìs”";
+$lang['customize_language'] = "Œ¾Œê";
+$lang['maxwidth'] = "ŽÊ^‚ÌÅ‘å•";
+$lang['maxheight'] = "ŽÊ^‚ÌÅ‘å‚";
+$lang['err_maxwidth'] = "Å‘å•‚Í50ˆÈã‚É‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['err_maxheight'] = "Å‘å‚‚Í50ˆÈã‚É‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['previous_image'] = "‘O‚Ö";
+$lang['next_image'] = "ŽŸ‚Ö";
+$lang['back'] = "ƒCƒ[ƒW‚̃NƒŠƒbƒN‚É‚æ‚èƒTƒ€ƒlƒCƒ‹ƒy[ƒW‚É–ß‚è‚Ü‚·";
+$lang['info_image_title'] = "ƒCƒ[ƒWî•ñ";
+$lang['link_info_image'] = "ƒCƒ[ƒWî•ñ‚ÌXV";
+$lang['true_size'] = "ƒŠƒAƒ‹ƒTƒCƒY";
+$lang['comments_title'] = "ƒ†[ƒU‚̃Rƒƒ“ƒg";
+$lang['comments_del'] = "ƒRƒƒ“ƒg‚Ìíœ";
+$lang['comments_add'] = "ƒRƒƒ“ƒg‚̒ljÁ";
+$lang['month'][1] = "1ŒŽ";
+$lang['month'][2] = "2ŒŽ";
+$lang['month'][3] = "3ŒŽ";
+$lang['month'][4] = "4ŒŽ";
+$lang['month'][5] = "5ŒŽ";
+$lang['month'][6] = "6ŒŽ";
+$lang['month'][7] = "7ŒŽ";
+$lang['month'][8] = "8ŒŽ";
+$lang['month'][9] = "9ŒŽ";
+$lang['month'][10] = "10ŒŽ";
+$lang['month'][11] = "11ŒŽ";
+$lang['month'][12] = "12ŒŽ";
+$lang['day'][0] = "“ú—j";
+$lang['day'][1] = "ŒŽ—j";
+$lang['day'][2] = "‰Î—j";
+$lang['day'][3] = "…—j";
+$lang['day'][4] = "–Ø—j";
+$lang['day'][5] = "‹à—j";
+$lang['day'][6] = "“y—j";
+$lang['add_favorites_alt'] = "‚¨‹C‚É“ü‚è‚ɒljÁ";
+$lang['add_favorites_hint'] = "‚±‚ÌŽÊ^‚ð‚¨‹C‚É“ü‚è‚ɒljÁ‚µ‚Ü‚·";
+$lang['del_favorites_alt'] = "‚¨‹C‚É“ü‚è‚©‚çíœ";
+$lang['del_favorites_hint'] = "‚±‚ÌŽÊ^‚ð‚¨‹C‚É“ü‚è‚©‚ç휂µ‚Ü‚·";
+$lang['register_page_title'] = "ƒ†[ƒU“o˜^";
+$lang['register_title'] = "ƒ†[ƒU“o˜^";
+$lang['reg_err_login1'] = "ƒƒOƒCƒ“–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['reg_err_login2'] = "ƒƒOƒCƒ“–¼‚Ì––”ö‚ɃXƒy[ƒX‚ÍŽg—po—ˆ‚Ü‚¹‚ñ";
+$lang['reg_err_login3'] = "ƒƒOƒCƒ“–¼‚Ì擪‚ɃXƒy[ƒX‚ÍŽg—po—ˆ‚Ü‚¹‚ñ";
+$lang['reg_err_login4'] = "ƒƒOƒCƒ“–¼‚É \" ‹y‚Ñ ' ‚ÍŽg—po—ˆ‚Ü‚¹‚ñ";
+$lang['reg_err_login5'] = "ƒƒOƒCƒ“–¼‚ªŠù‚É“o˜^‚³‚ê‚Ä‚¢‚Ü‚·";
+$lang['reg_err_pass'] = "ƒpƒXƒ[ƒh‚ð‚à‚¤ˆê“x“ü—Í‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['reg_confirm'] = "ƒpƒXƒ[ƒh‚ð‚à‚¤ˆê“x";
+$lang['reg_err_mail_address'] = "ƒ[ƒ‹ƒAƒhƒŒƒX‚ÍŽŸ‚̂悤‚ÈŒ`Ž®‚É‚µ‚Ä‚­‚¾‚³‚¢ xxx@yyy.eee (—á : jack@altern.org)";
+$lang['search_title'] = "ŒŸõ";
+$lang['invalid_search'] = "ƒL[ƒ[ƒh‚Í”¼Šp3•¶ŽšˆÈã‚É‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['search_field_search'] = "ŒŸõ";
+$lang['search_return_main_page'] = "ƒTƒ€ƒlƒCƒ‹ƒy[ƒW‚É–ß‚é";
+$lang['upload_forbidden'] = "‚±‚̃JƒeƒSƒŠ‚É‚ÍŽÊ^‚ðƒAƒbƒvƒ[ƒh‚Å‚«‚Ü‚¹‚ñ";
+$lang['upload_file_exists'] = "ŽÊ^–¼‚ªŠù‚ÉŽg—p‚³‚ê‚Ä‚¢‚Ü‚·";
+$lang['upload_filenotfound'] = "ƒCƒ[ƒW‚̃tƒ@ƒCƒ‹ƒ^ƒCƒv‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['upload_cannot_upload'] = "ƒT[ƒo‚ÉŽÊ^‚ðƒAƒbƒvƒ[ƒho—ˆ‚Ü‚¹‚ñ";
+$lang['upload_title'] = "ŽÊ^‚̃Aƒbƒvƒ[ƒh";
+$lang['upload_advise'] = "ƒJƒeƒSƒŠ‚ɃAƒbƒvƒ[ƒh‚·‚éƒCƒ[ƒW‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢ : ";
+$lang['upload_advise_thumbnail'] = "ƒIƒvƒVƒ‡ƒ“(„§) : ƒAƒbƒvƒ[ƒh‚µ‚½ŽÊ^‚̃Tƒ€ƒlƒCƒ‹‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢ ";
+$lang['upload_advise_filesize'] = "ŽÊ^‚ÌÅ‘åƒTƒCƒY : ";
+$lang['upload_advise_width'] = "ŽÊ^‚ÌÅ‘å• : ";
+$lang['upload_advise_height'] = "ŽÊ^‚ÌÅ‘å‚ : ";
+$lang['upload_advise_filetype'] = "ƒAƒbƒvƒ[ƒh‰Â”\‚ȃtƒ@ƒCƒ‹ƒ^ƒCƒv : jpg gif png";
+$lang['upload_err_username'] = "ƒ†[ƒU–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢";
+$lang['upload_username'] = "ƒ†[ƒU–¼";
+$lang['upload_successful'] = "ŽÊ^‚ª³í‚ɃAƒbƒvƒ[ƒh‚³‚ê‚Ü‚µ‚½BŠÇ—ŽÒ‚ª‘‹}‚ÉŽÊ^‚̳”F‚ðs‚¢‚Ü‚·B";
+// new or modified in release 1.3
+$lang['charset'] = 'shift_jis';
+$lang['no'] = 'no';
+$lang['yes'] = 'yes';
+$lang['guest'] = 'ƒQƒXƒg';
+$lang['mail_address'] = 'ƒ[ƒ‹ƒAƒhƒŒƒX';
+$lang['public'] = 'ŒöŠJ';
+$lang['private'] = 'ƒvƒ‰ƒCƒx[ƒg';
+$lang['add'] = '’ljÁ';
+$lang['dissociate'] = '•ª—£';
+$lang['mandatory'] = '•K{';
+$lang['err_date'] = '“ú•t‚ªŠÔˆá‚Á‚Ä‚¢‚Ü‚·';
+$lang['picture'] = 'ŽÊ^';
+$lang['IP'] = 'IP';
+$lang['close'] = '•Â‚¶‚é';
+$lang['open'] = 'ŠJ‚­';
+$lang['keywords'] = 'ƒL[ƒ[ƒh';
+$lang['errors_title'] = 'ƒGƒ‰[';
+$lang['infos_title'] = 'î•ñ';
+$lang['default'] = 'ƒfƒtƒHƒ‹ƒg';
+$lang['comments'] = 'ƒRƒƒ“ƒg';
+$lang['category_representative'] = 'ŠÖ˜A•t‚¯';
+$lang['stats'] = '“Œv';
+$lang['most_visited_cat_hint'] = 'Å‚à‰{——‚³‚ꂽŽÊ^‚ð•\Ž¦‚µ‚Ü‚·';
+$lang['most_visited_cat'] = 'Å‘½‰{——';
+$lang['best_rated_cat_hint'] = 'ƒxƒXƒgƒ‰ƒ“ƒN‚ÌŽÊ^‚ð•\Ž¦‚µ‚Ü‚·';
+$lang['best_rated_cat'] = 'ƒxƒXƒgƒ‰ƒ“ƒN';
+$lang['recent_cat_hint'] = 'ÅV‚ÌŽÊ^‚ð•\Ž¦‚µ‚Ü‚·';
+$lang['recent_cat'] = 'ÅVŽÊ^';
+$lang['recent_cat_title'] = 'ÅV‚ÌŽÊ^';
+$lang['visited'] = '–K–â';
+$lang['times'] = '‰ñ';
+$lang['customize_theme'] = 'ƒCƒ“ƒ^[ƒtƒF[ƒXƒe[ƒ}';
+$lang['customize_expand'] = '‘SƒJƒeƒSƒŠ‚ð“WŠJ‚·‚é';
+$lang['customize_show_nb_comments'] = 'ƒRƒƒ“ƒg”‚ð•\Ž¦‚·‚é';
+$lang['customize_short_period'] = '’Z‚¢ŠúŠÔ';
+$lang['customize_long_period'] = '’·‚¢ŠúŠÔ';
+$lang['customize_template'] = 'ƒeƒ“ƒvƒŒ[ƒg';
+$lang['err_periods'] = 'ŠúŠÔ‚Í”’l‚ðŽw’肵‚Ä‚­‚¾‚³‚¢';
+$lang['err_periods_2'] = 'ŠúŠÔ‚Í0ˆÈã‚É‚µ‚Ä‚­‚¾‚³‚¢B’·‚¢ŠúŠÔ‚Í’Z‚¢ŠúŠÔ‚æ‚è‘å‚«‚­Ý’肵‚Ä‚­‚¾‚³‚¢B';
+$lang['create_cookie'] = 'ƒNƒbƒL[‚ð쬂·‚é';
+$lang['customize_day'] = '“ú';
+$lang['customize_week'] = 'T';
+$lang['customize_month'] = 'ŒŽ';
+$lang['customize_year'] = '”N';
+$lang['slideshow'] = 'ƒXƒ‰ƒCƒhƒVƒ‡[';
+$lang['period_seconds'] = '•b/ŽÊ^';
+$lang['slideshow_stop'] = 'ƒXƒ‰ƒCƒhƒVƒ‡[‚ð’âŽ~‚·‚é';
+$lang['comment_added'] = 'ƒRƒƒ“ƒg‚ª“o˜^‚³‚ê‚Ü‚µ‚½';
+$lang['comment_to_validate'] = 'ŠÇ—ŽÒ‚Ì”FØŒã‚ɃRƒƒ“ƒg‚ªŒfÚ‚³‚ê‚Ü‚·B';
+$lang['comment_anti-flood'] = 'Anti-flood system : ŽŸ‚̃Rƒƒ“ƒg‚ÌŒfÚ‚Í‚à‚¤Žb‚­‚¨‘Ò‚¿‚­‚¾‚³‚¢';
+$lang['comment_user_exists'] = '‚±‚̃ƒOƒCƒ“–¼‚Í‘¼‚̃†[ƒU‚ÉŠù‚ÉŽg—p‚³‚ê‚Ä‚¢‚Ü‚·';
+$lang['invalid_search'] = 'ŒŸõƒL[ƒ[ƒh‚ÍA‹å“Ç“_‚ðŠÜ‚Ü‚È‚¢3•¶ŽšˆÈã(‰p•¶ŽšŠ·ŽZ)‚É‚µ‚Ä‚­‚¾‚³‚¢';
+$lang['search_mode_or'] = '­‚È‚­‚Æ‚à1‚‚̒PŒê';
+$lang['search_mode_and'] = '‘S‚Ä‚Ì’PŒê';
+$lang['search_comments'] = '’PŒê‚ðƒXƒy[ƒX‚Å‹æØ‚Á‚Ä‚­‚¾‚³‚¢';
+$lang['upload_name'] = 'ŽÊ^–¼';
+$lang['upload_author'] = 'ŽB‰eŽÒ (—á "Pierrick LE GALL")';
+$lang['upload_creation_date'] = '쬓úŽž (DD/MM/YYYY)';
+$lang['upload_comment'] = 'ƒRƒƒ“ƒg';
+$lang['mail_hello'] = 'Hi,';
+$lang['mail_new_upload_subject'] = 'ÅVŽÊ^';
+$lang['mail_new_upload_content'] = 'ƒMƒƒƒ‰ƒŠ[‚ÉV‚µ‚¢ŽÊ^‚ªƒAƒbƒvƒ[ƒh‚³‚ê‚Ü‚µ‚½BŒ»ÝA”FØ‘Ò‚¿ó‘Ô‚Å‚·BŠÇ—ƒpƒlƒ‹‚Å‚±‚ÌŽÊ^‚Ì”FØ–”‚Í‹‘”Û‚ðs‚Á‚Ä‚­‚¾‚³‚¢B';
+$lang['mail_new_comment_subject'] = 'ÅVƒRƒƒ“ƒg';
+$lang['mail_new_comment_content'] = 'ƒMƒƒƒ‰ƒŠ[‚ÉV‚µ‚¢ŒÎ–Ê“™‚ª“Še‚³‚ê‚Ü‚µ‚½Bƒ†[ƒUƒRƒƒ“ƒg‚̳”FƒIƒvƒVƒ‡ƒ“‚ð‘I‘ð‚µ‚½ê‡AƒMƒƒƒ‰ƒŠ[‚ɃRƒƒ“ƒg‚ð•\Ž¦‚·‚éˆ×‚ÉŠÇ—ƒpƒlƒ‹‚ŃRƒƒ“ƒg‚̳”F‚ðs‚Á‚Ä‚­‚¾‚³‚¢B'."\n\n".'ÅVƒRƒƒ“ƒg‚ÍŠÇ—ƒpƒlƒ‹‚ʼn{——o—ˆ‚Ü‚·B';
+$lang['connected_user'] = 'ƒƒOƒCƒ“’†ƒ†[ƒU';
+$lang['title_comments'] = 'ƒ†[ƒUƒRƒƒ“ƒg';
+$lang['stats_last_days'] = '“úˆÈ“à';
+$lang['hint_comments'] = 'ÅV‚̃†[ƒUƒRƒƒ“ƒg‚ð•\Ž¦‚·‚é';
+$lang['menu_login'] = 'ƒƒOƒCƒ“';
+//-------------------------------------------------------------- administration
+if ( $isadmin )
+{
+ $lang['title_liste_users'] = "ƒ†[ƒUƒŠƒXƒg";
+ $lang['title_history'] = "—š—ð";
+ $lang['title_update'] = "ƒf[ƒ^ƒx[ƒX‚ÌXV";
+ $lang['title_configuration'] = "PhpWebGalleryÝ’è";
+ $lang['title_instructions'] = "à–¾";
+ $lang['title_categories'] = "ƒJƒeƒSƒŠ‚ÌŠÇ—";
+ $lang['title_edit_cat'] = "ƒJƒeƒSƒŠ‚Ì•ÒW";
+ $lang['title_info_images'] = "ƒJƒeƒSƒŠƒCƒ[ƒWî•ñ‚ÌC³";
+ $lang['title_thumbnails'] = "ƒTƒ€ƒlƒCƒ‹‚Ìì¬";
+ $lang['title_thumbnails_2'] = ":";
+ $lang['title_default'] = "PhpWebGallery‚ÌŠÇ—";
+ $lang['menu_title'] = "ŠÇ—";
+ $lang['menu_config'] = "Ý’è";
+ $lang['menu_users'] = "ƒ†[ƒU";
+ $lang['menu_add_user'] = "’ljÁ/C³";
+ $lang['menu_list_user'] = "ƒŠƒXƒg";
+ $lang['menu_categories'] = "ƒJƒeƒSƒŠ";
+ $lang['menu_update'] = "ƒf[ƒ^ƒx[ƒX‚ÌXV";
+ $lang['menu_thumbnails'] = "ƒTƒ€ƒlƒCƒ‹";
+ $lang['menu_history'] = "—š—ð";
+ $lang['menu_instructions'] = "à–¾";
+ $lang['menu_back'] = "ƒMƒƒƒ‰ƒŠ[‚É–ß‚é";
+ $lang['title_waiting'] = "³”F‘Ò‚¿‚ÌŽÊ^";
+ $lang['menu_waiting'] = "³”F‘Ò‚¿";
+ $lang['default_message'] = "PhpWebGalleryŠÇ—ƒpƒlƒ‹";
+ $lang['conf_err_prefixe'] = "ƒTƒ€ƒlƒCƒ‹Ú“ªŽ«‚ɃAƒNƒZƒ“ƒg‹L†‚ÍŽg—po—ˆ‚Ü‚¹‚ñ";
+ $lang['conf_err_mail'] = "ƒ[ƒ‹ƒAƒhƒŒƒX‚ª³‚µ‚­‚ ‚è‚Ü‚¹‚ñBƒ[ƒ‹ƒAƒhƒŒƒX‚ÍŽŸ‚̂悤‚Éݒ肵‚Ä‚­‚¾‚³‚¢ name@server.com";
+ $lang['conf_err_sid_size'] = "ƒZƒbƒVƒ‡ƒ“ID‚̃TƒCƒY‚Í4`50‚Ì”’l‚ðݒ肵‚Ä‚­‚¾‚³‚¢";
+ $lang['conf_err_sid_time'] = "ƒZƒbƒVƒ‡ƒ“ƒ^ƒCƒ€‚Í5`60‚Ì”’l‚ðݒ肵‚Ä‚­‚¾‚³‚¢";
+ $lang['conf_err_max_user_listbox'] = "ƒ†[ƒUƒŠƒXƒgƒ{ƒbƒNƒX‚Ìő唂Í0`255‚Ì”’l‚É‚µ‚Ä‚­‚¾‚³‚¢";
+ $lang['conf_confirmation'] = "Ý’èî•ñ‚ªƒf[ƒ^ƒx[ƒX‚É“o˜^‚³‚ê‚Ü‚µ‚½";
+ $lang['conf_general_title'] = "ƒƒCƒ“Ý’è";
+ $lang['conf_general_webmaster'] = "ŠÇ—ŽÒƒƒOƒCƒ“–¼";
+ $lang['conf_general_webmaster_info'] = "ƒrƒWƒ^[‚É•\Ž¦‚³‚ê‚Ü‚·BƒTƒCƒg‚ÌŠÇ—‚É•K—v‚Å‚·B";
+ $lang['conf_general_mail'] = "ŠÇ—ŽÒƒ[ƒ‹ƒAƒhƒŒƒX";
+ $lang['conf_general_mail_info'] = "ƒrƒWƒ^[‚Í‚±‚̃[ƒ‹ƒAƒhƒŒƒXˆ¶‚ɘA—‚ðŽæ‚邱‚Æ‚ªo—ˆ‚Ü‚·B";
+ $lang['conf_general_prefix'] = "ƒTƒ€ƒlƒCƒ‹Ú“ªŽ«";
+ $lang['conf_general_prefix_info'] = "ƒTƒ€ƒlƒCƒ‹‚ÉŽg—p‚µ‚Ü‚·B•ª‚©‚ç‚È‚¢ê‡‚ÍA‚±‚Ì‚Ü‚Ü‚É‚µ‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_general_access'] = "ƒAƒNƒZƒXƒ^ƒCƒv";
+ $lang['conf_general_access_1'] = "Ž©—R";
+ $lang['conf_general_access_2'] = "§ŒÀ•t";
+ $lang['conf_general_access_info'] = "- Ž©—R : ’N‚Å‚àƒTƒCƒg‚É“ü‚邱‚Æ‚ªo—ˆ‚Ü‚·BƒrƒWƒ^[‚̓EƒFƒuƒTƒCƒg‚Ì•\Ž¦‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚邽‚߂ɃAƒJƒEƒ“ƒg‚ð쬂·‚邱‚Æ‚ªo—ˆ‚Ü‚·B<br />- §ŒÀ•t‚« : ƒEƒFƒuƒ}ƒXƒ^‚ªƒAƒJƒEƒ“ƒg‚ð쬂·‚邱‚Æ‚ªo—ˆ‚Ü‚·B“o˜^ƒ†[ƒU‚̂݃TƒCƒg‚Ö“ü‚邱‚Æ‚ªo—ˆ‚Ü‚·B";
+ $lang['conf_general_max_user_listbox'] = "ƒ†[ƒUƒŠƒXƒgƒ{ƒbƒNƒX‚ÌÅ‘å”";
+ $lang['conf_general_max_user_listbox_info'] = "- ”F؃y[ƒW‚ŃeƒLƒXƒgƒ{ƒbƒNƒX‚Ì‘ã‚í‚è‚ÉPhpWebGallery‚ªƒŠƒXƒgƒ{ƒbƒNƒX‚É•\Ž¦‚·‚郆[ƒU‚ÌÅ‘å”<br />- 0`255‚Ì”’l‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B0‚Ìê‡AƒŠƒXƒgƒ{ƒbƒNƒX‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñB";
+ $lang['conf_comments'] = "ƒ†[ƒUƒRƒƒ“ƒg";
+ $lang['conf_comments_title'] = "Ý’è ".$lang['conf_comments'];
+ $lang['conf_comments_show_comments'] = $lang['conf_comments'];
+ $lang['conf_comments_show_comments_info'] = "ƒ†[ƒUƒRƒƒ“ƒg‚ðŽÊ^‚̉º‚É•\Ž¦‚µ‚Ü‚·‚© ?";
+ $lang['conf_comments_comments_number'] = "1ƒy[ƒW‚ ‚½‚è‚̃Rƒƒ“ƒg”";
+ $lang['conf_comments_comments_number_info'] = "1ƒy[ƒW‚É•\Ž¦‚·‚éƒRƒƒ“ƒg”BŽÊ^‚ɑ΂·‚éƒRƒƒ“ƒg”‚Í–³§ŒÀ‚Å‚·B5`50‚ÌŠÔ‚Ì”’l‚ðݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_err_comment_number'] = "1ƒy[ƒW‚ ‚½‚è‚̃Rƒƒ“ƒg”‚Í5`50‚ÌŠÔ‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_remote_site_delete_info'] = "ƒŠƒ‚[ƒgƒT[ƒo‚Ì휂ɂæ‚èAŠÖ˜A‚·‚é‘S‚ẴCƒ[ƒW‚ƃJƒeƒSƒŠ‚Í휂³‚ê‚Ü‚·B";
+ $lang['conf_upload_title'] = "ƒ†[ƒUƒAƒbƒvƒ[ƒhÝ’è";
+ $lang['conf_upload_available'] = "ŽÊ^‚̃Aƒbƒvƒ[ƒh‹–‰Â";
+ $lang['conf_upload_maxfilesize'] = "Å‘åƒtƒ@ƒCƒ‹ƒTƒCƒY";
+ $lang['conf_upload_maxfilesize_info'] = "ƒAƒbƒvƒ[ƒhƒCƒ[ƒW‚ÌÅ‘åƒtƒ@ƒCƒ‹ƒTƒCƒYB10`1000k‚ÌŠÔ‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_err_upload_maxfilesize'] = "ƒAƒbƒvƒ[ƒhƒCƒ[ƒW‚ÌÅ‘åƒtƒ@ƒCƒ‹ƒTƒCƒY‚ÍA10`1000k‚ÌŠÔ‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_upload_maxwidth'] = "Å‘å•";
+ $lang['conf_upload_maxwidth_info'] = "ƒAƒbƒvƒ[ƒhƒCƒ[ƒW‚ÌÅ‘å•B10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_err_upload_maxwidth'] = "ƒAƒbƒvƒ[ƒhƒCƒ[ƒW‚ÌÅ‘å•‚ÍA10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_upload_maxheight'] = "Å‘å‚";
+ $lang['conf_upload_maxheight_info'] = "ƒAƒbƒvƒ[ƒhƒCƒ[ƒW‚ÌÅ‘å‚B10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_err_upload_maxwidth'] = "ƒAƒbƒvƒ[ƒhƒCƒ[ƒW‚ÌÅ‘å‚‚ÍA10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_upload_maxwidth_thumbnail'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å•";
+ $lang['conf_upload_maxwidth_thumbnail_info'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å•B10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_err_upload_maxwidth_thumbnail'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å•‚ÍA10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_upload_maxheight_thumbnail'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å‚";
+ $lang['conf_upload_maxheight_thumbnail_info'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å‚B10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_err_upload_maxheight_thumbnail'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å‚‚ÍA10ƒsƒNƒZƒ‹ˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_default_title'] = "–¢“o˜^ƒ†[ƒU‹y‚ÑV‹KƒAƒJƒEƒ“ƒg‚ɑ΂·‚éƒfƒtƒHƒ‹ƒg•\Ž¦‘®«";
+ $lang['conf_default_language_info'] = "Žg—pŒ¾Œê";
+ $lang['conf_default_theme_info'] = "ƒfƒtƒHƒ‹ƒgƒe[ƒ}";
+ $lang['conf_session_title'] = "ƒZƒbƒVƒ‡ƒ“Ý’è";
+ $lang['conf_session_size'] = "ƒZƒbƒVƒ‡ƒ“IDƒTƒCƒY";
+ $lang['conf_session_size_info'] = "- ƒZƒbƒVƒ‡ƒ“ID‚Ì’·‚³‚ð’·‚­‚·‚é‚ƃTƒCƒg‚̈À‘S«‚ª‚‚Ü‚è‚Ü‚·B<br />- 4`50‚ÌŠÔ‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_session_time'] = "—LŒøŠúŒÀ";
+ $lang['conf_session_time_info'] = "- —LŒøŠúŒÀ‚ð’Z‚­‚·‚é‚ƃTƒCƒg‚̈À‘S«‚ª‚‚Ü‚è‚Ü‚·B <br />- 5`60•ª‚ÌŠÔ‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_session_key'] = "ƒL[ƒ[ƒh";
+ $lang['conf_session_key_info'] = "- ƒZƒbƒVƒ‡ƒ“ƒL[ƒ[ƒh‚̓ZƒbƒVƒ‡ƒ“ID‚̃Gƒ“ƒR[ƒh‚ð‰ü‘P‚µ‚Ü‚·B<br />- ”¼Šp255•¶ŽšˆÈ“à‚Ì•¶‚ðŽ©—R‚É“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B";
+ $lang['conf_session_delete'] = "ŒÃ‚¢ƒZƒbƒVƒ‡ƒ“‚ðíœ";
+ $lang['conf_session_delete_info'] = "ŒÃ‚¢ƒf[ƒ^‚ªŽc‚è‚Ü‚·‚Ì‚ÅAƒf[ƒ^ƒx[ƒX‚̃ZƒbƒVƒ‡ƒ“ƒe[ƒuƒ‹‚ð휂·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B(휂µ‚È‚¢ê‡‚Å‚àƒZƒLƒ…ƒŠƒeƒBã‚Ì–â‘è‚Í‚ ‚è‚Ü‚¹‚ñ)";
+ $lang['user_err_modify'] = "‚±‚̃†[ƒU‚ÍC³–”‚Ííœo—ˆ‚Ü‚¹‚ñ";
+ $lang['user_err_unknown'] = "‚±‚̃†[ƒU‚̓f[ƒ^ƒx[ƒX‚É“o˜^‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ";
+ $lang['adduser_info_message'] = "ƒf[ƒ^ƒx[ƒX‚̃†[ƒUî•ñ‚ªXV‚³‚ê‚Ü‚µ‚½ ";
+ $lang['adduser_info_password_updated'] = "(ƒpƒXƒ[ƒh‚ªXV‚³‚ê‚Ü‚µ‚½)";
+ $lang['adduser_info_back'] = "ƒ†[ƒUƒŠƒXƒg‚É–ß‚é";
+ $lang['adduser_fill_form'] = "‰º‹L‚̃tƒH[ƒ€‚É“ü—Í‚µ‚Ä‚­‚¾‚³‚¢";
+ $lang['adduser_unmodify'] = "•ÏX•s‰Â";
+ $lang['adduser_status'] = "ƒXƒe[ƒ^ƒX";
+ $lang['adduser_status_admin'] = "ŠÇ—ŽÒ";
+ $lang['adduser_status_guest'] = "ƒQƒXƒg";
+ $lang['permuser_info_message'] = "ƒp[ƒ~ƒbƒVƒ‡ƒ“‚ª“o˜^‚³‚ê‚Ü‚µ‚½";
+ $lang['permuser_title'] = "ƒ†[ƒU‚̧ŒÀ: ";
+ $lang['permuser_warning'] = "Œx : ƒ‹[ƒgƒJƒeƒSƒŠ‚Ö‚Ì \"<span style=\"font-weight:bold;\">ƒAƒNƒZƒX‹ÖŽ~</span>\" Ý’è‚É‚æ‚è‘S‚ẴJƒeƒSƒŠ‚ɃAƒNƒZƒXo—ˆ‚È‚­‚È‚è‚Ü‚·B";
+ $lang['permuser_authorized'] = "§ŒÀ•t‚«";
+ $lang['permuser_forbidden'] = "ƒAƒNƒZƒX‹ÖŽ~";
+ $lang['permuser_parent_forbidden'] = "eƒJƒeƒSƒŠƒAƒNƒZƒX‹ÖŽ~";
+ $lang['listuser_confirm'] = "–{“–‚É‚±‚̃†[ƒU‚ð휂µ‚Ä‚à‹X‚µ‚¢‚Å‚·‚©";
+ $lang['listuser_info_deletion'] = "‚ªƒf[ƒ^ƒx[ƒX‚©‚ç휂³‚ê‚Ü‚µ‚½";
+ $lang['listuser_user_group'] = "ƒ†[ƒUƒOƒ‹[ƒv";
+ $lang['listuser_modify'] = "C³";
+ $lang['listuser_modify_hint'] = "î•ñ‚ÌXV";
+ $lang['listuser_permission'] = "ƒp[ƒ~ƒbƒVƒ‡ƒ“";
+ $lang['listuser_permission_hint'] = "ƒp[ƒ~ƒbƒVƒ‡ƒ“‚ÌXV";
+ $lang['listuser_delete'] = "íœ";
+ $lang['listuser_delete_hint'] = "ƒ†[ƒU‚Ìíœ";
+ $lang['listuser_button_all'] = "‘S‚Ä‘I‘ð";
+ $lang['listuser_button_invert'] = "‘I‘ð‰ðœ";
+ $lang['listuser_button_create_address'] = "ƒ[ƒ‹ƒAƒhƒŒƒX‚Ì•\Ž¦";
+ $lang['cat_invisible'] = '‰B‚·';
+ $lang['cat_edit'] = "•ÒW";
+ $lang['cat_up'] = "ã‚Ö";
+ $lang['cat_down'] = "‰º‚Ö";
+ $lang['cat_image_info'] = "ƒCƒ[ƒWî•ñ";
+ $lang['cat_total'] = "‡Œv";
+ $lang['editcat_confirm'] = "ݒ肪ƒf[ƒ^ƒx[ƒX‚É“o˜^‚³‚ê‚Ü‚µ‚½";
+ $lang['editcat_back'] = "ƒJƒeƒSƒŠ";
+ $lang['editcat_title1'] = "ƒIƒvƒVƒ‡ƒ“";
+ $lang['editcat_name'] = "ƒJƒeƒSƒŠ–¼";
+ $lang['editcat_comment'] = "ƒRƒƒ“ƒg";
+ $lang['editcat_status'] = "ƒXƒe[ƒ^ƒX";
+ $lang['infoimage_general'] = "ƒJƒeƒSƒŠ‚̈ê”ʃIƒvƒVƒ‡ƒ“";
+ $lang['infoimage_useforall'] = "‘S‚Ä‚ÌŽÊ^‚É“K—p ?";
+ $lang['infoimage_creation_date'] = "쬓ú";
+ $lang['infoimage_detailed'] = "ŠeŽÊ^‚̃IƒvƒVƒ‡ƒ“";
+ $lang['infoimage_title'] = "ƒ^ƒCƒgƒ‹";
+ $lang['infoimage_comment'] = "ƒRƒƒ“ƒg";
+ $lang['update_missing_tn'] = "ƒTƒ€ƒlƒCƒ‹–³‚µ‚̃Cƒ[ƒW";
+ $lang['update_disappeared_tn'] = "ƒTƒ€ƒlƒCƒ‹‘rŽ¸";
+ $lang['update_disappeared'] = "‚ª‘¶Ý‚µ‚Ü‚¹‚ñ";
+ $lang['update_part_deletion'] = "ƒTƒ€ƒlƒCƒ‹–³‚µ–”‚Í‘¶Ý‚µ‚È‚¢ƒCƒ[ƒW‚Ìíœ";
+ $lang['update_deletion_conclusion'] = "–‡‚ÌŽÊ^‚ªƒf[ƒ^ƒx[ƒX‚©‚ç휂³‚ê‚Ü‚µ‚½";
+ $lang['update_part_research'] = "ƒfƒBƒŒƒNƒgƒŠ“àV‹KƒCƒ[ƒW‚ÌŒŸõ";
+ $lang['update_research_added'] = "‚ª’ljÁ‚³‚ê‚Ü‚µ‚½";
+ $lang['update_research_tn_ext'] = "ƒTƒ€ƒlƒCƒ‹Ží—Þ";
+ $lang['update_research_conclusion'] = "–‡‚ÌŽÊ^‚ªƒf[ƒ^ƒx[ƒX‚É“o˜^‚³‚ê‚Ü‚µ‚½";
+ $lang['update_default_title'] = "ƒIƒvƒVƒ‡ƒ“‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢";
+ $lang['update_only_cat'] = "ƒJƒeƒSƒŠ‚ðXV‚·‚éBŽÊ^‚ÍXV‚µ‚È‚¢B";
+ $lang['update_all'] = "‘S‚Ä‚ðXV‚·‚éB";
+ $lang['tn_width'] = "•";
+ $lang['tn_height'] = "‚‚³";
+ $lang['tn_no_support'] = "ŽÊ^‚ªŒ©‚‚©‚ç‚È‚¢‚©ƒTƒ|[ƒgŠO‚Å‚·:";
+ $lang['tn_format'] = "ƒtƒ@ƒCƒ‹ƒtƒH[ƒ}ƒbƒg";
+ $lang['tn_thisformat'] = "ƒtƒ@ƒCƒ‹ƒtƒH[ƒ}ƒbƒg";
+ $lang['tn_err_width'] = "Ŭ•:";
+ $lang['tn_err_height'] = "Ŭ‚:";
+ $lang['tn_results_title'] = "Ŭ‰»‚ÌŒ‹‰Ê";
+ $lang['tn_picture'] = "ŽÊ^";
+ $lang['tn_results_gen_time'] = "쬎žŠÔ";
+ $lang['tn_stats'] = "ˆê”Ê“Œv";
+ $lang['tn_stats_nb'] = "Ŭ‰»‚³‚ꂽŽÊ^”";
+ $lang['tn_stats_total'] = "‡ŒvŽžŠÔ";
+ $lang['tn_stats_max'] = "ő厞ŠÔ";
+ $lang['tn_stats_min'] = "ŬŽžŠÔ";
+ $lang['tn_stats_mean'] = "•½‹ÏŽžŠÔ";
+ $lang['tn_err'] = "ƒGƒ‰[";
+ $lang['tn_params_title'] = "Ŭ‰»ƒpƒ‰[ƒƒ^";
+ $lang['tn_params_GD'] = "GDƒo[ƒWƒ‡ƒ“";
+ $lang['tn_params_GD_info'] = "- GD‚͉摜‚ð‘€ì‚·‚éPHP‚̃‰ƒCƒuƒ‰ƒŠ‚Å‚·B<br />-‚ ‚È‚½‚̃T[ƒo‚ɃCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚éƒo[ƒWƒ‡ƒ“‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢BŠÔˆá‚Á‚½ƒo[ƒWƒ‡ƒ“‚ð‘I‘ð‚µ‚½ê‡‚ÍAƒGƒ‰[ƒƒbƒZ[ƒW‚ª•\Ž¦‚³‚ê‚Ü‚·‚̂ňقȂéƒo[ƒWƒ‡ƒ“‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B‚ǂ̃o[ƒWƒ‡ƒ“‚à“®ì‚µ‚È‚¢ê‡‚ÍA‚ ‚È‚½‚̃T[ƒo‚ªGD‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B";
+ $lang['tn_params_width_info'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å•";
+ $lang['tn_params_height_info'] = "ƒTƒ€ƒlƒCƒ‹‚ÌÅ‘å‚";
+ $lang['tn_params_create'] = "쬔";
+ $lang['tn_params_create_info'] = "ƒTƒ€ƒlƒCƒ‹‚Ì쬂ÍCPU‚ɉߑå‚È•‰‰×‚ð‚©‚¯‚Ü‚·‚Ì‚ÅA“¯Žž‚É‘½‚­‚ÌŽÊ^‚̃Tƒ€ƒlƒCƒ‹ì¬‚ðs‚í‚È‚¢‚Å‚­‚¾‚³‚¢BƒtƒŠ[ƒvƒƒoƒCƒ_‚ðŽg—p‚µ‚Ä‚¢‚éê‡ACPU‚É‚‚¢•‰‰×‚ð‚©‚¯‚é‚ƃEƒFƒuƒTƒCƒg‚ð휂³‚ê‚éꇂª‚ ‚è‚Ü‚·B";
+ $lang['tn_params_format'] = "ƒtƒ@ƒCƒ‹ƒtƒH[ƒ}ƒbƒg";
+ $lang['tn_params_format_info'] = "ƒTƒ€ƒlƒCƒ‹‚Ì쬂ɂÍjpegƒtƒH[ƒ}ƒbƒg‚Ì‚ÝŽg—p‚Å‚«‚Ü‚·B";
+ $lang['tn_alone_title'] = "ƒTƒ€ƒlƒCƒ‹–³‚µ‚ÌŽÊ^ (jpeg‹y‚Ñpng‚Ì‚Ý)";
+ $lang['tn_dirs_title'] = "ƒfƒBƒŒƒNƒgƒŠƒŠƒXƒg";
+ $lang['tn_dirs_alone'] = "ƒTƒ€ƒlƒCƒ‹–³‚µ‚ÌŽÊ^";
+ $lang['help_images_title'] = "ŽÊ^‚̒ljÁ";
+ $lang['help_images_intro'] = "ƒfƒBƒŒƒNƒgƒŠ‚Ö‚ÌŽÊ^‚̒ljÁ•û–@";
+ $lang['help_images'][0] = "ƒfƒBƒŒƒNƒgƒŠ \"galleries\" “à‚ɃJƒeƒSƒŠ‚ð•\‚·ƒfƒBƒŒƒNƒgƒŠ‚ð쬂µ‚Ä‚­‚¾‚³‚¢B";
+ $lang['help_images'][1] = "‚»‚ꂼ‚ê‚̃fƒBƒŒƒNƒgƒŠ‚É‚ÍA‚¢‚­‚‚łàƒTƒuƒfƒBƒŒƒNƒgƒŠ‚ðì¬o—ˆ‚Ü‚·B";
+ $lang['help_images'][2] = "‚»‚ꂼ‚ê‚̃JƒeƒSƒŠ‚É‚ÍA‚¢‚­‚‚łàƒTƒuƒJƒeƒSƒŠ‚ðì¬o—ˆ‚Ü‚·B";
+ $lang['help_images'][3] = "ŽÊ^ƒtƒ@ƒCƒ‹‚ÍAjpegƒtƒH[ƒ}ƒbƒg(Šg’£Žq‚Í jpg –”‚Í JPG)A gifƒtƒH[ƒ}ƒbƒg(Šg’£Žq‚Í gif –”‚Í GIF) –”‚Í pngƒtƒH[ƒ}ƒbƒg(Šg’£Žq‚Í png –”‚Í PNG)‚É‚µ‚Ä‚­‚¾‚³‚¢B";
+ $lang['help_images'][4] = "ƒtƒ@ƒCƒ‹–¼‚É‚ÍA‹ó”’ \" \" ‚â ƒnƒCƒtƒ“ \"-\" ‚ðŽg‚í‚È‚¢‚Å‚­‚¾‚³‚¢BPhpWebGallery‚ªŠÇ—o—ˆ‚ÄA³‚µ‚­ˆ—‚³‚ê‚éƒAƒ“ƒ_[ƒXƒRƒA \"_\" ‚ðŽg‚í‚ê‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B";
+ $lang['help_thumbnails_title'] = "ƒTƒ€ƒlƒCƒ‹";
+ $lang['help_thumbnails'][0] = "‚ ‚È‚½‚̃TƒCƒg“à‚É‚ ‚éŽÊ^•\Ž¦‚ׂ̈̃fƒBƒŒƒNƒgƒŠ‚É‚ÍA‚»‚ꂼ‚ê‚É \"thumbnail\" ‚Æ‚¢‚¤–¼Ì‚̃fƒBƒŒƒNƒgƒŠ‚ª‚ ‚è‚Ü‚·B‚à‚µ–³‚¢ê‡‚ÍAƒTƒ€ƒlƒCƒ‹‚ð’ljÁ‚·‚éˆ×‚É쬂µ‚Ä‚­‚¾‚³‚¢B";
+ $lang['help_thumbnails'][1] = "ƒTƒ€ƒlƒCƒ‹‚ÌŠg’£Žq‚ÍŽÊ^ƒtƒ@ƒCƒ‹‚Æ“¯‚¶‚É‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB(—Ⴆ‚ÎA.jpg‚Æ‚¢‚¤Šg’£Žq‚ÌŽÊ^‚ª .GIF‚Æ‚¢‚¤Šg’£Žq‚ðŽ‚‚±‚Æ‚ªo—ˆ‚Ü‚·)B";
+ $lang['help_thumbnails'][2] = "Ý’èƒy[ƒW‚Å“o˜^‚³‚ꂽړªŽ«‚ðŽÊ^‚̃Tƒ€ƒlƒCƒ‹ƒtƒ@ƒCƒ‹–¼‚Ì擪‚É•t‚¯‚é•K—v‚ª‚ ‚è‚Ü‚· (—á image.jpg -> TN_image.GIF)B";
+ $lang['help_thumbnails'][3] = "ƒTƒ€ƒlƒCƒ‹‚ÌŠÇ——p‚ÉPhpWebGallery‚̃y[ƒW‚æ‚èWindows—p‚̃‚ƒWƒ…[ƒ‹‚ðƒ_ƒEƒ“ƒ[ƒh‚·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B";
+ $lang['help_thumbnails'][4] = "PhpWebGallery‚̃Tƒ€ƒlƒCƒ‹ì¬ƒy[ƒW‚à—˜—po—ˆ‚Ü‚·‚ª‚¨Š©‚ß‚µ‚Ü‚¹‚ñBƒTƒ€ƒlƒCƒ‹‚ÌŽ¿‚ª—Ç‚­‚ ‚è‚Ü‚¹‚ñ‚µACPU‚̃pƒ[‚𑽑å‚ÉŽg—p‚µ‚Ü‚·‚Ì‚Å–³—¿ƒEƒFƒuƒzƒXƒeƒBƒ“ƒO‚ð—˜—p‚µ‚Ä‚¢‚éꇂ̓gƒ‰ƒuƒ‹‚ÌŒ´ˆö‚Æ‚È‚è‚Ü‚·B";
+ $lang['help_thumbnails'][5] = "ƒzƒXƒeƒBƒ“ƒOƒvƒƒoƒCƒ_‚̃T[ƒo‚ð—˜—p‚µ‚ăTƒ€ƒlƒCƒ‹‚ð쬂·‚éê‡A\"galleries\"ƒtƒHƒ‹ƒ_‹y‚Ñ‘S‚ẴTƒuƒtƒHƒ‹ƒ_‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ð775‚Éݒ肵‚Ä‚­‚¾‚³‚¢B";
+ $lang['help_database_title'] = "ƒf[ƒ^ƒx[ƒX‚ÌXV";
+ $lang['help_database'][0] = "ŽÊ^ƒtƒ@ƒCƒ‹‚ƃTƒ€ƒlƒCƒ‹‚ª³‚µ‚­ƒfƒBƒŒƒNƒgƒŠ‚ɒljÁ‚³‚ꂽŒãAŠÇ—ƒpƒlƒ‹‚É‚ ‚é \"ƒf[ƒ^ƒx[ƒX‚ÌXV\" ‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B";
+ $lang['help_infos_title'] = "‚»‚Ì‘¼‚Ìî•ñ";
+ $lang['help_infos'][1] = "ƒMƒƒƒ‰ƒŠ[‚Ì쬌ãAo—ˆ‚邾‚¯‘‚­ƒ†[ƒUƒŠƒXƒg‚ɃAƒNƒZƒX‚µ‚Ä \"ƒrƒWƒ^[\" ‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ð•ÏX‚µ‚Ä‚­‚¾‚³‚¢B‘S‚Ä‚ÌV‹K“o˜^ƒ†[ƒU‚̓fƒtƒHƒ‹ƒg‚Å \"ƒrƒWƒ^[\" ƒ†[ƒU‚Æ“¯‚¶ƒp[ƒ~ƒbƒVƒ‡ƒ“‚ªŠ„“–‚Ä‚ç‚ê‚Ü‚·B";
+ $lang['help_remote_title'] = "ƒŠƒ‚[ƒgƒTƒCƒg";
+ $lang['help_remote'][0] = "PhpWebGallery‚ł̓Mƒƒƒ‰ƒŠ[‚ð쬂·‚鎞‚É‚¢‚­‚‚©‚̃T[ƒo‚ɃCƒ[ƒW‚ð•Û‘¶‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B ƒMƒƒƒ‰ƒŠ[‚ª—e—ʧŒÀ‚³‚ꂽꊂɃCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚ÄA®ŠŽ‚‘å—ʂ̃Cƒ[ƒW‚ðŒfÚ‚·‚éꇂɕ֗˜‚Å‚·B‰º‹L‚̎臂É]‚Á‚Ä‚­‚¾‚³‚¢: ";
+ $lang['help_remote'][1] = "1. \"create_listing_file.php\"‚Æ‚¢‚¤–¼Ì‚̃tƒ@ƒCƒ‹‚ð•ÒW‚µ‚Ü‚· (\"admin\" ƒfƒBƒŒƒNƒgƒŠ‚Ì’†‚É‚ ‚è‚Ü‚·)AƒTƒ€ƒlƒCƒ‹‚ÌÚ“ªŽ«‚ª \"TN-\" ‚Å–³‚¢ê‡‚ÍA\"\$prefixe_thumbnail = \"TN-\";\" ‚Æ•ÏX‚µ‚Ü‚·B";
+ $lang['help_remote'][2] = "2. C³Ï‚Ý‚Ì \"create_listing_file.php\" ƒtƒ@ƒCƒ‹‚ðƒŠƒ‚[ƒgƒTƒCƒg‚ÉFTP‚Å’u‚«‚Ü‚·BƒŠƒ‚[ƒgƒTƒCƒg‚̃Cƒ[ƒW‚ðŠi”[‚·‚éƒfƒBƒŒƒNƒgƒŠ‚É’u‚¢‚Ä‚­‚¾‚³‚¢(ƒEƒFƒuƒTƒCƒg‚Ì \"galleries\" ‚Æ‚¢‚¤–¼Ì‚̂悤‚ȃfƒBƒŒƒNƒgƒŠ)B";
+ $lang['help_remote'][3] = "3. URL( http://domaineDistant/repGalerie/create_listing_file.php )‚ðŽg—p‚µ‚ăXƒNƒŠƒvƒg‚ð‹N“®‚µ‚Ä‚­‚¾‚³‚¢Blisting.xml‚Æ‚¢‚¤–¼Ì‚̃tƒ@ƒCƒ‹‚ªì¬‚³‚ê‚Ü‚·B";
+ $lang['help_remote'][4] = "4. ƒŠƒ‚[ƒgƒTƒCƒg‚É‚ ‚élisting.xml‚ðA‚±‚̃TƒCƒg‚Ì \"admin\" ƒfƒBƒŒƒNƒgƒŠ‚É“ü‚ê‚Ä‚­‚¾‚³‚¢B";
+ $lang['help_remote'][5] = "5. ŠÇ—ƒpƒlƒ‹‚Ńf[ƒ^ƒx[ƒX‚ÌXV‚ðs‚Á‚Ä‚­‚¾‚³‚¢Bƒf[ƒ^ƒx[ƒX‚ÌXV‚Ålisting.xml‚ªŽg—p‚³‚ꂽŒã‚ÍA\"admin\" ƒfƒBƒŒƒNƒgƒŠ‚æ‚è휂µ‚Ä‚­‚¾‚³‚¢B";
+ $lang['help_remote'][6] = "ƒfƒBƒŒƒNƒgƒŠ‚Ö‚ÌŽÊ^‚̒ljÁ‚ðÄ“xs‚¤‚±‚Æ‚É‚æ‚胊ƒ‚[ƒgƒTƒCƒg‚̃Rƒ“ƒeƒ“ƒc‚ðXV‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B ŠÇ—ƒpƒlƒ‹‚ÌÝ’èƒIƒvƒVƒ‡ƒ“‚ð‘I‘ð‚·‚é‚±‚Æ‚É‚æ‚èAƒŠƒ‚[ƒgƒTƒCƒg‚ÌŽg—p‚𒆎~‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B‘I‘ðƒIƒvƒVƒ‡ƒ“F".
+ $lang['help_upload_title'] = "ŽÊ^‚̃Aƒbƒvƒ[ƒh‹–‰Â";
+ $lang['help_upload'][0] = "PhpWebGallery‚ł̓†[ƒU‚ɃCƒ[ƒW‚ðƒAƒbƒvƒ[ƒh‚³‚¹‚邱‚Æ‚ªo—ˆ‚Ü‚·B •û–@‚͉º‹L‚Ì’Ê‚è‚Å‚· :";
+ $lang['help_upload'][1] = "1. ŠÇ—ƒpƒlƒ‹‚ɃƒOƒCƒ“‚µ‚ÄÝ’è‚ðƒNƒŠƒbƒN‚·‚é";
+ $lang['help_upload'][2] = "2. ŽÊ^‚̃Aƒbƒvƒ[ƒh‹–‰Â‚ðYes‚ÉÝ’è‚·‚é";
+ $lang['install_message'] = "ƒƒbƒZ[ƒW";
+ $lang['step1_confirmation'] = "ƒpƒ‰ƒ[ƒ^‚ͳí‚Å‚·";
+ $lang['step1_err_db'] = "ƒT[ƒo‚Ö‚ÌÚ‘±‚ͬŒ÷‚µ‚Ü‚µ‚½‚ªAƒf[ƒ^ƒx[ƒX‚ÖÚ‘±‚Å‚«‚Ü‚¹‚ñ";
+ $lang['step1_err_server'] = "ƒT[ƒo‚ÉÚ‘±o—ˆ‚Ü‚¹‚ñ";
+ $lang['step1_err_copy_2'] = "ƒCƒ“ƒXƒg[ƒ‹‚ÌŽŸ‚̃Xƒeƒbƒv‚Öi‚ß‚Ü‚·";
+ $lang['step1_err_copy_next'] = "ŽŸ‚̃Xƒeƒbƒv";
+ $lang['step1_title'] = "ƒXƒeƒbƒv 1/2";
+ $lang['step1_host'] = "MySQLƒzƒXƒg";
+ $lang['step1_host_info'] = "localhost, sql.multimania.com, toto.freesurf.fr";
+ $lang['step1_user'] = "ƒ†[ƒU";
+ $lang['step1_user_info'] = "MySQLƒzƒXƒg‚ÌÚ‘±–¼";
+ $lang['step1_pass'] = "ƒpƒXƒ[ƒh";
+ $lang['step1_pass_info'] = "MySQLƒzƒXƒg‚ÌÚ‘±ƒpƒXƒ[ƒh";
+ $lang['step1_database'] = "ƒf[ƒ^ƒx[ƒX–¼";
+ $lang['step1_database_info'] = "MySQLƒzƒXƒg‚̃f[ƒ^ƒx[ƒX–¼";
+ $lang['step1_prefix'] = "ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹Ú“ªŽ«";
+ $lang['step1_prefix_info'] = "ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹–¼‚Ì擪‚ÉÚ“ªŽ«‚ª’ljÁ‚³‚ê‚Ü‚· (ƒe[ƒuƒ‹ŠÇ—‚ª‚µˆÕ‚­‚È‚è‚Ü‚·)";
+ $lang['step2_err_login1'] = "ƒEƒFƒuƒ}ƒXƒ^‚̃ƒOƒCƒ“–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢";
+ $lang['step2_err_login3'] = "ƒEƒFƒuƒ}ƒXƒ^‚̃ƒOƒCƒ“–¼‚É‚Í ' ‚â \" ‚ÍŽg—po—ˆ‚Ü‚¹‚ñ";
+ $lang['step2_err_pass'] = "ƒpƒXƒ[ƒh‚ð‚à‚¤ˆê“x“ü—Í‚µ‚Ä‚­‚¾‚³‚¢";
+ $lang['step2_err_mail'] = $lang['conf_err_mail'];
+ $lang['install_end_title'] = "ƒCƒ“ƒXƒg[ƒ‹‚ªŠ®—¹‚µ‚Ü‚µ‚½";
+ $lang['install_end_message'] = "PhpWebGallery‚Ìݒ肪Š®—¹‚µ‚Ü‚µ‚½BŽŸ‚̃Xƒeƒbƒv‚Éi‚ñ‚Å‚­‚¾‚³‚¢B<br /><br />
+ƒZƒLƒ…ƒŠƒeƒBã‚Ì——R‚©‚ç \"admin\" ƒfƒBƒŒƒNƒgƒŠ“à‚Ì \"install.php\" ‚ð휂µ‚Ä‚­‚¾‚³‚¢B<br />
+‚±‚̃tƒ@ƒCƒ‹‚ªíœ‚³‚ꂽŒã‚ÉAŽŸ‚ÌŽwŽ¦‚É]‚Á‚Ä‚­‚¾‚³‚¢ :
+<ul>
+<li>”F؃y[ƒW‚Éi‚ñ‚Å‚­‚¾‚³‚¢ : [ <a href='../identification.php'>”FØ</a> ] ƒEƒFƒuƒ}ƒXƒ^—p‚̃ƒOƒCƒ“–¼/ƒpƒXƒ[ƒh‚ðŽg—p‚µ‚ăƒOƒCƒ“‚µ‚Ä‚­‚¾‚³‚¢B</li>
+<li>ƒƒOƒCƒ“‚·‚邱‚Æ‚É‚æ‚èA [ <a href='admin.php'>ŠÇ—ƒpƒlƒ‹</a> ] ‹y‚ÑŽÊ^‚̃Aƒbƒvƒ[ƒhà–¾‚ÖƒAƒNƒZƒXo—ˆ‚Ü‚·B</li>
+</ul>";
+ $lang['step2_title'] = "ƒXƒeƒbƒv 2/2";
+ $lang['step2_pwd'] = "ƒpƒXƒ[ƒh";
+ $lang['step2_pwd_info'] = "ŠÇ—ƒpƒlƒ‹‚ɃAƒNƒZƒX‚·‚邽‚߂̃pƒXƒ[ƒh‚Å‚·B";
+ $lang['step2_pwd_conf'] = "ƒpƒXƒ[ƒh‚ÌŠm”F";
+ $lang['step2_pwd_conf_info'] = "Šm”F‚µ‚Ä‚­‚¾‚³‚¢B";
+ // new or modified in release 1.3
+ $lang['remote_site'] = 'ƒŠƒ‚[ƒgƒTƒCƒg';
+ $lang['title_add'] = 'ƒ†[ƒU‚̒ljÁ';
+ $lang['title_modify'] = 'ƒ†[ƒU‚ÌXV';
+ $lang['title_groups'] = 'ƒOƒ‹[ƒvŠÇ—';
+ $lang['title_user_perm'] = 'ƒ†[ƒU‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ðXV‚·‚é';
+ $lang['title_cat_perm'] = 'ƒJƒeƒSƒŠ‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ðXV‚·‚é';
+ $lang['title_group_perm'] = 'ƒOƒ‹[ƒv‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ðXV‚·‚é';
+ $lang['title_picmod'] = 'ŽÊ^î•ñ‚ðXV‚·‚é';
+ $lang['menu_groups'] = 'ƒOƒ‹[ƒv';
+ $lang['menu_comments'] = 'ƒRƒƒ“ƒg';
+ $lang['conf_general_log'] = '—š—ð';
+ $lang['conf_general_log_info'] = 'ƒEƒFƒuƒTƒCƒg‚Ì–K–â—š—ð‚ð•Û‘¶‚µ‚Ü‚·‚©? –K–â—š—ð‚ÍŠÇ—ƒpƒlƒ‹‚Ì—š—ðƒZƒNƒVƒ‡ƒ“‚ÅŒ©‚邱‚Æ‚ªo—ˆ‚Ü‚·B';
+ $lang['conf_general_mail_notification'] = 'ƒ[ƒ‹’Ê’m';
+ $lang['conf_general_mail_notification_info'] = 'ƒ†[ƒU‚ªƒRƒƒ“ƒg‚ð’ljÁ–”‚ÍŽÊ^‚ðƒAƒbƒvƒ[ƒh‚µ‚½‚Æ‚«‚ÉŽ©“®“I‚ÉŠÇ—ŽÒ‚݂̂Ƀ[ƒ‹‚ð‘—M‚µ‚Ü‚·B';
+ $lang['conf_comments_validation'] = 'ƒ†[ƒUƒRƒƒ“ƒg‚̳”F';
+ $lang['conf_comments_validation_info'] = 'ŠÇ—ŽÒ‚̳”FŒã‚Ƀ†[ƒU‚̃Rƒƒ“ƒg‚ð•\Ž¦‚·‚éB';
+ $lang['conf_comments_forall'] = '‘Sˆõ‚É‹–‰Â‚·‚é';
+ $lang['conf_comments_forall_info'] = '–¢“o˜^‚̃QƒXƒg‚É‚àƒRƒƒ“ƒg‚Ì“Še‚ð‹–‰Â‚·‚éB';
+ $lang['conf_default_nb_image_per_row_info'] = '1—ñ‚ ‚½‚è‚ÌŽÊ^”(ƒfƒtƒHƒ‹ƒg)';
+ $lang['conf_default_nb_row_per_page_info'] = '1ƒy[ƒW‚ ‚½‚è‚Ìs”(ƒfƒtƒHƒ‹ƒg)';
+ $lang['conf_default_short_period_info'] = '“ú”‚ðŽw’èBŽÊ^‚ªÔ‚¢ƒ}[ƒN‚Æ‹¤‚É•\Ž¦‚³‚ê‚éŠúŠÔB’Z‚¢ŠúŠÔ‚Í1“úˆÈã‚Éݒ肵‚Ä‚­‚¾‚³‚¢B';
+ $lang['conf_default_long_period_info'] = '“ú”‚ðŽw’èBŽÊ^‚ª—΂̃}[ƒN‚Æ‹¤‚É•\Ž¦‚³‚ê‚éŠúŠÔB’·‚¢ŠúŠÔ‚Í’Z‚¢ŠúŠÔ‚æ‚è’·‚­Ý’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B';
+ $lang['conf_default_expand_info'] = 'ƒƒjƒ…[“à‚Å‘S‚ẴJƒeƒSƒŠ‚ðƒfƒtƒHƒ‹ƒg‚Å“WŠJ‚µ‚Ü‚·‚© ?';
+ $lang['conf_default_show_nb_comments_info'] = 'ƒTƒ€ƒlƒCƒ‹ƒy[ƒW‚ÅŠeŽÊ^‚̃Rƒƒ“ƒg”‚ð•\Ž¦‚·‚éB';
+ $lang['conf_default_maxwidth_info'] = '•\Ž¦ŽÊ^‚ÌÅ‘å• : ŽÊ^•\Ž¦‚݂̂̃TƒCƒY‚ª•ÏX‚³‚ê‚ÄAƒtƒ@ƒCƒ‹‚Ì•ÏX‚Ís‚í‚ê‚Ü‚¹‚ñB§ŒÀ‚ðÝ‚¯‚½‚­‚È‚¢ê‡‚Í‹ó”’‚É‚µ‚Ä‚­‚¾‚³‚¢B';
+ $lang['conf_default_maxheight_info'] = 'ŽÊ^‚ÌÅ‘å‚';
+ $lang['conf_session_cookie'] = 'ƒNƒbƒL[‚Ì•Û‘¶';
+ $lang['conf_session_cookie_info'] = '–ˆ‰ñ‚Ì–K–⎞‚Ƀ†[ƒU‚ªƒƒOƒCƒ“‚·‚é•K—v‚ª‚È‚­‚È‚è‚Ü‚·BƒZƒLƒ…ƒŠƒeƒB[ãAˆÀ‘S‚Å‚Í‚ ‚è‚Ü‚¹‚ñB';
+ $lang['adduser_associate'] = 'ƒOƒ‹[ƒv‚ɉÁ‚¦‚é';
+ $lang['group_add'] = 'ƒOƒ‹[ƒv‚̒ljÁ';
+ $lang['group_add_error1'] = 'ƒOƒ‹[ƒv–¼‚É‚Í " ‚â \' ‚ðŠÜ‚ñ‚Å‚Í‚¢‚¯‚Ü‚¹‚ñB';
+ $lang['group_add_error2'] = '‚±‚̃Oƒ‹[ƒv–¼‚ÍŠù‚ÉŽg—p‚³‚ê‚Ä‚¢‚Ü‚·B';
+ $lang['group_confirm'] = '–{“–‚É‚±‚̃Oƒ‹[ƒv‚ð휂µ‚Ä‚à‹X‚µ‚¢‚Å‚·‚© ?';
+ $lang['group_list_title'] = 'ƒOƒ‹[ƒvƒŠƒXƒg';
+ $lang['group_err_unknown'] = '‚±‚̃Oƒ‹[ƒv‚̓f[ƒ^ƒx[ƒX‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚¹‚ñB';
+ $lang['cat_permission'] = 'ƒp[ƒ~ƒbƒVƒ‡ƒ“';
+ $lang['cat_update'] = 'XV';
+ $lang['cat_add'] = 'ƒo[ƒ`ƒƒƒ‹ƒJƒeƒSƒŠ‚ð’ljÁ‚·‚é';
+ $lang['cat_parent'] = 'eƒJƒeƒSƒŠ';
+ $lang['cat_error_name'] = 'ƒJƒeƒSƒŠ[–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢';
+ $lang['cat_virtual'] = 'ƒo[ƒ`ƒƒƒ‹';
+ $lang['cat_first'] = '擪‚Ɉړ®';
+ $lang['cat_last'] = '––”ö‚Ɉړ®';
+ $lang['editcat_visible_info'] = '(ŠÇ—ŽÒˆÈŠO‚É”ñ•\Ž¦)';
+ $lang['editcat_visible'] = '•\Ž¦';
+ $lang['editcat_uploadable'] = 'ŽÊ^‚̃Aƒbƒvƒ[ƒh';
+ $lang['infoimage_keyword_separation'] = '(ƒRƒ“ƒ}‹æØ‚è ",")';
+ $lang['infoimage_addtoall'] = '‘S‚Ä‚ÉÝ’è';
+ $lang['infoimage_removefromall'] = 'Ý’è‚ðŽæ‚èÁ‚·';
+ $lang['infoimage_associate'] = '‘I‘ð‚µ‚½ƒJƒeƒSƒŠ‚ÉŠÖ˜A•t‚¯‚é';
+ $lang['update_wrong_dirname'] = 'ƒfƒBƒŒƒNƒgƒŠ–¼‹y‚уtƒ@ƒCƒ‹–¼‚͉p•¶Žš–”‚Í‹L†("-", "_" or ".")‚Å\¬‚³‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·';
+ $lang['stats_pages_seen'] = 'ƒy[ƒW‚ª‰{——‚³‚ê‚Ü‚µ‚½';
+ $lang['stats_visitors'] = 'ƒQƒXƒg';
+ $lang['stats_empty'] = '—š—ð‚ðƒNƒŠƒA‚·‚é';
+ $lang['stats_pages_seen_graph_title'] = '1“ú“–‚½‚è‚̃y[ƒW‰{——”';
+ $lang['stats_visitors_graph_title'] = '1“ú“–‚½‚è‚̃QƒXƒg‰{——”';
+ $lang['comments_last_title'] = 'ÅV‚̃Rƒƒ“ƒg';
+ $lang['comments_non_validated_title'] = '³”F‘Ò‚¿‚̃Rƒƒ“ƒg';
+ $lang['help_database'][1] = '1‰ñ‚ÌXV‚Å‘å—Ê‚ÌŽÊ^‚ðXV‚·‚邱‚Æ‚ð”ð‚¯‚éˆ×‚ÉAƒJƒeƒSƒŠ‚ÌXV‚Ì‚Ý‚ð‚¨Š©‚ß‚µ‚Ü‚·BƒJƒeƒSƒŠ‚ÌXVŒãAŠÇ—ƒpƒlƒ‹‚̃JƒeƒSƒŠ‚Å‚»‚ꂼ‚ê‚̃JƒeƒSƒŠ‚̉¡‚É‚ ‚éuXVv‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B';
+ $lang['help_upload'][3] = 'ŽÊ^‚ðƒAƒbƒvƒ[ƒh‚·‚é‚É‚ÍAƒJƒeƒSƒŠ‚ðƒAƒbƒvƒ[ƒh‰Â”\‚ÉÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B';
+ $lang['help_upload'][4] = 'ƒAƒbƒvƒ[ƒh‚µ‚½ƒCƒ[ƒW‚̓EƒFƒuƒTƒCƒg‚É’¼Ú•\Ž¦‚³‚ê‚Ü‚¹‚ñB•\Ž¦‚³‚ê‚éˆ×‚É‚ÍŠÇ—ŽÒ‚Ì”FØ‚ª•K—v‚Å‚·BŠÇ—ŽÒ‚ÍŠÇ—ƒpƒlƒ‹‚Ìu³”F‘Ò‚¿vƒƒjƒ…[‚ŃCƒ[ƒW‚Ì”FØ–”‚Í‹‘”Û‚ðs‚¤•K—v‚ª‚ ‚è‚Ü‚·B‚»‚ÌŒãAƒf[ƒ^ƒx[ƒX‚ÌXV‚ðs‚¢‚Ü‚·B';
+ $lang['help_virtual_title'] = 'ŽÊ^AƒJƒeƒSƒŠAƒo[ƒ`ƒƒƒ‹ƒJƒeƒSƒŠŠÔ‚̃Šƒ“ƒN';
+ $lang['help_virtual'][0] = 'PhpWebGallery‚ÍŽÊ^‚ª•Û‘¶‚³‚ê‚Ä‚¢‚éƒJƒeƒSƒŠ‚ÆŽÊ^‚ª•\Ž¦‚³‚ê‚Ä‚¢‚éƒJƒeƒSƒŠ‚𕪗£‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B';
+ $lang['help_virtual'][1] = 'ƒfƒtƒHƒ‹ƒg‚Å‚ÍAŽÊ^‚̓EƒFƒuƒT[ƒoã‚̃fƒBƒŒƒNƒgƒŠ‚ƈê’v‚·‚éƒJƒeƒSƒŠ“à‚É•\Ž¦‚³‚ê‚Ü‚· : ';
+ $lang['help_virtual'][2] = 'ŽÊ^‚ðƒJƒeƒSƒŠ‚ɃŠƒ“ƒN‚·‚é‚É‚ÍAŽÊ^ƒy[ƒW‚Å‚»‚ꂼ‚êŠÖ˜A•t‚¯‚é‚©AŠÇ—ƒpƒlƒ‹‚̃JƒeƒSƒŠ‚Å‘S‚Ä‚ÌŽÊ^‚ðŠÖ˜A•t‚¯‚Ä‚­‚¾‚³‚¢B';
+ $lang['help_virtual'][3] = '‚Ü‚½APhpWebGallery“à‚Ƀo[ƒ`ƒƒƒ‹ƒJƒeƒSƒŠ‚ð쬂·‚邱‚Æ‚ào—ˆ‚Ü‚·BƒJƒeƒSƒŠ‚̓fƒBƒŒƒNƒgƒŠ‚ƈê’v‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB ŠÇ—ƒpƒlƒ‹‚Ì"ƒJƒeƒSƒŠ"ƒZƒNƒVƒ‡ƒ“‚Å쬂µ‚Ä‚­‚¾‚³‚¢B';
+ $lang['help_groups_title'] = 'ƒ†[ƒU ƒOƒ‹[ƒv';
+ $lang['help_groups'][0] = 'PhpWebGallery‚ł̓†[ƒUƒOƒ‹[ƒv‚ÌŠÇ—‚ðs‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B‚±‚ê‚̓vƒ‰ƒCƒx[ƒgƒJƒeƒSƒŠ‚Ƀp[ƒ~ƒbƒVƒ‡ƒ“‚ðÝ’è‚·‚鎞‚É•Ö—˜‚Å‚·B';
+ $lang['help_groups'][1] = '1. —Ⴆ‚ΊǗƒpƒlƒ‹‚Ì"ƒOƒ‹[ƒv"ƒZƒNƒVƒ‡ƒ“‚Å"family"‚Æ‚¢‚¤–¼Ì‚̃Oƒ‹[ƒv‚ð쬂µ‚Ü‚·B';
+ $lang['help_groups'][2] = '2. "ƒ†[ƒU"ƒZƒNƒVƒ‡ƒ“‚ÅAƒ†[ƒU‚ð"family"‚ÉŠÖ˜A•t‚¯‚Ü‚·B';
+ $lang['help_groups'][3] = '3. ƒJƒeƒSƒŠ–”‚̓Oƒ‹[ƒv‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ð•ÏX‚·‚邱‚Æ‚ÅAƒJƒeƒSƒŠ‚ɑ΂·‚éƒOƒ‹[ƒv‚̃AƒNƒZƒXŒ ‚ðƒOƒ‹[ƒvƒƒ“ƒo[‚ÉŠ„‚è“–‚Ă邱‚Æ‚ªo—ˆ‚Ü‚·B';
+ $lang['help_groups'][4] = 'ƒ†[ƒU‚ÍŠô‚‚©‚̃Oƒ‹[ƒv‚É‘®‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·BŒ ŒÀ‚Í‹‘”Û‚æ‚è‚à—DˆÊ‚É‚ ‚è‚Ü‚·: —Ⴆ‚ÎA"jack"‚ª"family"‹y‚Ñ"friends"‚Æ‚¢‚¤ƒOƒ‹[ƒv‚É‘®‚µ‚Ä‚¢‚é‚Æ‚µ‚Ü‚·B"family"ƒOƒ‹[ƒv‚Ì‚Ý‚ª"Christmas 2003"ƒJƒeƒSƒŠ‚ðŒ©‚é‚±‚Æ‚ªo—ˆ‚éê‡A"jack"‚Í"Christmas 2003"‚ɃAƒNƒZƒX‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B';
+ $lang['help_access_title'] = 'ƒAƒNƒZƒXŒ ';
+ $lang['help_access'][0] = 'PhpWebGallery‚̓JƒeƒSƒŠ‚ւ̃AƒNƒZƒX‚ð‹ÖŽ~‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·BƒJƒeƒSƒŠ‚ÍuŒöŠJv‚Ü‚½‚Íuƒvƒ‰ƒCƒx[ƒgv‚ÉÝ’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·BƒJƒeƒSƒŠ‚ւ̃AƒNƒZƒX‚ð‹ÖŽ~‚·‚é‚É‚Í :';
+ $lang['help_access'][1] = '1. ŠÇ—ƒpƒlƒ‹‚Ì"ƒJƒeƒSƒŠ"ƒZƒNƒVƒ‡ƒ“‚ŃJƒeƒSƒŠî•ñ‚ð"ƒvƒ‰ƒCƒx[ƒg"‚É•ÏX‚µ‚Ü‚·';
+ $lang['help_access'][2] = '2. ƒOƒ‹[ƒv–”‚̓†[ƒUƒy[ƒW‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚Ƀvƒ‰ƒCƒx[ƒgƒJƒeƒSƒŠ‚ª•\Ž¦‚³‚ê‚Ü‚·B‚»‚±‚ŧŒÀ•t‚«ƒAƒNƒZƒX–”‚̓AƒNƒZƒX‹ÖŽ~‚ðÝ’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B';
+ $lang['help_infos'][2] = '•ª‚©‚ç‚È‚¢‚±‚Æ‚ª‚ ‚éꇂÍA‚½‚ß‚ç‚킸‚ɃtƒH[ƒ‰ƒ€‚ð‰{——‚·‚é‚©Ž¿–₵‚Ä‚­‚¾‚³‚¢B <a href="'.$conf['forum_url'].'" style="text-decoration:underline">ƒtƒH[ƒ‰ƒ€</a> (ŒfŽ¦”Â)‚ÍPhpWebGalleryƒz[ƒ€ƒy[ƒW‚Å‚²—˜—p‚¢‚½‚¾‚¯‚Ü‚·B';
+ $lang['step1_err_copy'] = 'ƒnƒCƒtƒ“‚̊Ԃ̃eƒLƒXƒg‚ð"include/mysql.inc.php"‚ɃRƒs[‚µ‚Ä‚­‚¾‚³‚¢B(Œx : mysql.inc.php‚É‚ÍÂF‚Ì•”•ª‚Ì‚Ý‚ðƒRƒs[‚µ‚Ä‚­‚¾‚³‚¢B‰üsƒR[ƒh‚âƒXƒy[ƒX‚ð“ü‚ê‚È‚¢‚Å‚­‚¾‚³‚¢B)';
+ $lang['permuser_only_private'] = 'ƒvƒ‰ƒCƒx[ƒgƒJƒeƒSƒŠ‚Ì‚Ý•\Ž¦‚³‚ê‚Ä‚¢‚Ü‚·';
+ $lang['waiting_update'] = 'ŽÊ^ƒf[ƒ^ƒx[ƒX‚ÌXVŒã‚ÍA³í‚ÈŽÊ^‚Ì‚Ý•\Ž¦‚³‚ê‚Ü‚·';
+ $lang['conf_upload_available_info'] = 'ƒEƒFƒuƒTƒCƒg‚̃JƒeƒSƒŠ‚Ƀ†[ƒU‚ªŽÊ^‚ðƒAƒbƒvƒ[ƒh‚·‚éê‡A‹–‰Â‚ª•K—v(ƒŠƒ‚[ƒgƒT[ƒo‚Å‚Í–³‚­)B‚±‚ê‚Í‘S‘Ì‚ÉŠÖŒW‚·‚éƒpƒ‰ƒ[ƒ^‚Å‚·BƒfƒtƒHƒ‹ƒg‚ł̓Aƒbƒvƒ[ƒh‰Â”\‚ȃJƒeƒSƒŠ‚Í‚ ‚è‚Ü‚¹‚ñ‚Ì‚ÅAƒJƒeƒSƒŠ–ˆ‚ɃAƒbƒvƒ[ƒh‚ð‹–‰Â‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B';
+ $lang['install_help'] = 'ƒwƒ‹ƒv‚ª•K—v‚Å‚·‚©? <a href="http://forum.phpwebgallery.net">PhpWebGalleryƒƒbƒZ[ƒWƒ{[ƒh</a>‚ÅŽ¿–₵‚Ä‚­‚¾‚³‚¢B';
+ $lang['install_warning'] = '"admin/install.php"‚ª‘¶Ý‚µ‚Ä‚¢‚Ü‚·BƒZƒLƒ…ƒŠƒeƒBãˆÀ‘S‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚̂ŃT[ƒo‚æ‚è휂µ‚Ä‚­‚¾‚³‚¢B';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+?> \ No newline at end of file
diff --git a/language/magyar.php b/language/magyar.php
new file mode 100644
index 000000000..a8080aeda
--- /dev/null
+++ b/language/magyar.php
@@ -0,0 +1,556 @@
+<?php
+/***************************************************************************
+ * magyar.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Béla Márkus <mbl@freemail.hu> *
+ * version : 1.00 *
+ * date : 25/10/2003 *
+ * *
+ * notes : Hungarian language file *
+ * : *
+ * : Only messages are relevant to users are translated; *
+ * : administrator texts are kept English for the moment *
+ * *
+ * $Id$
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+$lang['only_members'] = 'Az oldal csak regisztrált tagok számára érhetõ el';
+$lang['invalid_pwd'] = 'Érvénytelen jelszó!';
+$lang['access_forbiden'] = 'Nem vagy jogosult ennek az oldalna a megtekintésére';
+$lang['submit'] = 'Küldés';
+$lang['login'] = 'bejelentkezés';
+$lang['password'] = 'jelszó';
+$lang['new'] = 'új';
+$lang['delete'] = 'töröl';
+$lang['category'] = 'kategória';
+$lang['thumbnail'] = 'bélyegkép';
+$lang['date'] = 'dátum';
+$lang['diapo_default_page_title'] = 'Nincs kiválasztott kategória';
+$lang['thumbnails'] = 'Bélyegképek';
+$lang['categories'] = 'Kategóriák';
+$lang['hint_category'] = 'a kategória gyökerében lévõ képek megtekintése';
+$lang['total_images'] = 'összes';
+$lang['title_menu'] = 'Menü';
+$lang['change_login'] = 'belépés más néven';
+$lang['login'] = 'bejelentkezés';
+$lang['hint_login'] = 'bejelentkezés után testreszabhatod a program megjelenését';
+$lang['logout'] = 'kilépés';
+$lang['customize'] = 'testreszabás';
+$lang['hint_customize'] = 'a képtár megjelenésének testreszabása';
+$lang['hint_search'] = 'keresés';
+$lang['search'] = 'keresés';
+$lang['favorite_cat'] = 'kedvencek';
+$lang['favorite_cat_hint'] = 'kedvencek listázása';
+$lang['about'] = 'a programról';
+$lang['hint_about'] = 'további információk a PhpWebGallery-rõl';
+$lang['admin'] = 'rendszergazda';
+$lang['hint_admin'] = 'csak rendszergazdák számára érhetõ el';
+$lang['no_category'] = 'Nincs kiválasztott kategória<br />válassz ki egyet a menüben';
+$lang['page_number'] = 'oldal';
+$lang['previous_page'] = 'Elõzõ';
+$lang['next_page'] = 'Következõ';
+$lang['nb_image_category'] = 'Képek száma ebben a kategóriában';
+$lang['recent_image'] = '';
+$lang['days'] = 'napnál frissebb kép';
+$lang['send_mail'] = 'Véleményed van? Küldj email-t';
+$lang['title_send_mail'] = 'A comment on your site';
+$lang['sub-cat'] = 'alkategóriák';
+$lang['images_available'] = 'kép ebben a kategóriában';
+$lang['total'] = 'kép';
+$lang['upload_picture'] = 'Kép feltöltés';
+$lang['registration_date'] = 'regisztrálva';
+$lang['creation_date'] = 'létrehozva';
+$lang['comment'] = 'megjegyzés';
+$lang['author'] = 'szerzõ';
+$lang['size'] = 'méret';
+$lang['filesize'] = 'hossz';
+$lang['file'] = 'fájl';
+$lang['generation_time'] = 'Lap létrehozás ideje';
+$lang['favorites'] = 'Kedvencek';
+$lang['search_result'] = 'A keresés eredménye';
+$lang['about_page_title'] = 'A PhpWebGallery-ról';
+$lang['about_title'] = 'A programról';
+$lang['about_message'] = '<div style="text-align:center;font-weigh:bold;">Információ a PhpWebGallery-rõl</div>
+<ul>
+ <li>Ez az oldal a <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> '.$conf['version'].'-as verziót használja. A PhpWebGallery egy olyan web-es alkalmazás, mely on-line képtárak egyszerû létrehozását teszi lehetõvé.</li>
+ <li>A PhpWebGallery teljesen PHP-ben (az elePHPant) íródott és a MySQL (SQuirreL) adatbázis kezelõt használja.</li>
+ <li>Ha bármilyen javaslatod vagy megjegyzésed van, látogasd meg a <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> címet, és a hozzá tartozó <a href="'.$conf['forum_url'].'" style="text-decoration:underline">fórum</a>-ot.</li>
+</ul>';
+$lang['about_return'] = 'Vissza';
+$lang['ident_page_title'] = 'Azonosítás';
+$lang['ident_title'] = 'Azonosítás';
+$lang['ident_register'] = 'Regisztrálás';
+$lang['ident_forgotten_password'] = 'Elfelejtetted a jelszót ?';
+$lang['ident_guest_visit'] = 'A képtár megtekintése vendégként';
+$lang['customize_page_title'] = 'Testreszabás';
+$lang['customize_title'] = 'Testreszabás';
+$lang['customize_nb_image_per_row'] = 'kép soronként';
+$lang['customize_nb_row_per_page'] = 'sor oldalanként';
+$lang['customize_language'] = 'nyelv';
+$lang['maxwidth'] = 'legnagyobb kép szélesség';
+$lang['maxheight'] = 'legnagyobb kép magasság';
+$lang['err_maxwidth'] = 'a legnagyobb szélességnek 50-nél többnek kell lennie';
+$lang['err_maxheight'] = 'a legnagyobb magasságnak 50-nél többnek kell lennie';
+$lang['previous_image'] = 'Elõzõ';
+$lang['next_image'] = 'Következõ';
+$lang['back'] = 'Kattints a képre, ha vissza akarsz térni a bélyegképekhez';
+$lang['info_image_title'] = 'Kép információ';
+$lang['link_info_image'] = 'Információ módosítása';
+$lang['true_size'] = 'Valódi méret';
+$lang['comments_title'] = 'megjegyzés a látogatóktól';
+$lang['comments_del'] = 'megjegyzés törlése';
+$lang['comments_add'] = 'Megjegyzés hozzáadása';
+$lang['month'][1] = 'Január';
+$lang['month'][2] = 'Február';
+$lang['month'][3] = 'Március';
+$lang['month'][4] = 'Április';
+$lang['month'][5] = 'Május';
+$lang['month'][6] = 'Június';
+$lang['month'][7] = 'Július';
+$lang['month'][8] = 'Augusztus';
+$lang['month'][9] = 'Szeptember';
+$lang['month'][10] = 'Október';
+$lang['month'][11] = 'November';
+$lang['month'][12] = 'December';
+$lang['day'][0] = 'Vasárnap';
+$lang['day'][1] = 'Hétfõ';
+$lang['day'][2] = 'Kedd';
+$lang['day'][3] = 'Szerda';
+$lang['day'][4] = 'Csütörtök';
+$lang['day'][5] = 'Péntek';
+$lang['day'][6] = 'Szombat';
+$lang['add_favorites_alt'] = 'Hozzáadás a kedvencekhez';
+$lang['add_favorites_hint'] = 'Ennek a képnek a hozzáadása a kedvencekhez';
+$lang['del_favorites_alt'] = 'Törlés a kedvencekbõl';
+$lang['del_favorites_hint'] = 'Ennek a képnek a törlése a kedvencek közül';
+$lang['register_page_title'] = 'Regisztrálás';
+$lang['register_title'] = 'Regisztrálás';
+$lang['reg_err_login1'] = 'Jelentkezz be';
+$lang['reg_err_login2'] = 'a név nem végzõdhet szóközzel';
+$lang['reg_err_login3'] = 'a név nem kezdõdhet szóközzel';
+$lang['reg_err_login4'] = 'a név nem tartalmazhat " és \' karaktereket';
+$lang['reg_err_login5'] = 'ez a név már foglalt';
+$lang['reg_err_pass'] = 'ismételd meg a jelszót';
+$lang['reg_confirm'] = 'megerõsítés';
+$lang['reg_err_mail_address'] = 'a levelezési cím xxx@yyy.eee formájú legyen(example : jack@altern.org)';
+$lang['search_title'] = 'Keresés';
+$lang['invalid_search'] = 'keresésnél legalább 3 karaktert kell megadni';
+$lang['search_field_search'] = 'Keresés';
+$lang['search_return_main_page'] = 'Visszatérés a bélyegképekhez';
+$lang['upload_forbidden'] = 'Nem tölthetõ fel kép ebbe a kategóriába';
+$lang['upload_file_exists'] = 'Ilyen néven már van kép';
+$lang['upload_filenotfound'] = 'Meg kell adni a fájl formátumot';
+$lang['upload_cannot_upload'] = 'nem tölthetõ fel a kép a szerverre';
+$lang['upload_title'] = 'Kép feltöltése';
+$lang['upload_advise'] = 'Válaszd ki a feltöltendõ képet ebbe a kategóriába: ';
+$lang['upload_advise_thumbnail'] = 'Nem kötelezõ, de javasolt : válaszd ki a bélyegképet ';
+$lang['upload_advise_filesize'] = 'a file legnagyobb megengedett mérete : ';
+$lang['upload_advise_width'] = 'a kép legnagyobb megengedett szélessége : ';
+$lang['upload_advise_height'] = 'a kép legnagyobb megengedett magassága : ';
+$lang['upload_advise_filetype'] = 'a képnek jpg, gif vagy png formátumúnak kell lennie';
+$lang['upload_err_username'] = 'meg kell adni a felhasználói nevet';
+$lang['upload_username'] = 'Felhasználói név';
+$lang['upload_successful'] = 'A kép feltöltésre került; a rendszergazda hamarosan engedélyezni fogja';
+// new or modified in release 1.3
+$lang['charset'] = 'iso-8859-2';
+$lang['no'] = 'nem';
+$lang['yes'] = 'igen';
+$lang['guest'] = 'vendég';
+$lang['mail_address'] = 'email cím';
+$lang['public'] = 'nyílvános';
+$lang['private'] = 'privát';
+$lang['add'] = 'hozzáadás';
+$lang['dissociate'] = 'szétválasztás';
+$lang['mandatory'] = 'kötelezõ';
+$lang['err_date'] = 'hibás dátum';
+$lang['picture'] = 'kép';
+$lang['IP'] = 'IP';
+$lang['close'] = 'bezárás';
+$lang['open'] = 'megnyitás';
+$lang['keywords'] = 'kulcsszavak';
+$lang['errors_title'] = 'Hiba';
+$lang['infos_title'] = 'Információk';
+$lang['default'] = 'alapértelmezett';
+$lang['comments'] = 'megjegyzés';
+$lang['category_representative'] = 'representative';
+$lang['stats'] = 'statisztikák';
+$lang['most_visited_cat_hint'] = 'legtöbbet nézett képek';
+$lang['most_visited_cat'] = 'legtöbbet nézett';
+$lang['best_rated_cat_hint'] = 'legjobbnak minõsített képek listázása';
+$lang['best_rated_cat'] = 'legjobbnak minõsített';
+$lang['recent_cat_hint'] = 'legújabb képek listázása';
+$lang['recent_cat'] = 'legújabbak';
+$lang['recent_cat_title'] = 'Legújabb képek';
+$lang['visited'] = 'megtekintve';
+$lang['times'] = 'alkalommal';
+$lang['customize_theme'] = 'téma';
+$lang['customize_expand'] = 'valamennyi kategória kibontása';
+$lang['customize_show_nb_comments'] = 'megjegyzés szám';
+$lang['customize_short_period'] = 'rövid periódus';
+$lang['customize_long_period'] = 'hosszú periódus';
+$lang['customize_template'] = 'téma';
+$lang['err_periods'] = 'a periódusnak egész számnak kell lennie';
+$lang['err_periods_2'] = 'a periódusnak nullánál nagyobbnak kell lennie. A hosszú periódusnak a rövidnél nagyobbnak kell lennie.';
+$lang['create_cookie'] = 'süti létrehozása';
+$lang['customize_day'] = 'nap';
+$lang['customize_week'] = 'hét';
+$lang['customize_month'] = 'hónap';
+$lang['customize_year'] = 'év';
+$lang['slideshow'] = 'diavetítés';
+$lang['period_seconds'] = 'másodperc képenként';
+$lang['slideshow_stop'] = 'diavetítés leállítása';
+$lang['comment_added'] = 'A megjegyzésed rögzítve lett';
+$lang['comment_to_validate'] = 'A rendszergazdának engedélyeznie kell, mielõtt megjelenik';
+$lang['comment_anti-flood'] = 'Várj egy kicsit az újabb megjegyzés beírásával';
+$lang['comment_user_exists'] = 'Ezt a nevet már valaki használja';
+$lang['invalid_search'] = 'A keresett szavaknak 3 karakternél hosszabbnak kell lenniük és nem tartalmazhatnak írásjeleket';
+$lang['search_mode_or'] = 'legalább egy szó';
+$lang['search_mode_and'] = 'összes szó';
+$lang['search_comments'] = 'válaszd el a szavakat szóközzel';
+$lang['upload_name'] = 'Kép neve';
+$lang['upload_author'] = 'Szerzõ (pl. "Pierrick LE GALL")';
+$lang['upload_creation_date'] = 'Létrehozás dátuma (NN/HH/ÉÉÉÉ)';
+$lang['upload_comment'] = 'Megjegyzés';
+$lang['mail_hello'] = 'Szia,';
+$lang['mail_new_upload_subject'] = 'Új kép van az oldalon.';
+$lang['mail_new_upload_content'] = 'Új kép került feltöltésre és a jóváhagyásodra vár. Engedélyezheted vagy törölheted a rendszergazdai menüben.';
+$lang['mail_new_comment_subject'] = 'Új megjegyzés van az oldalon.';
+$lang['mail_new_comment_content'] = 'Új megjegyzés került rögzítésre. Ahhoz, hogy látható legyen, elõször engedélyezned kell a rendszergazdai menüben';
+$lang['connected_user'] = 'felhasználó';
+$lang['title_comments'] = 'A felhasználók megjegyzései';
+$lang['stats_last_days'] = 'napon';
+$lang['hint_comments'] = 'Legutóbbi megjegyzések';
+$lang['menu_login'] = 'belépés';
+//-------------------------------------------------------------- administration
+if ( $isadmin )
+{
+ $lang['title_liste_users'] = 'Users list';
+ $lang['title_history'] = 'History';
+ $lang['title_update'] = 'Database update';
+ $lang['title_configuration'] = 'PhpWebGallery configuration';
+ $lang['title_instructions'] = 'Instructions';
+ $lang['title_categories'] = 'Categories management';
+ $lang['title_edit_cat'] = 'Edit a category';
+ $lang['title_info_images'] = 'Modify category\'s image information';
+ $lang['title_thumbnails'] = 'Thumbnail creation';
+ $lang['title_thumbnails_2'] = 'for';
+ $lang['title_default'] = 'PhpWebGallery administration';
+ $lang['menu_title'] = 'Administration';
+ $lang['menu_config'] = 'Configuration';
+ $lang['menu_users'] = 'Users';
+ $lang['menu_add_user'] = 'add';
+ $lang['menu_list_user'] = 'list';
+ $lang['menu_categories'] = 'Categories';
+ $lang['menu_update'] = 'Database update';
+ $lang['menu_thumbnails'] = 'Thumbnails';
+ $lang['menu_history'] = 'History';
+ $lang['menu_instructions'] = 'Instructions';
+ $lang['menu_back'] = 'Back to galleries';
+ $lang['title_waiting'] = 'Pictures waiting for validation';
+ $lang['menu_waiting'] = 'Waiting';
+ $lang['default_message'] = 'PhpWebGallery administration panel';
+ $lang['conf_err_prefixe'] = 'thumbnail\'s prefix mustn\'t contain any accentued character';
+ $lang['conf_err_mail'] = 'e-mail address refused, it must be like name@server.com';
+ $lang['conf_err_sid_size'] = 'the session identifier size must be an integer value between 4 and 50';
+ $lang['conf_err_sid_time'] = 'the session time must be an integer value between 5 and 60';
+ $lang['conf_err_max_user_listbox'] = 'the max user listbox number must be an integer value between 0 and 255';
+ $lang['conf_confirmation'] = 'Information data registered in database';
+ $lang['conf_general_title'] = 'Main configuration';
+ $lang['conf_general_webmaster'] = 'webmaster login';
+ $lang['conf_general_webmaster_info'] = 'It will be shown to the visitors. It is necessary for website administration';
+ $lang['conf_general_mail'] = 'webmaster mail adress';
+ $lang['conf_general_mail_info'] = 'Visitors will be able to contact by this mail';
+ $lang['conf_general_prefix'] = 'thumbnail prefix';
+ $lang['conf_general_prefix_info'] = 'Thumbnails use this prefix. Do not fill if your not sure.';
+ $lang['conf_general_access'] = 'access type';
+ $lang['conf_general_access_1'] = 'free';
+ $lang['conf_general_access_2'] = 'restricted';
+ $lang['conf_general_access_info'] = '- free : anyone can enter the site, any visitor can create an account in order to customize the appareance of the website<br />- restricted : the webmaster create accounts. Only registered users can enter the site';
+ $lang['conf_general_max_user_listbox'] = 'max listbox users number';
+ $lang['conf_general_max_user_listbox_info'] = '- this is the number maximum of users for which PhpWebGallery display a listbox instead of a simple text box on the identification page<br />- enter a number between 0 and 255, 0 means that you want to display the listbox';
+ $lang['conf_comments'] = 'users comments';
+ $lang['conf_comments_title'] = 'Configuration of '.$lang['conf_comments'];
+ $lang['conf_comments_show_comments'] = $lang['conf_comments'];
+ $lang['conf_comments_show_comments_info'] = 'display the users comments under each picture ?';
+ $lang['conf_comments_comments_number'] = 'number of comments per page';
+ $lang['conf_comments_comments_number_info'] = 'number of comments to display on each page. This number is unlimited for a picture. Enter a number between 5 and 50.';
+ $lang['conf_err_comment_number'] = 'The number of comments a page must be between 5 and 50 included.';
+ $lang['conf_remote_site_delete_info'] = 'Deleting a remote server will delete all the image and the categories in relation with this server.';
+ $lang['conf_upload_title'] = 'Configuration of the users upload';
+ $lang['conf_upload_available'] = 'authorized the upload of pictures';
+ $lang['conf_upload_maxfilesize'] = 'maximum filesize';
+ $lang['conf_upload_maxfilesize_info'] = 'Maximum filesize for the uploaded pictures. Must be a number between 10 and 1000 KB.';
+ $lang['conf_err_upload_maxfilesize'] = 'Maximum filesize for the uploaded pictures must be a number between 10 and 1000 KB.';
+ $lang['conf_upload_maxwidth'] = 'maximum width';
+ $lang['conf_upload_maxwidth_info'] = 'Maximum width authorized for the uploaded images. Must be a number superior to 10 pixels';
+ $lang['conf_err_upload_maxwidth'] = 'maximum width authorized for the uploaded images must be a number superior to 10 pixels.';
+ $lang['conf_upload_maxheight'] = 'maximum height';
+ $lang['conf_upload_maxheight_info'] = 'Maximum height authorized for the uploaded images. Must be a number superior to 10 pixels';
+ $lang['conf_err_upload_maxwidth'] = 'maximum height authorized for the uploaded images must be a number superior to 10 pixels.';
+ $lang['conf_upload_maxwidth_thumbnail'] = 'thumbnails maximum width';
+ $lang['conf_upload_maxwidth_thumbnail_info'] = 'Maximum width authorized for the uploaded thumbnails. Must be a number superior to 10 pixels';
+ $lang['conf_err_upload_maxwidth_thumbnail'] = 'Maximum width authorized for the uploaded thumbnails must be a number superior to 10 pixels.';
+ $lang['conf_upload_maxheight_thumbnail'] = 'thumbnails maximum height';
+ $lang['conf_upload_maxheight_thumbnail_info'] = 'Maximum height authorized for the uploaded thumbnails. Must be a number superior to 10 pixels';
+ $lang['conf_err_upload_maxheight_thumbnail'] = 'Maximum height authorized for the uploaded thumbnails must be a number superior to 10 pixels.';
+ $lang['conf_default_title'] = 'Default display properties for unregistered visitors and new accounts';
+ $lang['conf_default_language_info'] = 'default language';
+ $lang['conf_default_theme_info'] = 'default theme';
+ $lang['conf_session_title'] = 'Sessions configuration';
+ $lang['conf_session_size'] = 'identifier size';
+ $lang['conf_session_size_info'] = '- the longer your identifier is, the more secure your site is<br />- enter a number between 4 and 50';
+ $lang['conf_session_time'] = 'validity period';
+ $lang['conf_session_time_info'] = '- the shorter the validity period is, the more secure your site is<br />- enter a number between 5 and 60, in minutes';
+ $lang['conf_session_key'] = 'keyword';
+ $lang['conf_session_key_info'] = '- the session keyword improve the encoding of the session identifier<br />- enter any sentence shorter than 255 caracters';
+ $lang['conf_session_delete'] = 'delete out-of-date sessions';
+ $lang['conf_session_delete_info'] = 'it is recommanded to empty the database table of session, because out-of-date sessions remains in the database (but it doesn\'t make any security trouble)';
+ $lang['user_err_modify'] = 'This user can\'t be modified or deleted';
+ $lang['user_err_unknown'] = 'This user doesn\'t exist in the database';
+ $lang['adduser_info_message'] = 'Informations registered in the database for user ';
+ $lang['adduser_info_password_updated'] = '(password updated)';
+ $lang['adduser_info_back'] = 'back to the users list';
+ $lang['adduser_fill_form'] = 'Please fill the following form';
+ $lang['adduser_unmodify'] = 'unmodifiable';
+ $lang['adduser_status'] = 'status';
+ $lang['adduser_status_admin'] = 'admin';
+ $lang['adduser_status_guest'] = 'guest';
+ $lang['permuser_info_message'] = 'Permissions registered';
+ $lang['permuser_title'] = 'Restrictions for user';
+ $lang['permuser_warning'] = 'Warning : a "<span style="font-weight:bold;">forbidden access</span>" to the root of a category prevent from accessing the whole category';
+ $lang['permuser_authorized'] = 'authorized';
+ $lang['permuser_forbidden'] = 'forbidden';
+ $lang['permuser_parent_forbidden'] = 'parent category forbidden';
+ $lang['listuser_confirm'] = 'Do you really want to delete this user';
+ $lang['listuser_info_deletion'] = 'was removed from database';
+ $lang['listuser_user_group'] = 'Users group';
+ $lang['listuser_modify'] = 'modify';
+ $lang['listuser_modify_hint'] = 'modify informations of';
+ $lang['listuser_permission'] = 'permissions';
+ $lang['listuser_permission_hint'] = 'modify permissions of';
+ $lang['listuser_delete'] = 'delete';
+ $lang['listuser_delete_hint'] = 'delete user';
+ $lang['listuser_button_all'] = 'all';
+ $lang['listuser_button_invert'] = 'invert';
+ $lang['listuser_button_create_address'] = 'create mail address';
+ $lang['cat_invisible'] = 'invisible';
+ $lang['cat_edit'] = 'Edit';
+ $lang['cat_up'] = 'Move up';
+ $lang['cat_down'] = 'Move down';
+ $lang['cat_image_info'] = 'Images info';
+ $lang['cat_total'] = 'total';
+ $lang['editcat_confirm'] = 'Information registered in the database';
+ $lang['editcat_back'] = 'categories';
+ $lang['editcat_title1'] = 'Options for the';
+ $lang['editcat_name'] = 'Name';
+ $lang['editcat_comment'] = 'Comment';
+ $lang['editcat_status'] = 'Status';
+ $lang['infoimage_general'] = 'General options for the category';
+ $lang['infoimage_useforall'] = 'use for all pictures ?';
+ $lang['infoimage_creation_date'] = 'creation date';
+ $lang['infoimage_detailed'] = 'Option for each picture';
+ $lang['infoimage_title'] = 'title';
+ $lang['infoimage_comment'] = 'comment';
+ $lang['update_missing_tn'] = 'the thumbnail is missing for';
+ $lang['update_disappeared_tn'] = 'the thumbnail disapeared';
+ $lang['update_disappeared'] = 'doesn\'t exist';
+ $lang['update_part_deletion'] = 'Deletion of images that have no thumbnail or that doesn\'t exist';
+ $lang['update_deletion_conclusion'] = 'pictures removed from database';
+ $lang['update_part_research'] = 'Search for new images in the directories';
+ $lang['update_research_added'] = 'added';
+ $lang['update_research_tn_ext'] = 'thumbnail in';
+ $lang['update_research_conclusion'] = 'pictures added to the database';
+ $lang['update_default_title'] = 'Choose an option';
+ $lang['update_only_cat'] = 'update categories, not pictures';
+ $lang['update_all'] = 'update all';
+ $lang['tn_width'] = 'width';
+ $lang['tn_height'] = 'height';
+ $lang['tn_no_support'] = 'Picture unreachable or no support';
+ $lang['tn_format'] = 'for the file format';
+ $lang['tn_thisformat'] = 'for this file format';
+ $lang['tn_err_width'] = 'width must be a number superior to';
+ $lang['tn_err_height'] = 'height must be a number superior to';
+ $lang['tn_results_title'] = 'Results of miniaturization';
+ $lang['tn_picture'] = 'picture';
+ $lang['tn_results_gen_time'] = 'generated in';
+ $lang['tn_stats'] = 'General statistics';
+ $lang['tn_stats_nb'] = 'number of miniaturized pictures';
+ $lang['tn_stats_total'] = 'total time';
+ $lang['tn_stats_max'] = 'max time';
+ $lang['tn_stats_min'] = 'min time';
+ $lang['tn_stats_mean'] = 'average time';
+ $lang['tn_err'] = 'You made mistakes';
+ $lang['tn_params_title'] = 'Miniaturization parameters';
+ $lang['tn_params_GD'] = 'GD version';
+ $lang['tn_params_GD_info'] = '- GD is the picture manipulating library for PHP<br />-choose the version installed on your server. If you choose the wrong, you\'ll just have errors messages, come back with your browser and choose the other version. If no version works, it means your server doesn\'t support GD.';
+ $lang['tn_params_width_info'] = 'maximum width that thumbnails can take';
+ $lang['tn_params_height_info'] = 'maximum height that thumbnails can take';
+ $lang['tn_params_create'] = 'create';
+ $lang['tn_params_create_info'] = 'Do not try to miniaturize too many pictures in the same time.<br />Indeed, miniaturization uses a lot of CPU. If you installed PhpWebGallery on a free provider, a too high CPU load can sometime lead to the deletion of your website.';
+ $lang['tn_params_format'] = 'file format';
+ $lang['tn_params_format_info'] = 'only jpeg file format is supported for thumbnail creation';
+ $lang['tn_alone_title'] = 'pictures without thumbnail (jpeg and png only)';
+ $lang['tn_dirs_title'] = 'Directories list';
+ $lang['tn_dirs_alone'] = 'pictures without thumbnail';
+ $lang['help_images_title'] = 'Adding pictures';
+ $lang['help_images_intro'] = 'How to place pictures in your directories';
+ $lang['help_images'][0] = 'in the directory "galleries", create directories that will represent your categories';
+ $lang['help_images'][1] = 'in each directory, you can create as many sub-level directories as you wish.';
+ $lang['help_images'][2] = 'you can create as many categories and sub-categories for each category as you wish';
+ $lang['help_images'][3] = 'picture files must have jpeg format (extension jpg or JPG), gif format (extension gif or GIF) or png format (extension png or PNG).';
+ $lang['help_images'][4] = 'try not to use blank space " " or hyphen "-" in picture files, I advise you to use underscore "_" character which is managed by PhpWebGallery and will provide better results';
+ $lang['help_thumbnails_title'] = 'Thumbnails';
+ $lang['help_thumbnails'][0] = 'in each directory containing picture to display on your site, there is a sub-directory nammed "thumbnail", if it doesn\'t exist, create it to place your thumbnails into it.';
+ $lang['help_thumbnails'][1] = 'thumbnails don\'t need to have the same extension as their associated picture (a picture with .jpg extension can have a thumbnail in .GIF extention for instance).';
+ $lang['help_thumbnails'][2] = 'the thumbnail associated to a picture must be prefixed with the prefix given on the configuration page(image.jpg -> TN_image.GIF for instance).';
+ $lang['help_thumbnails'][3] = 'I advise you to use the module for windows downloadable on the presentation site of PhpWebGallery for thumbnails management.';
+ $lang['help_thumbnails'][4] = 'you can use the thumbnail creation page integrated in PhpWebGallery, but I don\'t advice you so, because thumbnail quality may be poor and it uses a high CPU load which can be a problem if you use free web hosting.';
+ $lang['help_thumbnails'][5] = 'if you choose to use your hosting provider to create thumbnails, you must give 775 rights on "galleries" folder and all its sub-folders.';
+ $lang['help_database_title'] = 'Updating database';
+ $lang['help_database'][0] = 'once pictures files and thumbnails correctly placed in the directories, clic on "database update" in the menu of the administration panel.';
+ $lang['help_infos_title'] = 'Miscellanous informations';
+ $lang['help_infos'][1] = 'As soon as you created your gallery, go in the user list and modify permissions for user "visiteur". Indeed, every new registered users will have by default the same permissions as "visiteur" user.';
+ $lang['help_remote_title'] = 'Remote site';
+ $lang['help_remote'][0] = 'PhpWebGallery offers the possibility to use several servers to store the images which will compose your gallery. It can be useful if your gallery is installed on one limited space and that you have a big quantity of images to be shown. Please , follow this procedure : ';
+ $lang['help_remote'][1] = '1. edit file "create_listing_file.php" (you will find it in the directory "admin"), by modifying the line "$prefix_thumbnail = "TN-";" if the prefix for your thumbnails is not "TN-".';
+ $lang['help_remote'][2] = '2. place file "create_listing_file.php" modified on your distant website, in the root directory of your directories of images (as the directory "galleries" of this website) by ftp.';
+ $lang['help_remote'][3] = '3. launch script using the url http://domaineDistant/repGalerie/create_listing_file.php, a file listing.xml has just been created.';
+ $lang['help_remote'][4] = '4. get back file listing.xml from your distant website to place it in directory "admin" of this website.';
+ $lang['help_remote'][5] = '5. please , launch an update of the data of images by the interface of administration, once the listing.xml used file, kill it from the directory "admin".';
+ $lang['help_remote'][6] = 'You can update the contents of a distant website by redoing the described manipulation. You can also kill a distant website by choosing the option in the configuration section of the administration panel.';
+ $lang['help_upload_title'] = 'Added images by users';
+ $lang['help_upload'][0] = 'PhpWebGallery offers the possibility for users to upload images. in order to do it :';
+ $lang['help_upload'][1] = '1. authorize the option in the configuration zone of the administration panel';
+ $lang['help_upload'][2] = '2. authorize the rights in writing in the images directories';
+ $lang['install_message'] = 'Message';
+ $lang['step1_confirmation'] = 'Parameters are correct';
+ $lang['step1_err_db'] = 'Connection to server succeed, but it was impossible to connect to database';
+ $lang['step1_err_server'] = 'Can\'t connect to server';
+ $lang['step1_err_copy_2'] = 'The next step of the installation is now possible';
+ $lang['step1_err_copy_next'] = 'next step';
+ $lang['step1_title'] = 'Step 1/2';
+ $lang['step1_host'] = 'MySQL host';
+ $lang['step1_host_info'] = 'localhost, sql.multimania.com, toto.freesurf.fr';
+ $lang['step1_user'] = 'user';
+ $lang['step1_user_info'] = 'user login given by your host provider';
+ $lang['step1_pass'] = 'Password';
+ $lang['step1_pass_info'] = 'user password given by your host provider';
+ $lang['step1_database'] = 'Database name';
+ $lang['step1_database_info'] = 'also given by your host provider';
+ $lang['step1_prefix'] = 'Database table prefix';
+ $lang['step1_prefix_info'] = 'database tables names will be prefixed with it (enables you to manage better your tables)';
+ $lang['step2_err_login1'] = 'enter a login for webmaster';
+ $lang['step2_err_login3'] = 'webmaster login can\'t contain characters \' or "';
+ $lang['step2_err_pass'] = 'please enter your password again';
+ $lang['step2_err_mail'] = $lang['conf_err_mail'];
+ $lang['install_end_title'] = 'Installation finished';
+ $lang['install_end_message'] = 'The configuration of PhpWebGallery is finished, here is the next step<br /><br />
+For security reason, please delete file "install.php" in the directory "admin"<br />
+Once this file deleted , follow this instructions :
+<ul>
+ <li>go to the identification page : [ <a href="../identification.php">identification</a> ] and use the login/password given for webmaster</li>
+ <li>this login will enable you to access to the [ <a href="admin.php">administration panel</a> ] and to the instructions in order to place pictures in your directories</li>
+</ul>';
+ $lang['step2_title'] = 'Step 2/2';
+ $lang['step2_pwd'] = 'webmaster password';
+ $lang['step2_pwd_info'] = 'Keep it confidential, it enables you to access administration panel';
+ $lang['step2_pwd_conf'] = 'confirm password';
+ $lang['step2_pwd_conf_info'] = 'verification';
+ // new or modified in release 1.3
+ $lang['remote_site'] = 'Remote site';
+ $lang['title_add'] = 'Add a user';
+ $lang['title_modify'] = 'Modify a user';
+ $lang['title_groups'] = 'Groups management';
+ $lang['title_user_perm'] = 'Modify permission for user';
+ $lang['title_cat_perm'] = 'Modify permissions for category';
+ $lang['title_group_perm'] = 'Modify permissions for group';
+ $lang['title_picmod'] = 'Modify informations about a picture';
+ $lang['menu_groups'] = 'Groups';
+ $lang['menu_comments'] = 'Comments';
+ $lang['conf_general_log'] = 'history';
+ $lang['conf_general_log_info'] = 'Keep an history of visits on your website ? Visits will be shown in the history section of the administration panel';
+ $lang['conf_general_mail_notification'] = 'Mail notification';
+ $lang['conf_general_mail_notification_info'] = 'Automated mail notification for adminsitrators (and only for them) when a user add a comment or upload a picture.';
+ $lang['conf_comments_validation'] = 'validation';
+ $lang['conf_comments_validation_info'] = 'An administrator validate users posted comments before the becom visible on the site';
+ $lang['conf_comments_forall'] = 'for all ?';
+ $lang['conf_comments_forall_info'] = 'Even guest not registered can post comments';
+ $lang['conf_default_nb_image_per_row_info'] = 'number of pictures for each row by default';
+ $lang['conf_default_nb_row_per_page_info'] = 'number of rows by page by default';
+ $lang['conf_default_short_period_info'] = 'By days. Period within a picture is shown with a red mark. The short period must be superior to 1 day.';
+ $lang['conf_default_long_period_info'] = 'By days. Period within a picture is shown with a green mark. The long period must be superior to the short period.';
+ $lang['conf_default_expand_info'] = 'expand all categories by default in the menu ?';
+ $lang['conf_default_show_nb_comments_info'] = 'show the number of comments for each picture on the thumbnails page';
+ $lang['conf_default_maxwidth_info'] = 'Maximum width for display pictures : picture will have a new width only for display, picture files won\'t be changed. Let empty if you don\'t wish to have a limit.';
+ $lang['conf_default_maxheight_info'] = 'Just as the maximum width, but for the height';
+ $lang['conf_session_cookie'] = 'authorize cookies';
+ $lang['conf_session_cookie_info'] = 'users won\'t have to log on each visit any more. Less secure.';
+ $lang['adduser_associate'] = 'Associate to group';
+ $lang['group_add'] = 'Add a group';
+ $lang['group_add_error1'] = 'The name of a group must not contain " or \'';
+ $lang['group_add_error2'] = 'This name is already used by another group';
+ $lang['group_confirm'] = 'Are you sure you want to remove this group ?';
+ $lang['group_list_title'] = 'List of existing groups';
+ $lang['group_err_unknown'] = 'This group doesn\'t exist in the database';
+ $lang['cat_permission'] = 'permissions';
+ $lang['cat_update'] = 'update';
+ $lang['cat_add'] = 'Add a virtual category';
+ $lang['cat_parent'] = 'parent category';
+ $lang['cat_error_name'] = 'The name of a category mustn\'t be empty';
+ $lang['cat_virtual'] = 'virtual';
+ $lang['cat_first'] = 'Move first';
+ $lang['cat_last'] = 'Move last';
+ $lang['editcat_visible_info'] = '(invisible but for administrators)';
+ $lang['editcat_visible'] = 'Visible';
+ $lang['editcat_uploadable'] = 'Upload available';
+ $lang['infoimage_keyword_separation'] = '(separate with coma ",")';
+ $lang['infoimage_addtoall'] = 'add to all';
+ $lang['infoimage_removefromall'] = 'remove from all';
+ $lang['infoimage_associate'] = 'Associate to the category';
+ $lang['update_wrong_dirname'] = 'The name of directories and files must be composed of letters, figures, "-", "_" or "."';
+ $lang['stats_pages_seen'] = 'pages seen';
+ $lang['stats_visitors'] = 'guests';
+ $lang['stats_empty'] = 'empty history';
+ $lang['stats_pages_seen_graph_title'] = 'Number of pages seen by day';
+ $lang['stats_visitors_graph_title'] = 'Number of guests by day';
+ $lang['comments_last_title'] = 'Last comments';
+ $lang['comments_non_validated_title'] = 'Comments waiting for validation';
+ $lang['help_database'][1] = 'In order to avoid the update of too many pictures in a single update, I advise to start by updating only categories, then on the categories section of the administration panel, update each category thanks to the link "update"';
+ $lang['help_upload'][3] = 'The category must have upload available itself for upload.';
+ $lang['help_upload'][4] = 'Uploaded images by the users are not directly visible on the website, they must be validated by an administrator. For that purpose, an administrator must go on the page "en attente" of the administration panel, to validate or to refuse the images proposed, then launch an update of the images data.';
+ $lang['help_virtual_title'] = 'Links between pictures and categories and virtual categories';
+ $lang['help_virtual'][0] = 'PhpWebGallery is able to dissociate categories where pictures are stored and categories where pictures are shown.';
+ $lang['help_virtual'][1] = 'By default, pictures are shown only in their real categories : the ones corresponding to directories on the web server.';
+ $lang['help_virtual'][2] = 'To link a picture to a category, you just have to make the association on the page of picture informations or on the informations of all pictures of a category.';
+ $lang['help_virtual'][3] = 'Using this principle, it is possible to create virtual categories in PhpWebGallery : no real directory coresponds to this category. You just have to create this category on the section "categories" of the admin panel.';
+ $lang['help_groups_title'] = 'Users Groups';
+ $lang['help_groups'][0] = 'PhpWebGallery is able to manage groups of users. It can be very useful to have common permission access for private categories.';
+ $lang['help_groups'][1] = '1. Create the group "family" on the section "Groups" of admin panel.';
+ $lang['help_groups'][2] = '2. On the section "Users", edit on of them and associate him to the group "family".';
+ $lang['help_groups'][3] = '3. By modifying the permissions for a category or for a group, you\'ll see that all categories accessible for a group are accessible for its members.';
+ $lang['help_groups'][4] = 'A user can belong to several groups. The authorization is stronger than prohibition : if a user "jack" belongs to the group "family" and "friends", and that only group "family" can see category "Christmas 2003", "jack" will be able to see "Christmas 2003".';
+ $lang['help_access_title'] = 'Access authorization';
+ $lang['help_access'][0] = 'PhpWebGallery is able to forbid access to categories. Categories can be "public" or "private". In order to forbid access to a category :';
+ $lang['help_access'][1] = '1. Modify category informations (from the "categories" section in tha admin panel) and make it "private".';
+ $lang['help_access'][2] = '2. On the page of permissions (for a group or a user) the private category will be shown and you\'ll be able to authorize access or not.';
+ $lang['help_infos'][2] = 'If you have any question, do not hesitate to take a look at the forum or ask a question there. The <a href="'.$conf['forum_url'].'" style="text-decoration:underline">forum</a> (message board) is available on the presentation site of PhpWebGallery.';
+ $lang['step1_err_copy'] = 'Copy the text between hyphens and paste it into the file "include/mysql.inc.php"(Warning : mysql.inc.php must only contain what is in blue, no line return or space character)';
+ $lang['permuser_only_private'] = 'Only private categories are shown';
+ $lang['waiting_update'] = 'Validated pictures will be displayed only once pictures database updated';
+ $lang['conf_upload_available_info'] = 'Authorizing the upload of pictures by users on the categories of the website (not on a remote server). This is general parameter, it is needed to authorize upload category by category, by default, no category is "uploadable".';
+ $lang['install_help'] = 'Need help ? Ask your question on <a href="http://forum.phpwebgallery.net">PhpWebGallery message board</a>.';
+ $lang['install_warning'] = 'The file "admin/install.php" is still present. Please remove it from your server. It is not secure to keep it.';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+?>
diff --git a/language/norsk.php b/language/norsk.php
new file mode 100644
index 000000000..06578622d
--- /dev/null
+++ b/language/norsk.php
@@ -0,0 +1,680 @@
+<?php
+/***************************************************************************
+ * norsk.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * translation : Roy Hansen <roy.hansen@broadpark.no> *
+ * *
+ * $Id$
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+$lang['only_members'] = 'Bare medlemmer har adgang';
+$lang['invalid_pwd'] = 'Feil passord!';
+$lang['access_forbiden'] = 'Du har ikke adgang til denne siden';
+$lang['submit'] = 'Send';
+$lang['login'] = 'Bruker';
+$lang['password'] = 'Passord';
+$lang['new'] = 'Nytt';
+$lang['delete'] = 'Slett';
+$lang['category'] = 'Album';
+$lang['thumbnail'] = 'Miniatyrbilder';
+$lang['date'] = 'Dato';
+$lang['diapo_default_page_title'] = 'Velg et album';
+$lang['thumbnails'] = 'Miniatyrbilder';
+$lang['categories'] = 'Album';
+$lang['hint_category'] = 'Viser bilder i rota på dette album';
+$lang['total_images'] = 'Totalt';
+$lang['title_menu'] = 'Meny';
+$lang['change_login'] = 'Skift bruker';
+$lang['login'] = 'Bruker';
+$lang['hint_login'] = 'Hver bruker har sitt eget oppsett';
+$lang['logout'] = 'Logge ut';
+$lang['customize'] = 'Oppsett';
+$lang['hint_customize'] = 'Forandrer oppsett på utseendet';
+$lang['hint_search'] = 'Søke i databasen etter filnavn, beskrivelse etc.';
+$lang['search'] = 'Søke i databasen';
+$lang['favorite_cat'] = 'Favoritter';
+$lang['favorite_cat_hint'] = 'Vis dine favoritter';
+$lang['about'] = 'Om PhpWebGallery';
+$lang['hint_about'] = 'mer informasjon om PhpWebGallery...';
+$lang['admin'] = 'Admin';
+$lang['hint_admin'] = 'kun tilgjengelig for administratorer';
+$lang['no_category'] = 'Intet album er valgt<br />velg et i menyen';
+$lang['page_number'] = 'Side nummer';
+$lang['previous_page'] = 'Forrige';
+$lang['next_page'] = 'Neste';
+$lang['nb_image_category'] = 'Antall bilder i dette album: ';
+$lang['recent_image'] = 'Bilder nyere enn';
+$lang['days'] = 'dager';
+$lang['send_mail'] = 'Kommentarer, send en email til: ';
+$lang['title_send_mail'] = 'Kommentar til din side';
+$lang['sub-cat'] = 'Underalbum';
+$lang['images_available'] = 'bilder i dette album';
+$lang['total'] = 'Bilder';
+$lang['upload_picture'] = 'Legge inn et nytt bilde';
+$lang['registration_date'] = 'Registreringsdato';
+$lang['creation_date'] = 'Laget: ';
+$lang['comment'] = 'Kommentar';
+$lang['author'] = 'Opphavsmann';
+$lang['size'] = 'Størrelse';
+$lang['filesize'] = 'Filstørrelse';
+
+$lang['exif'] = 'Exifinfo';
+
+$lang['cExiflineMake'] = 'Kamera:';
+$lang['cExiflineModel'] = 'Model:';
+$lang['cExiflineSoftware'] = 'Program:';
+$lang['cExiflineExifVersion'] = 'ExifVersjon:';
+$lang['cExiflineISOSpeedRatings'] = 'ISOSpeedRatings:';
+$lang['cExiflineExposureTime'] = 'ExposureTime:';
+$lang['cExiflineApertureFNumber'] = 'ApertureFNumber:';
+$lang['cExiflineExposureProgram'] = 'ExposureProgram:';
+$lang['cExiflineExposureProgram0'] = 'Ikke definert';
+$lang['cExiflineExposureProgram1'] = 'Manual';
+$lang['cExiflineExposureProgram2'] = 'Normalt program';
+$lang['cExiflineExposureProgram3'] = 'Aperture priority';
+$lang['cExiflineExposureProgram4'] = 'Shutter priority';
+$lang['cExiflineExposureProgram5'] = 'Creative program (biased toward depth of field)';
+$lang['cExiflineExposureProgram6'] = 'Action program (biased toward fast shutter speed)';
+$lang['cExiflineExposureProgram7'] = 'Portrait mode (for closeup photos with the background out of focus)';
+$lang['cExiflineExposureProgram8'] = 'Landscape mode (for landscape photos with the background in focus)';
+$lang['cExiflineBrightnessValue'] = 'BrightnessValue:';
+$lang['cExiflineExposureBiasValue'] = 'ExposureBiasValue:';
+$lang['cExiflineMaxApertureValue'] = 'MaxApertureValue:';
+$lang['cExiflineMeteringMode'] = 'MeteringMode:';
+$lang['cExiflineMeteringMode0'] = 'Ukjent';
+$lang['cExiflineMeteringMode1'] = 'Average';
+$lang['cExiflineMeteringMode2'] = 'CenterWeightedAverage';
+$lang['cExiflineMeteringMode3'] = 'Spot';
+$lang['cExiflineMeteringMode4'] = 'MultiSpot';
+$lang['cExiflineMeteringMode5'] = 'Pattern';
+$lang['cExiflineMeteringMode6'] = 'Partial';
+$lang['cExiflineMeteringMode255'] = 'Annet';
+
+$lang['cExiflineLightSource'] = 'LightSource:';
+$lang['cExiflineLightSource0'] = 'unknown';
+$lang['cExiflineLightSource1'] = 'Daylight';
+$lang['cExiflineLightSource2'] = 'Fluorescent';
+$lang['cExiflineLightSource3'] = 'Tungsten (incandescent light)';
+$lang['cExiflineLightSource4'] = 'Flash';
+$lang['cExiflineLightSource9'] = 'Fine weather';
+$lang['cExiflineLightSource10'] = 'Cloudy weather';
+$lang['cExiflineLightSource11'] = 'Shade';
+$lang['cExiflineLightSource12'] = 'Daylight fluorescent (D 5700 – 7100K)';
+$lang['cExiflineLightSource13'] = 'Day white fluorescent (N 4600 – 5400K)';
+$lang['cExiflineLightSource14'] = 'Cool white fluorescent (W 3900 – 4500K)';
+$lang['cExiflineLightSource15'] = 'White fluorescent (WW 3200 – 3700K)';
+$lang['cExiflineLightSource17'] = 'Standard light A';
+$lang['cExiflineLightSource18'] = 'Standard light B';
+$lang['cExiflineLightSource19'] = 'Standard light C';
+$lang['cExiflineLightSource20'] = 'D55';
+$lang['cExiflineLightSource21'] = 'D65';
+$lang['cExiflineLightSource22'] = 'D75';
+$lang['cExiflineLightSource23'] = 'D50';
+$lang['cExiflineLightSource24'] = 'ISO studio tungsten';
+$lang['cExiflineLightSource255'] = 'other light source';
+
+$lang['cExiflineExposureMode'] = 'ExposureMode:';
+$lang['cExiflineExposureMode0'] = 'Auto exposure';
+$lang['cExiflineExposureMode1'] = 'Manual exposure';
+$lang['cExiflineExposureMode2'] = 'Auto bracket';
+
+$lang['cExiflineWhiteBalance'] = 'WhiteBalance:';
+$lang['cExiflineWhiteBalance0'] = 'Auto white balance';
+$lang['cExiflineWhiteBalance1'] = 'Manual Auto white balance';
+
+$lang['cExiflineSubjectDistance'] = 'SubjectDistance:';
+$lang['cExiflineFocalLength'] = 'FocalLength:';
+$lang['cExiflineFocalLengthIn35mmFilm'] = 'FocalLengthIn35mmFilm:';
+$lang['cExiflineDigitalZoomRatio'] = 'DigitalZoomRatio:';
+
+$lang['cExiflineSceneCaptureType'] = 'SceneCaptureType:';
+$lang['cExiflineSceneCaptureType0'] = 'Standard';
+$lang['cExiflineSceneCaptureType1'] = 'Landscape';
+$lang['cExiflineSceneCaptureType2'] = 'Portrait';
+$lang['cExiflineSceneCaptureType3'] = 'Night scene';
+
+$lang['cExiflineGainControl'] = 'GainControl:';
+$lang['cExiflineGainControl0'] = 'None';
+$lang['cExiflineGainControl1'] = 'Low gain up';
+$lang['cExiflineGainControl2'] = 'High gain up';
+$lang['cExiflineGainControl3'] = 'Low gain down';
+$lang['cExiflineGainControl4'] = 'High gain down';
+
+$lang['cExiflineContrast'] = 'Contrast:';
+$lang['cExiflineContrast0'] = 'Normal';
+$lang['cExiflineContrast1'] = 'Soft';
+$lang['cExiflineContrast2'] = 'Hard';
+
+$lang['cExiflineSaturation'] = 'Saturation:';
+$lang['cExiflineSaturation0'] = 'Normal';
+$lang['cExiflineSaturation1'] = 'Low saturation';
+$lang['cExiflineSaturation2'] = 'High saturation';
+
+$lang['cExiflineSharpness'] = 'Sharpness:';
+$lang['cExiflineSharpness0'] = 'Normal';
+$lang['cExiflineSharpness1'] = 'Soft';
+$lang['cExiflineSharpness2'] = 'Hard';
+
+$lang['cExiflineSubjectDistanceRange'] = 'SubjectDistanceRange:';
+$lang['cExiflineSubjectDistanceRange0'] = 'Unknown';
+$lang['cExiflineSubjectDistanceRange1'] = 'Macro';
+$lang['cExiflineSubjectDistanceRange2'] = 'Close view';
+$lang['cExiflineSubjectDistanceRange3'] = 'Distant view';
+
+$lang['cExiflineFlash'] = 'Flash:';
+$lang['cExiflineFlash00'] = 'Flash did not fire' ;
+$lang['cExiflineFlash01'] = 'Flash fired' ;
+$lang['cExiflineFlash05'] = 'Strobe return light not detected' ;
+$lang['cExiflineFlash07'] = 'Strobe return light detected' ;
+$lang['cExiflineFlash09'] = 'Flash fired, compulsory flash mode' ;
+$lang['cExiflineFlash0D'] = 'Flash fired, compulsory flash mode, return light not detected' ;
+$lang['cExiflineFlash0F'] = 'Flash fired, compulsory flash mode, return light detected' ;
+$lang['cExiflineFlash10'] = 'Flash did not fire, compulsory flash mode' ;
+$lang['cExiflineFlash18'] = 'Flash did not fire, auto mode' ;
+$lang['cExiflineFlash19'] = 'Flash fired, auto mode' ;
+$lang['cExiflineFlash1D'] = 'Flash fired, auto mode, return light not detected' ;
+$lang['cExiflineFlash1F'] = 'Flash fired, auto mode, return light detected' ;
+$lang['cExiflineFlash20'] = 'No flash function' ;
+$lang['cExiflineFlash41'] = 'Flash fired, red-eye reduction mode' ;
+$lang['cExiflineFlash45'] = 'Flash fired, red-eye reduction mode, return light not detected' ;
+$lang['cExiflineFlash47'] = 'Flash fired, red-eye reduction mode, return light detected' ;
+$lang['cExiflineFlash49'] = 'Flash fired, compulsory flash mode, red-eye reduction mode' ;
+$lang['cExiflineFlash4D'] = 'Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected' ;
+$lang['cExiflineFlash4F'] = 'Flash fired, compulsory flash mode, red-eye reduction mode, return light detected' ;
+$lang['cExiflineFlash59'] = 'Flash fired, auto mode, red-eye reduction mode' ;
+$lang['cExiflineFlash5D'] = 'Flash fired, auto mode, return light not detected, red-eye reduction mode' ;
+$lang['cExiflineFlash5F'] = 'Flash fired, auto mode, return light detected, red-eye reduction mode' ;
+$lang['cExiflineDateFormat'] = '%d %B %Y %H:%M:%S';
+
+$lang['file'] = 'Fil i bruk';
+$lang['generation_time'] = 'Siden ble laget på: ';
+$lang['favorites'] = 'Favoritter';
+$lang['search_result'] = 'Søkeresultat';
+$lang['about_page_title'] = 'Om PhpWebGallery';
+$lang['about_title'] = 'Info om PhpWebGallery';
+$lang['about_message'] = '<div style="text-align:center;font-weigh:bold;">Informasjon om PhpWebGallery</div>
+<ul>
+ <li>Denne webside bruker <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> release '.$conf['version'].'. PhpWebGallery er en webaplikasjon som gir deg muligheten til å lage et online galleri på en enkel måte. Galleriet kan ha flere brukernivå, og det er også mulig å legge inn mange forskjellige kommentarer til bildene. Både fra brukere og gjester som ser bildene. En MySql database sørger for å lagre dette.</li>
+ <li>Hvis du har spørsmål eller kommentarer har&nbsp;<a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> en offisiell webside, og eget engelsk <a href="'.$conf['forum_url'].'" style="text-decoration:underline">forum</a>. <br>
+Du kan sende meg en epost også, så skal jeg se om jeg kan hjelpe deg. </li>
+</ul>';
+$lang['about_return'] = 'Tilbake';
+$lang['ident_page_title'] = 'Bruker pålogging';
+$lang['ident_title'] = 'Identifikasjon';
+$lang['ident_register'] = 'Registrering';
+$lang['ident_forgotten_password'] = 'Glemt passordet ditt ?';
+$lang['ident_guest_visit'] = 'Logg deg inn som gjest';
+$lang['customize_page_title'] = 'Oppsett';
+$lang['customize_title'] = 'Oppsett';
+$lang['customize_nb_image_per_row'] = 'Antall bilder pr. rad';
+$lang['customize_nb_row_per_page'] = 'Antall rader pr. side';
+$lang['customize_language'] = 'Språk';
+$lang['maxwidth'] = 'Maks bredde på bildet';
+$lang['maxheight'] = 'Maks høyde på bildet';
+$lang['err_maxwidth'] = 'Maksbredden må være over 50';
+$lang['err_maxheight'] = 'Makshøyden må være over 50';
+$lang['previous_image'] = 'Forrige';
+$lang['next_image'] = 'Neste';
+$lang['back'] = 'Trykk på bildet for tilbake til albumets miniatyrbilder.';
+$lang['info_image_title'] = 'Bildeinformasjon';
+$lang['link_info_image'] = 'Rette i informasjonen';
+$lang['true_size'] = 'Aktuell størrelse';
+$lang['comments_title'] = 'kommentarer fra brukerne av siden';
+$lang['comments_del'] = 'Slett denne kommentaren';
+$lang['comments_add'] = 'Legg til en kommentar';
+$lang['month'][1] = 'Januar';
+$lang['month'][2] = 'Februar';
+$lang['month'][3] = 'Mars';
+$lang['month'][4] = 'April';
+$lang['month'][5] = 'Mai';
+$lang['month'][6] = 'Juni';
+$lang['month'][7] = 'Juli';
+$lang['month'][8] = 'August';
+$lang['month'][9] = 'September';
+$lang['month'][10] = 'Oktober';
+$lang['month'][11] = 'November';
+$lang['month'][12] = 'Desember';
+$lang['day'][0] = 'søndag';
+$lang['day'][1] = 'mandag';
+$lang['day'][2] = 'tirsdag';
+$lang['day'][3] = 'onsdag';
+$lang['day'][4] = 'torsdag';
+$lang['day'][5] = 'fredag';
+$lang['day'][6] = 'lørdag';
+$lang['add_favorites_alt'] = 'Legge til favoritter';
+$lang['add_favorites_hint'] = 'Legge dette bildet til dine favoritter';
+$lang['del_favorites_alt'] = 'Slette fra favoritter';
+$lang['del_favorites_hint'] = 'Slette dette bildet fra dine favoritter';
+$lang['register_page_title'] = 'Registrering';
+$lang['register_title'] = 'Registrering';
+$lang['reg_err_login1'] = 'Skriv brukernavn';
+$lang['reg_err_login2'] = 'Brukernavnet må ikke ha mellomrom som siste bokstav';
+$lang['reg_err_login3'] = 'Brukernavnet må ikke ha mellomrom som første bokstav';
+$lang['reg_err_login4'] = 'Brukernavnet må ikke ha tegn slik som \og"';
+$lang['reg_err_login5'] = 'Brukernavnet er allerede i bruk';
+$lang['reg_err_pass'] = 'Skriv ditt passord igjen';
+$lang['reg_confirm'] = 'Bekreft';
+$lang['reg_err_mail_address'] = 'mail adressen må være lik xxx@yyy.eee (eksempel : morten@mail.no)';
+$lang['search_title'] = 'Søke i bildedatabasen';
+$lang['invalid_search'] = 'Søkeordet må være mer en 3 tegn/bokstaver';
+$lang['search_field_search'] = 'Søkeord: ';
+$lang['search_return_main_page'] = 'Tilbake';
+$lang['upload_forbidden'] = 'Du kan ikke legge inn bilder i denne kategorien';
+$lang['upload_file_exists'] = 'Dette bildenavnet er allerede i bruk';
+$lang['upload_filenotfound'] = 'Du må velge filformat for bildet';
+$lang['upload_cannot_upload'] = 'Du kan ikke laste inn bilder til databasen';
+$lang['upload_title'] = 'Velg ett bilde å legge inn i databasen: ';
+$lang['upload_advise'] = 'Velg ett bilde å legge inn i albumet: ';
+$lang['upload_advise_thumbnail'] = 'Valgfritt, men anbefalt : Velg samme bilde i mindre format. ';
+$lang['upload_advise_filesize'] = 'Fil størrelsen må ikke overstige: ';
+$lang['upload_advise_width'] = 'Bredden på bilde må ikke overstige: ';
+$lang['upload_advise_height'] = 'Høyden på bilde må ikke overstige: ';
+$lang['upload_advise_filetype'] = 'Bilde må være en av disse filformatene : jpg, gif eller png';
+$lang['upload_err_username'] = 'Navnet ditt må skrives inn';
+$lang['upload_username'] = 'Brukernavn';
+$lang['upload_successful'] = 'Bilde ble lagt inn OK! , en administrator vil godkjenne bilde så snart som mulig';
+// new or modified in release 1.3
+$lang['charset'] = 'iso-8859-1';
+$lang['no'] = 'nei';
+$lang['yes'] = 'ja';
+$lang['guest'] = 'gjest';
+$lang['mail_address'] = 'epostadresse';
+$lang['public'] = 'offentlig';
+$lang['private'] = 'privat';
+$lang['add'] = 'Utfør';
+$lang['dissociate'] = 'dissociate';
+$lang['mandatory'] = 'nødvendig';
+$lang['err_date'] = 'gal dato';
+$lang['picture'] = 'Bildevalg';
+$lang['IP'] = 'IP-adresse';
+$lang['close'] = 'lukk';
+$lang['open'] = 'åpne';
+$lang['keywords'] = 'Nøkkelord';
+$lang['errors_title'] = 'Feil';
+$lang['infos_title'] = 'Informasjon';
+$lang['default'] = 'forhåndsvalgte';
+$lang['comments'] = 'kommentarer ';
+$lang['category_representative'] = 'representativ';
+$lang['stats'] = 'Statistikk';
+$lang['most_visited_cat_hint'] = 'viser det mest sette bildet';
+$lang['most_visited_cat'] = 'mest besøkte';
+$lang['best_rated_cat_hint'] = 'viser bilder med høyeste karakter';
+$lang['best_rated_cat'] = 'beste karakter';
+$lang['recent_cat_hint'] = 'viser de nyeste';
+$lang['recent_cat'] = 'Bilder sist lagt til';
+$lang['recent_cat_title'] = 'Bilder sist lagt til';
+$lang['visited'] = 'Vist';
+$lang['times'] = 'ganger';
+$lang['customize_theme'] = 'Velg tema på utseende';
+$lang['customize_expand'] = 'Utvid alle album';
+$lang['customize_show_nb_comments'] = 'Vise antall kommentarer';
+$lang['customize_short_period'] = 'Kort periode';
+$lang['customize_long_period'] = 'Lang priode';
+$lang['customize_template'] = 'Skjermutseende';
+$lang['err_periods'] = 'Perioden må være et tall';
+$lang['err_periods_2'] = 'perioden må være høyere enn 0, den lange perioden må være lengre enn den korte';
+$lang['create_cookie'] = 'Lage en informasjonskapsel';
+$lang['customize_day'] = 'dag';
+$lang['customize_week'] = 'uke';
+$lang['customize_month'] = 'måned';
+$lang['customize_year'] = 'år';
+$lang['slideshow'] = 'Automatisk visning';
+$lang['period_seconds'] = 'sekunder pr. bilde';
+$lang['slideshow_stop'] = 'Stopp automatisk visning';
+$lang['comment_added'] = 'Dine kommentarer har blitt registrert.';
+$lang['comment_to_validate'] = 'En administrator må godkjenne kommentarene før de vises.';
+$lang['comment_anti-flood'] = 'Anti-flood system : please wait for a moment before trying to post another comment';
+$lang['comment_user_exists'] = 'Brukernavnet er allerede i bruk';
+$lang['invalid_search'] = 'Søkeord må være større enn 3 tegn, og må ikke innholde punktum';
+$lang['search_mode_or'] = 'Søket må innholde et av ordene<br/><br/>';
+$lang['search_mode_and'] = 'Søket må innholde alle ordene';
+$lang['search_comments'] = 'Skill ordene med mellomrom';
+$lang['upload_name'] = 'Navn på bildet';
+$lang['upload_author'] = 'Fotograf';
+$lang['upload_creation_date'] = 'Laget den: ';
+$lang['upload_comment'] = 'Kommentar';
+$lang['mail_hello'] = 'Hei,';
+$lang['mail_new_upload_subject'] = 'Nytt bilde på websiden';
+$lang['mail_new_upload_content'] = 'Et nytt bilde som venter på godkjennelse er lagt inn. Husk å gå til administrasjonssiden og godkjenn/slette dette bildet.';
+$lang['mail_new_comment_subject'] = 'Ny kommentar er lagt inn';
+$lang['mail_new_comment_content'] = 'En ny kommentar er registrert i galleriet. Hvis du har valgt å godkjenne hver kommentar, må du først godkjenne denne kommentaren på administrasjonssiden.'."\n\n".'Du kan se de siste kommentarene på administrasjonssiden';
+$lang['connected_user'] = 'Tilkoblet bruker: ';
+$lang['title_comments'] = 'Kommentarer fra brukere';
+$lang['stats_last_days'] = 'siste dager';
+$lang['hint_comments'] = 'Se siste brukeres kommentarer';
+$lang['menu_sucr'] = 'Registrering';
+$lang['menu_login'] = 'Logge inn';
+//-------------------------------------------------------------- administration
+if ( $isadmin )
+{
+ $lang['title_liste_users'] = 'Brukerliste';
+ $lang['title_history'] = 'Historie';
+ $lang['title_update'] = 'Oppdater database';
+ $lang['title_configuration'] = 'Oppsett av PhpWebGallery';
+ $lang['title_instructions'] = 'Instruksjoner';
+ $lang['title_categories'] = 'Lage, rette/endre i dine album';
+ $lang['title_edit_cat'] = 'Albumrettigheter';
+ $lang['title_info_images'] = 'Endre et albums bildeinformasjon';
+ $lang['title_thumbnails'] = 'Lage miniatyrbilder';
+ $lang['title_thumbnails_2'] = 'for';
+ $lang['title_default'] = 'Administrasjonspanel';
+ $lang['menu_title'] = 'Administrasjon';
+ $lang['menu_config'] = 'Oppsett av galleri';
+ $lang['menu_users'] = 'Brukere';
+ $lang['menu_add_user'] = 'Legg til';
+ $lang['menu_list_user'] = 'list';
+ $lang['menu_categories'] = 'Oppsett av album';
+ $lang['menu_update'] = 'Oppdater database';
+ $lang['menu_thumbnails'] = 'Lage miniatyrbilder';
+ $lang['menu_history'] = 'Historie (logg)';
+ $lang['menu_instructions'] = 'Brukerveiledning';
+ $lang['menu_back'] = 'Tilbake til galleri';
+ $lang['title_waiting'] = 'Bilder for godkjenning';
+ $lang['menu_waiting'] = 'Bildegodkjenning';
+ $lang['default_message'] = 'PhpWebGallery administrasjonspanel';
+ $lang['conf_err_prefixe'] = 'Småbildenes prefiks må ikke inneholde symboler';
+ $lang['conf_err_mail'] = 'Ikke godkjent epostadresse, må være som navn@server.com';
+ $lang['conf_err_sid_size'] = 'TidsID må være et tall mellom 4 og 50';
+ $lang['conf_err_sid_time'] = 'Tiden må være et tall mellom 5 og 60';
+ $lang['conf_err_max_user_listbox'] = 'Maks brukere listeboks må være et tall mellom 0 og 255';
+ $lang['conf_confirmation'] = 'Informasjonen er registrert i databasen';
+ $lang['conf_general_title'] = 'Hovedoppsett';
+ $lang['conf_general_webmaster'] = 'Webmaster innlogging';
+ $lang['conf_general_webmaster_info'] = 'Det vil bli vist til brukerene, det er nødvendig for administrasjon av siden';
+ $lang['conf_general_mail'] = 'Webmasters epostadresse';
+ $lang['conf_general_mail_info'] = 'Brukerene vil kunne kontakte via denne mail';
+ $lang['conf_general_prefix'] = 'Miniatyrbilde prefiks';
+ $lang['conf_general_prefix_info'] = 'Miniatyrbildene bruker denne prefiks. Ikke forandre hvis du ikke er sikker.';
+ $lang['conf_general_access'] = 'Tilgang';
+ $lang['conf_general_access_1'] = 'Fri';
+ $lang['conf_general_access_2'] = 'Båndlagt';
+ $lang['conf_general_access_info'] = '- fri : -alle kan komme inn på sidene, alle besøkende kan opprette en konto og tilpasse utseende på sidene<br />- båndlagt : - administrator oppretter kontoer. Bare registrerte bruker kan komme inn på sidene';
+ $lang['conf_general_max_user_listbox'] = 'Maks opplistede brukere';
+ $lang['conf_general_max_user_listbox_info'] = '- dette tallet er maks opplistede brukere i listeboksen som PhpWebGallery viser istedenfor en vanlig tekstboks på Identifikasjonssiden.<br />- skriv et tall mellom 0 og 255, med 0 menes at du vil vise listeboksen.';
+ $lang['conf_comments'] = 'Bruker kommentarer';
+ $lang['conf_comments_title'] = 'Konfigurasjon av '.$lang['conf_comments'];
+ $lang['conf_comments_show_comments'] = $lang['conf_comments'];
+ $lang['conf_comments_show_comments_info'] = 'Vise brukerkommentarer under hvert bilde?';
+ $lang['conf_comments_comments_number'] = 'Antall kommentarer pr. side.';
+ $lang['conf_comments_comments_number_info'] = 'Antall kommentarer pr. side. Dette tallet er ubegrenset for et bilde. Skriv et tall mellom 5 og 50';
+ $lang['conf_err_comment_number'] = 'Antallet kommentarer per side må være mellom 5 og 50.';
+ $lang['conf_remote_site_delete_info'] = 'Ved å slette en remote server vil alle bilder og album i tilknytning til denne serverenogså bli slettet.';
+ $lang['conf_upload_title'] = 'Oppsett av brukeropplasting av bilder';
+ $lang['conf_upload_available'] = 'Godkjenne bilder som er lastet opp?';
+ $lang['conf_upload_maxfilesize'] = 'Maks filstørrelse';
+ $lang['conf_upload_maxfilesize_info'] = 'Maks filstørrelse for de opplastede bilder. Må være et tall mellom 10 og 1000 KB.';
+ $lang['conf_err_upload_maxfilesize'] = 'Maks filstørrelse for de opplastede bilder. Må være et tall mellom 10 og 1000 KB.';
+ $lang['conf_upload_maxwidth'] = 'Maks bredde';
+ $lang['conf_upload_maxwidth_info'] = 'Maks bredde for bildet. Maks bredde må være mer enn 10 piksels';
+ $lang['conf_err_upload_maxwidth'] = 'Maks bredde for bildet. Maks bredde må være mer enn 10 piksels.';
+ $lang['conf_upload_maxheight'] = 'Maks høyde';
+ $lang['conf_upload_maxheight_info'] = 'Maks høyde for det opplastede bildet. Maks høyde må være mer enn 10 piksels.';
+ $lang['conf_err_upload_maxwidth'] = 'Maks høyde for det opplastede bildet. Maks høyde må være mer enn 10 piksels.';
+ $lang['conf_upload_maxwidth_thumbnail'] = 'Maks bredde på miniatyrbilder';
+ $lang['conf_upload_maxwidth_thumbnail_info'] = 'Maks bredde for det opplastede småbildet. Maks bredde må være mer enn 10 piksels.';
+ $lang['conf_err_upload_maxwidth_thumbnail'] = 'Maks bredde for opplastede småbildet. Maks bredde må være mer enn 10 piksels.';
+ $lang['conf_upload_maxheight_thumbnail'] = 'Maks høyde på miniatyrbilder';
+ $lang['conf_upload_maxheight_thumbnail_info'] = 'Maks høyde for det opplastede småbildet. Maks høyde må være mer enn 10 piksels.';
+ $lang['conf_err_upload_maxheight_thumbnail'] = 'Maks høyde for det opplastede småbildet. Maks høyde må være mer enn 10 piksels.';
+ $lang['conf_default_title'] = 'Det normale skjermoppsettet for uregistrerte besøkende og nye kontoer';
+ $lang['conf_default_language_info'] = 'Forhåndsvalgt språk';
+ $lang['conf_default_theme_info'] = 'Forhåndsvalgt tema (utseende)';
+ $lang['conf_session_title'] = 'Konfigurere periode - informasjonskapsler (Cookies)';
+ $lang['conf_session_size'] = 'ID størrelse';
+ $lang['conf_session_size_info'] = '- ID lengde gjør sikkerheten større, høyere tall bedre sikkerhet<br />- skriv et tall mellom 4 og 50';
+ $lang['conf_session_time'] = 'Gyldig periode';
+ $lang['conf_session_time_info'] = '- Kortere periode gjør sikkerheten større,<br />- skriv inn et tall mellom 5 og 60, i minutter';
+ $lang['conf_session_key'] = 'Nøkkelord';
+ $lang['conf_session_key_info'] = '- Periode nøkkelordet forbedrer kodingen til periode ID <br />- tast en setning mindre enn 255 tegn';
+ $lang['conf_session_delete'] = 'Slett utgåtte perioder';
+ $lang['conf_session_delete_info'] = 'Du bør slette utgåtte perioder, de blir i databasen (men er ingen sikkerhetsrisiko)';
+ $lang['user_err_modify'] = 'Denne bruker kan ikke endres eller slettes';
+ $lang['user_err_unknown'] = 'Denne bruker finnes ikke i databasen';
+ $lang['adduser_info_message'] = 'Registrert info i database for bruker ';
+ $lang['adduser_info_password_updated'] = '(passord endret)';
+ $lang['adduser_info_back'] = 'Tilbake til brukerliste';
+ $lang['adduser_fill_form'] = 'Fyll inn følgende form';
+ $lang['adduser_unmodify'] = 'Kan ikke endres';
+ $lang['adduser_status'] = 'Status';
+ $lang['adduser_status_admin'] = 'admin';
+ $lang['adduser_status_guest'] = 'gjest';
+ $lang['permuser_info_message'] = 'Tillatelse er registrert';
+ $lang['permuser_title'] = 'Regler for bruker';
+ $lang['permuser_warning'] = 'Advarsel : a "<span style="font-weight:bold;">ingen tilgang</span>" til root av albumet';
+ $lang['permuser_authorized'] = 'Autorisert';
+ $lang['permuser_forbidden'] = 'Ingen tilgang';
+ $lang['permuser_parent_forbidden'] = 'Ingen tilgang';
+ $lang['listuser_confirm'] = 'Er du sikker på at du vil slette bruker?';
+ $lang['listuser_info_deletion'] = 'er blitt fjernet';
+ $lang['listuser_user_group'] = 'Brukergruppe: ';
+ $lang['listuser_modify'] = 'Endre';
+ $lang['listuser_modify_hint'] = 'Endre informasjonen til ';
+ $lang['listuser_permission'] = 'Tilgang';
+ $lang['listuser_permission_hint'] = 'Endre rettigheter til ';
+ $lang['listuser_delete'] = 'Slett';
+ $lang['listuser_delete_hint'] = 'Slett bruker';
+ $lang['listuser_button_all'] = 'Merk alle';
+ $lang['listuser_button_invert'] = 'Merk/slett';
+ $lang['listuser_button_create_address'] = 'Lag epostadresser';
+ $lang['cat_invisible'] = 'Usynlig';
+ $lang['cat_edit'] = 'Rette';
+ $lang['cat_up'] = 'Flytte opp';
+ $lang['cat_down'] = 'Flytte ned';
+ $lang['cat_image_info'] = 'Bildeinfo';
+ $lang['cat_total'] = 'Total';
+ $lang['editcat_confirm'] = 'Informasjon er registrert i databasen';
+ $lang['editcat_back'] = 'Album';
+ $lang['editcat_title1'] = 'Rettigheter for: ';
+ $lang['editcat_name'] = 'Navn';
+ $lang['editcat_comment'] = 'Kommentar';
+ $lang['editcat_status'] = 'Status';
+ $lang['infoimage_general'] = 'Generelle opplysninger for albumet.';
+ $lang['infoimage_useforall'] = 'Brukes for alle bilder?';
+ $lang['infoimage_creation_date'] = 'Fotografert den: ';
+ $lang['infoimage_detailed'] = 'Generelle opplysninger for hvert enkelt bilde.';
+ $lang['infoimage_title'] = 'Tittel';
+ $lang['infoimage_comment'] = 'Kommentarer';
+ $lang['update_missing_tn'] = 'Miniatyrbilde mangler for';
+ $lang['update_disappeared_tn'] = 'Miniatyrbilde er forsvunnet';
+ $lang['update_disappeared'] = 'Finnes ikke';
+ $lang['update_part_deletion'] = 'Sletter bilder som ikke har noe miniatyrbilde, eller ikke finnes';
+ $lang['update_deletion_conclusion'] = 'bilder slettet fra databasen';
+ $lang['update_part_research'] = 'Søker etter nye bilder i mappene';
+ $lang['update_research_added'] = 'lagt til';
+ $lang['update_research_tn_ext'] = 'miniatyrbilde i';
+ $lang['update_research_conclusion'] = 'bilder lagt til databasen';
+ $lang['update_default_title'] = 'Gjør ditt valg';
+ $lang['update_only_cat'] = 'Oppdater album, ikke bilder';
+ $lang['update_all'] = 'Oppdater alt';
+ $lang['tn_width'] = 'Bredde';
+ $lang['tn_height'] = 'Høyde';
+ $lang['tn_no_support'] = 'Bilde finnes ikke eller ingen støtte';
+ $lang['tn_format'] = 'for filformatet';
+ $lang['tn_thisformat'] = 'for dette filformatet';
+ $lang['tn_err_width'] = 'width must be a number superior to';
+ $lang['tn_err_height'] = 'height must be a number superior to';
+ $lang['tn_results_title'] = 'Results of miniaturization';
+ $lang['tn_picture'] = 'bilde';
+ $lang['tn_results_gen_time'] = 'generated in';
+ $lang['tn_stats'] = 'General statistics';
+ $lang['tn_stats_nb'] = 'number of miniaturized pictures';
+ $lang['tn_stats_total'] = 'total time';
+ $lang['tn_stats_max'] = 'max time';
+ $lang['tn_stats_min'] = 'min time';
+ $lang['tn_stats_mean'] = 'average time';
+ $lang['tn_err'] = 'You made mistakes';
+ $lang['tn_params_title'] = 'Miniaturization parameters';
+ $lang['tn_params_GD'] = 'GD versjon';
+ $lang['tn_params_GD_info'] = '- GD is the picture manipulating library for PHP<br />-choose the version installed on your server. If you choose the wrong, you\'ll just have errors messages, come back with your browser and choose the other version. If no version works, it means your server doesn\'t support GD.';
+ $lang['tn_params_width_info'] = 'maximum width that thumbnails can take';
+ $lang['tn_params_height_info'] = 'maximum height that thumbnails can take';
+ $lang['tn_params_create'] = 'create';
+ $lang['tn_params_create_info'] = 'Do not try to miniaturize too many pictures in the same time.<br />Indeed, miniaturization uses a lot of CPU. If you installed PhpWebGallery on a free provider, a too high CPU load can sometime lead to the deletion of your website.';
+ $lang['tn_params_format'] = 'filformat';
+ $lang['tn_params_format_info'] = 'only jpeg file format is supported for thumbnail creation';
+ $lang['tn_alone_title'] = 'Bilder uten miniatyrbilde ( bare jpeg og png )';
+ $lang['tn_dirs_title'] = 'Liste over mapper';
+ $lang['tn_dirs_alone'] = 'Bilder uten miniatyrbilde';
+ $lang['help_images_title'] = 'Legge til bilder';
+ $lang['help_images_intro'] = 'Hvordan plassere dine bilder i mapper.';
+ $lang['help_images'][0] = 'I mappen "galleries", lag mapper som representerer dine album (mapper)';
+ $lang['help_images'][1] = 'I hvert album (mappe) kan du lage så mange underalbum (mapper) du vil';
+ $lang['help_images'][2] = 'Du kan lage så mange album og underalbum du bare vil';
+ $lang['help_images'][3] = 'Bildefiler må ha jpeg format (filendelse jpg eller JPG), gif format (filendelse gif eller GIF), eller png format (filendelse png eller PNG).';
+ $lang['help_images'][4] = 'Prøv å ikke bruke mellomrom " " eller bindestrek "-" i bildefiler, bruk heller understrek "_" som gir et bedre resultat med PhpWebGallery ';
+ $lang['help_thumbnails_title'] = 'Miniatyrbilder';
+ $lang['help_thumbnails'][0] = 'I hver mappe som skal vise bilder på din webside, er det en undermappe ved navn "thumbnail", hvis den ikke er der, lag og plasser miniatyrbildene for hovedmappen i den.';
+ $lang['help_thumbnails'][1] = 'Minatyrbildet trenger ikke ha samme filendelse som det tilhørende store bildet. (Et bilde med endelse .jpg kan ha et miniatyrbilde med endelse .gif for eksempel).';
+ $lang['help_thumbnails'][2] = 'Miniatyrbildet må i tillegg ha prefikset som er satt i kongigurasjonspanelet ( f. eks. image.jpg -> TN_image.GIF).';
+ $lang['help_thumbnails'][3] = 'Bruk programmet ThumbClic (Windowsversjon) på presentasjonsiden til PhpWebGallery <a href="http://www.phpwebgallery.net/eng/index.php?rub=download"><b>(hent det her)</b></a> for å lage miniatyrbilder ';
+ $lang['help_thumbnails'][4] = 'Du kan bruke funsjonen som er i PhpWebGallery, men bildekvaliteten kan bli dårlig, og funsjonen belaster CPU hardt, så du kan få problemer hvis du bruker er gratissted for dine websider.';
+ $lang['help_thumbnails'][5] = 'Hvis du bruker din ISP for å lage bilder, må du gi 775 rettigheter på "galleries" mappen, og alle dens undermapper.';
+ $lang['help_database_title'] = 'Oppdatere databasen';
+ $lang['help_database'][0] = 'Når filer og minibilder er plassert riktig i sine mapper, kan du klikke på "Oppdater database" eller gå til "Oppsett av album" og oppdatere albumet der (hvis det er et eksisterende album).';
+ $lang['help_infos_title'] = 'Forskjellig informasjon';
+ $lang['help_infos'][1] = 'Når du er ferdig med å opprette ditt galleri, gå til brukere i administrasjonspanelet og endre rettighetene for "gjest". Hver ny registrert bruker vil som forhåndvalg ha samme rettigheter som "gjest".';
+ $lang['help_remote_title'] = 'Fjern side';
+ $lang['help_remote'][0] = 'Du har muligheten til å bruke flere servere til å bygge opp ditt galleri. Dette er brukbart hvis du har begrenset plass og mange bilder du gjerne vil vise. Du må gjøre følgende : ';
+ $lang['help_remote'][1] = '1. Rett i filen "create_listing_file.php" (du finner den i mappen "admin"), ved å endre linjen "$prefix_thumbnail = "TN-";" hvis prefiks for dineminiatyrbilder ikke er "TN-".';
+ $lang['help_remote'][2] = '2. Plasser den endrede filen "create_listing_file.php" ved hjelp av ftp overføring på den(de) andre serveren(e), i root mappen av dine mapper av bilder (som mappen "galleries" på denne websiden) .';
+ $lang['help_remote'][3] = '3. Kjør filen med url http://domaineDistant/repGalerie/create_listing_file.php, en fil "listing.xml" har nå blitt laget';
+ $lang['help_remote'][4] = '4. Hent tilbake "listing.xml" fra webstedet og plasser den i mappen "admin" på dette webstedet.';
+ $lang['help_remote'][5] = '5. Oppdater så databasen osv. ved hjelp av administrasjonspanelet. Når dette er gjort, slettes filen fra mappen "admin".';
+ $lang['help_remote'][6] = 'You can update the contents of a distant website by redoing the described manipulation. You can also kill a distant website by choosing the option in the configuration section of the administration panel.';
+ $lang['help_upload_title'] = 'Added images by users';
+ $lang['help_upload'][0] = 'PhpWebGallery offers the possibility for users to upload images. in order to do it :';
+ $lang['help_upload'][1] = '1. authorize the option in the configuration zone of the administration panel';
+ $lang['help_upload'][2] = '2. authorize the rights in writing in the images directories';
+ $lang['install_message'] = 'Message';
+ $lang['step1_confirmation'] = 'Parameters are correct';
+ $lang['step1_err_db'] = 'Connection to server succeed, but it was impossible to connect to database';
+ $lang['step1_err_server'] = 'Can\'t connect to server';
+ $lang['step1_err_copy_2'] = 'The next step of the installation is now possible';
+ $lang['step1_err_copy_next'] = 'next step';
+ $lang['step1_title'] = 'Step 1/2';
+ $lang['step1_host'] = 'MySQL host';
+ $lang['step1_host_info'] = 'localhost, sql.multimania.com, toto.freesurf.fr';
+ $lang['step1_user'] = 'user';
+ $lang['step1_user_info'] = 'user login given by your host provider';
+ $lang['step1_pass'] = 'Password';
+ $lang['step1_pass_info'] = 'user password given by your host provider';
+ $lang['step1_database'] = 'Database name';
+ $lang['step1_database_info'] = 'also given by your host provider';
+ $lang['step1_prefix'] = 'Database table prefix';
+ $lang['step1_prefix_info'] = 'database tables names will be prefixed with it (enables you to manage better your tables)';
+ $lang['step2_err_login1'] = 'enter a login for webmaster';
+ $lang['step2_err_login3'] = 'webmaster login can\'t contain characters \' or "';
+ $lang['step2_err_pass'] = 'please enter your password again';
+ $lang['step2_err_mail'] = $lang['conf_err_mail'];
+ $lang['install_end_title'] = 'Installation finished';
+ $lang['install_end_message'] = 'The configuration of PhpWebGallery is finished, here is the next step<br /><br />
+For security reason, please delete file "install.php" in the directory "admin"<br />
+Once this file deleted , follow this instructions :
+<ul>
+ <li>go to the identification page : [ <a href="../identification.php">identification</a> ] and use the login/password given for webmaster</li>
+ <li>this login will enable you to access to the [ <a href="admin.php">administration panel</a> ] and to the instructions in order to place pictures in your directories</li>
+</ul>';
+ $lang['step2_title'] = 'Step 2/2';
+ $lang['step2_pwd'] = 'webmaster password';
+ $lang['step2_pwd_info'] = 'Keep it confidential, it enables you to access administration panel';
+ $lang['step2_pwd_conf'] = 'confirm password';
+ $lang['step2_pwd_conf_info'] = 'verification';
+ // new or modified in release 1.3
+ $lang['remote_site'] = 'Remote site';
+ $lang['title_add'] = 'Legge inn en ny bruker';
+ $lang['title_modify'] = 'Endre en bruker';
+ $lang['title_groups'] = 'Administrere grupper';
+ $lang['title_user_perm'] = 'Endre rettigheter for bruker ';
+ $lang['title_cat_perm'] = 'Endre rettigheter for album ';
+ $lang['title_group_perm'] = 'Endre rettigheter for gruppe';
+ $lang['title_picmod'] = 'Endre informasjonen for bilde ';
+ $lang['menu_groups'] = 'Brukergrupper';
+ $lang['menu_comments'] = 'Kommentarer';
+ $lang['conf_general_log'] = 'Historie (logg)';
+ $lang['conf_general_log_info'] = 'Skal besøk loggføres? Besøk blir vist i Historie(Logg) seksjonen i Administrasjonspanelet';
+ $lang['conf_general_mail_notification'] = 'Beskjed med epost';
+ $lang['conf_general_mail_notification_info'] = 'Administratorer vil få beskjed med epost hvis besøkende laster opp bilder, eller gir kommentar til bildene';
+ $lang['conf_comments_validation'] = 'Godkjenne';
+ $lang['conf_comments_validation_info'] = 'En administrator godkjenner først kommentarer, før de blir synlige på siden.';
+ $lang['conf_comments_forall'] = 'For alle?';
+ $lang['conf_comments_forall_info'] = 'Selv besøkende som ikke er registrert, kan legge inn kommentarer.';
+ $lang['conf_default_nb_image_per_row_info'] = 'Forhåndsvalgt bilder pr. rad';
+ $lang['conf_default_nb_row_per_page_info'] = 'Forhåndsvalgte rader pr. side';
+ $lang['conf_default_short_period_info'] = 'Antall dager et bilde skal vises med rød markering (kort periode). Må være mer enn 1 dag.';
+ $lang['conf_default_long_period_info'] = 'Antall dager et bilde skal vises med grønn markering (lang periode). Må være lengre enn den korte perioden.';
+ $lang['conf_default_expand_info'] = 'Vise undermapper som forhåndsvalg i menyen ?';
+ $lang['conf_default_show_nb_comments_info'] = 'Vise antall kommentarer på miniatyrbildesiden';
+ $lang['conf_default_maxwidth_info'] = 'Maks bredde for å vise bildene: Bildenes nye bredde er bare ved visning, Bildefilene forblir uendret. Hvis du ikke ønsker begrensning, la feltet være blankt.';
+ $lang['conf_default_maxheight_info'] = 'Samme som for bredden, men gjelder for høyden av bildet.';
+ $lang['conf_session_cookie'] = 'Godkjenne informasjonskapsler';
+ $lang['conf_session_cookie_info'] = 'Brukerne behøver ikke logge på hver gang lenger, mindre sikkert.';
+ $lang['adduser_associate'] = 'Tilknyt gruppe';
+ $lang['group_add'] = 'Legg til en gruppe';
+ $lang['group_add_error1'] = 'Gruppenavn må ikke innholde " eller \'';
+ $lang['group_add_error2'] = 'Navnet i bruk av en annen gruppe.';
+ $lang['group_confirm'] = 'Vil du slette denne gruppen?';
+ $lang['group_list_title'] = 'Eksisterende grupper';
+ $lang['group_err_unknown'] = 'Denne gruppen finnes ikke i databasen';
+ $lang['cat_permission'] = 'Tilgang';
+ $lang['cat_update'] = 'Oppdater';
+ $lang['cat_add'] = 'Tilknyt et virtuelt album ';
+ $lang['cat_parent'] = 'til hovedalbum';
+ $lang['cat_error_name'] = 'Albumnavn må fylles ut';
+ $lang['cat_virtual'] = 'Virtuell';
+ $lang['cat_first'] = 'Flytt først';
+ $lang['cat_last'] = 'Flytt sist';
+ $lang['editcat_visible_info'] = '(Usynlig, men for administratorer).';
+ $lang['editcat_visible'] = 'Synlig';
+ $lang['editcat_uploadable'] = 'Opplasting tilgjengelig';
+ $lang['infoimage_keyword_separation'] = '(Skill med komma ",")';
+ $lang['infoimage_addtoall'] = 'Legg til alle';
+ $lang['infoimage_removefromall'] = 'Slett fra alle';
+ $lang['infoimage_associate'] = 'Tilknyt album: ';
+ $lang['update_wrong_dirname'] = 'Navn på mapper og filer må være sammensatt av bokstaver og tegnene "-", "_" eller "."';
+ $lang['stats_pages_seen'] = 'sider sett';
+ $lang['stats_visitors'] = 'besøkende';
+ $lang['stats_empty'] = 'Slett historie/logg';
+ $lang['stats_pages_seen_graph_title'] = 'Antall sider sett denne dagen.';
+ $lang['stats_visitors_graph_title'] = 'Antall besøkende denne dagen.';
+ $lang['comments_last_title'] = 'Siste kommentarer.';
+ $lang['comments_non_validated_title'] = 'Kommentarer for godkjennelse.';
+ $lang['help_database'][1] = 'For å hindre at for mange bilder blir oppdatert av gangen, gå til "Oppsett av album" i administrasjonspanelet, og oppdater et og et album av gangen. Bruk linken "Oppdater"';
+ $lang['help_upload'][3] = 'Albumet må ha "Opplasting tilgjengelig" for å brukes til å laste opp bilder.';
+ $lang['help_upload'][4] = 'Opplastede bilder av brukere, blir ikke gjort synlig direkte, men må godkjennes av en administrator. Administratoren må gå til "Bildegodkjenning" i administrasjonspanelet og godkjenne /forkaste bildet der. Deretter må albumet oppdateres.';
+ $lang['help_virtual_title'] = 'Linker mellom bilder og album og virtuelle album.';
+ $lang['help_virtual'][0] = 'PhpWebGallery is able to dissociate categories where pictures are stored and categories where pictures are shown.';
+ $lang['help_virtual'][1] = 'By default, pictures are shown only in their real categories : the ones corresponding to directories on the web server.';
+ $lang['help_virtual'][2] = 'To link a picture to a category, you just have to make the association on the page of picture informations or on the informations of all pictures of a category.';
+ $lang['help_virtual'][3] = 'Using this principle, it is possible to create virtual categories in PhpWebGallery : no real directory coresponds to this category. You just have to create this category on the section "categories" of the admin panel.';
+ $lang['help_groups_title'] = 'Users Groups';
+ $lang['help_groups'][0] = 'PhpWebGallery mestrer grupper av brukere. It can be very useful to have common permission access for private categories.';
+ $lang['help_groups'][1] = '1. Create the group "family" on the section "Groups" of admin panel.';
+ $lang['help_groups'][2] = '2. On the section "Users", edit on of them and associate him to the group "family".';
+ $lang['help_groups'][3] = '3. By modifying the permissions for a category or for a group, you\'ll see that all categories accessible for a group are accessible for its members.';
+ $lang['help_groups'][4] = 'A user can belong to several groups. The authorization is stronger than prohibition : if a user "jack" belongs to the group "family" and "friends", and that only group "family" can see category "Christmas 2003", "jack" will be able to see "Christmas 2003".';
+ $lang['help_access_title'] = 'Access authorization';
+ $lang['help_access'][0] = 'PhpWebGallery is able to forbid access to categories. Categories can be "public" or "private". In order to forbid access to a category :';
+ $lang['help_access'][1] = '1. Modify category informations (from the "categories" section in tha admin panel) and make it "private".';
+ $lang['help_access'][2] = '2. On the page of permissions (for a group or a user) the private category will be shown and you\'ll be able to authorize access or not.';
+ $lang['help_infos'][2] = 'If you have any question, do not hesitate to take a look at the forum or ask a question there. The <a href="'.$conf['forum_url'].'" style="text-decoration:underline">forum</a> (message board) is available on the presentation site of PhpWebGallery.';
+ $lang['step1_err_copy'] = 'Copy the text between hyphens and paste it into the file "include/mysql.inc.php"(Warning : mysql.inc.php must only contain what is in blue, no line return or space character)';
+ $lang['permuser_only_private'] = 'Bare pivate album blir vist';
+ $lang['waiting_update'] = 'Godkjente bilder blir bare vist når databasen er oppdatert.';
+ $lang['conf_upload_available_info'] = 'Godkjenne brukerenes opplasting av bilder(ikke på en fjernserver). Dette er et generelt valg, det er fremdeles nødvendig å godkjenne opplasting for hvert enkelt album. Som forhåndsvalg er ingen album åpnet for opplasting av bilder.';
+ $lang['install_help'] = 'Need help ? Ask your question on <a href="http://forum.phpwebgallery.net">PhpWebGallery message board</a>.';
+ $lang['install_warning'] = 'The file "admin/install.php" is still present. Please remove it from your server. It is not secure to keep it.';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+?>
diff --git a/language/spanish.php b/language/spanish.php
new file mode 100644
index 000000000..0f7cd69c2
--- /dev/null
+++ b/language/spanish.php
@@ -0,0 +1,550 @@
+<?php
+/***************************************************************************
+ * spanish.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * translation : Xolda <xolda@hotmail.com> *
+ * *
+ * $Id$
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+$lang['only_members'] = 'Acceso restringido a miembros';
+$lang['invalid_pwd'] = '¡Contraseña errónea!';
+$lang['access_forbiden'] = 'No está autorizado a acceder a esta página';
+$lang['submit'] = 'Validar';
+$lang['login'] = 'usuario';
+$lang['password'] = 'contraseña';
+$lang['new'] = 'nueva';
+$lang['delete'] = 'borrar';
+$lang['category'] = 'categoría';
+$lang['thumbnail'] = 'miniatura';
+$lang['date'] = 'fecha';
+$lang['diapo_default_page_title'] = 'No hay ninguna categoría seleccionada';
+$lang['thumbnails'] = 'Miniaturas';
+$lang['categories'] = 'Categorías';
+$lang['hint_category'] = 'muestra imágenes en la raíz de esta categoría';
+$lang['total_images'] = 'total';
+$lang['title_menu'] = 'Menú';
+$lang['change_login'] = 'cambiar usuario';
+$lang['login'] = 'usuario';
+$lang['hint_login'] = 'identificarse le permite modificar la apariencia del site';
+$lang['logout'] = 'salir';
+$lang['customize'] = 'personalizar';
+$lang['hint_customize'] = 'personalizar el aspecto de la galería';
+$lang['hint_search'] = 'buscar';
+$lang['search'] = 'buscar';
+$lang['favorite_cat'] = 'favoritos';
+$lang['favorite_cat_hint'] = 'mostrar sus favoritos';
+$lang['about'] = 'acerca de';
+$lang['hint_about'] = 'más información en PhpWebGallery...';
+$lang['admin'] = 'admin';
+$lang['hint_admin'] = 'disponible sólo para administradores';
+$lang['no_category'] = 'No hay una categoría seleccionada,<br>por favor, seleccione una en el menú';
+$lang['page_number'] = 'página número';
+$lang['previous_page'] = 'Anterior';
+$lang['next_page'] = 'Siguiente';
+$lang['nb_image_category'] = 'número de imágenes en esta categoría';
+$lang['recent_image'] = 'imagen de los últimos';
+$lang['days'] = 'días';
+$lang['send_mail'] = 'Si tiene algún comentario o desea adquirir<br>alguna imagen, envíe un correo electrónico';
+$lang['title_send_mail'] = 'Comentario del site o adquirir imagen';
+$lang['sub-cat'] = 'subcategorías';
+$lang['images_available'] = 'imágenes en esta categoría';
+$lang['total'] = 'imágenes';
+$lang['upload_picture'] = 'Subir una imagen';
+$lang['registration_date'] = 'registrada el';
+$lang['creation_date'] = 'creada el';
+$lang['comment'] = 'comentario';
+$lang['author'] = 'autor';
+$lang['size'] = 'tamaño';
+$lang['filesize'] = 'tamaño del archivo';
+$lang['file'] = 'archivo';
+$lang['generation_time'] = 'Página creada en';
+$lang['favorites'] = 'Favoritos';
+$lang['search_result'] = 'Resultados de la búsqueda';
+$lang['about_page_title'] = 'Acerca de PhpWebGallery';
+$lang['about_title'] = 'Acerca de...';
+$lang['about_message'] = '<div style="text-align:center;font-weigh:bold;">Información acerca de PhpWebGallery</div>
+<ul>
+ <li>Esta sitio web usa <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> versión '.$conf['version'].'. PhpWebGallery es una aplicación web que le ofrece la posibilidad de crear fácilmente una galería de imágenes on-line.</li>
+ <li>Técnicamente, PhpWebGallery está totalmente desarrollado en PHP (the elePHPant) en combinación con la base de datos MySQL (the SQuirreL).</li>
+ <li>Si tiene cualquier sugerencia o comentario, por favor, visite el site oficial de <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> y su <a href="'.$conf['forum_url'].'" style="text-decoration:underline">foro de discusión</a>.</li>
+</ul>';
+$lang['about_return'] = 'Atrás';
+$lang['ident_page_title'] = 'Identificación';
+$lang['ident_title'] = 'Identificación';
+$lang['ident_register'] = 'Registrar';
+$lang['ident_forgotten_password'] = '¿Ha olvidado su contraseña?';
+$lang['ident_guest_visit'] = 'Entre en la Galería como visitante';
+$lang['customize_page_title'] = 'Personalización';
+$lang['customize_title'] = 'Personalización';
+$lang['customize_nb_image_per_row'] = 'número de imágenes por fila';
+$lang['customize_nb_row_per_page'] = 'número de imágenes por página';
+$lang['customize_language'] = 'idioma';
+$lang['maxwidth'] = 'anchura máxima de las imágenes';
+$lang['maxheight'] = 'altura máxima de las imágenes';
+$lang['err_maxwidth'] = 'la anchura máxima debe ser un número superior a 50';
+$lang['err_maxheight'] = 'la altura máxima debe ser un número superior a 50';
+$lang['previous_image'] = 'Anterior';
+$lang['next_image'] = 'Siguiente';
+$lang['back'] = 'Pulse en la imagen para regresar a la página de miniaturas';
+$lang['info_image_title'] = 'Información de la imagen';
+$lang['link_info_image'] = 'Modificar información';
+$lang['true_size'] = 'Tamaño real';
+$lang['comments_title'] = 'Comentarios de los usuarios del sitio web';
+$lang['comments_del'] = 'borrar este comentario';
+$lang['comments_add'] = 'Añadir un comentario';
+$lang['month'][1] = 'Enero';
+$lang['month'][2] = 'Febrero';
+$lang['month'][3] = 'Marzo';
+$lang['month'][4] = 'Abril';
+$lang['month'][5] = 'Mayo';
+$lang['month'][6] = 'Junio';
+$lang['month'][7] = 'Julio';
+$lang['month'][8] = 'Agosto';
+$lang['month'][9] = 'Septiembre';
+$lang['month'][10] = 'Octubre';
+$lang['month'][11] = 'Noviembre';
+$lang['month'][12] = 'Diciembre';
+$lang['day'][0] = 'Domingo';
+$lang['day'][1] = 'Lunes';
+$lang['day'][2] = 'Martes';
+$lang['day'][3] = 'Miércoles';
+$lang['day'][4] = 'Jueves';
+$lang['day'][5] = 'Viernes';
+$lang['day'][6] = 'Sábado';
+$lang['add_favorites_alt'] = 'Añadir a favoritos';
+$lang['add_favorites_hint'] = 'Añadir imagen a favoritos';
+$lang['del_favorites_alt'] = 'Eliminar imagen de favoritos';
+$lang['del_favorites_hint'] = 'Eliminar imagen de favoritos';
+$lang['register_page_title'] = 'Registro';
+$lang['register_title'] = 'Registro';
+$lang['reg_err_login1'] = 'Por favor, introduzca un nombre de usuario';
+$lang['reg_err_login2'] = 'el nombre de usuario no puede acabar en espacio';
+$lang['reg_err_login3'] = 'el nombre de usuario no puede empezar con espacio';
+$lang['reg_err_login4'] = 'el nombre de usuario no puede contener " ni \'';
+$lang['reg_err_login5'] = 'el nombre de usuario ya existe';
+$lang['reg_err_pass'] = 'por favor, introduzca su contraseña de nuevo';
+$lang['reg_confirm'] = 'confirmar';
+$lang['reg_err_mail_address'] = 'la dirección de correo debe ser del tipo xxx@yyy.eee (p.ej.: usuario@proveedor.com)';
+$lang['search_title'] = 'Buscar';
+$lang['invalid_search'] = 'la búsqueda debe contener 3 carácteres o más';
+$lang['search_field_search'] = 'Buscar';
+$lang['search_return_main_page'] = 'Volver a la página de miniaturas';
+$lang['upload_forbidden'] = 'No puede subir imágenes en esta categoría';
+$lang['upload_file_exists'] = 'El nombre de alguna imagen ya existe';
+$lang['upload_filenotfound'] = 'Debe escoger un formato de imagen para el archivo';
+$lang['upload_cannot_upload'] = 'no se puede subir la imagen al servidor';
+$lang['upload_title'] = 'Subir una imagen';
+$lang['upload_advise'] = 'Escoja una imagen para ponerla en la categoría: ';
+$lang['upload_advise_thumbnail'] = 'Opcional, pero recomendable: escoja una miniatura para asociarla a ';
+$lang['upload_advise_filesize'] = 'el tamaño del archivo de la imagen no debe sobrepasar: ';
+$lang['upload_advise_width'] = 'la anchura de la imagen no debe sobrepasar: ';
+$lang['upload_advise_height'] = 'la altura de la imagen no debe sobrepasar: ';
+$lang['upload_advise_filetype'] = 'la imagen debe estar en formato JPG, GIF ó PNG';
+$lang['upload_err_username'] = 'debe dar el nombre de usuario';
+$lang['upload_username'] = 'Usuario';
+$lang['upload_successful'] = 'Imagen subida correctamente, un administrador la validará tan pronto como sea posible';
+// new or modified in release 1.3
+$lang['charset'] = 'iso-8859-1';
+$lang['no'] = 'no';
+$lang['yes'] = 'si';
+$lang['guest'] = 'invitado';
+$lang['mail_address'] = 'dirección de correo';
+$lang['public'] = 'público';
+$lang['private'] = 'privado';
+$lang['add'] = 'añadir';
+$lang['dissociate'] = 'diferenciar';
+$lang['mandatory'] = 'obligatorio';
+$lang['err_date'] = 'fecha errónea';
+$lang['picture'] = 'imagen';
+$lang['IP'] = 'IP';
+$lang['close'] = 'cerrar';
+$lang['open'] = 'abrir';
+$lang['keywords'] = 'palabras clave';
+$lang['errors_title'] = 'Errores';
+$lang['infos_title'] = 'Informaciones';
+$lang['default'] = 'por defecto';
+$lang['comments'] = 'comentarios';
+$lang['category_representative'] = 'representativa';
+$lang['stats'] = 'estadísticas';
+$lang['most_visited_cat_hint'] = 'muestra las imágenes más visitadas';
+$lang['most_visited_cat'] = 'más visitadas';
+$lang['best_rated_cat_hint'] = 'muestra las imágenes mejor valoradas';
+$lang['best_rated_cat'] = 'mejor valoradas';
+$lang['recent_cat_hint'] = 'muestra las imágenes más recientes';
+$lang['recent_cat'] = 'más recientes';
+$lang['recent_cat_title'] = 'Imágenes recientes';
+$lang['visited'] = 'visitada';
+$lang['times'] = 'veces';
+$lang['customize_theme'] = 'tema del interface';
+$lang['customize_expand'] = 'expandir todas las categorías';
+$lang['customize_show_nb_comments'] = 'mostrar el número de comentarios';
+$lang['customize_short_period'] = 'período corto';
+$lang['customize_long_period'] = 'período largo';
+$lang['customize_template'] = 'plantilla';
+$lang['err_periods'] = 'los períodos deben ser valores enteros';
+$lang['err_periods_2'] = 'los períodos deben ser superiores a 0. El período largo debe ser mayor que el período corto.';
+$lang['create_cookie'] = 'crear una cookie';
+$lang['customize_day'] = 'día';
+$lang['customize_week'] = 'semana';
+$lang['customize_month'] = 'mes';
+$lang['customize_year'] = 'año';
+$lang['slideshow'] = 'slideshow';
+$lang['period_seconds'] = 'segundos por imagen';
+$lang['slideshow_stop'] = 'parar el slideshow';
+$lang['comment_added'] = 'Su comentario ha sido registrado';
+$lang['comment_to_validate'] = 'Un administrador debe autorizar el comentario antes de que sea visible.';
+$lang['comment_anti-flood'] = 'Sistema Anti-flood: por favor, espere un momento antes de intentar enviar otro comentario';
+$lang['comment_user_exists'] = 'El nombre de usuario ya esta en uso';
+$lang['invalid_search'] = 'Las palabras buscadas deben ser de más de 3 carácteres y no deben contener signos de puntuación';
+$lang['search_mode_or'] = 'al menos una palabra';
+$lang['search_mode_and'] = 'todas las palabras';
+$lang['search_comments'] = 'separar las diferentes palabras con espacios';
+$lang['upload_name'] = 'Nombre de la imagen';
+$lang['upload_author'] = 'Autor (ej "Pierrick LE GALL")';
+$lang['upload_creation_date'] = 'Fecha de creación (DD/MM/AAAA)';
+$lang['upload_comment'] = 'Comentario';
+$lang['mail_hello'] = 'Hola,';
+$lang['mail_new_upload_subject'] = 'Nueva imagen en el sitio web';
+$lang['mail_new_upload_content'] = 'Se ha subido una nueva imagen a la galería. Está esperando a su validación. Vaya al panel de administración para autorizar o rechazar la imagen.';
+$lang['mail_new_comment_subject'] = 'Nuevo comentario del sito web';
+$lang['mail_new_comment_content'] = 'Se ha registrado un nuevo comentario en la galería. Si escoge validar cada comentario, primero tendrá que validar este comentario en el panel de administración para hacerlo visible en la galería.'."\n\n".'Puede ver los últimos comentarios en el panel de administración';
+$lang['connected_user'] = 'usuario conectado';
+$lang['title_comments'] = 'Comentarios de los usuarios';
+$lang['stats_last_days'] = 'últimos días';
+$lang['hint_comments'] = 'Ver los últimos comentarios de los usuarios';
+$lang['menu_login'] = 'usuario';
+//-------------------------------------------------------------- administration
+if ( $isadmin )
+{
+ $lang['title_liste_users'] = 'Lista de usuarios';
+ $lang['title_history'] = 'Historial';
+ $lang['title_update'] = 'Actualizar base de datos';
+ $lang['title_configuration'] = 'Configuración de PhpWebGallery';
+ $lang['title_instructions'] = 'Instrucciones';
+ $lang['title_categories'] = 'Administración de categorías';
+ $lang['title_edit_cat'] = 'Editar una categoría';
+ $lang['title_info_images'] = 'Modificar información de la categoría de imágenes';
+ $lang['title_thumbnails'] = 'Creación de miniaturas';
+ $lang['title_thumbnails_2'] = 'para';
+ $lang['title_default'] = 'Administración de PhpWebGallery';
+ $lang['menu_title'] = 'Administración';
+ $lang['menu_config'] = 'Configuración';
+ $lang['menu_users'] = 'Usuarios';
+ $lang['menu_add_user'] = 'añadir';
+ $lang['menu_list_user'] = 'listar';
+ $lang['menu_categories'] = 'Categorías';
+ $lang['menu_update'] = 'Actualizar base de datos';
+ $lang['menu_thumbnails'] = 'Miniaturas';
+ $lang['menu_history'] = 'Historial';
+ $lang['menu_instructions'] = 'Instrucciones';
+ $lang['menu_back'] = 'Volver a las galerías';
+ $lang['title_waiting'] = 'Imágenes pendientes de validación';
+ $lang['menu_waiting'] = 'En espera';
+ $lang['default_message'] = 'Panel de administración de PhpWebGallery';
+ $lang['conf_err_prefixe'] = 'el prefijo de la miniatura no debe contener carácteres acentuados';
+ $lang['conf_err_mail'] = 'dirección de E-mail rechazada, debe ser del tipo usuario@servidor.com';
+ $lang['conf_err_sid_size'] = 'el tamaño de identificador de sesión debe ser un valor entero entre 4 y 50';
+ $lang['conf_err_sid_time'] = 'el tiempo de sesión debe ser un valor entero entre 5 y 60';
+ $lang['conf_err_max_user_listbox'] = 'el número máximo de usuarios en la lista debe ser un valor entero entre 0 y 255';
+ $lang['conf_confirmation'] = 'Información registrada en la base de datos';
+ $lang['conf_general_title'] = 'Configuración principal';
+ $lang['conf_general_webmaster'] = 'login del webmaster';
+ $lang['conf_general_webmaster_info'] = 'Será mostrado a los visitantes. Es necesario para la administración del sitio web';
+ $lang['conf_general_mail'] = 'E-mail del Webmaster';
+ $lang['conf_general_mail_info'] = 'Los visitantes podrán contactar a través de este E-mail';
+ $lang['conf_general_prefix'] = 'prefijo de las miniaturas';
+ $lang['conf_general_prefix_info'] = 'Las miniaturas usarán este prefijo. Dejar en blanco en caso de duda.';
+ $lang['conf_general_access'] = 'tipo de acceso';
+ $lang['conf_general_access_1'] = 'libre';
+ $lang['conf_general_access_2'] = 'restringido';
+ $lang['conf_general_access_info'] = '- libre: cualquiera puede entrar en el site y crear una cuenta para personalizar la apariencia del sitio web<br />- restringido: el webmaster crea las cuentas. Sólo los usuarios registrados pueden entrar al sitio web';
+ $lang['conf_general_max_user_listbox'] = 'máximo número de usuarios en la lista';
+ $lang['conf_general_max_user_listbox_info'] = '- este es el número máx. de usuarios que PhpWebGallery mostrará en la lista en lugar de una simple caja de texto en la página de identificación<br />- introduzca un número entre 0 y 255, 0 hará que se muestre la lista';
+ $lang['conf_comments'] = 'comentarios de los usuarios';
+ $lang['conf_comments_title'] = 'Configuración de los '.$lang['conf_comments'];
+ $lang['conf_comments_show_comments'] = $lang['conf_comments'];
+ $lang['conf_comments_show_comments_info'] = '¿mostrar comentarios de los usuarios debajo de cada imagen?';
+ $lang['conf_comments_comments_number'] = 'número de comentarios por página';
+ $lang['conf_comments_comments_number_info'] = 'número de comentarios a mostrar en cada página. Este número es ilimitado para cada imagen. Introduzca un número entre 5 y 50.';
+ $lang['conf_err_comment_number'] = 'El número de comentarios por página debe estar entre 5 y 50 (inclusive).';
+ $lang['conf_remote_site_delete_info'] = 'Si elimina un servidor remoto, borrará todas las imágenes y categorías relacionadas con el servidor.';
+ $lang['conf_upload_title'] = 'Configuración de los envíos de los usuarios';
+ $lang['conf_upload_available'] = 'autorizada la subida de imágenes';
+ $lang['conf_upload_maxfilesize'] = 'tamaño máximo del archivo';
+ $lang['conf_upload_maxfilesize_info'] = 'Tamaño máximo de los archivos a subir. Debe ser un entero entre 10 y 1000 (Kb).';
+ $lang['conf_err_upload_maxfilesize'] = 'tamaño máximo de los archivos a subir. Debe ser un entero entre 10 y 1000 (Kb).';
+ $lang['conf_upload_maxwidth'] = 'anchura máxima';
+ $lang['conf_upload_maxwidth_info'] = 'Anchura máxima de las imágenes a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_err_upload_maxwidth'] = 'anchura máxima de las imágenes a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_upload_maxheight'] = 'altura máxima';
+ $lang['conf_upload_maxheight_info'] = 'Altura máxima de las imágenes a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_err_upload_maxwidth'] = 'altura máxima de las imágenes a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_upload_maxwidth_thumbnail'] = 'anchura máxima de las miniaturas';
+ $lang['conf_upload_maxwidth_thumbnail_info'] = 'Anchura máxima de las miniaturas a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_err_upload_maxwidth_thumbnail'] = 'anchura máxima de las miniaturas a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_upload_maxheight_thumbnail'] = 'altura máxima de las miniaturas';
+ $lang['conf_upload_maxheight_thumbnail_info'] = 'Altura máxima de las miniaturas a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_err_upload_maxheight_thumbnail'] = 'altura máxima de las miniaturas a subir. Debe ser un número superior a 10 (píxeles).';
+ $lang['conf_default_title'] = 'Propiedades de visualización por defecto para usuarios no registrados y nuevas cuentas';
+ $lang['conf_default_language_info'] = 'idioma por defecto';
+ $lang['conf_default_theme_info'] = 'tema por defecto';
+ $lang['conf_session_title'] = 'Configuración de las sesiones';
+ $lang['conf_session_size'] = 'tamaño del identificador';
+ $lang['conf_session_size_info'] = '- cuanto más largo sea el identificador, más seguro será el site<br />- introduzca un número entre 4 y 50';
+ $lang['conf_session_time'] = 'período de validez';
+ $lang['conf_session_time_info'] = '- cuanto más corto sea el período de validez más seguro será el site<br />- introduzca un número entre 5 y 60, en minutos';
+ $lang['conf_session_key'] = 'palabra clave';
+ $lang['conf_session_key_info'] = '- la palabra clave de la sesión mejora la codificación del identificador de sesión<br />- introduzca una frase que no sobrepase los 255 carácteres';
+ $lang['conf_session_delete'] = 'borrar sesiones caducadas';
+ $lang['conf_session_delete_info'] = 'es recomendable vaciar la tabla de sesiones de la base de datos, porque las sesiones caducadas permanecen en la base de datos (aunque no representan un problema de seguridad)';
+ $lang['user_err_modify'] = 'Este usuario no puede ser modificado ni borrado';
+ $lang['user_err_unknown'] = 'Este usuario no existe en la base de datos';
+ $lang['adduser_info_message'] = 'Información registrada en la base de datos para el usuario ';
+ $lang['adduser_info_password_updated'] = '(contraseña actualizada)';
+ $lang['adduser_info_back'] = 'volver a la lista de usuarios';
+ $lang['adduser_fill_form'] = 'Por favor, rellene el siguiente formulario';
+ $lang['adduser_unmodify'] = 'no-modificable';
+ $lang['adduser_status'] = 'estado';
+ $lang['adduser_status_admin'] = 'admin';
+ $lang['adduser_status_guest'] = 'invitado';
+ $lang['permuser_info_message'] = 'Permisos registrados';
+ $lang['permuser_title'] = 'Restricciones para el usuario';
+ $lang['permuser_warning'] = 'Atención : un "<span style="font-weight:bold;">acceso prohibido</span>" a la raíz de una categoría deniega el acceso a la categoría entera';
+ $lang['permuser_authorized'] = 'autorizado';
+ $lang['permuser_forbidden'] = 'prohibido';
+ $lang['permuser_parent_forbidden'] = 'categoría superior prohibida';
+ $lang['listuser_confirm'] = '¿Realmente desea borrar este usuario?';
+ $lang['listuser_info_deletion'] = 'borrado de la base de datos';
+ $lang['listuser_user_group'] = 'Grupo de usuarios';
+ $lang['listuser_modify'] = 'modificar';
+ $lang['listuser_modify_hint'] = 'modificar la información de';
+ $lang['listuser_permission'] = 'permisos';
+ $lang['listuser_permission_hint'] = 'modifica los permisos de';
+ $lang['listuser_delete'] = 'borrar';
+ $lang['listuser_delete_hint'] = 'borrar usuario';
+ $lang['listuser_button_all'] = 'todos';
+ $lang['listuser_button_invert'] = 'invertir';
+ $lang['listuser_button_create_address'] = 'crear dirección de correo';
+ $lang['cat_invisible'] = 'invisible';
+ $lang['cat_edit'] = 'Editar';
+ $lang['cat_up'] = 'Subir';
+ $lang['cat_down'] = 'Bajar';
+ $lang['cat_image_info'] = 'Información de las imágenes';
+ $lang['cat_total'] = 'total';
+ $lang['editcat_confirm'] = 'Información registrada en la base de datos';
+ $lang['editcat_back'] = 'categorías';
+ $lang['editcat_title1'] = 'Opciones para el';
+ $lang['editcat_name'] = 'Nombre';
+ $lang['editcat_comment'] = 'Comentario';
+ $lang['editcat_status'] = 'Estado';
+ $lang['infoimage_general'] = 'Opciones generales para la categoría';
+ $lang['infoimage_useforall'] = '¿utilizar para todas las imágenes?';
+ $lang['infoimage_creation_date'] = 'fecha de creación';
+ $lang['infoimage_detailed'] = 'Opción para cada imagen';
+ $lang['infoimage_title'] = 'título';
+ $lang['infoimage_comment'] = 'comentario';
+ $lang['update_missing_tn'] = 'no hay miniatura para';
+ $lang['update_disappeared_tn'] = 'la miniatura no existe';
+ $lang['update_disappeared'] = 'no existe';
+ $lang['update_part_deletion'] = 'Borrado de imágenes que no tienen miniatura o que no existen';
+ $lang['update_deletion_conclusion'] = 'imágenes borradas de la base de datos';
+ $lang['update_part_research'] = 'Buscar nuevas imágenes en directorios';
+ $lang['update_research_added'] = 'añadidas';
+ $lang['update_research_tn_ext'] = 'miniaturas en';
+ $lang['update_research_conclusion'] = 'imágenes añadidas a la base de datos';
+ $lang['update_default_title'] = 'Escoja una opción';
+ $lang['update_only_cat'] = 'actualizar categorías, no imágenes';
+ $lang['update_all'] = 'actualizar todas';
+ $lang['tn_width'] = 'anchura';
+ $lang['tn_height'] = 'altura';
+ $lang['tn_no_support'] = 'Imagen inaccesible o sin soporte';
+ $lang['tn_format'] = 'para el formato de archivo';
+ $lang['tn_thisformat'] = 'para este formato de archivo';
+ $lang['tn_err_width'] = 'la anchura debe ser un número superior a';
+ $lang['tn_err_height'] = 'la altura debe ser un número superior a';
+ $lang['tn_results_title'] = 'Resultados de la miniaturización';
+ $lang['tn_picture'] = 'imagen';
+ $lang['tn_results_gen_time'] = 'generada en';
+ $lang['tn_stats'] = 'Estadísticas generales';
+ $lang['tn_stats_nb'] = 'número de imágenes miniaturizadas';
+ $lang['tn_stats_total'] = 'tiempo total';
+ $lang['tn_stats_max'] = 'tiempo máx.';
+ $lang['tn_stats_min'] = 'tiempo mín.';
+ $lang['tn_stats_mean'] = 'tiempo medio';
+ $lang['tn_err'] = 'Ha cometido errores';
+ $lang['tn_params_title'] = 'Parámetros de la miniaturización';
+ $lang['tn_params_GD'] = 'Versión de GD';
+ $lang['tn_params_GD_info'] = '- GD es la librería de manipulación de miniaturas para PHP<br />-escoja la versión instalada en su servidor. Si escoge una incorrecta, obtendrá mensajes de error, vuelva atrás con su navegador y escoja otra versión. Si no funciona, es que su servidor no soporta GD.';
+ $lang['tn_params_width_info'] = 'máxima anchura de las miniaturas';
+ $lang['tn_params_height_info'] = 'máxima altura de las miniaturas';
+ $lang['tn_params_create'] = 'crear';
+ $lang['tn_params_create_info'] = 'No intente miniaturizar demasiadas imágenes a la vez.<br />De hecho, la miniaturización utiliza muchos recursos de la CPU. Si instaló PhpWebGallery en un proveedor gratuito, una sobrecarga de CPU puede derivar en la eliminación de su sitio web.';
+ $lang['tn_params_format'] = 'formato de archivo';
+ $lang['tn_params_format_info'] = 'únicamente se permite el formato JPG para la creación de miniaturas.';
+ $lang['tn_alone_title'] = 'imágenes sin miniatura (sólo JPG y PNG)';
+ $lang['tn_dirs_title'] = 'Lista de directorios';
+ $lang['tn_dirs_alone'] = 'imágenes sin miniatura';
+ $lang['help_images_title'] = 'Añadir imágenes';
+ $lang['help_images_intro'] = 'Cómo poner las imágenes en sus directorios';
+ $lang['help_images'][0] = 'en el directorio "galleries", cree directorios que representen a sus categorías.';
+ $lang['help_images'][1] = 'en cada directorio, puede crear tantos subdirectorios como desee.';
+ $lang['help_images'][2] = 'puede crear tantas categorías y subcategorías como desee.';
+ $lang['help_images'][3] = 'las imágenes deben ser del formato JPG (extensión jpg ó JPG), formato GIF (extensión gif ó GIF) o formato PNG (extensión png ó PNG).';
+ $lang['help_images'][4] = 'intente NO usar espacios en blanco " " ni guiones "-" en los nombres de imagen, le recomendamos usar el carácter "_" de subrayado soportado por PhpWebGallery y obtendrá mejores resultados.';
+ $lang['help_thumbnails_title'] = 'Miniaturas';
+ $lang['help_thumbnails'][0] = 'en cada directorio que contenga imágenes a mostrar, debe haber un subdirectorio llamado "thumbnail", si no existe, créelo y sitúe en él las miniaturas.';
+ $lang['help_thumbnails'][1] = 'las miniaturas no necesitan tener la misma extensión que su imagen asociada (una imagen en formato .JPG puede tener asociada una miniatura en formato .GIF).';
+ $lang['help_thumbnails'][2] = 'la miniatura asociada a la imagen debe tener el prefijo que se indicó en la página de configuración (imagen.jpg -> TN_imagen.GIF, por ejemplo).';
+ $lang['help_thumbnails'][3] = 'le recomendamos usar el módulo para Windows, descargable en el site de presentación de PhpWebGallery, para la gestión de las miniaturas.';
+ $lang['help_thumbnails'][4] = 'puede usar la página de creación de miniaturas integrada en PhpWebGallery, pero no es aconsejable, ya que la calidad puede ser bastante pobre y carga bastante la CPU, lo cual puede ser un problema si utiliza un servidor gratuito.';
+ $lang['help_thumbnails'][5] = 'si elige usar a su proveedor de hosting para crear las miniaturas, debe dar los derechos 775 a la carpeta "galleries" y a todas sus subcarpetas.';
+ $lang['help_database_title'] = 'Actualizando la base de datos';
+ $lang['help_database'][0] = 'una vez ubicadas correctamente las imágenes y miniaturas en los directorios, pulse en "database update" en el menú del panel de administración.';
+ $lang['help_infos_title'] = 'Información diversa';
+ $lang['help_infos'][1] = 'Una vez haya creado su galería, vaya a la lista de usuarios y modifique los permisos para el "visiteur". De hecho, cada nuevo usuario tendrá por defecto los mismos permisos que el usuario "visiteur".';
+ $lang['help_remote_title'] = 'Site remoto';
+ $lang['help_remote'][0] = 'PhpWebGallery ofrece la posibilidad de usar varios servidores para almacenar las imágenes que componen su galería. Puede ser útil si su galería está instalada en un espacio web reducido y tiene gran cantidad de imágenes que mostrar. Por favor, siga el siguiente procedimiento: ';
+ $lang['help_remote'][1] = '1. Edite el fichero "create_listing_file.php" (lo encontrará en el directorio "admin"), y modifique la línea "$prefix_thumbnail = "TN-";" si el prefijo de sus miniaturas no es "TN-".';
+ $lang['help_remote'][2] = '2. Ponga el archivo "create_listing_file.php" modificado en su website remoto, en el directorio raíz de sus directorios de imágenes (como el directorio "galleries" de este website), a través de ftp.';
+ $lang['help_remote'][3] = '3. Ejecute el script usando la url http://DominioRemoto/Galería/create_listing_file.php, y se creará el archivo listing.xml.';
+ $lang['help_remote'][4] = '4. Recupere el fichero listing.xml de su website remoto y póngalo en el directorio "admin" de este website.';
+ $lang['help_remote'][5] = '5. Por favor, realice una actualización de los datos de las imágenes mediante el interface de administración, y una vez usado el fichero listing.xml, bórrelo del directorio "admin".';
+ $lang['help_remote'][6] = 'Puede actualizar los contenidos del site remoto repitiendo los pasos descritos. También puede eliminar el site remoto escogiendo la opción en la sección de configuración del panel de administración.';
+ $lang['help_upload_title'] = 'Imágenes añadidas por los usuarios';
+ $lang['help_upload'][0] = 'PhpWebGallery ofrece la posibilidad a los usuarios de subir imágenes. Para hacerlo:';
+ $lang['help_upload'][1] = '1. Autorice la opción en la zona de configuración del panel de administración';
+ $lang['help_upload'][2] = '2. Autorice los derechos de escritura en los directorios de imágenes';
+ $lang['install_message'] = 'Mensaje';
+ $lang['step1_confirmation'] = 'Parámetros correctos';
+ $lang['step1_err_db'] = 'Conexión al servidor realizada, pero imposible conectar con la base de datos';
+ $lang['step1_err_server'] = 'No se puede conectar al servidor';
+ $lang['step1_err_copy_2'] = 'Se puede proceder al siguiente paso de la instalación';
+ $lang['step1_err_copy_next'] = 'siguiente paso';
+ $lang['step1_title'] = 'Paso 1/2';
+ $lang['step1_host'] = 'Servidor MySQL';
+ $lang['step1_host_info'] = 'localhost, sql.multimania.com, toto.freesurf.fr';
+ $lang['step1_user'] = 'usuario';
+ $lang['step1_user_info'] = 'nombre de usuario proporcionado por su proveedor';
+ $lang['step1_pass'] = 'Contraseña';
+ $lang['step1_pass_info'] = 'contraseña de usuario proporcionada por su proveedor';
+ $lang['step1_database'] = 'Nombre de la base de datos';
+ $lang['step1_database_info'] = 'también proporcionado por su proveedor';
+ $lang['step1_prefix'] = 'Prefijo para las tablas en la base de datos';
+ $lang['step1_prefix_info'] = 'los nombres de las tablas de la base de datos deberán llevar un prefijo (facilita el manejo de las tablas)';
+ $lang['step2_err_login1'] = 'introduzca un nombre de usuario para el webmaster';
+ $lang['step2_err_login3'] = 'el nombre del Webmaster no puede contener carácteres como \' o "';
+ $lang['step2_err_pass'] = 'por favor, confirme su contraseña';
+ $lang['step2_err_mail'] = $lang['conf_err_mail'];
+ $lang['install_end_title'] = 'Instalación finalizada';
+ $lang['install_end_message'] = 'La configuración de PhpWebGallery ha terminado, este es el siguiente paso<br /><br />
+Por razones de seguridad, por favor borre el fichero "install.php" del directorio "admin"<br />
+Una vez borrado, siga estas instrucciones:
+<ul>
+ <li>vaya a la página de identificación: [ <a href="../identification.php">identificación</a> ] e introduzca el usuario/contraseña asignados al webmaster</li>
+ <li>Esta identificación le dará acceso al [ <a href="admin.php">panel de administración</a> ] y a las instrucciones necesarias para poner imágenes en sus directorios</li>
+</ul>';
+ $lang['step2_title'] = 'Paso 2/2';
+ $lang['step2_pwd'] = 'contraseña del webmaster';
+ $lang['step2_pwd_info'] = 'Manténgala confidencial, ya que le da acceso al panel de administración';
+ $lang['step2_pwd_conf'] = 'confirmar contraseña';
+ $lang['step2_pwd_conf_info'] = 'verificación';
+ // new or modified in release 1.3
+ $lang['remote_site'] = 'Site remoto';
+ $lang['title_add'] = 'Añadir usuario';
+ $lang['title_modify'] = 'Modificar usuario';
+ $lang['title_groups'] = 'Gestión de grupos';
+ $lang['title_user_perm'] = 'Modificar permisos para el usuario';
+ $lang['title_cat_perm'] = 'Modificar permisos para la categoría';
+ $lang['title_group_perm'] = 'Modificar permisos para el grupo';
+ $lang['title_picmod'] = 'Modificar información de la imagen';
+ $lang['menu_groups'] = 'Grupos';
+ $lang['menu_comments'] = 'Comentarios';
+ $lang['conf_general_log'] = 'historial';
+ $lang['conf_general_log_info'] = '¿Mantener historial de visitas de su sitio web? Las visitas se mostrarán en la sección de historial del panel de administración';
+ $lang['conf_general_mail_notification'] = 'Notificación por correo';
+ $lang['conf_general_mail_notification_info'] = 'Notificación automática de correo para los administradores (y sólo para ellos) cuando un usuario añada un comentario o suba una imagen.';
+ $lang['conf_comments_validation'] = 'validación';
+ $lang['conf_comments_validation_info'] = 'Un administrador valida los comentarios enviados por los usuarios antes de que estos sean visibles en el sitio web.';
+ $lang['conf_comments_forall'] = '¿para todos?';
+ $lang['conf_comments_forall_info'] = 'Los usuarios no registrados pueden enviar comentarios';
+ $lang['conf_default_nb_image_per_row_info'] = 'número de imágenes por fila por defecto';
+ $lang['conf_default_nb_row_per_page_info'] = 'número de filas por página por defecto';
+ $lang['conf_default_short_period_info'] = 'Por días. Período durante el cual una imagen se muestra con la marca roja. El período corto debe ser superior a 1 día.';
+ $lang['conf_default_long_period_info'] = 'Por días. Período durante el cual una imagen se muestra con la marca verde. El período largo debe ser superior al período corto.';
+ $lang['conf_default_expand_info'] = '¿expandir todas las categorías por defecto en el menú?';
+ $lang['conf_default_show_nb_comments_info'] = 'mostrar el número de comentarios para cada imagen en la página de miniaturas';
+ $lang['conf_default_maxwidth_info'] = 'Máxima anchura para la visualización de imágenes: la imagen tendrá una nueva anchura sólo para la visualización, los archivos de imagen no se cambiarán. Déjelo vacío si no quiere poner límite.';
+ $lang['conf_default_maxheight_info'] = 'Sólo como la máxima anchura, excepto para la altura';
+ $lang['conf_session_cookie'] = 'autorizar cookies';
+ $lang['conf_session_cookie_info'] = 'los usuarios no deberán identificarse en cada visita. Menos seguro.';
+ $lang['adduser_associate'] = 'Asociar al grupo';
+ $lang['group_add'] = 'Añadir un grupo';
+ $lang['group_add_error1'] = 'El nombre del grupo no debe contener " o \'';
+ $lang['group_add_error2'] = 'El nombre ya está usado por otro grupo';
+ $lang['group_confirm'] = '¿Está seguro de que quiere borrar este grupo?';
+ $lang['group_list_title'] = 'Lista de grupos existentes';
+ $lang['group_err_unknown'] = 'Este grupo no existe en la base de datos';
+ $lang['cat_permission'] = 'permisos';
+ $lang['cat_update'] = 'actualizar';
+ $lang['cat_add'] = 'Añadir una categoría virtual';
+ $lang['cat_parent'] = 'categoría padre';
+ $lang['cat_error_name'] = 'El nombre de la categoría no debe estar vacío';
+ $lang['cat_virtual'] = 'virtual';
+ $lang['cat_first'] = 'Poner primera';
+ $lang['cat_last'] = 'Poner última';
+ $lang['editcat_visible_info'] = '(invisible excepto para los administradores)';
+ $lang['editcat_visible'] = 'Visible';
+ $lang['editcat_uploadable'] = 'Subida disponible';
+ $lang['infoimage_keyword_separation'] = '(separar con coma ",")';
+ $lang['infoimage_addtoall'] = 'añadir a todas';
+ $lang['infoimage_removefromall'] = 'borrar de todas';
+ $lang['infoimage_associate'] = 'Asociar a la categoría';
+ $lang['update_wrong_dirname'] = 'El nombre de los directorios y de los archivos debe estar compuesto de letras, cifras, "-", "_" o "."';
+ $lang['stats_pages_seen'] = 'páginas visitadas';
+ $lang['stats_visitors'] = 'invitados';
+ $lang['stats_empty'] = 'borrar historial';
+ $lang['stats_pages_seen_graph_title'] = 'Número de páginas visitadas por día';
+ $lang['stats_visitors_graph_title'] = 'Número de invitados por día';
+ $lang['comments_last_title'] = 'Últimos comentarios';
+ $lang['comments_non_validated_title'] = 'Comentarios en espera de validación';
+ $lang['help_database'][1] = 'Para evitar la actualización de demasiadas imágenes en una actualización simple, le recomendamos que empiece actualizando sólo las categorías, y entonces en la sección de categorías del panel de administración, actualice cada categoría desde el enlace "actualizar"';
+ $lang['help_upload'][3] = 'La categoría debe tener habilitado "subir" para poder hacerlo.';
+ $lang['help_upload'][4] = 'Las imágenes subidas por los usuarios no están directamente visibles en el sitio web, deben ser validadas por el administrador. Para ello, un administrador debe entrar en la página "en attente" del panel de administración, para validar o rechazar las imágenes propuestas, y entonces realizar una actualización de los datos de las imágenes.';
+ $lang['help_virtual_title'] = 'Enlaces entre las imágenes y las categorías y las categorías virtuales';
+ $lang['help_virtual'][0] = 'PhpWebGallery es capaz de diferenciar las categorías donde las imágenes están guardadas y las categorías donde las imágenes se muestran.';
+ $lang['help_virtual'][1] = 'Por defecto, las imágenes sólo se muestran en sus categorías reales: las que se correspondan a los directorios en el servidor web.';
+ $lang['help_virtual'][2] = 'Para enlazar una imagen a una categoría, sólo tiene que hacer la asociación en la página de información de la imagen o en las informaciones de todas las imágenes de una categoría.';
+ $lang['help_virtual'][3] = 'Usando este principio, es posible crear categorías virtuales en PhpWebGallery: ningún directorio real corresponde a esta categoría. Sólo tiene que crear esta categoría en la sección de "categorías" del panel de administración.';
+ $lang['help_groups_title'] = 'Grupos de Usuarios';
+ $lang['help_groups'][0] = 'PhpWebGallery puede gestionar grupos de usuarios. Puede ser muy útil tener un permiso de acceso común para las categorías privadas.';
+ $lang['help_groups'][1] = '1. Crear el grupo "familia" en la sección "Grupos" del panel de administración.';
+ $lang['help_groups'][2] = '2. En la sección de "Usuarios", edite uno de ellos y asócielo al grupo "familia".';
+ $lang['help_groups'][3] = '3. Modificando los permisos de una categoría o grupo, verá que todas las categorías accesibles para un grupo son accesibles para sus miembros.';
+ $lang['help_groups'][4] = 'Un usuario puede pertenecer a varios grupos. La autorización tiene más peso que la prohibición: si el usuario "pepe" pertenece al grupo "familia" y "amigos", y sólo el grupo "familia" puede ver la categoría "Navidad 2003", "pepe" podrá ver "Navidad 2003".';
+ $lang['help_access_title'] = 'Autorización de acceso';
+ $lang['help_access'][0] = 'PhpWebGallery puede prohibir el acceso a las categorías. Las categorías pueden ser "públicas" o "privadas". Para prohibir el acceso a una categoría:';
+ $lang['help_access'][1] = '1. Modifique las informaciones de la categoría (desde la sección de "categorías" en el panel de administración) y hágala "privada".';
+ $lang['help_access'][2] = '2. En la página de permisos (para un grupo o un usuario) la categoría privada se mostrará y podrá autorizar el acceso o no.';
+ $lang['help_infos'][2] = 'Si tiene alguna pregunta, no dude en entrar al foro o realice una consulta desde allí. El <a href="'.$conf['forum_url'].'" style="text-decoration:underline">foro</a> (tablón de mensajes) está disponible en el site de presentación de PhpWebGallery.';
+ $lang['step1_err_copy'] = 'Copie el texto entre paréntesis y péguelo en el archivo "include/mysql.inc.php"(Atención: mysql.inc.php sólo debe contener lo que está en azul, sin ningún salto de línea ni espacio)';
+ $lang['permuser_only_private'] = 'Sólo se muestran las categorías privadas';
+ $lang['waiting_update'] = 'Las imágenes validadas serán mostradas cuando se actualice la base de datos de las imágenes';
+ $lang['conf_upload_available_info'] = 'Autorizando la subida de imágenes por los usuarios en las categorías del sitio web (no en un servidor remoto). Este es un parámetro general, es necesario autorizar la subida categoría por categoría, ya que por defecto no se pueden subir imágenes en las categorías.';
+ $lang['install_help'] = '¿Necesita ayuda? Realice su consulta en el <a href="http://forum.phpwebgallery.net">Tablón de mensajes de PhpWebGallery</a>.';
+ $lang['install_warning'] = 'El archivo "admin/install.php" aún está presente. Por favor, elimínelo de su servidor. No es seguro mantenerlo.';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+?> \ No newline at end of file
diff --git a/language/svenska.php b/language/svenska.php
new file mode 100644
index 000000000..78ad1fc60
--- /dev/null
+++ b/language/svenska.php
@@ -0,0 +1,550 @@
+<?php
+/***************************************************************************
+ * swedish.php *
+ * ------------------- *
+ * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
+ * author : Pierrick LE GALL <pierrick@z0rglub.com> *
+ * translation : Jimi Wester <webmaster@westers.se> *
+ * *
+ * $Id$ *
+ * *
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; *
+ * *
+ ***************************************************************************/
+
+$lang['only_members'] = 'Endast medlemmar kan komma åt denna sidan';
+$lang['invalid_pwd'] = 'Felaktigt Löseord!';
+$lang['access_forbiden'] = 'Du är inte berättigad att nå denna sida';
+$lang['submit'] = 'Skicka';
+$lang['login'] = 'användarnamn';
+$lang['password'] = 'lösenord';
+$lang['new'] = 'ny';
+$lang['delete'] = 'ta bort';
+$lang['category'] = 'kategori';
+$lang['thumbnail'] = 'miniatyr';
+$lang['date'] = 'datum';
+$lang['diapo_default_page_title'] = 'Ingen kategori är vald';
+$lang['thumbnails'] = 'Miniatyrer';
+$lang['categories'] = 'Kategorier';
+$lang['hint_category'] = 'visar bilder i roten av denna kategorin';
+$lang['total_images'] = 'totalt';
+$lang['title_menu'] = 'Meny';
+$lang['change_login'] = 'byt inloggning';
+$lang['login'] = 'logga in';
+$lang['hint_login'] = 'identifikation möjliggör sidan\'s skräddarsydda inställningar';
+$lang['logout'] = 'logga ut';
+$lang['customize'] = 'skräddarsy';
+$lang['hint_customize'] = 'skräddarsy utseendet av galleriet';
+$lang['hint_search'] = 'söka';
+$lang['search'] = 'sök';
+$lang['favorite_cat'] = 'favoriter';
+$lang['favorite_cat_hint'] = 'visa dina favoriter';
+$lang['about'] = 'om';
+$lang['hint_about'] = 'mer information om PhpWebGallery...';
+$lang['admin'] = 'administratör';
+$lang['hint_admin'] = 'endast för administratörer';
+$lang['no_category'] = 'Ingen kategori vald<br />välj det i menyn';
+$lang['page_number'] = 'sid nummer';
+$lang['previous_page'] = 'Förgående';
+$lang['next_page'] = 'Nästa';
+$lang['nb_image_category'] = 'nummer av bilder i denna kategorin';
+$lang['recent_image'] = 'bild inom';
+$lang['days'] = 'dag';
+$lang['send_mail'] = 'Kommentar? Skicka ett e-mail';
+$lang['title_send_mail'] = 'En kommentar på din hemsida';
+$lang['sub-cat'] = 'underkategorier';
+$lang['images_available'] = 'bilder i denna kategorin';
+$lang['total'] = 'bilder';
+$lang['upload_picture'] = 'Skicka upp en bild';
+$lang['registration_date'] = 'registrerad';
+$lang['creation_date'] = 'skapad den';
+$lang['comment'] = 'kommentar';
+$lang['author'] = 'upphovsman';
+$lang['size'] = 'storlek';
+$lang['filesize'] = 'filestorlek';
+$lang['file'] = 'filnamn';
+$lang['generation_time'] = 'Sidan laddades på';
+$lang['favorites'] = 'Favoriter';
+$lang['search_result'] = 'Söknings resultat';
+$lang['about_page_title'] = 'Om PhpWebGallery';
+$lang['about_title'] = 'Om...';
+$lang['about_message'] = '<div style="text-align:center;font-weigh:bold;">Information om PhpWebGallery</div>
+<ul>
+ <li>Denna webbsida använder <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallery</a> version '.$conf['version'].'. PhpWebGallery är ett webbside program som ger dig möjligheten att skapa ett on-line bild galleri på ett enkelt sätt.</li>
+ <li>Tekniskt sett, så är PhpWebGallery skapat med PHP ("the elePHPant") med en MySQL databas ("the SQuirreL").</li>
+ <li>Om du har några förslag eller kommentarer, besök då gärna <a href="'.$conf['site_url'].'" style="text-decoration:underline">PhpWebGallerys</a> officiella webbsida, och det <a href="'.$conf['forum_url'].'" style="text-decoration:underline">forum</a> som behandlar detta program.</li>
+</ul>';
+$lang['about_return'] = 'Tillbaka';
+$lang['ident_page_title'] = 'Identifikation';
+$lang['ident_title'] = 'Identifikation';
+$lang['ident_register'] = 'Registrera';
+$lang['ident_forgotten_password'] = 'Glömt ditt lösenord?';
+$lang['ident_guest_visit'] = 'Gå igenom galleriet som en besökare';
+$lang['customize_page_title'] = 'Skräddarsy';
+$lang['customize_title'] = 'Skräddarsy';
+$lang['customize_nb_image_per_row'] = 'antal bilder per rad';
+$lang['customize_nb_row_per_page'] = 'amtal rader per sida';
+$lang['customize_language'] = 'språk';
+$lang['maxwidth'] = 'maximal bredd på bilderna';
+$lang['maxheight'] = 'maximal höjd på bilderna';
+$lang['err_maxwidth'] = 'maximal bredd måste vara ett nummer högre än 50';
+$lang['err_maxheight'] = 'maximal höjd måste vara ett nummer högre än 50';
+$lang['previous_image'] = 'Förgående';
+$lang['next_image'] = 'Nästa';
+$lang['back'] = 'Klicka på bilden för att gå tillbaka till minityr-sidan';
+$lang['info_image_title'] = 'Bild information';
+$lang['link_info_image'] = 'Ändra information';
+$lang['true_size'] = 'Verklig storlek';
+$lang['comments_title'] = 'Kommentarer från användare på webbsidan';
+$lang['comments_del'] = 'tabort denna kommentaren';
+$lang['comments_add'] = 'Lägg till kommentar';
+$lang['month'][1] = 'Januari';
+$lang['month'][2] = 'Februari';
+$lang['month'][3] = 'Mars';
+$lang['month'][4] = 'April';
+$lang['month'][5] = 'Maj';
+$lang['month'][6] = 'Juni';
+$lang['month'][7] = 'Juli';
+$lang['month'][8] = 'Augusti';
+$lang['month'][9] = 'September';
+$lang['month'][10] = 'Oktober';
+$lang['month'][11] = 'November';
+$lang['month'][12] = 'December';
+$lang['day'][0] = 'Söndag';
+$lang['day'][1] = 'Måndag';
+$lang['day'][2] = 'Tisdag';
+$lang['day'][3] = 'Onsdag';
+$lang['day'][4] = 'Torsdag';
+$lang['day'][5] = 'Fredag';
+$lang['day'][6] = 'Lördag';
+$lang['add_favorites_alt'] = 'Lägg till i favoriter';
+$lang['add_favorites_hint'] = 'Lägg till denna bild i dina favoriter';
+$lang['del_favorites_alt'] = 'Tabort från favoriter';
+$lang['del_favorites_hint'] = 'Tabort denna bild från dina favoriter';
+$lang['register_page_title'] = 'Registrering';
+$lang['register_title'] = 'Registrering';
+$lang['reg_err_login1'] = 'Skriv användarnamn, tack';
+$lang['reg_err_login2'] = 'användarnamn får inte sluta med blanksteg';
+$lang['reg_err_login3'] = 'användarnamn får inte börja med blanksteg';
+$lang['reg_err_login4'] = 'användarnamn får inte innehålla " och \'';
+$lang['reg_err_login5'] = 'detta användarnamn är upptaget';
+$lang['reg_err_pass'] = 'Skriv in lösenordet igen, tack';
+$lang['reg_confirm'] = 'bekräfta lösenord';
+$lang['reg_err_mail_address'] = 'Emailadress måste se ut så här: xxx@yyy.eee (exempel : jack@altern.org)';
+$lang['search_title'] = 'Sök';
+$lang['invalid_search'] = 'sökning måste vara på 3 eller fler tecken';
+$lang['search_field_search'] = 'Sök';
+$lang['search_return_main_page'] = 'Återvänd till miniatyrsidan';
+$lang['upload_forbidden'] = 'Du kan inte skicka upp bilder i denna kategorin';
+$lang['upload_file_exists'] = 'Filnamnet är upptaget';
+$lang['upload_filenotfound'] = 'Du måste välja ett bildformat för bilden';
+$lang['upload_cannot_upload'] = 'kan inte skicka upp bilden till servern';
+$lang['upload_title'] = 'Skicka upp bild';
+$lang['upload_advise'] = 'Välj en bild att lägga i kategorin : ';
+$lang['upload_advise_thumbnail'] = 'Valfritt, men rekommenderat : välj miniatyr att knyta till ';
+$lang['upload_advise_filesize'] = 'filstorleken får inte vara större än : ';
+$lang['upload_advise_width'] = 'bredden av bilden får inte vara större än : ';
+$lang['upload_advise_height'] = 'höjden av bilden får inte vara större än : ';
+$lang['upload_advise_filetype'] = 'bilden måste vara av formaten jpg, gif eller png';
+$lang['upload_err_username'] = 'ett användarnamn måste anges';
+$lang['upload_username'] = 'Användarnamn';
+$lang['upload_successful'] = 'Bilden skickades utan problem, en administratör kommer att godkänna den så fort som möjligt';
+// new or modified in release 1.3
+$lang['charset'] = 'iso-8859-1';
+$lang['no'] = 'nej';
+$lang['yes'] = 'ja';
+$lang['guest'] = 'gäst';
+$lang['mail_address'] = 'mailadress';
+$lang['public'] = 'publik';
+$lang['private'] = 'privat';
+$lang['add'] = 'lägga till';
+$lang['dissociate'] = 'separera';
+$lang['mandatory'] = 'obligatorisk';
+$lang['err_date'] = 'fel datum';
+$lang['picture'] = 'bild';
+$lang['IP'] = 'IP';
+$lang['close'] = 'stäng';
+$lang['open'] = 'öppna';
+$lang['keywords'] = 'nyckelord';
+$lang['errors_title'] = 'Fel';
+$lang['infos_title'] = 'Information';
+$lang['default'] = 'standard';
+$lang['comments'] = 'kommentarer';
+$lang['category_representative'] = 'representativ';
+$lang['stats'] = 'statistik';
+$lang['most_visited_cat_hint'] = 'visar de mest besökta bilderna';
+$lang['most_visited_cat'] = 'mest besökta';
+$lang['best_rated_cat_hint'] = 'visar de högst värderade bilderna';
+$lang['best_rated_cat'] = 'högst värderade';
+$lang['recent_cat_hint'] = 'visar de senaste visade bilderna';
+$lang['recent_cat'] = 'de senast visade';
+$lang['recent_cat_title'] = 'Senaste visade bilder';
+$lang['visited'] = 'besökt';
+$lang['times'] = 'gånger';
+$lang['customize_theme'] = 'gränssnitt tema';
+$lang['customize_expand'] = 'veckla ut alla kategorier';
+$lang['customize_show_nb_comments'] = 'visa antal kommentarer';
+$lang['customize_short_period'] = 'kort period';
+$lang['customize_long_period'] = 'lång period';
+$lang['customize_template'] = 'utseende';
+$lang['err_periods'] = 'period måste bara ett heltal';
+$lang['err_periods_2'] = 'period måste vara högre än 0. Den långa perioden måste vara högre än den lägsta.';
+$lang['create_cookie'] = 'skapa en cookie';
+$lang['customize_day'] = 'dag';
+$lang['customize_week'] = 'vecka';
+$lang['customize_month'] = 'månad';
+$lang['customize_year'] = 'år';
+$lang['slideshow'] = 'bildspel';
+$lang['period_seconds'] = 'sekunder per bild';
+$lang['slideshow_stop'] = 'stoppa bildspel';
+$lang['comment_added'] = 'Din kommentar har blivit registrerad';
+$lang['comment_to_validate'] = 'En administratör måste godkänna din kommentar innan den visas.';
+$lang['comment_anti-flood'] = 'Anti-flood system : var god vänta en stund innan du postar en ny kommentar';
+$lang['comment_user_exists'] = 'Användarnamnet är redan användt av annan användare';
+$lang['invalid_search'] = 'Ord i sökningen måste vara större än 3 tecken och får inte innehålla punkt';
+$lang['search_mode_or'] = 'minst ett ord';
+$lang['search_mode_and'] = 'alla ord';
+$lang['search_comments'] = 'sepparera olika ord med blanksteg';
+$lang['upload_name'] = 'Namn på bilden';
+$lang['upload_author'] = 'Upphovsman (typ "Pierrick LE GALL")';
+$lang['upload_creation_date'] = 'Skapad datum (DD/MM/YYYY)';
+$lang['upload_comment'] = 'Kommentar';
+$lang['mail_hello'] = 'Hej,';
+$lang['mail_new_upload_subject'] = 'Ny bild på webbsidan';
+$lang['mail_new_upload_content'] = 'En ny bild har skickats upp till galleriet. Det väntar på att du ska godkänna det. Gå till admin-panelen för att godkänna eller avvisa bilden.';
+$lang['mail_new_comment_subject'] = 'Ny kommentar på webbsida';
+$lang['mail_new_comment_content'] = 'En ny kommentar har registrerats på webbsidan. Om du väljer att godkänna varje kommentar, så måste du först denna kommentar i admin-panelen för att den ska synas i galleriet.'."\n\n".'Du kan se senaste kommentaren i admin-panelen';
+$lang['connected_user'] = 'ansluten användare';
+$lang['title_comments'] = 'Användarkommentar';
+$lang['stats_last_days'] = 'senaste dagarna';
+$lang['hint_comments'] = 'Se senaste användarens kommentar';
+$lang['menu_login'] = 'logga in';
+//-------------------------------------------------------------- administration
+if ( $isadmin )
+{
+ $lang['title_liste_users'] = 'Användarlista';
+ $lang['title_history'] = 'Historik';
+ $lang['title_update'] = 'Updatera databas';
+ $lang['title_configuration'] = 'PhpWebGallery konfiguration';
+ $lang['title_instructions'] = 'Instruktioner';
+ $lang['title_categories'] = 'Kategori hantering';
+ $lang['title_edit_cat'] = 'Ändra en kategori';
+ $lang['title_info_images'] = 'Ändra kategorins bild information';
+ $lang['title_thumbnails'] = 'Skapa minityrer';
+ $lang['title_thumbnails_2'] = 'för';
+ $lang['title_default'] = 'PhpWebGallery administration';
+ $lang['menu_title'] = 'Administration';
+ $lang['menu_config'] = 'Konfiguration';
+ $lang['menu_users'] = 'Användare';
+ $lang['menu_add_user'] = 'Lägg till';
+ $lang['menu_list_user'] = 'lista';
+ $lang['menu_categories'] = 'Kategorier';
+ $lang['menu_update'] = 'Updatera databas';
+ $lang['menu_thumbnails'] = 'Miniatyrer';
+ $lang['menu_history'] = 'Historik';
+ $lang['menu_instructions'] = 'Instruktioner';
+ $lang['menu_back'] = 'Tillbaka till gallerier';
+ $lang['title_waiting'] = 'Bilder som väntar på godkännande';
+ $lang['menu_waiting'] = 'Väntar på godkännande';
+ $lang['default_message'] = 'PhpWebGallery administrations panel';
+ $lang['conf_err_prefixe'] = 'miniatyrens prefix får inte innehålla några accenttecken';
+ $lang['conf_err_mail'] = 'e-mailadress avvisad, ska se ut som: name@server.com';
+ $lang['conf_err_sid_size'] = 'sessionens identifikations storlek måste vara ett heltal mellan 4 och 50';
+ $lang['conf_err_sid_time'] = 'sessionens tid måste vara ett heltal mellan 5 och 60';
+ $lang['conf_err_max_user_listbox'] = 'max antal användare i listboxen måste vara ett heltal mellan 0 och 255';
+ $lang['conf_confirmation'] = 'Datainformation registrerad i databasen';
+ $lang['conf_general_title'] = 'Huvud configuration';
+ $lang['conf_general_webmaster'] = 'webmaster användare';
+ $lang['conf_general_webmaster_info'] = 'Det kommer att visas för beökare. Det är nödvändigt för webbsidans administration';
+ $lang['conf_general_mail'] = 'webmasters mailadress';
+ $lang['conf_general_mail_info'] = 'Besökare kommer att kunna kontakta via denna emailadress';
+ $lang['conf_general_prefix'] = 'miniatyrens prefix';
+ $lang['conf_general_prefix_info'] = 'Minityren avänder detta prefix. Ändra inte om du är osäker.';
+ $lang['conf_general_access'] = 'access typ';
+ $lang['conf_general_access_1'] = 'fri';
+ $lang['conf_general_access_2'] = 'begränsad';
+ $lang['conf_general_access_info'] = '- fri : vem som helst kan komma in på webbsidan, vilken besökare som helst ett konto för att ändra utseendet på webbsidan.<br />- begränsad : webmastern skapar användarkonton. Endast registrerade användare kan komma in på webbsidan';
+ $lang['conf_general_max_user_listbox'] = 'max listbox användar antal';
+ $lang['conf_general_max_user_listbox_info'] = '- detta är maximala antalet av användare som PhpWebGallery visar i en listbox istället för en enkel textruta på identifierings sidan<br />- skriv in ett nummer mellan 0 och 255, 0 betyder att du inte vill visa listboxen';
+ $lang['conf_comments'] = 'användar kommentarer';
+ $lang['conf_comments_title'] = 'Konfiguration av '.$lang['conf_comments'];
+ $lang['conf_comments_show_comments'] = $lang['conf_comments'];
+ $lang['conf_comments_show_comments_info'] = 'display the users comments under each picture ?';
+ $lang['conf_comments_comments_number'] = 'antal kommentarer per sida';
+ $lang['conf_comments_comments_number_info'] = 'antal kommentarer som visas på varje sida. Detta antal är obegränsat för bilder. Skriv in ett nummer mellan 5 och 50.';
+ $lang['conf_err_comment_number'] = 'Antalet kommentarer per sida måste vara mellan 5 och 50.';
+ $lang['conf_remote_site_delete_info'] = 'Tar du bort en remote server så tar du även bort alla bilder och kategorier som den är relaterad till.';
+ $lang['conf_upload_title'] = 'Konfiguration av uppladdning av bilder för användare';
+ $lang['conf_upload_available'] = 'godkänn uppladdningen av bilder';
+ $lang['conf_upload_maxfilesize'] = 'max filstorlek';
+ $lang['conf_upload_maxfilesize_info'] = 'Maximal filstorlek för uppladdade bilder. Måste vara ett nummer mellan 10 och 1000 KB.';
+ $lang['conf_err_upload_maxfilesize'] = 'Maximal filstorlek för de uppladdade bilderna måste vara ett nummer mellan 10 och 1000 KB.';
+ $lang['conf_upload_maxwidth'] = 'maximal bredd';
+ $lang['conf_upload_maxwidth_info'] = 'Maximal bredd godkännd för uppladdade bilder. Måste vara högre än 10 pixlar';
+ $lang['conf_err_upload_maxwidth'] = 'Maximal bredd godkännd för de uppladdade bilderna måste vara ett nummer högre än 10 pixlar.';
+ $lang['conf_upload_maxheight'] = 'maximal höjd';
+ $lang['conf_upload_maxheight_info'] = 'Maximal höjd godkännd för uppladdade bilder. Måste vara högre än 10 pixlar';
+ $lang['conf_err_upload_maxwidth'] = 'Maximal höjd godkännd för de uppladdade bilderna måste vara ett nummer högre än 10 pixlar.';
+ $lang['conf_upload_maxwidth_thumbnail'] = 'miniatyrers maximala bredd';
+ $lang['conf_upload_maxwidth_thumbnail_info'] = 'Maximal bredd godkännd för uppladdade miniatyrer. Måste vara högre än 10 pixlar';
+ $lang['conf_err_upload_maxwidth_thumbnail'] = 'Maximal bredd godkännd för de uppladdade miniatyrerna måste vara ett nummer högre än 10 pixlar.';
+ $lang['conf_upload_maxheight_thumbnail'] = 'miniatyrers maximala höjd';
+ $lang['conf_upload_maxheight_thumbnail_info'] = 'Maximal höjd godkännd för uppladdade miniatyrer. Måste vara högre än 10 pixlar';
+ $lang['conf_err_upload_maxheight_thumbnail'] = 'Maximal höjd godkännd för de uppladdade miniatyrerna måste vara ett nummer högre än 10 pixlar.';
+ $lang['conf_default_title'] = 'Standard visnings inställningar för oregistrerade besökare och nya konton';
+ $lang['conf_default_language_info'] = 'standard språk';
+ $lang['conf_default_theme_info'] = 'standard tema';
+ $lang['conf_session_title'] = 'Sessions konfiguration';
+ $lang['conf_session_size'] = 'identifikations storlek';
+ $lang['conf_session_size_info'] = '- desto längre din identifikation är, desto säkrare blir din webbsite<br />- skriv ett tal mellan 4 och 50';
+ $lang['conf_session_time'] = 'giltlighetstid';
+ $lang['conf_session_time_info'] = '- desto kortare giltlighetstiden är, desto säkrare är webbsidan.<br />- skriv ett tal mellan 5 och 60 minuter';
+ $lang['conf_session_key'] = 'nyckelord';
+ $lang['conf_session_key_info'] = '- sessionens nyckelord förbättrar enkodningen av sessions indentifieringen<br />- skriv en mening kortare än 255 tecken';
+ $lang['conf_session_delete'] = 'tabort ut-daterade sessioner';
+ $lang['conf_session_delete_info'] = 'det är rekommenderat att tömma databasen med listan över sessioner, för annars ligger ut-timeade sessioner kvar i databasen(men det är inget säkerhets problem';
+ $lang['user_err_modify'] = 'Denna användaren kan inte ändras eller tas bort';
+ $lang['user_err_unknown'] = 'Denna användaren finns inte i databasen';
+ $lang['adduser_info_message'] = 'Information registrerad i databasen för användaren ';
+ $lang['adduser_info_password_updated'] = '(lösenordet updaterat)';
+ $lang['adduser_info_back'] = 'tillbaka till användarlistan';
+ $lang['adduser_fill_form'] = 'Fyll i följande sida tack';
+ $lang['adduser_unmodify'] = 'ej förändringsbar';
+ $lang['adduser_status'] = 'status';
+ $lang['adduser_status_admin'] = 'administratör';
+ $lang['adduser_status_guest'] = 'gäst';
+ $lang['permuser_info_message'] = 'Rättighet registrerad';
+ $lang['permuser_title'] = 'Rättigheter för användare';
+ $lang['permuser_warning'] = 'Varning : en "<span style="font-weight:bold;">förbjuden åtkomst</span>" till roten av kategorin för att hindra åtkomst till hela kategorin';
+ $lang['permuser_authorized'] = 'berättigad';
+ $lang['permuser_forbidden'] = 'förbjuden';
+ $lang['permuser_parent_forbidden'] = 'föregående kategori förbjuden';
+ $lang['listuser_confirm'] = 'Vill du verkligen tabort denna användaren';
+ $lang['listuser_info_deletion'] = 'togs bort från databasen';
+ $lang['listuser_user_group'] = 'Användargrupp';
+ $lang['listuser_modify'] = 'ändra';
+ $lang['listuser_modify_hint'] = 'ändra information på';
+ $lang['listuser_permission'] = 'rättigheter';
+ $lang['listuser_permission_hint'] = 'ändra rättigheter på';
+ $lang['listuser_delete'] = 'tabort';
+ $lang['listuser_delete_hint'] = 'tabort användare';
+ $lang['listuser_button_all'] = 'allt';
+ $lang['listuser_button_invert'] = 'inverterat';
+ $lang['listuser_button_create_address'] = 'skapa mailadress';
+ $lang['cat_invisible'] = 'osynlig';
+ $lang['cat_edit'] = 'Editera';
+ $lang['cat_up'] = 'Uppåt';
+ $lang['cat_down'] = 'Neråt';
+ $lang['cat_image_info'] = 'Bild info';
+ $lang['cat_total'] = 'totalt';
+ $lang['editcat_confirm'] = 'Information registerad i databasen';
+ $lang['editcat_back'] = 'kategorier';
+ $lang['editcat_title1'] = 'Valmöjligheter för';
+ $lang['editcat_name'] = 'Namn';
+ $lang['editcat_comment'] = 'Kommentar';
+ $lang['editcat_status'] = 'Status';
+ $lang['infoimage_general'] = 'Generella val för denna kategorin';
+ $lang['infoimage_useforall'] = 'använda detta för alla bilder ?';
+ $lang['infoimage_creation_date'] = 'skapad datum';
+ $lang['infoimage_detailed'] = 'Inställningar för varje bild';
+ $lang['infoimage_title'] = 'titel';
+ $lang['infoimage_comment'] = 'kommentar';
+ $lang['update_missing_tn'] = 'miniatyren saknas till';
+ $lang['update_disappeared_tn'] = 'miniatyren försvann';
+ $lang['update_disappeared'] = 'finns inte';
+ $lang['update_part_deletion'] = 'Borttagning av bild som saknar miniatyr eller som inte finns';
+ $lang['update_deletion_conclusion'] = 'bild borttagen från databasen';
+ $lang['update_part_research'] = 'Söka efter nya bilder i kategorierna';
+ $lang['update_research_added'] = 'tillagd';
+ $lang['update_research_tn_ext'] = 'miniatyr i';
+ $lang['update_research_conclusion'] = 'bild tillagd i databasen';
+ $lang['update_default_title'] = 'Välj något av följande';
+ $lang['update_only_cat'] = 'updatera kategorier, inte bilder';
+ $lang['update_all'] = 'uppdatera allt';
+ $lang['tn_width'] = 'bredd';
+ $lang['tn_height'] = 'höjd';
+ $lang['tn_no_support'] = 'Bilden kan ej nås eller inget underhåll';
+ $lang['tn_format'] = 'för filens format';
+ $lang['tn_thisformat'] = 'för denna fils format';
+ $lang['tn_err_width'] = 'bredd måste vara ett tal högre än';
+ $lang['tn_err_height'] = 'höjd msåte vare ett tal högre än';
+ $lang['tn_results_title'] = 'Resultat av miniatyrtillverkning';
+ $lang['tn_picture'] = 'bild';
+ $lang['tn_results_gen_time'] = 'genererad i';
+ $lang['tn_stats'] = 'Generell statistik';
+ $lang['tn_stats_nb'] = 'antal av miniatyr bilder';
+ $lang['tn_stats_total'] = 'total tid';
+ $lang['tn_stats_max'] = 'maximala tid';
+ $lang['tn_stats_min'] = 'minimala tid';
+ $lang['tn_stats_mean'] = 'medel tid';
+ $lang['tn_err'] = 'Du gjorde misstag';
+ $lang['tn_params_title'] = 'Miniatyr parametrar';
+ $lang['tn_params_GD'] = 'GD version';
+ $lang['tn_params_GD_info'] = '- GD är bildens manipulering av biblioteket för PHP<br />- välj en version som är installerad på din server. Om du väljer fel, så får du bara felmeddelanden, kom tillbaka och välj en annan version. Om ingen version fungerar, så stödjer inte din server GD.';
+ $lang['tn_params_width_info'] = 'maximal bredd som miniatyren kan ha';
+ $lang['tn_params_height_info'] = 'maximal höjd som miniatyren kan ha';
+ $lang['tn_params_create'] = 'skapa';
+ $lang['tn_params_create_info'] = 'Gör inte miniatyrer av för många bilder samtidigt.<br />Miniatyr-skapandet använder mycket processorkraft. Om du installerat PhpWebGallery på ett gratis webbhotell, en alldeles för hög processorlast kan ibland leda till att webbhotellet tar bort ditt konto.';
+ $lang['tn_params_format'] = 'filformat';
+ $lang['tn_params_format_info'] = 'endast jpeg filformat fungerar med minityr-skapandet';
+ $lang['tn_alone_title'] = 'pictures without thumbnail (jpeg and png only)';
+ $lang['tn_dirs_title'] = 'Kataloglista';
+ $lang['tn_dirs_alone'] = 'bilder utan miniatyrer';
+ $lang['help_images_title'] = 'Lägg till bilder';
+ $lang['help_images_intro'] = 'Hur man placerar bilder i kataloger';
+ $lang['help_images'][0] = 'i katalogen "gallerier", skapar du kataloger som ska bli dina kategorier';
+ $lang['help_images'][1] = 'i varje katalog, kan du skapa hur många underkataloger som du önskar.';
+ $lang['help_images'][2] = 'du kan skapa hur många kategorier och underkategorier som du önskar';
+ $lang['help_images'][3] = 'bild filerna måste vara av jpeg format (ändelse jpg eller JPG), gif format (ändelse gif eller GIF) eller png format (ändelse png eller PNG).';
+ $lang['help_images'][4] = 'försök att inte använda blanksteg " " eller bindesträck "-" i bildfilerna, jag råder dig att använda underscore "_" tecknet som PhpWebGallery klarar av och det kommer ge bättre resultat';
+ $lang['help_thumbnails_title'] = 'Miniatyrer';
+ $lang['help_thumbnails'][0] = 'i varje katalog som innehåller bilder som ska visas på din webbsida, så finns det en underkatalog som heter "thumbnail", om det inte finns, skapa en och lägg din miniatyrer i den.';
+ $lang['help_thumbnails'][1] = 'miniatyrer kan inte ha samma ändelse som deras associerade bild (en bild med .jpg ändelse kan ha en miniatyr i .GIF ändelse som exempel).';
+ $lang['help_thumbnails'][2] = 'miniatyren som är associerad med en bild måste ha prefixet som anges på konfigurations sidan(image.jpg -> TN_image.GIF exempelvis).';
+ $lang['help_thumbnails'][3] = 'Jag råder dig att använda den nerladdningsbara modulen för Windows som finns på PhpWebGallery sidor för miniatyr hanteringen.';
+ $lang['help_thumbnails'][4] = 'du kan använda dig av miniatyr-skaparsidan som finns i PhpWebGallery, men mitt råd är att inte göra det, för att miniatyrernas kvalite kan bli dålig och tar mycket processorkraft och det kan bli ett problem om du använder ett gratis webbhotell.';
+ $lang['help_thumbnails'][5] = 'om du väljer att ditt webbhotell ska skapa miniatyrerna, så måste du ändra skrivrättigheterna på "galleries" katalogen till 775 och det gäller även för dina underkataloger.';
+ $lang['help_database_title'] = 'Updaterar databasen';
+ $lang['help_database'][0] = 'när bilderna och miniatyrerna är placerade i katalogerna, klicka på "updatera databas" i menyn för administrations panelen.';
+ $lang['help_infos_title'] = 'Övrig information';
+ $lang['help_infos'][1] = 'Såfort du har skapat ditt galleri, gå in i användarlistan och ändra rättigheterna för "visiteur" (gäst). Varje ny registrerad användare kommer få samma rättigheter som "visiteur" användaren.';
+ $lang['help_remote_title'] = 'Fjärrsida';
+ $lang['help_remote'][0] = 'PhpWebGallery erbjuder möjligheten att använda flera olika servrar att spara bilderna på som kommer utgöra ditt galleri. Det kan vara användbart om ditt galleri är installerad på en server med begränsad yta och du har många bilder som ska visas. Följ denna anvisning tack : ';
+ $lang['help_remote'][1] = '1. ändra filen "create_listing_file.php" (du kommer hitta den i katalogen "admin"), genom att ändra raden "$prefix_thumbnail = "TN-";" om prefixet för dina miniatyrer inte är "TN-".';
+ $lang['help_remote'][2] = '2. lägg filen "create_listing_file.php" ändrad på din andra webbsida, lägg den i rot-katalogen för dina kataloger med bilder i (som katalogen "galleries" på denna webbsidan) via ftp.';
+ $lang['help_remote'][3] = '3. starta scriptet genom att gå till http://andraServern/andraGalleriet/create_listing_file.php, en listing.xml fil har precis skapats.';
+ $lang['help_remote'][4] = '4. hämta tillbaka filen listing.xml från din andra webbsida och placera den i katalogen "admin" på denna webbsidan.';
+ $lang['help_remote'][5] = '5. starta nu en updatering av alla data i administrations panelen, såfort du användt listing.xml, stäng ner det från katalogen "admin".';
+ $lang['help_remote'][6] = 'Du kan updatera innehållet på den andra webbsidan genom att göra om denna åtgärden. Du kan också stänga ner den andra webbsidan genom att välja det i administrations panelen..';
+ $lang['help_upload_title'] = 'Tillagda bilder av användare';
+ $lang['help_upload'][0] = 'PhpWebGallery erbjuder möjligheten för användare att skicka upp bilder. För att det ska vara möjligt :';
+ $lang['help_upload'][1] = '1. Se till att det är tillåtet i konfigurationsdelen i administrations panelen';
+ $lang['help_upload'][2] = '2. Se till att rättigheterna för att skriva i katalogerna är rätt';
+ $lang['install_message'] = 'Meddelande';
+ $lang['step1_confirmation'] = 'Parametrarna är korrekta';
+ $lang['step1_err_db'] = 'Kontakt med servern lyckades, men kunde inte komma åt databasen';
+ $lang['step1_err_server'] = 'Kan inte nå servern';
+ $lang['step1_err_copy_2'] = 'Nästa steg i installeringen är nu möjlig';
+ $lang['step1_err_copy_next'] = 'nästa steg';
+ $lang['step1_title'] = 'Steg 1/2';
+ $lang['step1_host'] = 'MySQL värd';
+ $lang['step1_host_info'] = 'localhost, sql.multimania.com, toto.freesurf.fr';
+ $lang['step1_user'] = 'Användarnamn';
+ $lang['step1_user_info'] = 'användarnamn som du fått av din servervärd';
+ $lang['step1_pass'] = 'Lösenord';
+ $lang['step1_pass_info'] = 'användarnamnets lösenord som du fått av din servervärd';
+ $lang['step1_database'] = 'Databasens namn';
+ $lang['step1_database_info'] = 'också tillhandagetts av din servervärd';
+ $lang['step1_prefix'] = 'Databasens prefix';
+ $lang['step1_prefix_info'] = 'databasens namn som kommer bli märkt med detta prefix (gör att du enklare kan hantera din databas)';
+ $lang['step2_err_login1'] = 'skriv användarnamn för din webmaster';
+ $lang['step2_err_login3'] = 'webmaster användarnamn kan inte innehålla tecknen \' eller "';
+ $lang['step2_err_pass'] = 'skriv ditt lösenord igen tack';
+ $lang['step2_err_mail'] = $lang['conf_err_mail'];
+ $lang['install_end_title'] = 'Installationen klar';
+ $lang['install_end_message'] = 'Konfigurationen av PhpWebGallery är klar, här kommer nästa steg<br /><br />
+För säkerhets skull, tabort filen "install.php" som ligger i "admin" katalogen<br />
+Såfort filen är bortagen, följ dessa instruktioner :
+<ul>
+ <li>gå till identifierings sidan : [ <a href="../identification.php">identifiering</a> ] och använd användarnamnet och lösenordet som du angav för din webmaster</li>
+ <li>detta användarnamn kommer ge dig tillträde till [ <a href="admin.php">administrations panelen</a> ] och till instruktionerna för att kunna placera bilderna i dina kataloger</li>
+</ul>';
+ $lang['step2_title'] = 'Steg 2/2';
+ $lang['step2_pwd'] = 'webmaster lösenord';
+ $lang['step2_pwd_info'] = 'Håll detta hemligt, det ger tillträde till administrations panelen';
+ $lang['step2_pwd_conf'] = 'verifiera lösenord';
+ $lang['step2_pwd_conf_info'] = 'verifiering';
+ // new or modified in release 1.3
+ $lang['remote_site'] = 'Fjärrsite';
+ $lang['title_add'] = 'Lägg till användare';
+ $lang['title_modify'] = 'Ändra användare';
+ $lang['title_groups'] = 'Grupp hantering';
+ $lang['title_user_perm'] = 'Ändra rättigheter för användare';
+ $lang['title_cat_perm'] = 'Ändra rättigheter för kategori';
+ $lang['title_group_perm'] = 'Ändra rättigheter för grupp';
+ $lang['title_picmod'] = 'Ändra information om en bild';
+ $lang['menu_groups'] = 'Grupper';
+ $lang['menu_comments'] = 'Kommentarer';
+ $lang['conf_general_log'] = 'historik';
+ $lang['conf_general_log_info'] = 'För en historik över besök på webbsidan ? Besökare kommer visas i historik sektionen i administrations panelen';
+ $lang['conf_general_mail_notification'] = 'Email notifikation';
+ $lang['conf_general_mail_notification_info'] = 'Automatiserad email notifikation för administratörer (och endast dem) när användare lägger till en kommentar eller skickar upp en bild.';
+ $lang['conf_comments_validation'] = 'validering';
+ $lang['conf_comments_validation_info'] = 'En administratör validerar användarnas postade kommentarer innan de visas offentligt på webbsidan';
+ $lang['conf_comments_forall'] = 'för alla ?';
+ $lang['conf_comments_forall_info'] = 'Även gäster som inte är registrerade kan posta kommentarer';
+ $lang['conf_default_nb_image_per_row_info'] = 'antal bilder för varje rad som ska vara standard';
+ $lang['conf_default_nb_row_per_page_info'] = 'antal rader per sida som ska vara standard';
+ $lang['conf_default_short_period_info'] = 'I dagar. Period inom vilken bilder ska markeras med ett rött märke. Den korta perioden måste vara högre än 1 dag.';
+ $lang['conf_default_long_period_info'] = 'I dagar. Period inom vilken bilder ska markeras med ett grönt märke. Den långa perioden måste vara högre än den korta perioden.';
+ $lang['conf_default_expand_info'] = 'veckla ut alla kategorier i menyn som standard ?';
+ $lang['conf_default_show_nb_comments_info'] = 'visa antalet kommentarer för varje bild på miniatyrsidan';
+ $lang['conf_default_maxwidth_info'] = 'Maximal bredd för visning av bilder : bilden kommer bara visas i en ny storlek, bilden kommer inte att ändras på. Låt vara tom om du inte önskar ha en gräns.';
+ $lang['conf_default_maxheight_info'] = 'Precis som den maximala bredden, men för höjden';
+ $lang['conf_session_cookie'] = 'tillåt cookies';
+ $lang['conf_session_cookie_info'] = 'användare behöver inte logga in för varje besök. Mindre säkerhet.';
+ $lang['adduser_associate'] = 'Lägg till i grupp';
+ $lang['group_add'] = 'Lägg till grupp';
+ $lang['group_add_error1'] = 'Namnet i gruppen får inte innehålla " eller \'';
+ $lang['group_add_error2'] = 'Detta namn finns redan på en annan grupp';
+ $lang['group_confirm'] = 'Är du säker på att du vill ta bort denna grupp ?';
+ $lang['group_list_title'] = 'Lista på befintliga grupper';
+ $lang['group_err_unknown'] = 'Denna grupp finns inte i databasen';
+ $lang['cat_permission'] = 'rättigheter';
+ $lang['cat_update'] = 'uppdatera';
+ $lang['cat_add'] = 'Lägg till virituell kategori';
+ $lang['cat_parent'] = 'föregående kategori';
+ $lang['cat_error_name'] = 'Namnet på denna kategori får inte vara tom';
+ $lang['cat_virtual'] = 'virtuell';
+ $lang['cat_first'] = 'Flytta längst upp';
+ $lang['cat_last'] = 'Flytta längst ner';
+ $lang['editcat_visible_info'] = '(osynlig för alla utom administratörer)';
+ $lang['editcat_visible'] = 'Synlig';
+ $lang['editcat_uploadable'] = 'Uppladdning tillgänglig';
+ $lang['infoimage_keyword_separation'] = '(sepparera med komma ",")';
+ $lang['infoimage_addtoall'] = 'lägg till i alla';
+ $lang['infoimage_removefromall'] = 'tabort ifrån alla';
+ $lang['infoimage_associate'] = 'Associera med kategori';
+ $lang['update_wrong_dirname'] = 'Namnet på kataloger och filer måste skrivas i bokstäver, siffror, "-", "_" eller "."';
+ $lang['stats_pages_seen'] = 'sidor visade';
+ $lang['stats_visitors'] = 'gäster';
+ $lang['stats_empty'] = 'töm historik';
+ $lang['stats_pages_seen_graph_title'] = 'Antal sidor visade per dag';
+ $lang['stats_visitors_graph_title'] = 'Antal av gäster per dag';
+ $lang['comments_last_title'] = 'Senaste kommentarer';
+ $lang['comments_non_validated_title'] = 'Kommentarer avvaktande på validering';
+ $lang['help_database'][1] = 'För att komma från problemet med att uppdatera för många bilder i en enda uppdatering, råder jag till att börja att bara uppdatera kategorier, sedan i kategorisektionen av administrations panelen, uppdatera varje kategori tack vare länken "uppdatera"';
+ $lang['help_upload'][3] = 'Kategorin måste ha uppladdning tillgängligt för att kunna laddas upp till.';
+ $lang['help_upload'][4] = 'Uppladdning av bilder från användarna visas inte direkt på webbsidan, de måste bli godkända först av en administratör. För att kunna göra detta, måste en administratör gå till sidan "Väntar på godkännande" i administrations panelen, för att godkänna eller förkasta uppskickade bilder, sedan starta en uppdatering av databasen.';
+ $lang['help_virtual_title'] = 'Länkar mellan bilder och kategorier och virituella kategorier';
+ $lang['help_virtual'][0] = 'PhpWebGallery har möjligheten att tabort associationer där bilder sparas i kategorier och kategorier där bilder visas.';
+ $lang['help_virtual'][1] = 'Enligt standard, så visas bilder i deras riktiga kategorier : de som stämmer överrens med katalogerna på webbservern.';
+ $lang['help_virtual'][2] = 'För att länka en bild till en kategori, så måte du göra en associering på sidan för bildens information eller i informationen för alla bilderna i kategorin.';
+ $lang['help_virtual'][3] = 'Genom att anväda denna princip, så blir de möjligt att skapa virituella kategorier i PhpWebGallery : ingen riktig katalog finns till denna kategori. Du måste skapa denna kategori på sektionen "Kategorier" under administratörs panelen.';
+ $lang['help_groups_title'] = 'Användar Grupper';
+ $lang['help_groups'][0] = 'PhpWebGallery kan hantera grupper av användare. Det kan vara väldigt användbart att ha allmänna rättigheter för privata kategorier.';
+ $lang['help_groups'][1] = '1. Skapa en grupp som heter "familj" under sektionen "Grupper" i administratörs panelen.';
+ $lang['help_groups'][2] = '2. I sektionen "Användare", ändra en av dem och lägg till den i gruppen "familj".';
+ $lang['help_groups'][3] = '3. Genom att ändra rättigheterna för kategorin eller för en grupp, så kommer du se att alla kategorier som är tillåtna för en grupp är också tillåtna för dess medlemmar.';
+ $lang['help_groups'][4] = 'En användare kan till höra många grupper. Berättigandet är starkare än förbudet : om en användare "jack" tillhör en grupp "familj" och "vänner", och endast gruppen "familj" kan se kategorin "Julen 2004", så kommer "jack" att kunna se "Julen 2004".';
+ $lang['help_access_title'] = 'Åtkomsts berättigande';
+ $lang['help_access'][0] = 'PhpWebGallery kan förbjuda åtkomsten till en kategori. Kategorier kan vara "publika" eller "privata". För att hindra åtkomsten till kategorier :';
+ $lang['help_access'][1] = '1. Ändra kategori informationen (från "kategori" sektionen i administratörs panelen) och gör den "privat".';
+ $lang['help_access'][2] = '2. På sidan för rättigheter (för en grupp eller användare) den privata kategorin kommer visas och du kan ge åtkomst eller neka åtkomst.';
+ $lang['help_infos'][2] = 'Om du har några frågor, tveka inte att se efter på forummet eller ställa frågor där. <a href="'.$conf['forum_url'].'" style="text-decoration:underline">Forumet</a> (anslagstavlan) är tillgänglig på PhpWebGallery\'s webbsida.';
+ $lang['step1_err_copy'] = 'Kopiera texten mellan bindesträcken och klistra in det i filen "include/mysql.inc.php"(Varning : mysql.inc.php får endast innehålla det som är i blått, inget radbyte eller blanksteg)';
+ $lang['permuser_only_private'] = 'Endast privata kategorier kommer visas';
+ $lang['waiting_update'] = 'Validerade bilder kommer visas endast efter en uppdatering av databasen';
+ $lang['conf_upload_available_info'] = 'Godkännandet av uppladdade bilder från användare i kategorier på webbsidan (ej en fjärrserver). Detta är en generell parameter, det är nödvändigt att godkänna kategori för kategori, standard, så är ingen kategori "uppladdningsbar".';
+ $lang['install_help'] = 'Behöver du hjälp ? Ställ frågor på <a href="http://forum.phpwebgallery.net">PhpWebGallery\'s anslagstavla</a>.';
+ $lang['install_warning'] = 'Filen "admin/install.php" finns fortfarande kvar. Var vänlig och tabort den från din server. Det är inte säkert att behålla den.';
+ // new or modified in release 1.3.1
+ $lang['cat_unknown_id'] = 'This category is unknown in the database';
+}
+?>
diff --git a/picture.php b/picture.php
index 100e4a11d..bc44846b2 100644
--- a/picture.php
+++ b/picture.php
@@ -16,36 +16,34 @@
* the Free Software Foundation; *
* *
***************************************************************************/
-
// this page shows the image full size
-//----------------------------------------------------------- personnal include
-include_once( './include/init.inc.php' );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
//-------------------------------------------------- access authorization check
check_cat_id( $_GET['cat'] );
check_login_authorization();
-$page['plain_structure'] = get_plain_structure();
if ( isset( $page['cat'] ) and is_numeric( $page['cat'] ) )
{
check_restrictions( $page['cat'] );
}
//---------------------------------------- incrementation of the number of hits
-$query = 'UPDATE '.PREFIX_TABLE.'images';
-$query.= ' SET hit=hit+1';
+$query = 'UPDATE '.IMAGES_TABLE.' SET hit=hit+1';
$query.= ' WHERE id='.$_GET['image_id'];
$query.= ';';
@mysql_query( $query );
//-------------------------------------------------------------- initialization
initialize_category( 'picture' );
//------------------------------------- main picture information initialization
-$query = 'SELECT id,date_available,comment,hit,keywords';
-$query.= ',author,name,file,date_creation,filesize,width,height';
-$query.= ',storage_category_id';
-if ( is_numeric( $page['cat'] ) )
-{
- $query.= ',category_id';
-}
-$query.= ' FROM '.PREFIX_TABLE.'images';
-$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic ON id = ic.image_id';
+$infos = array( 'id','date_available','comment','hit','keywords','author'
+ ,'name','file','date_creation','filesize','width','height'
+ ,'storage_category_id' );
+
+$query = 'SELECT '.implode( ',', $infos );
+if ( is_numeric( $page['cat'] ) ) $query.= ',category_id';
+$query.= ' FROM '.IMAGES_TABLE;
+$query.= ' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic';
+$query.= ' ON id = ic.image_id';
$query.= $page['where'];
$query.= ' AND id = '.$_GET['image_id'];
$query.= $conf['order_by'];
@@ -61,24 +59,17 @@ if ( mysql_num_rows( $result ) == 0 )
exit();
}
$row = mysql_fetch_array( $result );
-$page['id'] = $row['id'];
-$page['file'] = $row['file'];
-$page['name'] = $row['name'];
-$page['date_available'] = $row['date_available'];
-$page['comment'] = $row['comment'];
-$page['hit'] = $row['hit'];
-$page['author'] = $row['author'];
-$page['date_creation'] = $row['date_creation'];
-$page['filesize'] = $row['filesize'];
-$page['width'] = $row['width'];
-$page['height'] = $row['height'];
-$page['category_id'] = $row['category_id'];
-$page['keywords'] = $row['keywords'];
-$page['storage_category_id'] = $row['storage_category_id'];
+
+foreach ( $infos as $info ) {
+ if ( isset( $row[$info] ) ) $page[$info] = $row[$info];
+ else $page[$info] = '';
+}
+if ( is_numeric( $page['cat'] ) ) $page['category_id'] = $row['category_id'];
// retrieving the number of the picture in its category (in order)
$query = 'SELECT DISTINCT(id)';
-$query.= ' FROM '.PREFIX_TABLE.'images';
-$query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic ON id = ic.image_id';
+$query.= ' FROM '.IMAGES_TABLE;
+$query.= ' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic';
+$query.= ' ON id = ic.image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ';';
@@ -97,16 +88,14 @@ if ( isset( $_GET['add_fav'] ) )
{
// verify if the picture is already in the favorite of the user
$query = 'SELECT COUNT(*) AS nb_fav';
- $query.= ' FROM '.PREFIX_TABLE.'favorites';
- $query.= ' WHERE image_id = '.$page['id'];
+ $query.= ' FROM '.FAVORITES_TABLE.' WHERE image_id = '.$page['id'];
$query.= ' AND user_id = '.$user['id'];
$query.= ';';
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
if ( $row['nb_fav'] == 0 )
{
- $query = 'INSERT INTO '.PREFIX_TABLE.'favorites';
- $query.= ' (image_id,user_id) VALUES';
+ $query = 'INSERT INTO '.FAVORITES_TABLE.' (image_id,user_id) VALUES';
$query.= ' ('.$page['id'].','.$user['id'].')';
$query.= ';';
$result = mysql_query( $query );
@@ -114,8 +103,7 @@ if ( isset( $_GET['add_fav'] ) )
}
if ( $_GET['add_fav'] == 0 )
{
- $query = 'DELETE FROM '.PREFIX_TABLE.'favorites';
- $query.= ' WHERE user_id = '.$user['id'];
+ $query = 'DELETE FROM '.FAVORITES_TABLE.' WHERE user_id = '.$user['id'];
$query.= ' AND image_id = '.$page['id'];
$query.= ';';
$result = mysql_query( $query );
@@ -139,8 +127,8 @@ if ( isset( $_GET['add_fav'] ) )
$page['num'] = 0;
}
$query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic';
+ $query.= ' FROM '.IMAGES_TABLE;
+ $query.= ' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic';
$query.= ' ON id = ic.image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
@@ -161,8 +149,71 @@ if ( isset( $_GET['add_fav'] ) )
exit();
}
}
+
+//---------------------------------------------- next picture thumbnail display
+$next = 0;
+if ( $page['num'] < $page['cat_nb_images']-1 )
+{
+ $next = $page['num'] + 1;
+ $query = 'SELECT DISTINCT(id),name,file,tn_ext,storage_category_id';
+ $query.= ' FROM '.IMAGES_TABLE;
+ $query.= ' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic';
+ $query.= ' ON id=ic.image_id';
+ $query.= $page['where'];
+ $query.= $conf['order_by'];
+ $query.= ' LIMIT '.$next.',1';
+ $query.= ';';
+ $result = mysql_query( $query );
+ $row = mysql_fetch_array( $result );
+
+ if ( !isset($array_cat_directories[$row['storage_category_id']]))
+ {
+ $array_cat_directories[$row['storage_category_id']] =
+ get_complete_dir( $row['storage_category_id'] );
+ }
+ $cat_directory = $array_cat_directories[$row['storage_category_id']];
+
+ $file = substr ( $row['file'], 0, strrpos ( $row['file'], ".") );
+ $next_lien_thumbnail = $cat_directory.'thumbnail/';
+ $next_lien_thumbnail.= $conf['prefix_thumbnail'].$file.".".$row['tn_ext'];
+
+ if ( isset( $row['name'] ) and $row['name'] != '' )
+ {
+ $next_alt_thumbnail = $row['name'];
+ }
+ else
+ {
+ $next_alt_thumbnail = $file;
+ }
+ $next_title = $lang['next_image']." : ".$next_alt_thumbnail;
+
+ $next_url_link = './picture.php?image_id='.$row['id'];
+ $next_url_link.= '&amp;cat='.$page['cat'];
+ if ( isset( $_GET['expand'] ) )
+ $next_url_link.= '&amp;expand='.$_GET['expand'];
+ if ( $page['cat'] == 'search' )
+ {
+ $next_url_link.= "&amp;search=".$_GET['search'].'&amp;mode='.$_GET['mode'];
+ }
+}
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+//------------------------------------------------------------------ page title
+$title = $page['name'];
+if ( $title == '')
+{
+ $title = str_replace("_"," ",get_filename_wo_extension($page['file']));
+}
+$refresh = 0;
+if ( isset( $_GET['slideshow'] ) && isset($next_url_link))
+{
+ $refresh= $_GET['slideshow'];
+ $url_link = $next_url_link;
+}
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/'.$user['template'].'/picture.vtp' );
initialize_template();
@@ -170,8 +221,6 @@ $tpl = array( 'back','submit','comments_title','comments_del','delete',
'comments_add','author','slideshow','slideshow_stop',
'period_seconds' );
templatize_array( $tpl, 'lang', $handle );
-$vtp->setGlobalVar( $handle, 'user_template', $user['template'] );
-$vtp->setGlobalVar( $handle, 'text_color', $user['couleur_text'] );
//-------------------------------------------------------- slideshow management
if ( isset( $_GET['slideshow'] ) )
{
@@ -199,7 +248,8 @@ else
$url = './picture.php';
$url.= '?image_id='.$page['id'];
$url.= '&amp;cat='.$page['cat'];
- $url.= '&amp;expand='.$_GET['expand'];
+ if (isset($_GET['expand']))
+ $url.= '&amp;expand='.$_GET['expand'];
if ( $page['cat'] == 'search' )
{
$url.= '&amp;search='.$_GET['search'];
@@ -211,23 +261,15 @@ else
}
$vtp->closeSession( $handle, 'start_slideshow' );
}
-//------------------------------------------------------------------ page title
-if ( $page['name'] != '' )
-{
- $vtp->setGlobalVar( $handle, 'page_title', $page['name'] );
-}
-else
-{
- $page_title = str_replace("_"," ",get_filename_wo_extension($page['file']));
- $vtp->setGlobalVar( $handle, 'page_title', $page_title );
-}
+
//-------------------------------------------------- previous picture thumbnail
if ( $page['num'] >= 1 )
{
$prev = $page['num'] - 1;
$query = 'SELECT DISTINCT(id),name,file,tn_ext,storage_category_id';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic ON id=ic.image_id';
+ $query.= ' FROM '.IMAGES_TABLE;
+ $query.= ' INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic';
+ $query.= ' ON id=ic.image_id';
$query.= $page['where'];
$query.= $conf['order_by'];
$query.= ' LIMIT '.$prev.',1';
@@ -235,7 +277,7 @@ if ( $page['num'] >= 1 )
$result = mysql_query( $query );
$row = mysql_fetch_array( $result );
- if ( $array_cat_directories[$row['storage_category_id']] == '' )
+ if ( !isset($array_cat_directories[$row['storage_category_id']]) )
{
$array_cat_directories[$row['storage_category_id']] =
get_complete_dir( $row['storage_category_id'] );
@@ -243,17 +285,20 @@ if ( $page['num'] >= 1 )
$cat_directory = $array_cat_directories[$row['storage_category_id']];
$file = substr( $row['file'], 0, strrpos ( $row['file'], '.' ) );
- $lien_thumbnail = $cat_directory.'/thumbnail/';
+ $lien_thumbnail = $cat_directory.'thumbnail/';
$lien_thumbnail.= $conf['prefix_thumbnail'].$file.".".$row['tn_ext'];
$prev_title = $lang['previous_image'].' : ';
- $alt_thumbnaill = '';
- if ( $row['name'] != '' ) $alt_thumbnail = $row['name'];
- else $alt_thumbnail = $file;
+
+ if ( isset( $row['name'] ) and $row['name'] != '' )
+ $alt_thumbnail = $row['name'];
+ else
+ $alt_thumbnail = $file;
+
$prev_title.= $alt_thumbnail;
$url_link = './picture.php?image_id='.$row['id'].'&amp;cat='.$page['cat'];
- $url_link.= '&amp;expand='.$_GET['expand'];
+ if ( isset( $_GET['expand'] ) ) $url_link.= '&amp;expand='.$_GET['expand'];
if ( $page['cat'] == 'search' )
{
$url_link.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
@@ -282,7 +327,7 @@ else
$intitule_cat = $page['title'];
}
-if ( $array_cat_directories[$page['storage_category_id']] == '' )
+if ( !isset($array_cat_directories[$page['storage_category_id']]) )
{
$array_cat_directories[$page['storage_category_id']] =
get_complete_dir( $page['storage_category_id'] );
@@ -290,7 +335,7 @@ if ( $array_cat_directories[$page['storage_category_id']] == '' )
$cat_directory = $array_cat_directories[$page['storage_category_id']];
$n = $page['num'] + 1;
-$intitule_titre = replace_space( $intitule_cat." - " ).$n.'/'.
+$intitule_titre = replace_space( $intitule_cat." - " ).$n.'/';
$intitule_titre.= $page['cat_nb_images']."<br />";
if ( $page['name'] != "" )
{
@@ -329,7 +374,9 @@ $final_width = $picture_size[0];
$final_height = $picture_size[1];
$url_link = './category.php?cat='.$page['cat'].'&amp;';
-$url_link.= 'num='.$page['num'].'&amp;expand='.$_GET['expand'];
+$url_link.= 'num='.$page['num'];
+if (isset($_GET['expand']))
+ $url_link.='&amp;expand='.$_GET['expand'];
if ( $page['cat'] == 'search' )
{
$url_link.= "&amp;search=".$_GET['search'].'&amp;mode='.$_GET['mode'];
@@ -337,7 +384,6 @@ if ( $page['cat'] == 'search' )
$vtp->setGlobalVar( $handle, 'picture_link', add_session_id( $url_link ) );
$vtp->setGlobalVar( $handle, 'picture_width', $final_width );
$vtp->setGlobalVar( $handle, 'picture_height', $final_height );
-$vtp->setGlobalVar( $handle, 'picture_border_color', $user['couleur_text'] );
$vtp->setGlobalVar( $handle, 'picture_src', $lien_image );
$vtp->setGlobalVar( $handle, 'picture_alt', $page['file'] );
@@ -426,7 +472,8 @@ if ( $page['keywords'] != '' )
$vtp->setVar( $handle, 'info_line.name', $lang['keywords'].' : ' );
$keywords = explode( ',', $page['keywords'] );
$content = '';
- $url = './category.php?cat=search&amp;expand='.$_GET['expand'];
+ $url = './category.php?cat=search';
+ if ( isset( $_GET['expand'] ) ) $url.= '&amp;expand='.$_GET['expand'];
$url.= '&amp;mode=OR&amp;search=';
foreach ( $keywords as $i => $keyword ) {
$local_url = add_session_id( $url.$keyword );
@@ -442,33 +489,44 @@ $vtp->setVar( $handle, 'info_line.name', $lang['visited'].' : ' );
$vtp->setVar( $handle, 'info_line.content', $page['hit'].' '.$lang['times'] );
$vtp->closeSession( $handle, 'info_line' );
//------------------------------------------------------- favorite manipulation
-if ( $page['cat'] != 'fav' and !$user['is_the_guest'] )
+if ( !$user['is_the_guest'] )
{
- $url = './picture.php?cat='.$page['cat'].'&amp;image_id='.$page['id'];
- $url.= '&amp;expand='.$_GET['expand'].'&amp;add_fav=1';
- if ( $page['cat'] == 'search' )
+ // verify if the picture is already in the favorite of the user
+ $query = 'SELECT COUNT(*) AS nb_fav';
+ $query.= ' FROM '.FAVORITES_TABLE.' WHERE image_id = '.$page['id'];
+ $query.= ' AND user_id = '.$user['id'].';';
+ $result = mysql_query( $query );
+ $row = mysql_fetch_array( $result );
+ if (!$row['nb_fav'])
{
- $url.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
+ $url = './picture.php?cat='.$page['cat'].'&amp;image_id='.$page['id'];
+ if (isset($_GET['expand']))
+ $url.= '&amp;expand='.$_GET['expand'];
+ $url.='&amp;add_fav=1';
+ if ( $page['cat'] == 'search' )
+ {
+ $url.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
+ }
+ $vtp->addSession( $handle, 'favorite' );
+ $vtp->setVar( $handle, 'favorite.link', add_session_id( $url ) );
+ $vtp->setVar( $handle, 'favorite.title', $lang['add_favorites_hint'] );
+ $vtp->setVar( $handle, 'favorite.src',
+ './template/'.$user['template'].'/theme/favorite.gif' );
+ $vtp->setVar($handle,'favorite.alt','[ '.$lang['add_favorites_alt'].' ]');
+ $vtp->closeSession( $handle, 'favorite' );
+ }
+ else
+ {
+ $url = './picture.php?cat='.$page['cat'].'&amp;image_id='.$page['id'];
+ $url.= '&amp;expand='.$_GET['expand'].'&amp;add_fav=0';
+ $vtp->addSession( $handle, 'favorite' );
+ $vtp->setVar( $handle, 'favorite.link', add_session_id( $url ) );
+ $vtp->setVar( $handle, 'favorite.title', $lang['del_favorites_hint'] );
+ $vtp->setVar( $handle, 'favorite.src',
+ './template/'.$user['template'].'/theme/del_favorite.gif' );
+ $vtp->setVar($handle,'favorite.alt','[ '.$lang['del_favorites_alt'].' ]');
+ $vtp->closeSession( $handle, 'favorite' );
}
- $vtp->addSession( $handle, 'favorite' );
- $vtp->setVar( $handle, 'favorite.link', add_session_id( $url ) );
- $vtp->setVar( $handle, 'favorite.title', $lang['add_favorites_hint'] );
- $vtp->setVar( $handle, 'favorite.src',
- './template/'.$user['template'].'/theme/favorite.gif' );
- $vtp->setVar( $handle, 'favorite.alt','[ '.$lang['add_favorites_alt'].' ]' );
- $vtp->closeSession( $handle, 'favorite' );
-}
-if ( $page['cat'] == 'fav' )
-{
- $url = './picture.php?cat='.$page['cat'].'&amp;image_id='.$page['id'];
- $url.= '&amp;expand='.$_GET['expand'].'&amp;add_fav=0';
- $vtp->addSession( $handle, 'favorite' );
- $vtp->setVar( $handle, 'favorite.link', add_session_id( $url ) );
- $vtp->setVar( $handle, 'favorite.title', $lang['del_favorites_hint'] );
- $vtp->setVar( $handle, 'favorite.src',
- './template/'.$user['template'].'/theme/del_favorite.gif' );
- $vtp->setVar( $handle, 'favorite.alt','[ '.$lang['del_favorites_alt'].' ]' );
- $vtp->closeSession( $handle, 'favorite' );
}
//------------------------------------ admin link for information modifications
if ( $user['status'] == 'admin' )
@@ -479,68 +537,21 @@ if ( $user['status'] == 'admin' )
$vtp->setVar( $handle, 'modification.link', add_session_id( $url ) );
$vtp->setVar( $handle, 'modification.name', $lang['link_info_image'] );
}
-//---------------------------------------------- next picture thumbnail display
-if ( $page['num'] < $page['cat_nb_images']-1 )
-{
- $next = $page['num'] + 1;
- $query = 'SELECT DISTINCT(id),name,file,tn_ext,storage_category_id';
- $query.= ' FROM '.PREFIX_TABLE.'images';
- $query.= ' LEFT JOIN '.PREFIX_TABLE.'image_category AS ic ON id=ic.image_id';
- $query.= $page['where'];
- $query.= $conf['order_by'];
- $query.= ' LIMIT '.$next.',1';
- $query.= ';';
- $result = mysql_query( $query );
- $row = mysql_fetch_array( $result );
- if ( $array_cat_directories[$row['storage_category_id']] == '' )
- {
- $array_cat_directories[$row['storage_category_id']] =
- get_complete_dir( $row['storage_category_id'] );
- }
- $cat_directory = $array_cat_directories[$row['storage_category_id']];
-
- $file = substr ( $row['file'], 0, strrpos ( $row['file'], ".") );
- $lien_thumbnail = $cat_directory.'thumbnail/';
- $lien_thumbnail.= $conf['prefix_thumbnail'].$file.".".$row['tn_ext'];
-
- if ( $row['name'] != "" )
- {
- $alt_thumbnail = $row['name'];
- }
- else
- {
- $alt_thumbnail = $file;
- }
- $next_title = $lang['next_image']." : ".$alt_thumbnail;
-
- $url_link = './picture.php?image_id='.$row['id'].'&amp;cat='.$page['cat'];
- $url_link.= '&amp;expand='.$_GET['expand'];
- if ( $page['cat'] == 'search' )
- {
- $url_link.= "&amp;search=".$_GET['search'].'&amp;mode='.$_GET['mode'];
- }
+if ( $next )
+{
// sending vars for display
$vtp->addSession( $handle, 'next' );
- $vtp->setGlobalVar( $handle, 'next.url', add_session_id( $url_link ) );
+ $vtp->setGlobalVar( $handle, 'next.url', add_session_id( $next_url_link ) );
$vtp->setGlobalVar( $handle, 'next.title', $next_title );
- $vtp->setGlobalVar( $handle, 'next.src', $lien_thumbnail );
- $vtp->setGlobalVar( $handle, 'next.alt', $alt_thumbnail );
+ $vtp->setGlobalVar( $handle, 'next.src', $next_lien_thumbnail );
+ $vtp->setGlobalVar( $handle, 'next.alt', $next_alt_thumbnail );
$vtp->closeSession( $handle, 'next' );
- // slideshow
- if ( isset( $_GET['slideshow'] ) )
- {
- $vtp->addSession( $handle, 'refresh' );
- $vtp->setVar( $handle, 'refresh.time', $_GET['slideshow'] );
- $url = $url_link.'&amp;slideshow='.$_GET['slideshow'];
- $vtp->setVar( $handle, 'refresh.url', add_session_id( $url ) );
- $vtp->closeSession( $handle, 'refresh' );
- }
}
else
{
- $vtp->addSession( $handle, 'previous_empty' );
- $vtp->closeSession( $handle, 'previous_empty' );
+ $vtp->addSession( $handle, 'next_empty' );
+ $vtp->closeSession( $handle, 'next_empty' );
}
//---------------------------------------------------- users's comments display
if ( $conf['show_comments'] )
@@ -576,15 +587,14 @@ if ( $conf['show_comments'] )
{
// anti-flood system
$reference_date = time() - $conf['anti-flood_time'];
- $query = 'SELECT id';
- $query.= ' FROM '.PREFIX_TABLE.'comments';
+ $query = 'SELECT id FROM '.COMMENTS_TABLE;
$query.= ' WHERE date > '.$reference_date;
$query.= " AND author = '".$author."'";
$query.= ';';
if ( mysql_num_rows( mysql_query( $query ) ) == 0
or $conf['anti-flood_time'] == 0 )
{
- $query = 'INSERT INTO '.PREFIX_TABLE.'comments';
+ $query = 'INSERT INTO '.COMMENTS_TABLE;
$query.= ' (author,date,image_id,content,validated) VALUES';
$query.= ' (';
if ( !isset( $author ) ) $query.= 'NULL';
@@ -631,21 +641,20 @@ if ( $conf['show_comments'] )
and is_numeric( $_GET['del'] )
and $user['status'] == 'admin' )
{
- $query = 'DELETE FROM '.PREFIX_TABLE.'comments';
- $query.= ' WHERE id = '.$_GET['del'].';';
+ $query = 'DELETE FROM '.COMMENTS_TABLE.' WHERE id = '.$_GET['del'].';';
mysql_query( $query );
}
// number of comment for this picture
$query = 'SELECT COUNT(*) AS nb_comments';
- $query.= ' FROM '.PREFIX_TABLE.'comments';
- $query.= ' WHERE image_id = '.$page['id'];
+ $query.= ' FROM '.COMMENTS_TABLE.' WHERE image_id = '.$page['id'];
$query.= " AND validated = 'true'";
$query.= ';';
$row = mysql_fetch_array( mysql_query( $query ) );
$page['nb_comments'] = $row['nb_comments'];
// navigation bar creation
$url = './picture.php?cat='.$page['cat'].'&amp;image_id='.$page['id'];
- $url.= '&amp;expand='.$_GET['expand'];
+ if (isset($_GET['expand']))
+ $url.= '&amp;expand='.$_GET['expand'];
if ( $page['cat'] == 'search' )
{
$url.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
@@ -669,8 +678,7 @@ if ( $conf['show_comments'] )
$vtp->setGlobalVar( $handle, 'nb_comments', $page['nb_comments'] );
$query = 'SELECT id,author,date,image_id,content';
- $query.= ' FROM '.PREFIX_TABLE.'comments';
- $query.= ' WHERE image_id = '.$page['id'];
+ $query.= ' FROM '.COMMENTS_TABLE.' WHERE image_id = '.$page['id'];
$query.= " AND validated = 'true'";
$query.= ' ORDER BY date ASC';
$query.= ' LIMIT '.$page['start'].', '.$conf['nb_comment_page'].';';
@@ -723,7 +731,8 @@ if ( $conf['show_comments'] )
if ( !$user['is_the_guest'] )
{
$vtp->addSession( $handle, 'author_known' );
- $vtp->setVar( $handle, 'author_known.value', $user['pseudo'] );
+ if (isset($user['pseudo']))
+ $vtp->setVar( $handle, 'author_known.value', $user['pseudo'] );
$vtp->closeSession( $handle, 'author_known' );
}
else
@@ -741,4 +750,6 @@ mysql_close();
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/profile.php b/profile.php
index 3c19adf5b..3fc16bbe3 100644
--- a/profile.php
+++ b/profile.php
@@ -17,8 +17,9 @@
* *
***************************************************************************/
// customize appearance of the site for a user
-//----------------------------------------------------------- personnal include
-include_once( './include/init.inc.php' );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
//-------------------------------------------------- access authorization check
check_login_authorization();
if ( $user['is_the_guest'] )
@@ -27,8 +28,6 @@ if ( $user['is_the_guest'] )
echo '<a href="./identification.php">'.$lang['ident_title'].'</a></div>';
exit();
}
-//-------------------------------------------------------------- initialization
-check_cat_id( $_GET['cat'] );
//------------------------------------------------------ update & customization
$infos = array( 'nb_image_line', 'nb_line_page', 'language',
'maxwidth', 'maxheight', 'expand', 'show_nb_comments',
@@ -69,19 +68,12 @@ if ( isset( $_POST['submit'] ) )
}
}
$mail_error = validate_mail_address( $_POST['mail_address'] );
- if ( $mail_error != '' )
- {
- array_push( $errors, $mail_error );
- }
- if ( $_POST['use_new_pwd'] == 1 )
- {
- // password must be the same as its confirmation
- if ( $_POST['password'] != $_POST['passwordConf'] )
- {
- array_push( $errors, $lang['reg_err_pass'] );
- }
- }
-
+ if ( $mail_error != '' ) array_push( $errors, $mail_error );
+ // password must be the same as its confirmation
+ if ( isset( $_POST['use_new_pwd'] )
+ and $_POST['password'] != $_POST['passwordConf'] )
+ array_push( $errors, $lang['reg_err_pass'] );
+
if ( count( $errors ) == 0 )
{
$query = 'UPDATE '.PREFIX_TABLE.'users';
@@ -97,7 +89,7 @@ if ( isset( $_POST['submit'] ) )
$query.= ';';
mysql_query( $query );
- if ( $_POST['use_new_pwd'] == 1 )
+ if ( isset( $_POST['use_new_pwd'] ) )
{
$query = 'UPDATE '.PREFIX_TABLE.'users';
$query.= " SET password = '".md5( $_POST['password'] )."'";
@@ -105,7 +97,7 @@ if ( isset( $_POST['submit'] ) )
$query.= ';';
mysql_query( $query );
}
- if ( $_POST['create_cookie'] == 1 )
+ if ( isset( $_POST['create_cookie'] ) )
{
setcookie( 'id',$page['session_id'],$_POST['cookie_expiration'],
cookie_path() );
@@ -117,12 +109,8 @@ if ( isset( $_POST['submit'] ) )
mysql_query( $query );
}
// redirection
- $url = 'category.php?cat='.$page['cat'].'&expand='.$_GET['expand'];
- if ( $page['cat'] == 'search' )
- {
- $url.= '&search='.$_GET['search'].'&mode='.$_GET['mode'];
- }
- if ( $_POST['create_cookie'] != 1 ) $url = add_session_id( $url, true );
+ $url = 'category.php';
+ if ( !isset($_POST['create_cookie']) ) $url = add_session_id( $url,true );
header( 'Request-URI: '.$url );
header( 'Content-Location: '.$url );
header( 'Location: '.$url );
@@ -130,18 +118,19 @@ if ( isset( $_POST['submit'] ) )
}
}
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+$title = $lang['customize_page_title'];
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/'.$user['template'].'/profile.vtp' );
initialize_template();
-$tpl = array( 'customize_page_title','customize_title','password','new',
+$tpl = array( 'customize_title','password','new',
'reg_confirm','submit','create_cookie' );
templatize_array( $tpl, 'lang', $handle );
//----------------------------------------------------------------- form action
-$url = './profile.php?cat='.$page['cat'].'&amp;expand='.$page['expand'];
-if ( $page['cat'] == 'search' )
-{
- $url.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
-}
+$url = './profile.php';
$vtp->setGlobalVar( $handle, 'form_action', add_session_id( $url ) );
//-------------------------------------------------------------- errors display
if ( count( $errors ) != 0 )
@@ -201,7 +190,7 @@ if ( in_array( 'template', $infos ) )
$vtp->setVar( $handle, 'line.name', $lang['customize_template'] );
$vtp->addSession( $handle, 'select' );
$vtp->setVar( $handle, 'select.name', 'template' );
- $option = get_dirs( './template/' );
+ $option = get_dirs( './template' );
for ( $i = 0; $i < sizeof( $option ); $i++ )
{
$vtp->addSession( $handle, 'option' );
@@ -378,4 +367,5 @@ if ( $conf['authorize_cookies'] )
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/register.php b/register.php
index 0f0669926..399e60603 100644
--- a/register.php
+++ b/register.php
@@ -17,8 +17,9 @@
* *
***************************************************************************/
-//----------------------------------------------------------- personnal include
-include_once( './include/init.inc.php' );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
//-------------------------------------------------- access authorization check
if ( $conf['access'] == "restricted" )
{
@@ -42,11 +43,14 @@ if ( isset( $_POST['submit'] ) )
}
}
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+$title= $lang['register_page_title'];
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/'.$user['template'].'/register.vtp' );
// language
-$vtp->setGlobalVar( $handle, 'register_page_title',
- $lang['register_page_title'] );
$vtp->setGlobalVar( $handle, 'register_title', $lang['register_title'] );
$vtp->setGlobalVar( $handle, 'ident_guest_visit',$lang['ident_guest_visit'] );
$vtp->setGlobalVar( $handle, 'submit', $lang['submit'] );
@@ -70,7 +74,8 @@ $vtp->addSession( $handle, 'line' );
$vtp->setVar( $handle, 'line.name', $lang['login'] );
$vtp->addSession( $handle, 'text' );
$vtp->setVar( $handle, 'text.name', 'login' );
-$vtp->setVar( $handle, 'text.value', $_POST['login'] );
+if (isset( $_POST['login']))
+ $vtp->setVar( $handle, 'text.value', $_POST['login'] );
$vtp->closeSession( $handle, 'text' );
$vtp->closeSession( $handle, 'line' );
//-------------------------------------------------------------------- password
@@ -94,10 +99,12 @@ $vtp->addSession( $handle, 'line' );
$vtp->setVar( $handle, 'line.name', $lang['mail_address'] );
$vtp->addSession( $handle, 'text' );
$vtp->setVar( $handle, 'text.name', 'mail_address' );
-$vtp->setVar( $handle, 'text.value', $_POST['mail_address'] );
+if (isset( $_POST['mail_address']))
+ $vtp->setVar( $handle, 'text.value', $_POST['mail_address'] );
$vtp->closeSession( $handle, 'text' );
$vtp->closeSession( $handle, 'line' );
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/search.php b/search.php
index d12e8203a..9d3cd9180 100644
--- a/search.php
+++ b/search.php
@@ -17,8 +17,9 @@
* *
***************************************************************************/
-//----------------------------------------------------------- personnal include
-include_once( './include/init.inc.php' );
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
//-------------------------------------------------- access authorization check
check_login_authorization();
//----------------------------------------------------------------- redirection
@@ -53,10 +54,14 @@ if ( isset( $_POST['search'] ) )
}
}
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+$title= $lang['search_title'];
+include('include/page_header.php');
+
$handle = $vtp->Open( './template/'.$user['template'].'/search.vtp' );
initialize_template();
-
$tpl = array( 'search_title','search_return_main_page','submit',
'search_comments' );
templatize_array( $tpl, 'lang', $handle );
@@ -81,6 +86,7 @@ $vtp->setVar( $handle, 'line.name', $lang['search_field_search'].' *' );
$vtp->addSession( $handle, 'text' );
$vtp->setVar( $handle, 'text.size', '40' );
$vtp->setVar( $handle, 'text.name', 'search' );
+if (isset($_POST['search']))
$vtp->setVar( $handle, 'text.value', $_POST['search'] );
$vtp->closeSession( $handle, 'text' );
$vtp->closeSession( $handle, 'line' );
@@ -92,7 +98,7 @@ $vtp->addSession( $handle, 'radio' );
$vtp->setVar( $handle, 'radio.name', 'mode' );
$vtp->setVar( $handle, 'radio.value', 'OR' );
$vtp->setVar( $handle, 'radio.option', $lang['search_mode_or'] );
-if ( $_POST['mode'] == 'OR' or $_POST['mode'] == '' )
+if (!isset($_POST['mode']) || $_POST['mode'] == 'OR' )
{
$vtp->setVar( $handle, 'radio.checked', ' checked="checked"' );
}
@@ -102,7 +108,7 @@ $vtp->addSession( $handle, 'radio' );
$vtp->setVar( $handle, 'radio.name', 'mode' );
$vtp->setVar( $handle, 'radio.value', 'AND' );
$vtp->setVar( $handle, 'radio.option', $lang['search_mode_and'] );
-if ( $_POST['mode'] == 'AND' )
+if ( isset($_POST['mode']) && $_POST['mode'] == 'AND' )
{
$vtp->setVar( $handle, 'radio.checked', ' checked="checked"' );
}
@@ -116,6 +122,7 @@ $vtp->setGlobalVar( $handle, 'back_url', add_session_id( './category.php' ) );
$code = $vtp->Display( $handle, 0 );
echo $code;
//------------------------------------------------------------ log informations
-pwg_log( 'search', $page['title'] );
+pwg_log( 'search', $title );
mysql_close();
+include('include/page_tail.php');
?> \ No newline at end of file
diff --git a/template/default/about.vtp b/template/default/about.vtp
index 7a0802fef..5b416d1b8 100644
--- a/template/default/about.vtp
+++ b/template/default/about.vtp
@@ -1,11 +1,3 @@
-<html>
- <head>
- {#style}
- <title>{#about_page_title}</title>
- <meta http-equiv="Content-Type" content="text/html; charset={#charset}" />
- </head>
- <body>
- {#header}
<table style="width:100%;height:100%">
<tr align="center" valign="middle">
<td>
@@ -26,7 +18,4 @@
</div>
</td>
</tr>
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/admin/cat_list.vtp b/template/default/admin/cat_list.vtp
index 884b6a937..997f3d1f1 100644
--- a/template/default/admin/cat_list.vtp
+++ b/template/default/admin/cat_list.vtp
@@ -8,26 +8,32 @@
</ul>
</div>
<!--/VTP_errors-->
-<table style="width:100%;">
-<tr>
- <td colspan="8" style="text-align:center;padding-top:10px;padding-bottom:10px;">
+<div style="text-align:center;padding-top:10px;padding-bottom:5px;">
<form action="" method="post">
{#cat_add} <input type="text" name="virtual_name" />
{#cat_parent}
+ <!--VTP_associate_LOV-->
<select name="associate">
<!--VTP_associate_cat-->
<option value="{#value}">{#content}</option>
<!--/VTP_associate_cat-->
</select>
+ <!--/VTP_associate_LOV-->
+ <!--VTP_associate_text-->
+ <input type="text" name="associate" />
+ <!--/VTP_associate_text-->
<input type="submit" value="{#submit}" name="submit" />
</form>
- </td>
-</tr>
+</div>
+<table style="width:100%;">
<!--VTP_cat-->
<tr>
<{#td} style="width:50%;text-align:left;">
<a name="{#id}"></a>
- {#indent}<img src="./template/{#user_template}/admin/images/puce.gif" alt="&gt;" />
+ {#indent}
+ <!--VTP_bullet_collapsed--><a href="{#link}"><img src="../template/{#user_template}/admin/images/collapsed.gif" style="border:none;" alt="&gt;" /></a><!--/VTP_bullet_collapsed-->
+ <!--VTP_bullet_expanded--><a href="{#link}"><img src="../template/{#user_template}/admin/images/expanded.gif" style="border:none;" alt="&gt;" /></a><!--/VTP_bullet_expanded-->
+ <!--VTP_bullet_wo_link--><img src="../template/{#user_template}/admin/images/collapsed.gif" style="border:none;" alt="&gt;" /><!--/VTP_bullet_wo_link-->
&nbsp;{#name} [
<!--VTP_storage-->
dir : {#dir}
diff --git a/template/default/admin/cat_modify.vtp b/template/default/admin/cat_modify.vtp
index 6293871a0..5436ff220 100644
--- a/template/default/admin/cat_modify.vtp
+++ b/template/default/admin/cat_modify.vtp
@@ -64,11 +64,16 @@
<tr>
<td>{#cat_parent}</td>
<td class="row2">
+ <!--VTP_associate_LOV-->
<select name="associate">
<!--VTP_associate_cat-->
- <option value="{#value}"{#selected}>{#content}</option>
+ <option value="{#value}">{#content}</option>
<!--/VTP_associate_cat-->
</select>
+ <!--/VTP_associate_LOV-->
+ <!--VTP_associate_text-->
+ <input type="text" name="associate" value="{#value}" />
+ <!--/VTP_associate_text-->
</td>
</tr>
<!--/VTP_parent-->
diff --git a/template/default/admin/comments.vtp b/template/default/admin/comments.vtp
index 05edc4c98..051008156 100644
--- a/template/default/admin/comments.vtp
+++ b/template/default/admin/comments.vtp
@@ -24,7 +24,7 @@
<form action="{#action}" method="post">
<!--/VTP_start_form-->
<!--VTP_picture-->
-<div style="border:2px solid #D3DCE3;margin:2px;">
+<div style="border:2px solid #D3DCE3;margin:3px;">
<table style="width:100%;">
<tr>
<td valign="top" width="1px">
diff --git a/template/default/admin/configuration.vtp b/template/default/admin/configuration.vtp
index 162e530ee..b3ec239ee 100644
--- a/template/default/admin/configuration.vtp
+++ b/template/default/admin/configuration.vtp
@@ -47,7 +47,7 @@
<!--/VTP_param_line-->
<!--VTP_title_line-->
<tr>
- <th colspan="3" align="center">{#title}</th>
+ <th colspan="3">{#title}</th>
</tr>
<!--/VTP_title_line-->
<!--VTP_space_line-->
diff --git a/template/default/admin/infos_image.vtp b/template/default/admin/infos_image.vtp
index dd1f3b8d3..869b2885b 100644
--- a/template/default/admin/infos_image.vtp
+++ b/template/default/admin/infos_image.vtp
@@ -1,3 +1,13 @@
+<!--VTP_errors-->
+<div class="errors">
+ <div class="errors_title">{#errors_title}</div>
+ <ul>
+ <!--VTP_li-->
+ <li>{#content}</li>
+ <!--/VTP_li-->
+ </ul>
+</div>
+<!--/VTP_errors-->
<form method="post" action="{#form_action}">
<table width="100%">
<tr>
@@ -75,13 +85,18 @@
<td colspan="6">
<img src="./template/{#user_template}/admin/images/arrow_select.gif" alt="&lt;" />
{#infoimage_associate}
+ <!--VTP_associate_LOV-->
<select name="associate">
<!--VTP_associate_cat-->
<option value="{#value}">{#content}</option>
<!--/VTP_associate_cat-->
</select>
- </td>
- </tr>
+ <!--/VTP_associate_LOV-->
+ <!--VTP_associate_text-->
+ <input type="text" name="associate" />
+ <!--/VTP_associate_text-->
+ </td>
+ </tr>
<tr>
<td colspan="6" style="text-align:center;">
<input type="submit" value="{#submit}" name="submit" />
diff --git a/template/default/admin/picture_modify.vtp b/template/default/admin/picture_modify.vtp
index 9cf36b4eb..c68021091 100644
--- a/template/default/admin/picture_modify.vtp
+++ b/template/default/admin/picture_modify.vtp
@@ -76,11 +76,17 @@
<tr><td colspan="2">&nbsp;</td></tr>
<tr>
<td>{#infoimage_associate}
+ <!--VTP_associate_LOV-->
<select name="associate">
<!--VTP_associate_cat-->
<option value="{#value}">{#content}</option>
<!--/VTP_associate_cat-->
</select>
+ <!--/VTP_associate_LOV-->
+ <!--VTP_associate_text-->
+ <input type="text" name="associate" />
+ <!--/VTP_associate_text-->
+ </select>
</td>
</tr>
</table>
diff --git a/template/default/admin/stats.vtp b/template/default/admin/stats.vtp
index 9967fdd33..e66c1ba18 100644
--- a/template/default/admin/stats.vtp
+++ b/template/default/admin/stats.vtp
@@ -1,46 +1,3 @@
-<style>
- .commentsAuthor,.commentsTitle,.commentsInfos,.commentsContent,.commentsNavigationBar {
- color:{#text_color};
- font-family:arial,sans-Serif;
- font-size:12px;
- }
- .commentsTitle,.commentsAuthor {
- text-align:center;
- font-weight:bold;
- }
- .commentsInfos {
- text-align:right;
- margin:3px 3px 3px 10px;
- font-size:11px;
- }
- .commentsContent {
- margin:10px;
- }
- .commentsTitle {
- margin-top:15px;
- }
- .commentsAuthor {
- margin:5px;
- }
- .commentsNavigationBar {
- margin:10px;
- }
- .tableComment {
- width:100%;
- border:2px solid #006699;
- margin:10px;
- }
- .cellAuthor {
- border-right:1px solid #006699;
- width:100px;
- }
- .cellInfo {
- border-bottom:1px solid #006699;
- }
- .imgLink {
- border:1px solid black;
- }
-</style>
<div style="text-align:center;margin-top:5px;">
<!--VTP_last_day_option-->
<a href="{#link}" style="{#style}">{#option}</a>{#separation}
diff --git a/template/default/category.vtp b/template/default/category.vtp
index 29bff309a..bab094d54 100644
--- a/template/default/category.vtp
+++ b/template/default/category.vtp
@@ -1,26 +1,20 @@
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset={#charset}" />
- {#style}
- <title>{#title}</title>
- </head>
- <body>
- {#header}
<table style="width:100%;">
<tr>
<td valign="top" style="width:1%;padding:10px;">
{#frame_start}100%{#frame_begin}
- <div class="titreMenu">{#categories}</div>
+ <div class="titreMenu">
+ <a href="{#home_url}">{#categories}</a>
+ </div>
<div class="menu">
<!--VTP_category-->{#indent}<!--VTP_bullet_w_link--><a href="{#bullet_link}"><img src="{#bullet_url}" style="border:none;" alt="&gt;" /></a><!--/VTP_bullet_w_link--><!--VTP_bullet_wo_link--><img src="{#bullet_url}" style="border:none;" alt="&gt;" /><!--/VTP_bullet_wo_link-->&nbsp;<a href="{#link_url}"><span title="{#hint_category}" style="{#name_style}">{#link_name}</span>&nbsp;<span class="menuInfoCat">[&nbsp;<!--VTP_subcat--><span title="{#nb_subcats} {#sub-cat}">{#nb_subcats}</span>&nbsp;-&nbsp;<!--/VTP_subcat--><span title="{#total_cat} {#images_available}">{#total_cat}</span>&nbsp;]</span></a>{#cat_icon}<br />
<!--/VTP_category-->
<div class="totalImages">[&nbsp;{#nb_total_pictures}&nbsp;{#total}&nbsp;]</div>
<!--VTP_favorites-->
- <br />&nbsp;<img src="{#lien_collapsed}" al="&gt;" />&nbsp;<a href="{#url}"><span title="{#favorite_cat_hint}" style="font-weight:bold;">{#favorite_cat}</span></a>&nbsp;<span class="menuInfoCat">[&nbsp;{#nb_favorites}&nbsp;]</span>
+ <br />&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<a href="{#url}"><span title="{#favorite_cat_hint}" style="font-weight:bold;">{#favorite_cat}</span></a>&nbsp;<span class="menuInfoCat">[&nbsp;{#nb_favorites}&nbsp;]</span>
<!--/VTP_favorites-->
- <br />&nbsp;<img src="{#lien_collapsed}" al="&gt;" />&nbsp;<span style="font-weight:bold;">{#stats}</span></a>
- <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" al="&gt;" />&nbsp;<a href="{#most_visited_url}"><span title="{#most_visited_cat_hint}" style="font-weight:bold;">{#top_number}&nbsp;{#most_visited_cat}</span></a>
- <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" al="&gt;" />&nbsp;<a href="{#recent_url}"><span title="{#recent_cat_hint}" style="font-weight:bold;">{#recent_cat}</span></a> {#icon_short}
+ <br />&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<span style="font-weight:bold;">{#stats}</span>
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<a href="{#most_visited_url}"><span title="{#most_visited_cat_hint}" style="font-weight:bold;">{#top_number}&nbsp;{#most_visited_cat}</span></a>
+ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="{#lien_collapsed}" alt="&gt;" />&nbsp;<a href="{#recent_url}"><span title="{#recent_cat_hint}" style="font-weight:bold;">{#recent_cat}</span></a> {#icon_short}
</div>
{#frame_end}
<div style="margin-bottom:5px;">&nbsp;</div>
@@ -31,7 +25,7 @@
&nbsp;<img src="{#lien_collapsed}" alt="&gt;"/>&nbsp;<a href="{#url}" title="{#title}">{#name}</a><br />
<!--/VTP_summary-->
<!--VTP_upload-->
- <br />&nbsp;<img src="{#lien_collapsed}" alt="&gt;"/>&nbsp;<a href="{#url}" class="back">{#upload_picture}</a>
+ <br />&nbsp;<img src="{#lien_collapsed}" alt="&gt;"/>&nbsp;<a href="{#url}">{#upload_picture}</a>
<!--/VTP_upload-->
</div>
{#frame_end}
@@ -54,9 +48,9 @@
<img src="{#src}"
alt="{#alt}"
title="{#title}"
- class="imgLink"/><br />
- {#name}
- </a>
+ class="imgLink"/></a>
+ <br />
+ <a href="{#url}" class="back">{#name}</a>
{#icon}
<!--VTP_nb_comments-->
<br />{#nb} {#comments}
@@ -101,12 +95,4 @@
</table>
</td>
</tr>
- </table>
- <div class="copyright">{#generation_time} {#time}</div>
- <!-- Please, do not remove this copyright. If you really want to,
- contact me pierrick@z0rglub.com to find a solution on how
- to show the origin of the script...-->
- <div class="copyright">Powered by <a href="{#site_url}" class="back">PhpWebGallery</a> {#version}</div>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/comments.vtp b/template/default/comments.vtp
index 133f9578c..1c729ee74 100644
--- a/template/default/comments.vtp
+++ b/template/default/comments.vtp
@@ -1,52 +1,3 @@
-<html>
- <head>
- {#style}
- <title>{#title_comments}</title>
- <meta http-equiv="Content-Type" content="text/html; {#charset}">
- <!-- Specific style to comments.php-->
- <style type="text/css">
- .commentsAuthor,.commentsTitle,.commentsInfos,.commentsContent,.commentsNavigationBar {
- color:{#text_color};
- font-family:arial,sans-Serif;
- font-size:12px;
- }
- .commentsTitle,.commentsAuthor {
- text-align:center;
- font-weight:bold;
- }
- .commentsInfos {
- margin:3px 3px 3px 10px;
- font-size:11px;
- text-align:right;
- }
- .commentsContent {
- margin:10px;
- }
- .commentsTitle {
- margin-top:15px;
- }
- .commentsAuthor {
- margin:5px;
- }
- .commentsNavigationBar {
- margin:10px;
- }
- .tableComment {
- width:100%;
- border:2px solid {#text_color};
- margin:10px;
- }
- .cellAuthor {
- border-right:1px solid {#text_color};
- width:100px;
- }
- .cellInfo {
- border-bottom:1px solid {#text_color};
- }
- </style>
- </head>
- <body>
- {#header}
<table style="width:100%;">
<tr align="center" valign="middle">
<td>
@@ -72,18 +23,15 @@
<div style="border:2px solid gray;margin:2px;padding:2px;">
<table style="width:100%;">
<tr>
- <td valign="top" width="1px">
+ <td valign="top" style="width:15%;">
<!-- the thumbnail of the picture, linked to the full size page -->
<a href="{#thumb_url}" title="{#thumb_title}">
<img src="{#thumb_src}" class="imgLink" alt="{#thumb_alt}"/>
</a>
</td>
- <td style="padding:2px;">
- <div style="font-weight:bold;padding-left:10px;">{#title}</div>
+ <td style="padding:10px;width:85%;">
+ <div style="font-weight:bold;padding-left:10px;text-align:left;">{#title}</div>
<!--VTP_comment-->
- <table style="width:100%;">
- <tr>
- <td>
<table class="tableComment">
<tr>
<td rowspan="2" valign="top" class="cellAuthor">
@@ -101,9 +49,6 @@
</td>
</tr>
</table>
- </td>
- </tr>
- </table>
<!--/VTP_comment-->
</td>
</tr>
@@ -113,7 +58,4 @@
{#frame_end}
</td>
</tr>
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/default-admin.css b/template/default/default-admin.css
new file mode 100644
index 000000000..7270c1bb1
--- /dev/null
+++ b/template/default/default-admin.css
@@ -0,0 +1,93 @@
+@import url("default.css");
+
+a, a:hover {
+color:#006699;
+}
+
+body,font,table,input,form,select,textarea {
+font-family:arial,verdana,sans-serif;
+font-size:12px;
+color:#000000;
+text-align:left;
+}
+table
+{
+border-collapse:separate;
+}
+body {
+background-color:#E5E5E5;
+margin:5px;
+}
+
+.table1 {
+border-collapse:collapse;
+background-color:#FFFFFF;
+}
+.contenucellule {
+background-color:#EEEEEE;
+border:2px solid #006699;
+}
+.style1 {
+margin-top:20px;
+}
+th {
+font-weight:bold;
+background-color:#D3DCE3;
+margin-bottom:10px;
+text-align: center;
+}
+td.row1 {
+background-color:#E6E4E4;
+}
+td.row2,td.throw2 {
+background-color:#E8E8E8;
+}
+td.throw2 {
+text-align:center;
+font-weight:bold;
+}
+td.row3 {
+background-color:#eeeeee;
+}
+td.row4 {
+background-color:#cccccc;
+}
+.info {
+color:darkblue;
+text-align:center;
+}
+div.key {
+margin-left : 10px;
+}
+td.choice {
+text-align : center;
+}
+div.install_warning {
+text-align:center;
+color:red;
+margin:20px;
+font-weight:bold;
+}
+
+.tableComment,.cellAuthor,.cellInfo {
+color:#000000;
+border-color:#006699;
+}
+.commentsAuthor,.commentsTitle,.commentsInfos,.commentsContent
+{
+color:#000000;
+}
+.errors {
+ text-align:left;
+ margin:25px;
+ background-color:#ffe1e1;
+ border:1px solid red;
+ color:black;
+}
+.errors_title {
+ margin:5px;
+ font-weight:bold;
+ font-size:120%;
+ text-align:center;
+ color:red;
+} \ No newline at end of file
diff --git a/template/default/default.css b/template/default/default.css
new file mode 100644
index 000000000..8c7e447f9
--- /dev/null
+++ b/template/default/default.css
@@ -0,0 +1,208 @@
+a {
+ text-decoration:none;
+ color:#E0E0E0;
+}
+a:hover {
+ text-decoration:underline;
+ color:#E0E0E0;
+}
+
+a.back,body {
+ color:#E0E0E0;
+}
+body {
+ font-family:arial, sans-serif;
+ font-size:12px;
+ background-color:#444444;
+ margin:5px;
+}
+table, input {
+ font-family:arial, sans-serif;
+ font-size:12px;
+}
+.imgLink {
+ border:1px solid #E0E0E0;
+}
+.imgLink:hover {
+ text-decoration:none;
+}
+.titrePage,.titreMenu,.menu,.info,.commentsAuthor,.commentsTitle,.commentsInfos,.commentsContent,.commentsNavigationBar {
+ color:lightgray;
+}
+.titreMenu, .menu, .info {
+ margin-bottom:5px;
+ white-space:nowrap;
+}
+.menu, .titrePage, .info {
+ margin-left:2px;
+ margin-right:2px;
+}
+.menuInfoCat {
+ font-family:sans-serif;
+ font-size:11px;
+}
+.totalImages {
+ text-align:center;
+ margin-top:5px;
+ font-family:sans-serif;
+ font-size:11px;
+}
+.titreMenu {
+ font-weight:600;
+ text-align:center;
+}
+.info {
+ text-align:right;
+}
+.titrePage {
+ white-space:nowrap;
+ font-weight:500;
+ font-size:18px;
+ text-align:center;
+}
+.comments, .infoCat, .navigationBar {
+ margin-top:10px;
+ margin-bottom:10px;
+}
+.comments {
+ text-align:justify;
+ font-style:italic;
+}
+.navigationBar {
+ text-align:center;
+}
+.infoCat {
+ text-align:left;
+}
+.thumbnail {
+ font-size:11px;
+ text-align:center;
+}
+.copyright {
+ font-size:11px;
+ text-align:center;
+ font-family:sans-serif;
+ letter-spacing:0.3mm;
+}
+.commentImage {
+ font-weight:bold;
+ text-align:center;
+ font-size:17px;
+}
+.bouton {
+ background:lightgray;
+}
+textarea,input {
+ color:black;
+}
+table {
+ border-collapse:collapse;
+}
+table.thumbnail {
+ border-collapse:separate;
+}
+td {
+ font-family:sans-serif;
+ padding:0px;
+}
+.errors {
+ text-align:left;
+ margin-top:5px;
+ margin-bottom:5px;
+ background-color:red;
+ font-weight:bold;
+ border:1px solid black;
+ color:white;
+}
+div.information {
+ text-align:center;
+ border:2px solid #E0E0E0;
+ margin:10px;
+ padding:5px;
+}
+.commentsAuthor, .commentsTitle, .commentsInfos, .commentsContent, .commentsNavigationBar {
+
+ font-family:arial, sans-Serif;
+ font-size:12px;
+}
+.commentsTitle, .commentsAuthor {
+ text-align:center;
+ font-weight:bold;
+}
+.commentsInfos {
+ padding:3px 3px 3px 10px;
+ font-size:11px;
+ text-align:right;
+}
+.commentsContent {
+ margin:10px;
+}
+.commentsTitle {
+ margin-top:15px;
+}
+.commentsAuthor {
+ margin:5px;
+}
+.commentsNavigationBar {
+ margin:10px;
+}
+.tableComment,.cellAuthor,.cellInfo {
+ border-color:#E0E0E0;
+ border-style:solid;
+}
+.tableComment {
+ width:100%;
+ border-width:2px;
+ text-align:left;
+ padding: 10px;
+}
+.cellAuthor {
+ border-width:0px;
+ border-right-width:1px;
+ width:20%;
+}
+.cellInfo {
+ border-width:0px;
+ border-bottom-width:1px;
+}
+
+ .miniature {
+ border:solid 1px black;
+ }
+ .titretable1 {
+ color:black;
+ background-color:#D3DCE3;
+ text-align:center;
+ border:2px solid #006699;
+ font-weight:bold;
+ border-bottom:0px;
+ }
+ .grostitre {
+ text-align:center;
+ margin:10px 50px 10px 50px;
+ font-size:20px;
+ width:300px;
+ }
+ .plan {
+ margin:10px 10px 10px 2px;
+ white-space:nowrap;
+ }
+ .cat_plan {
+ font-weight:bold;
+ }
+ .retrait {
+ margin:10px;
+ margin-left:30px;
+ margin-top:2px;
+ }
+ .erreur {
+ color:red;
+ text-align:center;
+ }
+ .errors_title {
+ margin:5px;
+ font-weight:bold;
+ font-size:120%;
+ text-align:center;
+ color:red;
+ } \ No newline at end of file
diff --git a/template/default/footer.vtp b/template/default/footer.vtp
new file mode 100644
index 000000000..1cf62a5d5
--- /dev/null
+++ b/template/default/footer.vtp
@@ -0,0 +1,8 @@
+ <div class="copyright">{#generation_time} {#time}</div>
+ <!-- Please, do not remove this copyright. If you really want to,
+ contact me pierrick@z0rglub.com to find a solution on how
+ to show the origin of the script...-->
+ <div class="copyright">Powered by <a href="{#site_url}" class="back">PhpWebGallery</a> {#version}</div>
+ {#footer}
+ </body>
+</html> \ No newline at end of file
diff --git a/template/default/header.vtp b/template/default/header.vtp
new file mode 100644
index 000000000..e97197576
--- /dev/null
+++ b/template/default/header.vtp
@@ -0,0 +1,13 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset={#charset}" />
+<meta http-equiv="Content-Style-Type" content="text/css" />
+<!--VTP_refresh-->
+<meta http-equiv="refresh" content="{#time};url={#url}">
+<!--/VTP_refresh-->
+<title>{#title}</title>
+<link rel="stylesheet" href="{#style}" type="text/css" />
+</head>
+<body>
+{#header}
diff --git a/template/default/htmlfunctions.inc.php b/template/default/htmlfunctions.inc.php
index 2010a2768..ad52bfc13 100644
--- a/template/default/htmlfunctions.inc.php
+++ b/template/default/htmlfunctions.inc.php
@@ -17,10 +17,10 @@
* *
***************************************************************************/
-include( PREFIX_INCLUDE.'./template/'.$user['template'].'/theme/conf.php' );
+//include( PREFIX_INCLUDE.'./template/'.$user['template'].'/theme/conf.php' );
$user['lien_expanded']='./template/'.$user['template'].'/theme/expanded.gif';
$user['lien_collapsed']='./template/'.$user['template'].'/theme/collapsed.gif';
-include_once( PREFIX_INCLUDE.'./template/'.$user['template'].'/style.inc.php');
+//include_once( PREFIX_INCLUDE.'./template/'.$user['template'].'/style.inc.php');
function get_icon( $date_comparaison )
{
@@ -160,15 +160,15 @@ function initialize_template()
{
global $vtp, $handle, $user, $lang;
- $vtp->setGlobalVar( $handle, 'charset', $lang['charset'] );
- $vtp->setGlobalVar( $handle, 'style', $user['style'] );
+ // $vtp->setGlobalVar( $handle, 'charset', $lang['charset'] );
+ //$vtp->setGlobalVar( $handle, 'style', $user['style'] );
$vtp->setGlobalVar( $handle, 'frame_start', get_frame_start() );
$vtp->setGlobalVar( $handle, 'frame_begin', get_frame_begin() );
$vtp->setGlobalVar( $handle, 'frame_end', get_frame_end() );
- $vtp->setVarF( $handle, 'header',
- './template/'.$user['template'].'/header.htm' );
- $vtp->setVarF( $handle, 'footer',
- './template/'.$user['template'].'/footer.htm' );
+ //$vtp->setVarF( $handle, 'header',
+ // './template/'.$user['template'].'/header.htm' );
+ //$vtp->setVarF( $handle, 'footer',
+ // './template/'.$user['template'].'/footer.htm' );
}
function display_category( $category, $indent, $handle )
@@ -177,8 +177,7 @@ function display_category( $category, $indent, $handle )
$vtp->addSession( $handle, 'category' );
$vtp->setVar( $handle, 'category.indent', $indent );
-
- if ( $user['expand'] or count( $category['subcats'] ) == 0 )
+ if ( $user['expand'] or $category['nb_sub_categories'] == 0 )
{
$vtp->addSession( $handle, 'bullet_wo_link' );
$vtp->setVar( $handle, 'bullet_wo_link.bullet_url',
@@ -188,12 +187,16 @@ function display_category( $category, $indent, $handle )
else
{
$vtp->addSession( $handle, 'bullet_w_link' );
- $url = './category.php?cat='.$page['cat'];
+ $url = './category.php';
+ if (isset($page['cat']))
+ {
+ $url .='?cat='.$page['cat'];
$url.= '&amp;expand='.$category['expand_string'];
- if ( $page['cat'] == 'search' )
- {
- $url.= '&amp;search='.$_GET['search'].'&amp;mode='.$_GET['mode'];
- }
+ }
+ else if ($category['expand_string']<>'')
+ {
+ $url.= '?expand='.$category['expand_string'];
+ }
$vtp->setVar( $handle, 'bullet_w_link.bullet_link', add_session_id($url) );
if ( $category['expanded'] )
{
@@ -220,10 +223,10 @@ function display_category( $category, $indent, $handle )
{
$vtp->setVar( $handle, 'category.name_style', 'font-weight:bold;' );
}
- if ( count( $category['subcats'] ) > 0 )
+ if ( $category['nb_sub_categories'] > 0 )
{
$vtp->addSession( $handle, 'subcat' );
- $vtp->setVar( $handle, 'subcat.nb_subcats', count($category['subcats']) );
+ $vtp->setVar( $handle,'subcat.nb_subcats',$category['nb_sub_categories'] );
$vtp->closeSession( $handle, 'subcat' );
}
$vtp->setVar( $handle, 'category.total_cat', $category['nb_images'] );
diff --git a/template/default/identification.vtp b/template/default/identification.vtp
index 6240d0f99..132776ad6 100644
--- a/template/default/identification.vtp
+++ b/template/default/identification.vtp
@@ -1,11 +1,3 @@
-<html>
- <head>
- {#style}
- <title>{#ident_page_title}</title>
- <meta http-equiv="Content-Type" content="text/html; charset={#charset}" />
- </head>
- <body>
- {#header}
<table style="width:100%;height:100%">
<tr align="center" valign="middle">
<td>
@@ -72,7 +64,4 @@
{#frame_end}
</td>
</tr>
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/picture.vtp b/template/default/picture.vtp
index 6af7f54c6..2fddd393a 100644
--- a/template/default/picture.vtp
+++ b/template/default/picture.vtp
@@ -1,54 +1,3 @@
-<html>
- <head>
- <!--VTP_refresh-->
- <meta http-equiv="refresh" content="{#time};url={#url}">
- <!--/VTP_refresh-->
- <meta http-equiv="Content-Type" content="text/html;charset={#charset}">
- {#style}
- <!-- Specific style to picture.php-->
- <style type="text/css">
- .commentsAuthor,.commentsTitle,.commentsInfos,.commentsContent,.commentsNavigationBar {
- color:{#text_color};
- font-family:arial,sans-Serif;
- font-size:12px;
- }
- .commentsTitle,.commentsAuthor {
- text-align:center;
- font-weight:bold;
- }
- .commentsInfos {
- margin:3px 3px 3px 10px;
- font-size:11px;
- }
- .commentsContent {
- margin:10px;
- }
- .commentsTitle {
- margin-top:15px;
- }
- .commentsAuthor {
- margin:5px;
- }
- .commentsNavigationBar {
- margin:10px;
- }
- .tableComment {
- width:90%;
- border:2px solid {#text_color};
- margin:10px;
- }
- .cellAuthor {
- border-right:1px solid {#text_color};
- width:100px;
- }
- .cellInfo {
- border-bottom:1px solid {#text_color};
- }
- </style>
- <title>{#page_title}</title>
- </head>
- <body>
- {#header}
<!--VTP_information-->
<div class="information">{#content}</div>
<!--/VTP_information-->
@@ -85,7 +34,7 @@
<div style="margin-bottom:5px">&nbsp;</div>
{#frame_start}1%{#frame_begin}
<a href="{#picture_link}">
- <img style="margin:10px;width:{#picture_width}px;height:{#picture_height}px;border:1px solid {#picture_border_color}" src="{#picture_src}" alt="{#picture_alt}"/>
+ <img class="imgLink" style="margin:10px;width:{#picture_width}px;height:{#picture_height}px;border:1px solid" src="{#picture_src}" alt="{#picture_alt}"/>
</a>
<div class="commentImage">{#picture_comment}</div>
<table style="width:100%;">
@@ -184,7 +133,4 @@
</td>
</tr>
<!--/VTP_comments-->
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/profile.vtp b/template/default/profile.vtp
index 3aef1460a..e53394e97 100644
--- a/template/default/profile.vtp
+++ b/template/default/profile.vtp
@@ -1,11 +1,3 @@
-<html>
- <head>
- {#style}
- <title>{#customize_page_title}</title>
- <meta http-equiv="Content-Type" content="text/html; {#charset}">
- </head>
- <body>
- {#header}
<table style="width:100%;height:100%">
<tr align="center" valign="middle">
<td>
@@ -96,7 +88,4 @@
{#frame_end}
</td>
</tr>
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/register.vtp b/template/default/register.vtp
index f7104641c..f4d97c52f 100644
--- a/template/default/register.vtp
+++ b/template/default/register.vtp
@@ -1,11 +1,3 @@
-<html>
- <head>
- {#style}
- <title>{#register_page_title}</title>
- <meta http-equiv="Content-Type" content="text/html; charset={#charset}">
- </head>
- <body>
- {#header}
<table style="width:100%;height:100%">
<tr align="center" valign="middle">
<td>
@@ -68,7 +60,4 @@
{#frame_end}
</td>
</tr>
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/search.vtp b/template/default/search.vtp
index 5b6f094ea..bc6b92995 100644
--- a/template/default/search.vtp
+++ b/template/default/search.vtp
@@ -1,11 +1,3 @@
-<html>
- <head>
- {#style}
- <title>{#search_title}</title>
- <meta http-equiv="Content-Type" content="text/html; charset={#charset}">
- </head>
- <body>
- {#header}
<table style="width:100%;height:100%">
<tr align="center" valign="middle">
<td>
@@ -78,7 +70,4 @@
{#frame_end}
</td>
</tr>
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/template/default/style.inc.php b/template/default/style.inc.php
deleted file mode 100644
index 14ddebb66..000000000
--- a/template/default/style.inc.php
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-/***************************************************************************
- * style.inc.php *
- * ------------------- *
- * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
- * author : Pierrick LE GALL <pierrick@z0rglub.com> *
- * *
- * $Id$
- * *
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; *
- * *
- ***************************************************************************/
-$user['style'] = '<style type="text/css">
- a {
- text-decoration:none;
- }
- a:hover {
- text-decoration:underline;
- }
- a.back, body {
- color:'.$user['couleur_text_fond'].';
- }
- body,table,input {
- font-family:arial,sans-serif;
- font-size:12px;
- }
- .imgLink {
- border:1px solid '.$user['couleur_text_fond'].';
- }
- .titrePage,.titreMenu,.menu,.info, a {
- color:'.$user['couleur_text'].';
- }
- .titreMenu,.menu,.info {
- margin-bottom:5px;
- white-space:nowrap;
- }
- .menu,.titrePage,.info {
- margin-left:2px;
- margin-right:2px;
- }
- .menuInfoCat {
- font-family:sans-serif;
- font-size:11px;
- }
- .totalImages {
- text-align:center;
- margin-top:5px;
- font-family:sans-serif;
- font-size:11px;
- }
- .titreMenu {
- font-weight:600;
- text-align:center;
- }
- .info {
- text-align:right;
- }
- .titrePage {
- white-space:nowrap;
- font-weight:500;
- font-size:18px;
- text-align:center;
- }
- .comments,.infoCat,.navigationBar {
- margin-top:10px;
- margin-bottom:10px;
- }
- .comments {
- text-align:justify;
- font-style:italic;
- }
- .navigationBar {
- text-align:center;
- }
- .infoCat {
- text-align:left;
- }
- .thumbnail {
- font-size:11px;
- text-align:center;
- }
- .copyright {
- font-size:11px;
- text-align:center;
- font-family:sans-serif;
- letter-spacing:0.3mm;
- }
- .commentImage {
- font-weight:bold;
- text-align:center;
- font-size:17px;
- }
- .bouton {
- background:#EEEEEE;
- }
- input {
- border-width:1;
- border-color:#000000;
- background:#ffffff;
- color: #000000;
- }
- body {';
-$image = './theme/'.$user['theme'].'/background.gif';
-if ( @is_file( $image ) )
-{
- $user['style'].= '
- background-image:url('.$image.');';
-}
-else
-{
- $user['style'].= '
- background-color:'.$user['couleur_fond'].';';
-}
-$user['style'].= '
- margin:5px;
- }
- table {
- border-collapse:collapse;
- }
- table.thumbnail {
- border-collapse:separate;
- }
- td {
- font-family:sans-serif;
- padding:0;
- }
- .errors {
- text-align:left;
- margin-top:5px;
- margin-bottom:5px;
- background-color:red;
- font-weight:bold;
- border:1px solid black;
- color:white;
- }
- div.information {
- text-align:center;
- border:2px solid '.$user['couleur_text_fond'].';
- margin:10px;padding:5px;
- }
- </style>'; \ No newline at end of file
diff --git a/template/default/theme/conf.php b/template/default/theme/conf.php
deleted file mode 100644
index 0f77103e5..000000000
--- a/template/default/theme/conf.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/***************************************************************************
- * conf.php *
- * ------------------- *
- * application : PhpWebGallery 1.3 <http://phpwebgallery.net> *
- * author : Jerome <http://www.ze-labo.com> *
- * *
- * $Id$
- * *
- ***************************************************************************/
-
-/***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; *
- * *
- ***************************************************************************/
-
-$user['couleur_fond'] = '#444444';
-$user['couleur_text_fond'] = 'white';
-$user['couleur_text'] = 'white';
-?> \ No newline at end of file
diff --git a/template/default/upload.vtp b/template/default/upload.vtp
index 1ac1c3ccb..3b618442e 100644
--- a/template/default/upload.vtp
+++ b/template/default/upload.vtp
@@ -1,11 +1,3 @@
-<html>
- <head>
- {#style}
- <title>{#upload_title}</title>
- <meta http-equiv="Content-Type" content="text/html; charset={#charset}">
- </head>
- <body>
- {#header}
<table style="width:100%;height:100%">
<tr align="center" valign="middle">
<td>
@@ -109,7 +101,4 @@
{#frame_end}
</td>
</tr>
- </table>
- {#footer}
- </body>
-</html> \ No newline at end of file
+ </table> \ No newline at end of file
diff --git a/upload.php b/upload.php
index 91f93e973..778863743 100644
--- a/upload.php
+++ b/upload.php
@@ -17,6 +17,10 @@
* *
***************************************************************************/
+//----------------------------------------------------------- include
+$phpwg_root_path = './';
+include_once( $phpwg_root_path.'common.php' );
+
//------------------------------------------------------------------- functions
// The validate_upload function checks if the image of the given path is valid.
// A picture is valid when :
@@ -94,10 +98,13 @@ function validate_upload( $temp_name, $my_max_file_size,
// destruction de l'image avec le nom temporaire
@unlink( $temp_name );
}
+ else
+ {
+ @chmod( $temp_name, 0644);
+ }
return $result;
}
-//----------------------------------------------------------- personnal include
-include_once( './include/init.inc.php' );
+
//-------------------------------------------------- access authorization check
check_login_authorization();
check_cat_id( $_GET['cat'] );
@@ -109,13 +116,7 @@ if ( isset( $page['cat'] ) and is_numeric( $page['cat'] ) )
$page['cat_site_id'] = $result['site_id'];
$page['cat_name'] = $result['name'];
$page['cat_uploadable'] = $result['uploadable'];
-}
-else
-{
- $access_forbidden = true;
-}
-if ( $access_forbidden == true
- or $page['cat_site_id'] != 1
+if ( $page['cat_site_id'] != 1
or !$conf['upload_available']
or !$page['cat_uploadable'] )
{
@@ -124,8 +125,13 @@ if ( $access_forbidden == true
echo $lang['thumbnails'].'</a></div>';
exit();
}
+}
//----------------------------------------------------- template initialization
-$vtp = new VTemplate;
+//
+// Start output of page
+//
+$title= $lang['upload_title'];
+include('include/page_header.php');
$handle = $vtp->Open( './template/'.$user['template'].'/upload.vtp' );
initialize_template();
@@ -164,7 +170,8 @@ if ( isset( $_POST['submit'] ) and !isset( $_GET['waiting_id'] ) )
{
array_push( $error, $lang['upload_err_username'] );
}
-
+
+ $date_creation = '';
if ( $_POST['date_creation'] != '' )
{
list( $day,$month,$year ) = explode( '/', $_POST['date_creation'] );
@@ -189,13 +196,20 @@ if ( isset( $_POST['submit'] ) and !isset( $_GET['waiting_id'] ) )
$xml_infos.= ' date_creation="'.$date_creation.'"';
$xml_infos.= ' name="'.htmlspecialchars( $_POST['name'], ENT_QUOTES).'"';
$xml_infos.= ' />';
+
+ if ( !preg_match( '/^[a-zA-Z0-9-_.]+$/', $_FILES['picture']['name'] ) )
+ {
+ // reload language file with administration labels
+ $isadmin = true;
+ include( './language/'.$user['language'].'.php' );
+ array_push( $error, $lang['update_wrong_dirname'] );
+ }
if ( sizeof( $error ) == 0 )
{
$result = validate_upload( $path, $conf['upload_maxfilesize'],
$conf['upload_maxwidth'],
$conf['upload_maxheight'] );
- $upload_type = $result['type'];
for ( $j = 0; $j < sizeof( $result['error'] ); $j++ )
{
array_push( $error, $result['error'][$j] );
@@ -237,7 +251,6 @@ if ( isset( $_POST['submit'] ) and isset( $_GET['waiting_id'] ) )
$result = validate_upload( $path, $conf['upload_maxfilesize'],
$conf['upload_maxwidth_thumbnail'],
$conf['upload_maxheight_thumbnail'] );
- $upload_type = $result['type'];
for ( $j = 0; $j < sizeof( $result['error'] ); $j++ )
{
array_push( $error, $result['error'][$j] );
@@ -347,12 +360,16 @@ if ( !$page['upload_successful'] )
else $mail_address=$user['mail_address'];
$vtp->setGlobalVar( $handle, 'user_mail_address',$user['mail_address'] );
// name of the picture
+ if (isset($_POST['name']))
$vtp->setVar( $handle, 'fields.name', $_POST['name'] );
// author
+ if (isset($_POST['author']))
$vtp->setVar( $handle, 'fields.author', $_POST['author'] );
// date of creation
+ if (isset($_POST['date_creation']))
$vtp->setVar( $handle, 'fields.date_creation', $_POST['date_creation'] );
// comment
+ if (isset($_POST['comment']))
$vtp->setVar( $handle, 'fields.comment', $_POST['comment'] );
$vtp->closeSession( $handle, 'fields' );
@@ -373,4 +390,5 @@ $vtp->setGlobalVar( $handle, 'return_url', add_session_id( $url ) );
//----------------------------------------------------------- html code display
$code = $vtp->Display( $handle, 0 );
echo $code;
+include('include/page_tail.php');
?> \ No newline at end of file