Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
bug 2172 fixed: the "sort order" options are removed from the album a…
…dministration main page.

bug 2173 fixed: rename "manual order" into "automatic order" and "by rank" into "manual order"

bug 2174 fixed: only show the automatic order options when it's relevant

new icon for the "manage photo order" screen

hide the numeric rank below the thumbnail (it is confusing for users)

tell users that you can drag'n drop to reorder photos

bug fixed: the "apply to sub-albums" options for photo orders was not working


git-svn-id: http://piwigo.org/svn/trunk@9051 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
plegall committed Feb 2, 2011
1 parent a8f1054 commit 6ee66d8
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 135 deletions.
90 changes: 5 additions & 85 deletions admin/cat_modify.php
Expand Up @@ -44,26 +44,6 @@
//--------------------------------------------------------- form criteria check
if (isset($_POST['submit']))
{
$image_order = null;
if ( !isset($_POST['image_order_default']) )
{
for ($i=1; $i<=3; $i++)
{
if ( !empty($_POST['order_field_'.$i]) )
{
if (! empty($image_order) )
{
$image_order .= ',';
}
$image_order .= $_POST['order_field_'.$i];
if ($_POST['order_direction_'.$i]=='DESC')
{
$image_order .= ' DESC';
}
}
}
}

$data =
array(
'id' => $_GET['cat_id'],
Expand All @@ -72,7 +52,6 @@
'comment' =>
$conf['allow_html_descriptions'] ?
@$_POST['comment'] : strip_tags(@$_POST['comment']),
'image_order' => $image_order,
);

mass_updates(
Expand All @@ -87,14 +66,6 @@
// retrieve cat infos before continuing (following updates are expensive)
$cat_info = get_cat_info($_GET['cat_id']);

if (isset($_POST['image_order_subcats']))
{
$query = '
UPDATE '.CATEGORIES_TABLE.' SET image_order='.(isset($image_order) ? 'NULL':'\''.$image_order.'\'').'
WHERE uppercats LIKE \''.$cat_info['uppercats'].',%\'';
pwg_query($query);
}

if ($cat_info['visible'] != get_boolean( $_POST['visible'] ) )
{
set_cat_visible(array($_GET['cat_id']), $_POST['visible']);
Expand Down Expand Up @@ -244,9 +215,6 @@
'CAT_VISIBLE' => boolean_to_string($category['visible']),
'CAT_COMMENTABLE' => boolean_to_string($category['commentable']),

'IMG_ORDER_DEFAULT' => empty($category['image_order']) ?
'checked="checked"' : '',

'U_JUMPTO' => make_index_url(
array(
'category' => $category
Expand Down Expand Up @@ -277,12 +245,13 @@
'U_MANAGE_ELEMENTS',
$base_url.'batch_manager&amp;cat='.$category['id']
);
$template->assign(
'U_MANAGE_RANKS',
$base_url.'element_set_ranks&amp;cat_id='.$category['id']
);
}

$template->assign(
'U_MANAGE_RANKS',
$base_url.'element_set_ranks&amp;cat_id='.$category['id']
);

if ($category['is_virtual'])
{
$template->assign(
Expand All @@ -303,55 +272,6 @@
);
}

// image order management

$sort_fields = array(
'' => '',
'date_creation' => l10n('Creation date'),
'date_available' => l10n('Post date'),
'average_rate' => l10n('Average rate'),
'hit' => l10n('Most visited'),
'file' => l10n('File name'),
'id' => 'Id',
'rank' => l10n('Rank'),
);

$sort_directions = array(
'ASC' => l10n('ascending'),
'DESC' => l10n('descending'),
);

$template->assign( 'image_order_field_options', $sort_fields);
$template->assign( 'image_order_direction_options', $sort_directions);

$matches = array();
if ( !empty( $category['image_order'] ) )
{
preg_match_all('/([a-z_]+) *(?:(asc|desc)(?:ending)?)? *(?:, *|$)/i',
$category['image_order'], $matches);
}

for ($i=0; $i<3; $i++) // 3 fields
{
$tpl_image_order_select = array(
'ID' => $i+1,
'FIELD' => array(''),
'DIRECTION' => array('ASC'),
);

if ( isset($matches[1][$i]) )
{
$tpl_image_order_select['FIELD'] = array($matches[1][$i]);
}

if (isset($matches[2][$i]) and strcasecmp($matches[2][$i],'DESC')==0)
{
$tpl_image_order_select['DIRECTION'] = array('DESC');
}
$template->append( 'image_orders', $tpl_image_order_select);
}


// representant management
if ($category['has_images']
or !empty($category['representative_picture_id']))
Expand Down
34 changes: 25 additions & 9 deletions admin/element_set_ranks.php
Expand Up @@ -89,17 +89,20 @@ function save_images_order($category_id, $images)

if (isset($_POST['submit']))
{
asort($_POST['rank_of_image'], SORT_NUMERIC);
if (isset($_POST['rank_of_image']))
{
asort($_POST['rank_of_image'], SORT_NUMERIC);

save_images_order(
$page['category_id'],
array_keys($_POST['rank_of_image'])
);
save_images_order(
$page['category_id'],
array_keys($_POST['rank_of_image'])
);

array_push(
$page['infos'],
l10n('Images manual order was saved')
);
array_push(
$page['infos'],
l10n('Images manual order was saved')
);
}

$image_order = null;
if (!empty($_POST['image_order_choice'])
Expand Down Expand Up @@ -134,6 +137,19 @@ function save_images_order($category_id, $images)
UPDATE '.CATEGORIES_TABLE.' SET image_order=\''.$image_order.'\'
WHERE id='.$page['category_id'];
pwg_query($query);

if (isset($_POST['image_order_subcats']))
{
$cat_info = get_cat_info($page['category_id']);

$query = '
UPDATE '.CATEGORIES_TABLE.'
SET image_order = '.(isset($image_order) ? '\''.$image_order.'\'' : 'NULL').'
WHERE uppercats LIKE \''.$cat_info['uppercats'].',%\'';
pwg_query($query);
}

array_push($page['infos'], l10n('Your configuration settings are saved'));
}

// +-----------------------------------------------------------------------+
Expand Down
Binary file modified admin/themes/clear/icon/ranks.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions admin/themes/clear/theme.css
Expand Up @@ -261,3 +261,7 @@ display:block; height:85px; left:225px; position:relative; top:-42px; width:313p
.languageBox {background-color:#ddd;}
.languageName {color:black;}
.languageDefault {background-color:#dbe8f3;}

UL.thumbnails li.rank-of-image {
background-color: #ddd;
}
22 changes: 1 addition & 21 deletions admin/themes/default/template/cat_modify.tpl
Expand Up @@ -14,8 +14,8 @@
{/if}
{if isset($U_MANAGE_ELEMENTS) }
<li><a href="{$U_MANAGE_ELEMENTS}" title="{'manage album photos'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_elements.png" class="button" alt="{'Photos'|@translate}"></a></li>
<li><a href="{$U_MANAGE_RANKS}" title="{'manage photo ranks'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/ranks.png" class="button" alt="{'ranks'|@translate}"></a></li>
{/if}
<li><a href="{$U_MANAGE_RANKS}" title="{'manage photo ranks'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/ranks.png" class="button" alt="{'ranks'|@translate}"></a></li>
<li><a href="{$U_CHILDREN}" title="{'manage sub-albums'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_children.png" class="button" alt="{'sub-albums'|@translate}"></a></li>
{if isset($U_MANAGE_PERMISSIONS) }
<li><a href="{$U_MANAGE_PERMISSIONS}" title="{'edit album permissions'|@translate}"><img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/category_permissions.png" class="button" alt="{'Permissions'|@translate}"></a></li>
Expand Down Expand Up @@ -88,26 +88,6 @@
</table>
</fieldset>

<fieldset id="image_order">
<legend>{'Sort order'|@translate}</legend>
<input type="checkbox" name="image_order_default" id="image_order_default" {$IMG_ORDER_DEFAULT}>
<label for="image_order_default">{'Use the default photo sort order (defined in the configuration file)'|@translate}</label>
<br>
<input type="checkbox" name="image_order_subcats" id="image_order_subcats">
<label for="image_order_subcats">{'Apply to sub-albums'|@translate}</label>
<br>

{foreach from=$image_orders item=order}
<select name="order_field_{$order.ID}">
{html_options options=$image_order_field_options selected=$order.FIELD }
</select>
<select name="order_direction_{$order.ID}">
{html_options options=$image_order_direction_options selected=$order.DIRECTION }
</select><br>
{/foreach}

</fieldset>

<p style="text-align:center;">
<input class="submit" type="submit" value="{'Submit'|@translate}" name="submit">
<input class="submit" type="reset" value="{'Reset'|@translate}" name="reset">
Expand Down
26 changes: 15 additions & 11 deletions admin/themes/default/template/element_set_ranks.tpl
Expand Up @@ -36,12 +36,13 @@ jQuery(document).ready(function() {

<h3>{$CATEGORIES_NAV}</h3>

{if !empty($thumbnails)}
<form action="{$F_ACTION}" method="post">
{if !empty($thumbnails)}
<p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit"></p>
<fieldset>
<legend>{'Edit ranks'|@translate}</legend>
<legend>{'Manual order'|@translate}</legend>
{if !empty($thumbnails)}
<p>{'Drag to re-order'|@translate}</p>
<ul class="thumbnails">
{foreach from=$thumbnails item=thumbnail}
<li class="rank-of-image">
Expand All @@ -50,12 +51,13 @@ jQuery(document).ready(function() {
<img src="{$thumbnail.TN_SRC}" class="thumbnail" alt="">
</div>
</div>
<input type="text" name="rank_of_image[{$thumbnail.ID}]" value="{$thumbnail.RANK}">
<input type="text" name="rank_of_image[{$thumbnail.ID}]" value="{$thumbnail.RANK}" style="display:none">
</li>
{/foreach}
</ul>
{/if}
</fieldset>
{/if}

<fieldset>
<legend>{'Sort order'|@translate}</legend>
Expand All @@ -65,11 +67,11 @@ jQuery(document).ready(function() {
</p>
<p class="field">
<input type="radio" name="image_order_choice" id="image_order_rank" value="rank"{if $image_order_choice=='rank'} checked="checked"{/if}>
<label for="image_order_rank">{'By rank'|@translate}</label>
<label for="image_order_rank">{'manual order'|@translate}</label>
</p>
<p class="field">
<input type="radio" name="image_order_choice" id="image_order_user_define" value="user_define"{if $image_order_choice=='user_define'} checked="checked"{/if}>
<label for="image_order_user_define">{'Manual order'|@translate}</label>
<label for="image_order_user_define">{'automatic order'|@translate}</label>
<div id="image_order_user_define_options">
{foreach from=$image_orders item=order}
<p class="field">
Expand All @@ -83,10 +85,12 @@ jQuery(document).ready(function() {
{/foreach}
</div>
</fieldset>
<p><input class="submit" type="submit" value="{'Submit'|@translate}" name="submit"></p>
</form>

<p>
<input class="submit" type="submit" value="{'Submit'|@translate}" name="submit">

{else}
<div class="infos"><p>{'No photo in this album'|@translate}</p></div>
{/if}
<label>
<input type="checkbox" name="image_order_subcats" id="image_order_subcats">
{'Apply to sub-albums'|@translate}
</label>
</p>
</form>
13 changes: 4 additions & 9 deletions admin/themes/default/thumbnails.css
Expand Up @@ -6,19 +6,18 @@ UL.thumbnails {
UL.thumbnails LI { display: inline }
UL.thumbnails li.rank-of-image {
float: left;
background-color: #111;
border: 1px solid #666;
background-color: #333;
color: #666;
-moz-border-radius: 4px;
-moz-border-radius: 5px;
display: block;
width: 104px;
height: 128px;
height: 104px;
cursor: move;
margin: 10px;
}
UL.thumbnails li.rank-of-image img {
margin: 0 20px;
padding: 4px 2px;
padding: 8px 2px;
float: left;
}
.clipwrapper {
Expand All @@ -30,10 +29,6 @@ UL.thumbnails li.rank-of-image img {
position:absolute;
}
UL.thumbnails li.rank-of-image input {
height: 12px;
width: 50px;
position: relative;
top: 4px;
}
UL.thumbnails SPAN.wrap1 {
margin: 0 5px 5px 5px;
Expand Down

0 comments on commit 6ee66d8

Please sign in to comment.