diff --git a/admin.php b/admin.php
index b99f72b40..edb2827ba 100644
--- a/admin.php
+++ b/admin.php
@@ -120,6 +120,18 @@ if (isset($_GET['page']) and preg_match('/^plugin-([^-]*)(?:-(.*))?$/', $_GET['p
}
}
+// ?page=album-134-properties is an clean alias of
+// ?page=album&cat_id=134&tab=properties
+if (isset($_GET['page']) and preg_match('/^album-(\d+)(?:-(.*))?$/', $_GET['page'], $matches))
+{
+ $_GET['page'] = 'album';
+ $_GET['cat_id'] = $matches[1];
+ if (isset($matches[2]))
+ {
+ $_GET['tab'] = $matches[2];
+ }
+}
+
if (isset($_GET['page'])
and preg_match('/^[a-z_]*$/', $_GET['page'])
and is_file(PHPWG_ROOT_PATH.'admin/'.$_GET['page'].'.php'))
diff --git a/admin/album.php b/admin/album.php
new file mode 100644
index 000000000..1097f04f5
--- /dev/null
+++ b/admin/album.php
@@ -0,0 +1,92 @@
+add('properties', l10n('Properties'), $admin_album_base_url.'-properties');
+$tabsheet->add('sort_order', l10n('Manage photo ranks'), $admin_album_base_url.'-sort_order');
+
+if ('private' == $category['status'])
+{
+ $tabsheet->add('permissions', l10n('Permissions'), $admin_album_base_url.'-permissions');
+}
+
+$tabsheet->select($page['tab']);
+$tabsheet->assign();
+
+// +-----------------------------------------------------------------------+
+// | Load the tab |
+// +-----------------------------------------------------------------------+
+
+if ('properties' == $page['tab'])
+{
+ include(PHPWG_ROOT_PATH.'admin/cat_modify.php');
+}
+elseif ('sort_order' == $page['tab'])
+{
+ include(PHPWG_ROOT_PATH.'admin/element_set_ranks.php');
+}
+elseif ('permissions' == $page['tab'])
+{
+ $_GET['cat'] = $_GET['cat_id'];
+ include(PHPWG_ROOT_PATH.'admin/cat_perm.php');
+}
+else
+{
+ include(PHPWG_ROOT_PATH.'admin/album_'.$page['tab'].'.php');
+}
+?>
\ No newline at end of file
diff --git a/admin/cat_list.php b/admin/cat_list.php
index f6c42a946..eed147607 100644
--- a/admin/cat_list.php
+++ b/admin/cat_list.php
@@ -297,7 +297,7 @@ foreach ($categories as $category)
),
'U_CHILDREN' => $cat_list_url.'&parent_id='.$category['id'],
- 'U_EDIT' => $base_url.'cat_modify&cat_id='.$category['id'],
+ 'U_EDIT' => $base_url.'album-'.$category['id'],
'IS_VIRTUAL' => empty($category['dir'])
);
diff --git a/admin/cat_modify.php b/admin/cat_modify.php
index 762834af8..a6399b4ee 100644
--- a/admin/cat_modify.php
+++ b/admin/cat_modify.php
@@ -163,7 +163,10 @@ if (isset($_POST['submit']))
move_categories( array($_GET['cat_id']), $_POST['parent'] );
}
- array_push($page['infos'], l10n('Album updated successfully'));
+ // we redirect to hide/show the "permissions" tab if the category status
+ // has changed
+ $_SESSION['page_infos'] = array(l10n('Album updated successfully'));
+ redirect($admin_album_base_url);
}
elseif (isset($_POST['set_random_representant']))
{
@@ -178,75 +181,7 @@ UPDATE '.CATEGORIES_TABLE.'
;';
pwg_query($query);
}
-elseif (isset($_POST['submitAdd']))
-{
- $output_create = create_virtual_category(
- $_POST['virtual_name'],
- (0 == $_POST['parent'] ? null : $_POST['parent'])
- );
- if (isset($output_create['error']))
- {
- array_push($page['errors'], $output_create['error']);
- }
- else
- {
- // Virtual album creation succeeded
- //
- // Add the information in the information list
- array_push($page['infos'], $output_create['info']);
-
- // Link the new category to the current category
- associate_categories_to_categories(
- array($_GET['cat_id']),
- array($output_create['id'])
- );
-
- // information
- array_push(
- $page['infos'],
- sprintf(
- l10n('Album photos associated to the following albums: %s'),
- '
- '
- .get_cat_display_name_from_id($output_create['id'])
- .'
'
- )
- );
- }
-}
-elseif (isset($_POST['submitDestinations'])
- and isset($_POST['destinations'])
- and count($_POST['destinations']) > 0)
-{
- associate_categories_to_categories(
- array($_GET['cat_id']),
- $_POST['destinations']
- );
-
- $category_names = array();
- foreach ($_POST['destinations'] as $category_id)
- {
- array_push(
- $category_names,
- get_cat_display_name_from_id($category_id)
- );
- }
-
- array_push(
- $page['infos'],
- sprintf(
- l10n('Album photos associated to the following albums: %s'),
- '- '.implode('
- ', $category_names).'
'
- )
- );
-}
-
-$query = '
-SELECT *
- FROM '.CATEGORIES_TABLE.'
- WHERE id = '.$_GET['cat_id'].'
-;';
-$category = pwg_db_fetch_assoc( pwg_query( $query ) );
// nullable fields
foreach (array('comment','dir','site_id', 'id_uppercat') as $nullable)
{
@@ -268,13 +203,13 @@ $category['has_images'] = pwg_db_num_rows($result)>0 ? true : false;
// Navigation path
$navigation = get_cat_display_name_cache(
$category['uppercats'],
- get_root_url().'admin.php?page=cat_modify&cat_id='
+ get_root_url().'admin.php?page=album-'
);
-$form_action = get_root_url().'admin.php?page=cat_modify&cat_id='.$_GET['cat_id'];
+$form_action = $admin_album_base_url.'-properties';
//----------------------------------------------------- template initialization
-$template->set_filename( 'categories', 'cat_modify.tpl');
+$template->set_filename( 'album_properties', 'cat_modify.tpl');
$base_url = get_root_url().'admin.php?page=';
$cat_list_url = $base_url.'cat_list';
@@ -303,8 +238,6 @@ $template->assign(
)
),
- 'MAIL_CONTENT' => empty($_POST['mail_content'])
- ? '' : stripslashes($_POST['mail_content']),
'U_CHILDREN' => $cat_list_url.'&parent_id='.$category['id'],
'U_HELP' => get_root_url().'admin/popuphelp.php?page=cat_modify',
@@ -317,14 +250,6 @@ if ($conf['activate_comments'])
$template->assign('CAT_COMMENTABLE', boolean_to_string($category['commentable']));
}
-
-if ('private' == $category['status'])
-{
- $template->assign( 'U_MANAGE_PERMISSIONS',
- $base_url.'cat_perm&cat='.$category['id']
- );
-}
-
// manage album elements link
if ($category['has_images'])
{
@@ -332,7 +257,42 @@ if ($category['has_images'])
'U_MANAGE_ELEMENTS',
$base_url.'batch_manager&cat='.$category['id']
);
+
+ $query = '
+SELECT
+ COUNT(image_id),
+ MIN(DATE(date_available)),
+ MAX(DATE(date_available))
+ FROM '.IMAGES_TABLE.'
+ JOIN '.IMAGE_CATEGORY_TABLE.' ON image_id = id
+ WHERE category_id = '.$category['id'].'
+;';
+ list($image_count, $min_date, $max_date) = pwg_db_fetch_row(pwg_query($query));
+
+ if ($min_date == $max_date)
+ {
+ $intro = sprintf(
+ l10n('This album contains %d photos, added on %s.'),
+ $image_count,
+ format_date($min_date)
+ );
+ }
+ else
+ {
+ $intro = sprintf(
+ l10n('This album contains %d photos, added between %s and %s.'),
+ $image_count,
+ format_date($min_date),
+ format_date($max_date)
+ );
+ }
}
+else
+{
+ $intro = l10n('This album contains no photo.');
+}
+
+$template->assign('INTRO', $intro);
$template->assign(
'U_MANAGE_RANKS',
@@ -352,9 +312,7 @@ else
$category['cat_full_dir'] = get_complete_dir($_GET['cat_id']);
$template->assign(
array(
- 'CAT_FULL_DIR' => preg_replace('/\/$/',
- '',
- $category['cat_full_dir'] )
+ 'CAT_FULL_DIR' => preg_replace('/\/$/', '', $category['cat_full_dir'])
)
);
@@ -430,144 +388,8 @@ SELECT id,name,uppercats,global_rank
);
}
-
-// create virtual in parent and link
-$query = '
-SELECT id,name,uppercats,global_rank
- FROM '.CATEGORIES_TABLE.'
-;';
-display_select_cat_wrapper(
- $query,
- array(),
- 'create_new_parent_options'
- );
-
-
-// destination categories
-$query = '
-SELECT id,name,uppercats,global_rank
- FROM '.CATEGORIES_TABLE.'
- WHERE id != '.$category['id'].'
-;';
-display_select_cat_wrapper(
- $query,
- array(),
- 'category_destination_options'
- );
-
-// info by email to an access granted group of category informations
-if (isset($_POST['submitEmail']) and !empty($_POST['group']))
-{
- set_make_full_url();
-
- /* TODO: if $category['representative_picture_id']
- is empty find child representative_picture_id */
- if (!empty($category['representative_picture_id']))
- {
- $query = '
-SELECT id, file, path, representative_ext
- FROM '.IMAGES_TABLE.'
- WHERE id = '.$category['representative_picture_id'].'
-;';
-
- $result = pwg_query($query);
- if (pwg_db_num_rows($result) > 0)
- {
- $element = pwg_db_fetch_assoc($result);
-
- $img_url = '
';
- }
- }
-
- if (!isset($img_url))
- {
- $img_url = '';
- }
-
- // TODO Mettre un array pour traduction subjet
- pwg_mail_group(
- $_POST['group'],
- get_str_email_format(true), /* TODO add a checkbox in order to choose format*/
- get_l10n_args('[%s] Visit album %s',
- array($conf['gallery_title'], $category['name'])),
- 'cat_group_info',
- array
- (
- 'IMG_URL' => $img_url,
- 'CAT_NAME' => $category['name'],
- 'LINK' => make_index_url(
- array(
- 'category' => array(
- 'id' => $category['id'],
- 'name' => $category['name'],
- 'permalink' => $category['permalink']
- ))),
- 'CPL_CONTENT' => empty($_POST['mail_content'])
- ? '' : stripslashes($_POST['mail_content'])
- ),
- '' /* TODO Add listbox in order to choose Language selected */);
-
- unset_make_full_url();
-
- $query = '
-SELECT
- name
- FROM '.GROUPS_TABLE.'
- WHERE id = '.$_POST['group'].'
-;';
- list($group_name) = pwg_db_fetch_row(pwg_query($query));
-
- array_push(
- $page['infos'],
- sprintf(
- l10n('An information email was sent to group "%s"'),
- $group_name
- )
- );
-}
-
-if ('private' == $category['status'])
-{
- $query = '
-SELECT
- group_id
- FROM '.GROUP_ACCESS_TABLE.'
- WHERE cat_id = '.$category['id'].'
-;';
-}
-else
-{
- $query = '
-SELECT
- id AS group_id
- FROM '.GROUPS_TABLE.'
-;';
-}
-$group_ids = array_from_query($query, 'group_id');
-
-if (count($group_ids) > 0)
-{
- $query = '
-SELECT
- id,
- name
- FROM '.GROUPS_TABLE.'
- WHERE id IN ('.implode(',', $group_ids).')
- ORDER BY name ASC
-;';
- $template->assign('group_mail_options',
- simple_hash_from_query($query, 'id', 'name')
- );
-}
-
trigger_action('loc_end_cat_modify');
//----------------------------------------------------------- sending html code
-$template->assign_var_from_handle('ADMIN_CONTENT', 'categories');
+$template->assign_var_from_handle('ADMIN_CONTENT', 'album_properties');
?>
diff --git a/admin/cat_perm.php b/admin/cat_perm.php
index 6440e7e99..3dc9c1e21 100644
--- a/admin/cat_perm.php
+++ b/admin/cat_perm.php
@@ -166,10 +166,10 @@ $template->assign(
'CATEGORIES_NAV' =>
get_cat_display_name_from_id(
$page['cat'],
- 'admin.php?page=cat_modify&cat_id='
+ 'admin.php?page=album-'
),
'U_HELP' => get_root_url().'admin/popuphelp.php?page=cat_perm',
- 'F_ACTION' => get_root_url().'admin.php?page=cat_perm&cat='.$page['cat']
+ 'F_ACTION' => $admin_album_base_url.'-permissions',
)
);
diff --git a/admin/element_set_ranks.php b/admin/element_set_ranks.php
index a2b8149bc..cfdceaacd 100644
--- a/admin/element_set_ranks.php
+++ b/admin/element_set_ranks.php
@@ -180,7 +180,7 @@ elseif ($category['image_order']!='')
// Navigation path
$navigation = get_cat_display_name_cache(
$category['uppercats'],
- get_root_url().'admin.php?page=cat_modify&cat_id='
+ get_root_url().'admin.php?page=album-'
);
$template->assign(
diff --git a/admin/include/functions.php b/admin/include/functions.php
index 2696292ab..8b455f077 100644
--- a/admin/include/functions.php
+++ b/admin/include/functions.php
@@ -1991,6 +1991,7 @@ function get_active_menu($menu_page)
case 'batch_manager':
return 0;
+ case 'album':
case 'cat_list':
case 'cat_modify':
case 'cat_move':
diff --git a/admin/include/photos_add_direct_process.inc.php b/admin/include/photos_add_direct_process.inc.php
index b30619587..1f2dc1634 100644
--- a/admin/include/photos_add_direct_process.inc.php
+++ b/admin/include/photos_add_direct_process.inc.php
@@ -252,7 +252,7 @@ SELECT
WHERE category_id = '.$category_id.'
;';
list($count) = pwg_db_fetch_row(pwg_query($query));
- $category_name = get_cat_display_name_from_id($category_id, 'admin.php?page=cat_modify&cat_id=');
+ $category_name = get_cat_display_name_from_id($category_id, 'admin.php?page=album-');
// information
array_push(
diff --git a/admin/picture_modify.php b/admin/picture_modify.php
index f62e3458b..66a3240d3 100644
--- a/admin/picture_modify.php
+++ b/admin/picture_modify.php
@@ -360,7 +360,7 @@ while ($row = pwg_db_fetch_assoc($result))
$name =
get_cat_display_name_cache(
$row['uppercats'],
- get_root_url().'admin.php?page=cat_modify&cat_id=',
+ get_root_url().'admin.php?page=album-',
false
);
diff --git a/admin/themes/default/template/cat_modify.tpl b/admin/themes/default/template/cat_modify.tpl
index 91b580998..2b5f15fdc 100644
--- a/admin/themes/default/template/cat_modify.tpl
+++ b/admin/themes/default/template/cat_modify.tpl
@@ -1,209 +1,108 @@
-
-{include file='include/autosize.inc.tpl'}
-{include file='include/resize.inc.tpl'}
-
-
{'Edit album'|@translate}
+ {$CATEGORIES_NAV} › {'Edit album'|@translate} {$TABSHEET_TITLE}
-{$CATEGORIES_NAV}
-
-
- {if cat_admin_access($CAT_ID)}
- 
- {/if}
- {if isset($U_MANAGE_ELEMENTS) }
- 
- {/if}
- 
- 
- {if isset($U_MANAGE_PERMISSIONS) }
- 
- {/if}
- {if isset($U_SYNC) }
- 
- {/if}
- {if isset($U_DELETE) }
- 
- {/if}
-
-