Compare commits
126 commits
Author | SHA1 | Date | |
---|---|---|---|
|
24faf8ab69 | ||
|
1a7dd9aa63 | ||
|
9c0863b08b | ||
|
2e90ef9d6d | ||
|
5b07a9bfd2 | ||
|
ff5b60a215 | ||
|
ca9158ee81 | ||
|
19a57cc890 | ||
|
df6940d0af | ||
|
b3ab6cf8e8 | ||
|
814e57d4d8 | ||
|
a4de18fd29 | ||
|
ff887728d4 | ||
|
45b84c30d7 | ||
|
3a7c669418 | ||
|
ea3e07c326 | ||
|
4fab3d9922 | ||
|
25d2ac809f | ||
|
5266cecfef | ||
|
d7c75c190a | ||
|
fd6c0cc7ba | ||
|
21c1660ab9 | ||
|
5a137f9fe4 | ||
|
453765fc67 | ||
|
88f962c19a | ||
|
afb83c772d | ||
|
7ed296715e | ||
|
4cf33a0025 | ||
|
d7df3f0a0c | ||
|
06873239d7 | ||
|
9f900ba251 | ||
|
49d958e03f | ||
|
36d14b9766 | ||
|
8ec14404d1 | ||
|
b43df041d4 | ||
|
081566eb83 | ||
|
dc70afc4ac | ||
|
34e88240ef | ||
|
e2bac20059 | ||
|
8f2f94ed7e | ||
|
7a0b5fc3b5 | ||
|
53a0522894 | ||
|
5f23fa1473 | ||
|
d0be895700 | ||
|
7d64be73ab | ||
|
a2f73718d9 | ||
|
2c24b0b38a | ||
|
391ac76cbe | ||
|
4bcacb8c69 | ||
|
e63f2b9766 | ||
|
fd64213045 | ||
|
2f21acc89c | ||
|
2aa150998e | ||
|
8bca490ac0 | ||
|
1af611b10f | ||
|
5bc53c4d74 | ||
|
4b181b746f | ||
|
a7895bf67b | ||
|
c1e3f62855 | ||
|
7cb1c24ce8 | ||
|
b448de6b5b | ||
|
e509fecfe9 | ||
|
736d117a61 | ||
|
b7abe14df6 | ||
|
bf8f4bb0ba | ||
|
089d8ec4e8 | ||
|
af345e2100 | ||
|
273f066daf | ||
|
c87ad378c2 | ||
|
d60339d4b5 | ||
|
b9c3d840c5 | ||
|
ef5777dd71 | ||
|
be73b982e5 | ||
|
261a386291 | ||
|
6b8f0a49f9 | ||
|
1c948a7fd5 | ||
|
663f6273a7 | ||
|
0bb3361cf1 | ||
|
8197cd440f | ||
|
37b4b3e0f3 | ||
|
881dfec74c | ||
|
9d5015d79e | ||
|
3fa99f57d4 | ||
|
83cdc8576d | ||
|
2c41131194 | ||
|
18bf888d16 | ||
|
798de81516 | ||
|
3f51676bfe | ||
|
b874181e8b | ||
|
2b25eee744 | ||
|
d73149b77e | ||
|
aecd0d9a80 | ||
|
72eac3862d | ||
|
a1a035a4eb | ||
|
14b5e43107 | ||
|
d3f5ed2c2d | ||
|
fa373d27ca | ||
|
b5025b2947 | ||
|
077c076069 | ||
|
b8507b5afe | ||
|
d7a1ee188d | ||
|
812ec7aeee | ||
|
b85adcaa73 | ||
|
968d32fde2 | ||
|
8d8d9332bf | ||
|
364f1a562e | ||
|
64bc6e3f17 | ||
|
787c716b66 | ||
|
a07dd0bea0 | ||
|
06a66c406e | ||
|
5d9fc3066d | ||
|
3aa529809e | ||
|
9ee698734d | ||
|
e21e16e76e | ||
|
aa10f54558 | ||
|
f3c84114ef | ||
|
de1166c7f2 | ||
|
457a627c29 | ||
|
e1794bbb66 | ||
|
9f809077e0 | ||
|
9937863533 | ||
|
45e75a4a92 | ||
|
86358b6c87 | ||
|
015e2f5ac8 | ||
|
d5dc1ee06d | ||
|
50fa94a710 |
349 changed files with 11029 additions and 4171 deletions
19
admin.php
19
admin.php
|
@ -31,6 +31,7 @@ define('IN_ADMIN', true);
|
|||
include_once(PHPWG_ROOT_PATH.'include/common.inc.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions_plugins.inc.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/add_core_tabs.inc.php');
|
||||
|
||||
trigger_action('loc_begin_admin');
|
||||
|
||||
|
@ -218,6 +219,24 @@ if ($conf['activate_comments'])
|
|||
$template->assign('U_PENDING_COMMENTS', $link_start.'comments');
|
||||
}
|
||||
|
||||
// any photo in the caddie?
|
||||
$query = '
|
||||
SELECT COUNT(*)
|
||||
FROM '.CADDIE_TABLE.'
|
||||
WHERE user_id = '.$user['id'].'
|
||||
;';
|
||||
list($nb_photos_in_caddie) = pwg_db_fetch_row(pwg_query($query));
|
||||
|
||||
if ($nb_photos_in_caddie > 0)
|
||||
{
|
||||
$template->assign(
|
||||
array(
|
||||
'NB_PHOTOS_IN_CADDIE' => $nb_photos_in_caddie,
|
||||
'U_CADDIE' => $link_start.'batch_manager&cat=caddie',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Plugin menu |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
|
|
@ -62,10 +62,7 @@ if (isset($_GET['tab']))
|
|||
}
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('properties', l10n('Properties'), $admin_album_base_url.'-properties');
|
||||
$tabsheet->add('sort_order', l10n('Manage photo ranks'), $admin_album_base_url.'-sort_order');
|
||||
$tabsheet->add('permissions', l10n('Permissions'), $admin_album_base_url.'-permissions');
|
||||
$tabsheet->add('notification', l10n('Notification'), $admin_album_base_url.'-notification');
|
||||
$tabsheet->set_id('album');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ check_input_parameter('selection', $_POST, true, PATTERN_ID);
|
|||
if (isset($_POST['submitFilter']))
|
||||
{
|
||||
// echo '<pre>'; print_r($_POST); echo '</pre>';
|
||||
|
||||
unset($_REQUEST['start']); // new photo set must reset the page
|
||||
$_SESSION['bulk_manager_filter'] = array();
|
||||
|
||||
if (isset($_POST['filter_prefilter_use']))
|
||||
|
@ -91,8 +91,7 @@ if (isset($_POST['submitFilter']))
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_GET['cat']))
|
||||
else if (isset($_GET['cat']))
|
||||
{
|
||||
if ('caddie' == $_GET['cat'])
|
||||
{
|
||||
|
@ -100,21 +99,29 @@ if (isset($_GET['cat']))
|
|||
'prefilter' => 'caddie'
|
||||
);
|
||||
}
|
||||
|
||||
if ('recent' == $_GET['cat'])
|
||||
else if ('recent' == $_GET['cat'])
|
||||
{
|
||||
$_SESSION['bulk_manager_filter'] = array(
|
||||
'prefilter' => 'last import'
|
||||
);
|
||||
}
|
||||
|
||||
if (is_numeric($_GET['cat']))
|
||||
else if (is_numeric($_GET['cat']))
|
||||
{
|
||||
$_SESSION['bulk_manager_filter'] = array(
|
||||
'category' => $_GET['cat']
|
||||
);
|
||||
}
|
||||
}
|
||||
else if (isset($_GET['tag']))
|
||||
{
|
||||
if (is_numeric($_GET['tag']))
|
||||
{
|
||||
$_SESSION['bulk_manager_filter'] = array(
|
||||
'tags' => array($_GET['tag']),
|
||||
'tag_mode' => 'AND',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($_SESSION['bulk_manager_filter']))
|
||||
{
|
||||
|
@ -335,37 +342,22 @@ $page['cat_elements_id'] = $current_set;
|
|||
// category. For exampe, $page['start'] = 12 means we must show elements #12
|
||||
// and $page['nb_images'] next elements
|
||||
|
||||
if (!isset($_GET['start'])
|
||||
or !is_numeric($_GET['start'])
|
||||
or $_GET['start'] < 0
|
||||
or (isset($_GET['display']) and 'all' == $_GET['display']))
|
||||
if (!isset($_REQUEST['start'])
|
||||
or !is_numeric($_REQUEST['start'])
|
||||
or $_REQUEST['start'] < 0
|
||||
or (isset($_REQUEST['display']) and 'all' == $_REQUEST['display']))
|
||||
{
|
||||
$page['start'] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
$page['start'] = $_GET['start'];
|
||||
$page['start'] = $_REQUEST['start'];
|
||||
}
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Tabs |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
$tabs = array(
|
||||
array(
|
||||
'code' => 'global',
|
||||
'label' => l10n('global mode'),
|
||||
),
|
||||
array(
|
||||
'code' => 'unit',
|
||||
'label' => l10n('unit mode'),
|
||||
),
|
||||
);
|
||||
|
||||
$tab_codes = array_map(
|
||||
create_function('$a', 'return $a["code"];'),
|
||||
$tabs
|
||||
);
|
||||
$manager_link = get_root_url().'admin.php?page=batch_manager&mode=';
|
||||
|
||||
if (isset($_GET['mode']))
|
||||
{
|
||||
|
@ -373,22 +365,13 @@ if (isset($_GET['mode']))
|
|||
}
|
||||
else
|
||||
{
|
||||
$page['tab'] = $tabs[0]['code'];
|
||||
$page['tab'] = 'global';
|
||||
}
|
||||
|
||||
if (in_array($page['tab'], $tab_codes))
|
||||
{
|
||||
$tabsheet = new tabsheet();
|
||||
foreach ($tabs as $tab)
|
||||
{
|
||||
$tabsheet->add(
|
||||
$tab['code'],
|
||||
$tab['label'],
|
||||
get_root_url().'admin.php?page='.$_GET['page'].'&mode='.$tab['code']
|
||||
);
|
||||
}
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->set_id('batch_manager');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | tags |
|
||||
|
@ -404,6 +387,5 @@ $template->assign('tags', get_taglist($query, false));
|
|||
// | open specific mode |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
include(PHPWG_ROOT_PATH.'admin/batch_manager_'.$page['tab'].'.php');
|
||||
}
|
||||
include(PHPWG_ROOT_PATH.'admin/batch_manager_'.$page['tab'].'.php');
|
||||
?>
|
|
@ -472,8 +472,9 @@ $template->assign(
|
|||
'filter' => $_SESSION['bulk_manager_filter'],
|
||||
'selection' => $collection,
|
||||
'all_elements' => $page['cat_elements_id'],
|
||||
'START' => $page['start'],
|
||||
'U_DISPLAY'=>$base_url.get_query_string_diff(array('display')),
|
||||
'F_ACTION'=>$base_url.get_query_string_diff(array('cat')),
|
||||
'F_ACTION'=>$base_url.get_query_string_diff(array('cat','start','tag')),
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -732,7 +733,6 @@ if (count($page['cat_elements_id']) > 0)
|
|||
$conf['order_by'] = ' ORDER BY file, id';
|
||||
}
|
||||
|
||||
|
||||
$query = '
|
||||
SELECT id,path,representative_ext,file,filesize,level,name,width,height,rotation
|
||||
FROM '.IMAGES_TABLE;
|
||||
|
@ -766,31 +766,30 @@ SELECT id,path,representative_ext,file,filesize,level,name,width,height,rotation
|
|||
;';
|
||||
$result = pwg_query($query);
|
||||
|
||||
$thumb_params = ImageStdParams::get_by_type(IMG_THUMB);
|
||||
// template thumbnail initialization
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
{
|
||||
$nb_thumbs_page++;
|
||||
$src_image = new SrcImage($row);
|
||||
|
||||
$title = render_element_name($row);
|
||||
if ($title != get_name_from_file($row['file']))
|
||||
$ttitle = render_element_name($row);
|
||||
if ($ttitle != get_name_from_file($row['file']))
|
||||
{
|
||||
$title.= ' ('.$row['file'].')';
|
||||
$ttitle.= ' ('.$row['file'].')';
|
||||
}
|
||||
|
||||
$template->append(
|
||||
'thumbnails',
|
||||
'thumbnails', array_merge($row,
|
||||
array(
|
||||
'ID' => $row['id'],
|
||||
'TN_SRC' => DerivativeImage::url(IMG_THUMB, $src_image),
|
||||
'FILE' => $row['file'],
|
||||
'TITLE' => $title,
|
||||
'LEVEL' => $row['level'],
|
||||
'thumb' => new DerivativeImage($thumb_params, $src_image),
|
||||
'TITLE' => $ttitle,
|
||||
'FILE_SRC' => DerivativeImage::url(IMG_LARGE, $src_image),
|
||||
'U_EDIT' => get_root_url().'admin.php?page=photo-'.$row['id'],
|
||||
)
|
||||
);
|
||||
));
|
||||
}
|
||||
$template->assign('thumb_params', $thumb_params);
|
||||
}
|
||||
|
||||
$template->assign(
|
||||
|
|
|
@ -181,9 +181,6 @@ if (count($page['cat_elements_id']) > 0)
|
|||
);
|
||||
$template->assign(array('navbar' => $nav_bar));
|
||||
|
||||
// tags
|
||||
$all_tags = get_all_tags();
|
||||
|
||||
$element_ids = array();
|
||||
|
||||
$is_category = false;
|
||||
|
@ -237,7 +234,7 @@ SELECT id,path,representative_ext,name,date_creation,comment,author,level,file
|
|||
{
|
||||
array_push($element_ids, $row['id']);
|
||||
|
||||
$src = DerivativeImage::thumb_url($row);
|
||||
$src_image = new SrcImage($row);
|
||||
|
||||
// creation date
|
||||
if (!empty($row['date_creation']))
|
||||
|
@ -269,8 +266,8 @@ SELECT
|
|||
'elements',
|
||||
array(
|
||||
'ID' => $row['id'],
|
||||
'TN_SRC' => $src,
|
||||
'FILE_SRC' => $row['path'],
|
||||
'TN_SRC' => DerivativeImage::url(IMG_THUMB, $src_image),
|
||||
'FILE_SRC' => DerivativeImage::url(IMG_LARGE, $src_image),
|
||||
'LEGEND' => $legend,
|
||||
'U_EDIT' => get_root_url().'admin.php?page=photo-'.$row['id'],
|
||||
'NAME' => !empty($row['name'])?$row['name']:'',
|
||||
|
|
|
@ -138,21 +138,8 @@ $template->assign(
|
|||
|
||||
// TabSheet
|
||||
$tabsheet = new tabsheet();
|
||||
// TabSheet initialization
|
||||
$opt_link = $link_start.'cat_options&section=';
|
||||
$tabsheet->add('status', l10n('Public / Private'), $opt_link.'status');
|
||||
$tabsheet->add('visible', l10n('Lock'), $opt_link.'visible');
|
||||
if ($conf['activate_comments'])
|
||||
{
|
||||
$tabsheet->add('comments', l10n('Comments'), $opt_link.'comments');
|
||||
}
|
||||
if ($conf['allow_random_representative'])
|
||||
{
|
||||
$tabsheet->add('representative', l10n('Representative'), $opt_link.'representative');
|
||||
}
|
||||
// TabSheet selection
|
||||
$tabsheet->set_id('cat_options');
|
||||
$tabsheet->select($page['section']);
|
||||
// Assign tabsheet to template
|
||||
$tabsheet->assign();
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
|
|
@ -90,7 +90,7 @@ DELETE
|
|||
//
|
||||
// add permissions to groups
|
||||
//
|
||||
$grant_groups = array_diff($_POST['groups'], $groups_granted);
|
||||
$grant_groups = $_POST['groups'];
|
||||
if (count($grant_groups) > 0)
|
||||
{
|
||||
$cat_ids = get_uppercat_ids(array($page['cat']));
|
||||
|
@ -183,7 +183,7 @@ DELETE
|
|||
//
|
||||
// add permissions to users
|
||||
//
|
||||
$grant_users = array_diff($_POST['users'], $users_granted);
|
||||
$grant_users = $_POST['users'];
|
||||
if (count($grant_users) > 0)
|
||||
{
|
||||
add_permission_on_category($page['cat'], $grant_users);
|
||||
|
|
|
@ -98,7 +98,7 @@ $template->assign(
|
|||
include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('', l10n('User comments validation'), '');
|
||||
$tabsheet->set_id('comments');
|
||||
$tabsheet->select('');
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ $display_info_checkboxes = array(
|
|||
'rating_score',
|
||||
'privacy_level',
|
||||
);
|
||||
|
||||
|
||||
// image order management
|
||||
$sort_fields = array(
|
||||
'' => '',
|
||||
|
@ -126,7 +126,7 @@ $sort_fields = array(
|
|||
'id DESC' => l10n('Numeric identifier, 9 → 1'),
|
||||
'rank ASC' => l10n('Manual sort order'),
|
||||
);
|
||||
|
||||
|
||||
$comments_order = array(
|
||||
'ASC' => l10n('Show oldest comments first'),
|
||||
'DESC' => l10n('Show latest comments first'),
|
||||
|
@ -141,32 +141,46 @@ if (isset($_POST['submit']))
|
|||
switch ($page['section'])
|
||||
{
|
||||
case 'main' :
|
||||
{
|
||||
{
|
||||
if ( !isset($conf['order_by_custom']) and !isset($conf['order_by_inside_category_custom']) )
|
||||
{
|
||||
if ( !empty($_POST['order_by']) )
|
||||
{
|
||||
// limit to the number of available parameters
|
||||
$order_by = $order_by_inside_category = array_slice($_POST['order_by'], 0, ceil(count($sort_fields)/2));
|
||||
|
||||
// there is no rank outside categories
|
||||
unset($order_by[ array_search('rank ASC', $order_by) ]);
|
||||
|
||||
// must define a default order_by if user want to order by rank only
|
||||
if ( count($order_by) == 0 )
|
||||
{
|
||||
foreach ($_POST['order_by'] as $i => $val)
|
||||
{
|
||||
$order_by = array('id ASC');
|
||||
if (empty($val)) unset($_POST['order_by'][$i]);
|
||||
}
|
||||
if ( !count($_POST['order_by']) )
|
||||
{
|
||||
array_push($page['errors'], l10n('No order field selected'));
|
||||
}
|
||||
else
|
||||
{
|
||||
// limit to the number of available parameters
|
||||
$order_by = $order_by_inside_category = array_slice($_POST['order_by'], 0, ceil(count($sort_fields)/2));
|
||||
|
||||
// there is no rank outside categories
|
||||
if ( ($i = array_search('rank ASC', $order_by)) !== false)
|
||||
{
|
||||
unset($order_by[$i]);
|
||||
}
|
||||
|
||||
// must define a default order_by if user want to order by rank only
|
||||
if ( count($order_by) == 0 )
|
||||
{
|
||||
$order_by = array('id ASC');
|
||||
}
|
||||
|
||||
$_POST['order_by'] = 'ORDER BY '.implode(', ', $order_by);
|
||||
$_POST['order_by_inside_category'] = 'ORDER BY '.implode(', ', $order_by_inside_category);
|
||||
}
|
||||
|
||||
$_POST['order_by'] = 'ORDER BY '.implode(', ', $order_by);
|
||||
$_POST['order_by_inside_category'] = 'ORDER BY '.implode(', ', $order_by_inside_category);
|
||||
}
|
||||
else
|
||||
{
|
||||
array_push($page['errors'], l10n('No field selected'));
|
||||
array_push($page['errors'], l10n('No order field selected'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
foreach( $main_checkboxes as $checkbox)
|
||||
{
|
||||
$_POST[$checkbox] = empty($_POST[$checkbox])?'false':'true';
|
||||
|
@ -175,12 +189,12 @@ if (isset($_POST['submit']))
|
|||
}
|
||||
case 'watermark' :
|
||||
{
|
||||
include(PHPWG_ROOT_PATH.'admin/include/configuration_watermark_process.inc.php');
|
||||
include(PHPWG_ROOT_PATH.'admin/include/configuration_watermark_process.inc.php');
|
||||
break;
|
||||
}
|
||||
case 'sizes' :
|
||||
{
|
||||
include(PHPWG_ROOT_PATH.'admin/include/configuration_sizes_process.inc.php');
|
||||
include(PHPWG_ROOT_PATH.'admin/include/configuration_sizes_process.inc.php');
|
||||
break;
|
||||
}
|
||||
case 'comments' :
|
||||
|
@ -272,16 +286,8 @@ $template->set_filename('config', 'configuration.tpl');
|
|||
|
||||
// TabSheet
|
||||
$tabsheet = new tabsheet();
|
||||
// TabSheet initialization
|
||||
$tabsheet->add('main', l10n('Main'), $conf_link.'main');
|
||||
$tabsheet->add('sizes', l10n('Photo sizes'), $conf_link.'sizes');
|
||||
$tabsheet->add('watermark', l10n('Watermark'), $conf_link.'watermark');
|
||||
$tabsheet->add('display', l10n('Display'), $conf_link.'display');
|
||||
$tabsheet->add('comments', l10n('Comments'), $conf_link.'comments');
|
||||
$tabsheet->add('default', l10n('Guest Settings'), $conf_link.'default');
|
||||
// TabSheet selection
|
||||
$tabsheet->set_id('configuration');
|
||||
$tabsheet->select($page['section']);
|
||||
// Assign tabsheet to template
|
||||
$tabsheet->assign();
|
||||
|
||||
$action = get_root_url().'admin.php?page=configuration';
|
||||
|
@ -296,8 +302,8 @@ $template->assign(
|
|||
switch ($page['section'])
|
||||
{
|
||||
case 'main' :
|
||||
{
|
||||
|
||||
{
|
||||
|
||||
function order_by_is_local()
|
||||
{
|
||||
@include(PHPWG_ROOT_PATH. 'local/config/config.inc.php');
|
||||
|
@ -305,15 +311,15 @@ switch ($page['section'])
|
|||
{
|
||||
@include(PHPWG_ROOT_PATH.PWG_LOCAL_DIR. 'config/config.inc.php');
|
||||
}
|
||||
|
||||
|
||||
return isset($conf['order_by']) or isset($conf['order_by_inside_category']);
|
||||
}
|
||||
|
||||
|
||||
if (order_by_is_local())
|
||||
{
|
||||
array_push($page['warnings'], l10n('You have specified <i>$conf[\'order_by\']</i> in your local configuration file, this parameter in deprecated, please remove it or rename it into <i>$conf[\'order_by_custom\']</i> !'));
|
||||
}
|
||||
|
||||
|
||||
if ( isset($conf['order_by_custom']) or isset($conf['order_by_inside_category_custom']) )
|
||||
{
|
||||
$order_by = array('');
|
||||
|
@ -326,7 +332,7 @@ switch ($page['section'])
|
|||
$order_by = str_replace('ORDER BY ', null, $order_by);
|
||||
$order_by = explode(', ', $order_by);
|
||||
}
|
||||
|
||||
|
||||
$template->assign(
|
||||
'main',
|
||||
array(
|
||||
|
@ -434,7 +440,7 @@ switch ($page['section'])
|
|||
'original_resize_quality' => $conf['original_resize_quality'],
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
foreach ($sizes_checkboxes as $checkbox)
|
||||
{
|
||||
$template->append(
|
||||
|
@ -445,7 +451,7 @@ switch ($page['section'])
|
|||
true
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// derivatives = multiple size
|
||||
$enabled = ImageStdParams::get_defined_type_map();
|
||||
$disabled = @unserialize(@$conf['disabled_derivatives']);
|
||||
|
@ -458,10 +464,10 @@ switch ($page['section'])
|
|||
foreach(ImageStdParams::get_all_types() as $type)
|
||||
{
|
||||
$tpl_var = array();
|
||||
|
||||
|
||||
$tpl_var['must_square'] = ($type==IMG_SQUARE ? true : false);
|
||||
$tpl_var['must_enable'] = ($type==IMG_SQUARE || $type==IMG_THUMB)? true : false;
|
||||
|
||||
|
||||
if ($params = @$enabled[$type])
|
||||
{
|
||||
$tpl_var['enabled'] = true;
|
||||
|
@ -471,7 +477,7 @@ switch ($page['section'])
|
|||
$tpl_var['enabled']=false;
|
||||
$params=@$disabled[$type];
|
||||
}
|
||||
|
||||
|
||||
if ($params)
|
||||
{
|
||||
list($tpl_var['w'],$tpl_var['h']) = $params->sizing->ideal_size;
|
||||
|
@ -489,6 +495,14 @@ switch ($page['section'])
|
|||
}
|
||||
$template->assign('derivatives', $tpl_vars);
|
||||
$template->assign('resize_quality', ImageStdParams::$quality);
|
||||
|
||||
$tpl_vars = array();
|
||||
$now = time();
|
||||
foreach(ImageStdParams::$custom as $custom=>$time)
|
||||
{
|
||||
$tpl_vars[$custom] = ($now-$time<=24*3600) ? l10n('today') : time_since($time, 'day');
|
||||
}
|
||||
$template->assign('custom_derivatives', $tpl_vars);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -500,9 +514,12 @@ switch ($page['section'])
|
|||
{
|
||||
$watermark_files[] = substr($file, strlen(PHPWG_ROOT_PATH));
|
||||
}
|
||||
foreach (glob(PHPWG_ROOT_PATH.PWG_LOCAL_DIR.'watermarks/*.png') as $file)
|
||||
if ( ($glob=glob(PHPWG_ROOT_PATH.PWG_LOCAL_DIR.'watermarks/*.png')) !== false)
|
||||
{
|
||||
$watermark_files[] = substr($file, strlen(PHPWG_ROOT_PATH));
|
||||
foreach ($glob as $file)
|
||||
{
|
||||
$watermark_files[] = substr($file, strlen(PHPWG_ROOT_PATH));
|
||||
}
|
||||
}
|
||||
$watermark_filemap = array( '' => '---' );
|
||||
foreach( $watermark_files as $file)
|
||||
|
@ -537,12 +554,12 @@ switch ($page['section'])
|
|||
{
|
||||
$position = 'bottomright';
|
||||
}
|
||||
|
||||
|
||||
if ($wm->xrepeat != 0)
|
||||
{
|
||||
$position = 'custom';
|
||||
}
|
||||
|
||||
|
||||
$template->assign(
|
||||
'watermark',
|
||||
array(
|
||||
|
@ -557,7 +574,7 @@ switch ($page['section'])
|
|||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -239,21 +239,21 @@ if (pwg_db_num_rows($result) > 0)
|
|||
// image order management
|
||||
$sort_fields = array(
|
||||
'' => '',
|
||||
'file' => l10n('file name, A → Z'),
|
||||
'file DESC' => l10n('file name, Z → A'),
|
||||
'name' => l10n('photo title, A → Z'),
|
||||
'name DESC' => l10n('photo title, Z → A'),
|
||||
'date_creation DESC' => l10n('date created, new → old'),
|
||||
'date_creation' => l10n('date created, old → new'),
|
||||
'date_available DESC' => l10n('date posted, new → old'),
|
||||
'date_available' => l10n('date posted, old → new'),
|
||||
'rating_score DESC' => l10n('rating score, high → low'),
|
||||
'rating_score' => l10n('rating score, low → high'),
|
||||
'hit DESC' => l10n('visits, high → low'),
|
||||
'hit' => l10n('visits, low → high'),
|
||||
'id' => l10n('numeric identifier, 1 → 9'),
|
||||
'id DESC' => l10n('numeric identifier, 9 → 1'),
|
||||
'rank' => l10n('manual sort order'),
|
||||
'file' => l10n('File name, A → Z'),
|
||||
'file DESC' => l10n('File name, Z → A'),
|
||||
'name' => l10n('Photo title, A → Z'),
|
||||
'name DESC' => l10n('Photo title, Z → A'),
|
||||
'date_creation DESC' => l10n('Date created, new → old'),
|
||||
'date_creation' => l10n('Date created, old → new'),
|
||||
'date_available DESC' => l10n('Date posted, new → old'),
|
||||
'date_available' => l10n('Date posted, old → new'),
|
||||
'rating_score DESC' => l10n('Rating score, high → low'),
|
||||
'rating_score' => l10n('Rating score, low → high'),
|
||||
'hit DESC' => l10n('Visits, high → low'),
|
||||
'hit' => l10n('Visits, low → high'),
|
||||
'id' => l10n('Numeric identifier, 1 → 9'),
|
||||
'id DESC' => l10n('Numeric identifier, 9 → 1'),
|
||||
'rank' => l10n('Manual sort order'),
|
||||
);
|
||||
|
||||
$template->assign('image_order_options', $sort_fields);
|
||||
|
|
|
@ -29,53 +29,21 @@ include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
|
|||
// +-----------------------------------------------------------------------+
|
||||
check_status(ACCESS_ADMINISTRATOR);
|
||||
|
||||
$link = get_root_url().'admin.php?page=help§ion=';
|
||||
$help_link = get_root_url().'admin.php?page=help§ion=';
|
||||
$selected = null;
|
||||
$help_section_title = null;
|
||||
|
||||
$tabs = array();
|
||||
$tabs[] = array(
|
||||
'code' => 'add_photos',
|
||||
'label' => l10n('Add Photos'),
|
||||
);
|
||||
$tabs[] = array(
|
||||
'code' => 'permissions',
|
||||
'label' => l10n('Permissions'),
|
||||
);
|
||||
$tabs[] = array(
|
||||
'code' => 'groups',
|
||||
'label' => l10n('Groups'),
|
||||
);
|
||||
$tabs[] = array(
|
||||
'code' => 'virtual_links',
|
||||
'label' => l10n('Virtual Links'),
|
||||
);
|
||||
$tabs[] = array(
|
||||
'code' => 'misc',
|
||||
'label' => l10n('Miscellaneous'),
|
||||
);
|
||||
|
||||
if (!isset($_GET['section']))
|
||||
{
|
||||
$section = $tabs[0]['code'];
|
||||
$selected = 'add_photos';
|
||||
}
|
||||
else
|
||||
{
|
||||
$section = $_GET['section'];
|
||||
$selected = $_GET['section'];
|
||||
}
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
foreach ($tabs as $tab)
|
||||
{
|
||||
if ($tab['code'] == $section)
|
||||
{
|
||||
$selected_tab = $tab['code'];
|
||||
$help_section_title = $tab['label'];
|
||||
}
|
||||
|
||||
$tabsheet->add($tab['code'], $tab['label'], $link.$tab['code']);
|
||||
}
|
||||
$tabsheet->select($selected_tab);
|
||||
$tabsheet->set_id('help');
|
||||
$tabsheet->select($selected);
|
||||
$tabsheet->assign();
|
||||
|
||||
$template->set_filenames(array('help' => 'help.tpl'));
|
||||
|
@ -83,11 +51,11 @@ $template->set_filenames(array('help' => 'help.tpl'));
|
|||
$template->assign(
|
||||
array(
|
||||
'HELP_CONTENT' => load_language(
|
||||
'help/help_'.$selected_tab.'.html',
|
||||
'help/help_'.$tabsheet->selected.'.html',
|
||||
'',
|
||||
array('return'=>true)
|
||||
),
|
||||
'HELP_SECTION_TITLE' => $help_section_title,
|
||||
'HELP_SECTION_TITLE' => $tabsheet->sheets[ $tabsheet->selected ]['caption'],
|
||||
)
|
||||
);
|
||||
|
||||
|
|
|
@ -303,7 +303,6 @@ SELECT
|
|||
id,
|
||||
IF(name IS NULL, file, name) AS label,
|
||||
filesize,
|
||||
high_filesize,
|
||||
file,
|
||||
path,
|
||||
representative_ext
|
||||
|
@ -313,7 +312,6 @@ SELECT
|
|||
// $label_of_image = simple_hash_from_query($query, 'id', 'label');
|
||||
$label_of_image = array();
|
||||
$filesize_of_image = array();
|
||||
$high_filesize_of_image = array();
|
||||
$file_of_image = array();
|
||||
$path_of_image = array();
|
||||
$representative_ext_of_image = array();
|
||||
|
@ -328,17 +326,10 @@ SELECT
|
|||
$filesize_of_image[ $row['id'] ] = $row['filesize'];
|
||||
}
|
||||
|
||||
if (isset($row['high_filesize']))
|
||||
{
|
||||
$high_filesize_of_image[ $row['id'] ] = $row['high_filesize'];
|
||||
}
|
||||
|
||||
$file_of_image[ $row['id'] ] = $row['file'];
|
||||
$path_of_image[ $row['id'] ] = $row['path'];
|
||||
$representative_ext_of_image[ $row['id'] ] = $row['representative_ext'];
|
||||
}
|
||||
|
||||
// echo '<pre>'; print_r($high_filesize_of_image); echo '</pre>';
|
||||
}
|
||||
|
||||
if ($has_tags > 0)
|
||||
|
@ -360,29 +351,11 @@ SELECT
|
|||
|
||||
foreach ($history_lines as $line)
|
||||
{
|
||||
// FIXME when we watch the representative of a non image element, it is
|
||||
// the not the representative filesize that is counted (as it is
|
||||
// unknown) but the non image element filesize. Proposed solution: add
|
||||
// #images.representative_filesize and add 'representative' in the
|
||||
// choices of #history.image_type.
|
||||
|
||||
if (isset($line['image_type']))
|
||||
if (isset($line['image_type']) and $line['image_type'] == 'high')
|
||||
{
|
||||
if ($line['image_type'] == 'high')
|
||||
if (isset($filesize_of_image[$line['image_id']]))
|
||||
{
|
||||
if (isset($high_filesize_of_image[$line['image_id']]))
|
||||
{
|
||||
$summary['total_filesize']+=
|
||||
$high_filesize_of_image[$line['image_id']];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isset($filesize_of_image[$line['image_id']]))
|
||||
{
|
||||
$summary['total_filesize']+=
|
||||
$filesize_of_image[$line['image_id']];
|
||||
}
|
||||
$summary['total_filesize'] += $filesize_of_image[$line['image_id']];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -548,7 +521,7 @@ SELECT
|
|||
'%d line filtered', '%d lines filtered',
|
||||
$page['nb_lines']
|
||||
),
|
||||
'FILESIZE' => $summary['total_filesize'].' KB',
|
||||
'FILESIZE' => $summary['total_filesize'] != 0 ? ceil($summary['total_filesize']/1024).' MB' : '',
|
||||
'USERS' => l10n_dec(
|
||||
'%d user', '%d users',
|
||||
$summary['nb_members'] + $summary['nb_guests']
|
||||
|
|
147
admin/include/add_core_tabs.inc.php
Normal file
147
admin/include/add_core_tabs.inc.php
Normal file
|
@ -0,0 +1,147 @@
|
|||
<?php
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Piwigo - a PHP based photo gallery |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Copyright(C) 2008-2012 Piwigo Team http://piwigo.org |
|
||||
// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
|
||||
// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | 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 |
|
||||
// | |
|
||||
// | This program is distributed in the hope that it will be useful, but |
|
||||
// | WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
||||
// | General Public License for more details. |
|
||||
// | |
|
||||
// | You should have received a copy of the GNU General Public License |
|
||||
// | along with this program; if not, write to the Free Software |
|
||||
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
|
||||
// | USA. |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
add_event_handler('tabsheet_before_select', 'add_core_tabs', 0, 2);
|
||||
|
||||
function add_core_tabs($sheets, $tab_id)
|
||||
{
|
||||
switch($tab_id)
|
||||
{
|
||||
case 'album':
|
||||
global $admin_album_base_url;
|
||||
$sheets['properties'] = array('caption' => l10n('Properties'), 'url' => $admin_album_base_url.'-properties');
|
||||
$sheets['sort_order'] = array('caption' => l10n('Manage photo ranks'), 'url' => $admin_album_base_url.'-sort_order');
|
||||
$sheets['permissions'] = array('caption' => l10n('Permissions'), 'url' => $admin_album_base_url.'-permissions');
|
||||
$sheets['notification'] = array('caption' => l10n('Notification'), 'url' => $admin_album_base_url.'-notification');
|
||||
break;
|
||||
|
||||
case 'albums':
|
||||
global $my_base_url;
|
||||
$sheets['list'] = array('caption' => l10n('List'), 'url' => $my_base_url.'cat_list');
|
||||
$sheets['move'] = array('caption' => l10n('Move'), 'url' => $my_base_url.'cat_move');
|
||||
$sheets['permalinks'] = array('caption' => l10n('Permalinks'), 'url' => $my_base_url.'permalinks');
|
||||
break;
|
||||
|
||||
case 'batch_manager':
|
||||
global $manager_link;
|
||||
$sheets['global'] = array('caption' => l10n('global mode'), 'url' => $manager_link.'global');
|
||||
$sheets['unit'] = array('caption' => l10n('unit mode'), 'url' => $manager_link.'unit');
|
||||
break;
|
||||
|
||||
case 'cat_options':
|
||||
global $link_start, $conf;
|
||||
$sheets['status'] = array('caption' => l10n('Public / Private'), 'url' => $link_start.'cat_options&section=status');
|
||||
$sheets['visible'] = array('caption' => l10n('Lock'), 'url' => $link_start.'cat_options&section=visible');
|
||||
if ($conf['activate_comments'])
|
||||
$sheets['comments'] = array('caption' => l10n('Comments'), 'url' => $link_start.'cat_options&section=comments');
|
||||
if ($conf['allow_random_representative'])
|
||||
$sheets['representative'] = array('caption' => l10n('Representative'), 'url' => $link_start.'cat_options&section=representative');
|
||||
break;
|
||||
|
||||
case 'comments':
|
||||
$sheets[''] = array('caption' => l10n('User comments validation'), 'url' => '');
|
||||
break;
|
||||
|
||||
case 'configuration':
|
||||
global $conf_link;
|
||||
$sheets['main'] = array('caption' => l10n('Main'), 'url' => $conf_link.'main');
|
||||
$sheets['sizes'] = array('caption' => l10n('Photo sizes'), 'url' => $conf_link.'sizes');
|
||||
$sheets['watermark'] = array('caption' => l10n('Watermark'), 'url' => $conf_link.'watermark');
|
||||
$sheets['display'] = array('caption' => l10n('Display'), 'url' => $conf_link.'display');
|
||||
$sheets['comments'] = array('caption' => l10n('Comments'), 'url' => $conf_link.'comments');
|
||||
$sheets['default'] = array('caption' => l10n('Guest Settings'), 'url' => $conf_link.'default');
|
||||
break;
|
||||
|
||||
case 'help':
|
||||
global $help_link;
|
||||
$sheets['add_photos'] = array('caption' => l10n('Add Photos'), 'url' => $help_link.'add_photos');
|
||||
$sheets['permissions'] = array('caption' => l10n('Permissions'), 'url' => $help_link.'permissions');
|
||||
$sheets['groups'] = array('caption' => l10n('Groups'), 'url' => $help_link.'groups');
|
||||
$sheets['virtual_links'] = array('caption' => l10n('Virtual Links'), 'url' => $help_link.'virtual_links');
|
||||
$sheets['misc'] = array('caption' => l10n('Miscellaneous'), 'url' => $help_link.'misc');
|
||||
break;
|
||||
|
||||
case 'history':
|
||||
global $link_start;
|
||||
$sheets['stats'] = array('caption' => l10n('Statistics'), 'url' => $link_start.'stats');
|
||||
$sheets['history'] = array('caption' => l10n('Search'), 'url' => $link_start.'history');
|
||||
break;
|
||||
|
||||
case 'languages':
|
||||
global $my_base_url;
|
||||
$sheets['installed'] = array('caption' => l10n('Installed Languages'), 'url' => $my_base_url.'&tab=installed');
|
||||
$sheets['update'] = array('caption' => l10n('Check for updates'), 'url' => $my_base_url.'&tab=update');
|
||||
$sheets['new'] = array('caption' => l10n('Add New Language'), 'url' => $my_base_url.'&tab=new');
|
||||
break;
|
||||
|
||||
case 'nbm':
|
||||
global $base_url;
|
||||
$sheets['param'] = array('caption' => l10n('Parameter'), 'url' => $base_url.'?page=notification_by_mail&mode=param');
|
||||
$sheets['subscribe'] = array('caption' => l10n('Subscribe'), 'url' => $base_url.'?page=notification_by_mail&mode=subscribe');
|
||||
$sheets['send'] = array('caption' => l10n('Send'), 'url' => $base_url.'?page=notification_by_mail&mode=send');
|
||||
break;
|
||||
|
||||
case 'photo':
|
||||
global $admin_photo_base_url;
|
||||
$sheets['properties'] = array('caption' => l10n('Properties'), 'url' => $admin_photo_base_url.'-properties');
|
||||
$sheets['coi'] = array('caption' => l10n('Center of interest'), 'url' => $admin_photo_base_url.'-coi');
|
||||
break;
|
||||
|
||||
case 'photos_add':
|
||||
global $conf;
|
||||
$sheets['direct'] = array('caption' => l10n('Web Form'), 'url' => PHOTOS_ADD_BASE_URL.'&section=direct');
|
||||
$sheets['applications'] = array('caption' => l10n('Applications'), 'url' => PHOTOS_ADD_BASE_URL.'&section=applications');
|
||||
if ($conf['enable_synchronization'])
|
||||
$sheets['ftp'] = array('caption' => l10n('FTP + Synchronization'), 'url' => PHOTOS_ADD_BASE_URL.'&section=ftp');
|
||||
break;
|
||||
|
||||
case 'plugins':
|
||||
global $my_base_url;
|
||||
$sheets['installed'] = array('caption' => l10n('Plugin list'), 'url' => $my_base_url.'&tab=installed');
|
||||
$sheets['update'] = array('caption' => l10n('Check for updates'), 'url' => $my_base_url.'&tab=update');
|
||||
$sheets['new'] = array('caption' => l10n('Other plugins'), 'url' => $my_base_url.'&tab=new');
|
||||
break;
|
||||
|
||||
case 'rating':
|
||||
$sheets['rating'] = array('caption' => l10n('Photos'), 'url' => get_root_url().'admin.php?page=rating');
|
||||
$sheets['rating_user'] = array('caption' => l10n('Users'), 'url' => get_root_url().'admin.php?page=rating_user');
|
||||
break;
|
||||
|
||||
case 'themes':
|
||||
global $my_base_url;
|
||||
$sheets['installed'] = array('caption' => l10n('Installed Themes'), 'url' => $my_base_url.'&tab=installed');
|
||||
$sheets['update'] = array('caption' => l10n('Check for updates'), 'url' => $my_base_url.'&tab=update');
|
||||
$sheets['new'] = array('caption' => l10n('Add New Theme'), 'url' => $my_base_url.'&tab=new');
|
||||
break;
|
||||
|
||||
case 'updates':
|
||||
global $my_base_url;
|
||||
$sheets['pwg'] = array('caption' => l10n('Piwigo Update'), 'url' => $my_base_url);
|
||||
$sheets['ext'] = array('caption' => l10n('Extensions Update'), 'url' => $my_base_url.'&tab=ext');
|
||||
break;
|
||||
}
|
||||
|
||||
return $sheets;
|
||||
}
|
||||
|
||||
?>
|
|
@ -26,9 +26,7 @@ include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
|
|||
$my_base_url = get_root_url().'admin.php?page=';
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('list', l10n('List'), $my_base_url.'cat_list');
|
||||
$tabsheet->add('move', l10n('Move'), $my_base_url.'cat_move');
|
||||
$tabsheet->add('permalinks', l10n('Permalinks'), $my_base_url.'permalinks');
|
||||
$tabsheet->set_id('albums');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -228,6 +228,15 @@ if (count($errors) == 0)
|
|||
}
|
||||
}
|
||||
|
||||
foreach( array_keys(ImageStdParams::$custom) as $custom)
|
||||
{
|
||||
if (isset($_POST['delete_custom_derivative_'.$custom]))
|
||||
{
|
||||
$changed_types[] = $custom;
|
||||
unset(ImageStdParams::$custom[$custom]);
|
||||
}
|
||||
}
|
||||
|
||||
ImageStdParams::set_and_save($enabled_by);
|
||||
if (count($disabled) == 0)
|
||||
{
|
||||
|
|
|
@ -43,16 +43,24 @@ if (isset($_FILES['watermarkImage']) and !empty($_FILES['watermarkImage']['tmp_n
|
|||
else
|
||||
{
|
||||
$upload_dir = PHPWG_ROOT_PATH.PWG_LOCAL_DIR.'watermarks';
|
||||
if (mkgetdir($upload_dir, MKGETDIR_DEFAULT&~MKGETDIR_DIE_ON_ERROR))
|
||||
{
|
||||
$new_name = get_filename_wo_extension($_FILES['watermarkImage']['name']).'.png';
|
||||
$file_path = $upload_dir.'/'.$new_name;
|
||||
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions_upload.inc.php');
|
||||
prepare_directory($upload_dir);
|
||||
|
||||
$new_name = get_filename_wo_extension($_FILES['watermarkImage']['name']).'.png';
|
||||
$file_path = $upload_dir.'/'.$new_name;
|
||||
|
||||
move_uploaded_file($_FILES['watermarkImage']['tmp_name'], $file_path);
|
||||
|
||||
$pwatermark['file'] = substr($file_path, strlen(PHPWG_ROOT_PATH));
|
||||
if (move_uploaded_file($_FILES['watermarkImage']['tmp_name'], $file_path))
|
||||
{
|
||||
$pwatermark['file'] = substr($file_path, strlen(PHPWG_ROOT_PATH));
|
||||
}
|
||||
else
|
||||
{
|
||||
$page['errors'][] = $errors['watermarkImage'] = "$file_path " .l10n('no write access');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$page['errors'][] = $errors['watermarkImage'] = sprintf( l10n('Add write access to the "%s" directory'), $upload_dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -134,14 +142,25 @@ if (count($errors) == 0)
|
|||
|
||||
// do we have to regenerate the derivatives (and which types)?
|
||||
$changed_types = array();
|
||||
|
||||
|
||||
foreach (ImageStdParams::get_defined_type_map() as $type => $params)
|
||||
{
|
||||
$old_use_watermark = $params->use_watermark;
|
||||
ImageStdParams::apply_global($params);
|
||||
|
||||
if ($params->use_watermark != $old_use_watermark
|
||||
or $params->use_watermark and $watermark_changed)
|
||||
$changed = $params->use_watermark != $old_use_watermark;
|
||||
if (!$changed and $params->use_watermark)
|
||||
{
|
||||
$changed = $watermark_changed;
|
||||
}
|
||||
if (!$changed and $params->use_watermark)
|
||||
{
|
||||
// if thresholds change and before/after the threshold is lower than the corresponding derivative side -> some derivatives might switch the watermark
|
||||
$changed |= $watermark->min_size[0]!=$old_watermark->min_size[0] and ($watermark->min_size[0]<$params->max_width() or $old_watermark->min_size[0]<$params->max_width());
|
||||
$changed |= $watermark->min_size[1]!=$old_watermark->min_size[1] and ($watermark->min_size[1]<$params->max_height() or $old_watermark->min_size[1]<$params->max_height());
|
||||
}
|
||||
|
||||
if ($changed)
|
||||
{
|
||||
$params->last_mod_time = time();
|
||||
$changed_types[] = $type;
|
||||
|
|
|
@ -219,7 +219,7 @@ SELECT
|
|||
if ($ok)
|
||||
{
|
||||
delete_element_derivatives($row);
|
||||
$new_ids[] += $row['id'];
|
||||
$new_ids[] = $row['id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1196,7 +1196,7 @@ DELETE FROM '.$table.'
|
|||
* @param int parent category id
|
||||
* @return array with ('info' and 'id') or ('error') key
|
||||
*/
|
||||
function create_virtual_category($category_name, $parent_id=null)
|
||||
function create_virtual_category($category_name, $parent_id=null, $options=array())
|
||||
{
|
||||
global $conf, $user;
|
||||
|
||||
|
@ -1206,15 +1206,53 @@ function create_virtual_category($category_name, $parent_id=null)
|
|||
return array('error' => l10n('The name of an album must not be empty'));
|
||||
}
|
||||
|
||||
$parent_id = !empty($parent_id) ? $parent_id : 'NULL';
|
||||
|
||||
$insert = array(
|
||||
'name' => $category_name,
|
||||
'rank' => 0,
|
||||
'commentable' => boolean_to_string($conf['newcat_default_commentable']),
|
||||
'global_rank' => 0,
|
||||
);
|
||||
|
||||
if ($parent_id != 'NULL')
|
||||
// is the album commentable?
|
||||
if (isset($options['commentable']) and is_bool($options['commentable']))
|
||||
{
|
||||
$insert['commentable'] = $options['commentable'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$insert['commentable'] = $conf['newcat_default_commentable'];
|
||||
}
|
||||
$insert['commentable'] = boolean_to_string($insert['commentable']);
|
||||
|
||||
// is the album temporarily locked? (only visible by administrators,
|
||||
// whatever permissions) (may be overwritten if parent album is not
|
||||
// visible)
|
||||
if (isset($options['visible']) and is_bool($options['visible']))
|
||||
{
|
||||
$insert['visible'] = $options['visible'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$insert['visible'] = $conf['newcat_default_visible'];
|
||||
}
|
||||
$insert['visible'] = boolean_to_string($insert['visible']);
|
||||
|
||||
// is the album private? (may be overwritten if parent album is private)
|
||||
if (isset($options['status']) and 'private' == $options['status'])
|
||||
{
|
||||
$insert['status'] = 'private';
|
||||
}
|
||||
else
|
||||
{
|
||||
$insert['status'] = $conf['newcat_default_status'];
|
||||
}
|
||||
|
||||
// any description for this album?
|
||||
if (isset($options['comment']))
|
||||
{
|
||||
$insert['comment'] = strip_tags($options['comment']);
|
||||
}
|
||||
|
||||
if (!empty($parent_id) and is_numeric($parent_id))
|
||||
{
|
||||
$query = '
|
||||
SELECT id, uppercats, global_rank, visible, status
|
||||
|
@ -1233,10 +1271,6 @@ SELECT id, uppercats, global_rank, visible, status
|
|||
{
|
||||
$insert['visible'] = 'false';
|
||||
}
|
||||
else
|
||||
{
|
||||
$insert['visible'] = boolean_to_string($conf['newcat_default_visible']);
|
||||
}
|
||||
|
||||
// at creation, must a category be public or private ? Warning : if the
|
||||
// parent category is private, the category is automatically create
|
||||
|
@ -1245,40 +1279,23 @@ SELECT id, uppercats, global_rank, visible, status
|
|||
{
|
||||
$insert['status'] = 'private';
|
||||
}
|
||||
else
|
||||
{
|
||||
$insert['status'] = $conf['newcat_default_status'];
|
||||
}
|
||||
|
||||
$uppercats_prefix = $parent['uppercats'].',';
|
||||
}
|
||||
else
|
||||
{
|
||||
$insert['visible'] = boolean_to_string($conf['newcat_default_visible']);
|
||||
$insert['status'] = $conf['newcat_default_status'];
|
||||
$insert['global_rank'] = $insert['rank'];
|
||||
$uppercats_prefix = '';
|
||||
}
|
||||
|
||||
// we have then to add the virtual category
|
||||
mass_inserts(
|
||||
CATEGORIES_TABLE,
|
||||
array(
|
||||
'site_id', 'name', 'id_uppercat', 'rank', 'commentable',
|
||||
'visible', 'status', 'global_rank',
|
||||
),
|
||||
array($insert)
|
||||
);
|
||||
|
||||
single_insert(CATEGORIES_TABLE, $insert);
|
||||
$inserted_id = pwg_db_insert_id(CATEGORIES_TABLE);
|
||||
|
||||
$query = '
|
||||
UPDATE
|
||||
'.CATEGORIES_TABLE.'
|
||||
SET uppercats = \''.
|
||||
(isset($parent) ? $parent{'uppercats'}.',' : '').
|
||||
$inserted_id.
|
||||
'\'
|
||||
WHERE id = '.$inserted_id.'
|
||||
;';
|
||||
pwg_query($query);
|
||||
single_update(
|
||||
CATEGORIES_TABLE,
|
||||
array('uppercats' => $uppercats_prefix.$inserted_id),
|
||||
array('id' => $inserted_id)
|
||||
);
|
||||
|
||||
update_global_rank();
|
||||
|
||||
|
@ -1303,32 +1320,7 @@ UPDATE
|
|||
*/
|
||||
function set_tags($tags, $image_id)
|
||||
{
|
||||
$query = '
|
||||
DELETE
|
||||
FROM '.IMAGE_TAG_TABLE.'
|
||||
WHERE image_id = '.$image_id.'
|
||||
;';
|
||||
pwg_query($query);
|
||||
|
||||
if (count($tags) > 0)
|
||||
{
|
||||
$inserts = array();
|
||||
foreach ($tags as $tag_id)
|
||||
{
|
||||
array_push(
|
||||
$inserts,
|
||||
array(
|
||||
'tag_id' => $tag_id,
|
||||
'image_id' => $image_id
|
||||
)
|
||||
);
|
||||
}
|
||||
mass_inserts(
|
||||
IMAGE_TAG_TABLE,
|
||||
array_keys($inserts[0]),
|
||||
$inserts
|
||||
);
|
||||
}
|
||||
set_tags_of( array($image_id=>$tags) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1358,14 +1350,11 @@ DELETE
|
|||
$inserts = array();
|
||||
foreach ($images as $image_id)
|
||||
{
|
||||
foreach ($tags as $tag_id)
|
||||
foreach ( array_unique($tags) as $tag_id)
|
||||
{
|
||||
array_push(
|
||||
$inserts,
|
||||
array(
|
||||
$inserts[] = array(
|
||||
'image_id' => $image_id,
|
||||
'tag_id' => $tag_id,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1416,34 +1405,48 @@ function tag_id_from_tag_name($tag_name)
|
|||
return $page['tag_id_from_tag_name_cache'][$tag_name];
|
||||
}
|
||||
|
||||
// does the tag already exists?
|
||||
// search existing by exact name
|
||||
$query = '
|
||||
SELECT id
|
||||
FROM '.TAGS_TABLE.'
|
||||
WHERE name = \''.$tag_name.'\'
|
||||
;';
|
||||
$existing_tags = array_from_query($query, 'id');
|
||||
|
||||
if (count($existing_tags) == 0)
|
||||
if (count($existing_tags = array_from_query($query, 'id')) == 0)
|
||||
{
|
||||
mass_inserts(
|
||||
TAGS_TABLE,
|
||||
array('name', 'url_name'),
|
||||
array(
|
||||
array(
|
||||
'name' => $tag_name,
|
||||
'url_name' => trigger_event('render_tag_url', $tag_name),
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
$page['tag_id_from_tag_name_cache'][$tag_name] = pwg_db_insert_id(TAGS_TABLE);
|
||||
}
|
||||
else
|
||||
{
|
||||
$page['tag_id_from_tag_name_cache'][$tag_name] = $existing_tags[0];
|
||||
// search existing by case insensitive name
|
||||
$query = '
|
||||
SELECT id
|
||||
FROM '.TAGS_TABLE.'
|
||||
WHERE CONVERT(name, CHAR) = \''.$tag_name.'\'
|
||||
;';
|
||||
if (count($existing_tags = array_from_query($query, 'id')) == 0)
|
||||
{
|
||||
$url_name = trigger_event('render_tag_url', $tag_name);
|
||||
// search existing by url name
|
||||
$query = '
|
||||
SELECT id
|
||||
FROM '.TAGS_TABLE.'
|
||||
WHERE url_name = \''.$url_name.'\'
|
||||
;';
|
||||
if (count($existing_tags = array_from_query($query, 'id')) == 0)
|
||||
{
|
||||
mass_inserts(
|
||||
TAGS_TABLE,
|
||||
array('name', 'url_name'),
|
||||
array(
|
||||
array(
|
||||
'name' => $tag_name,
|
||||
'url_name' => $url_name,
|
||||
)
|
||||
)
|
||||
);
|
||||
$page['tag_id_from_tag_name_cache'][$tag_name] = pwg_db_insert_id(TAGS_TABLE);
|
||||
return $page['tag_id_from_tag_name_cache'][$tag_name];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$page['tag_id_from_tag_name_cache'][$tag_name] = $existing_tags[0];
|
||||
return $page['tag_id_from_tag_name_cache'][$tag_name];
|
||||
}
|
||||
|
||||
|
@ -1462,30 +1465,30 @@ DELETE
|
|||
|
||||
foreach ($tags_of as $image_id => $tag_ids)
|
||||
{
|
||||
foreach ($tag_ids as $tag_id)
|
||||
foreach (array_unique($tag_ids) as $tag_id)
|
||||
{
|
||||
array_push(
|
||||
$inserts,
|
||||
array(
|
||||
$inserts[] = array(
|
||||
'image_id' => $image_id,
|
||||
'tag_id' => $tag_id,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
mass_inserts(
|
||||
IMAGE_TAG_TABLE,
|
||||
array_keys($inserts[0]),
|
||||
$inserts
|
||||
);
|
||||
if (count($inserts))
|
||||
{
|
||||
mass_inserts(
|
||||
IMAGE_TAG_TABLE,
|
||||
array_keys($inserts[0]),
|
||||
$inserts
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Associate a list of images to a list of categories.
|
||||
*
|
||||
* The function will not duplicate links
|
||||
* The function will not duplicate links and will preserve ranks
|
||||
*
|
||||
* @param array images
|
||||
* @param array categories
|
||||
|
@ -1498,43 +1501,90 @@ function associate_images_to_categories($images, $categories)
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// get existing associations
|
||||
$query = '
|
||||
DELETE
|
||||
SELECT
|
||||
image_id,
|
||||
category_id
|
||||
FROM '.IMAGE_CATEGORY_TABLE.'
|
||||
WHERE image_id IN ('.implode(',', $images).')
|
||||
AND category_id IN ('.implode(',', $categories).')
|
||||
;';
|
||||
pwg_query($query);
|
||||
$result = pwg_query($query);
|
||||
|
||||
$existing = array();
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
{
|
||||
$existing[ $row['category_id'] ][] = $row['image_id'];
|
||||
}
|
||||
|
||||
// get max rank of each categories
|
||||
$query = '
|
||||
SELECT
|
||||
category_id,
|
||||
MAX(rank) AS max_rank
|
||||
FROM '.IMAGE_CATEGORY_TABLE.'
|
||||
WHERE rank IS NOT NULL
|
||||
AND category_id IN ('.implode(',', $categories).')
|
||||
GROUP BY category_id
|
||||
;';
|
||||
|
||||
$current_rank_of = simple_hash_from_query(
|
||||
$query,
|
||||
'category_id',
|
||||
'max_rank'
|
||||
);
|
||||
|
||||
// associate only not already associated images
|
||||
$inserts = array();
|
||||
foreach ($categories as $category_id)
|
||||
{
|
||||
if (!isset($current_rank_of[$category_id]))
|
||||
{
|
||||
$current_rank_of[$category_id] = 0;
|
||||
}
|
||||
if (!isset($existing[$category_id]))
|
||||
{
|
||||
$existing[$category_id] = array();
|
||||
}
|
||||
|
||||
foreach ($images as $image_id)
|
||||
{
|
||||
array_push(
|
||||
$inserts,
|
||||
array(
|
||||
'image_id' => $image_id,
|
||||
'category_id' => $category_id,
|
||||
)
|
||||
);
|
||||
if (!in_array($image_id, $existing[$category_id]))
|
||||
{
|
||||
$rank = ++$current_rank_of[$category_id];
|
||||
|
||||
array_push(
|
||||
$inserts,
|
||||
array(
|
||||
'image_id' => $image_id,
|
||||
'category_id' => $category_id,
|
||||
'rank' => $rank,
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mass_inserts(
|
||||
IMAGE_CATEGORY_TABLE,
|
||||
array_keys($inserts[0]),
|
||||
$inserts
|
||||
);
|
||||
if (count($inserts))
|
||||
{
|
||||
mass_inserts(
|
||||
IMAGE_CATEGORY_TABLE,
|
||||
array_keys($inserts[0]),
|
||||
$inserts
|
||||
);
|
||||
|
||||
update_category($categories);
|
||||
update_category($categories);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Disssociate images from all categories except their storage category and
|
||||
* Dissociate images from all old categories except their storage category and
|
||||
* associate to new categories.
|
||||
*
|
||||
* This function will preserve ranks
|
||||
*
|
||||
* @param array images
|
||||
* @param array categories
|
||||
* @return void
|
||||
|
@ -1545,17 +1595,27 @@ function move_images_to_categories($images, $categories)
|
|||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// let's first break links with all albums but their "storage album"
|
||||
|
||||
// let's first break links with all old albums but their "storage album"
|
||||
$query = '
|
||||
DELETE '.IMAGE_CATEGORY_TABLE.'.*
|
||||
FROM '.IMAGE_CATEGORY_TABLE.'
|
||||
JOIN '.IMAGES_TABLE.' ON image_id=id
|
||||
WHERE id IN ('.implode(',', $images).')
|
||||
';
|
||||
|
||||
if (is_array($categories) and count($categories) > 0)
|
||||
{
|
||||
$query.= '
|
||||
AND category_id NOT IN ('.implode(',', $categories).')
|
||||
';
|
||||
}
|
||||
|
||||
$query.= '
|
||||
AND (storage_category_id IS NULL OR storage_category_id != category_id)
|
||||
;';
|
||||
pwg_query($query);
|
||||
|
||||
|
||||
if (is_array($categories) and count($categories) > 0)
|
||||
{
|
||||
associate_images_to_categories($images, $categories);
|
||||
|
@ -2071,38 +2131,46 @@ function get_taglist($query, $only_user_language=true)
|
|||
$result = pwg_query($query);
|
||||
|
||||
$taglist = array();
|
||||
$altlist = array();
|
||||
while ($row = pwg_db_fetch_assoc($result))
|
||||
{
|
||||
if (!$only_user_language and preg_match_all('#\[lang=(.*?)\](.*?)\[/lang\]#is', $row['name'], $matches))
|
||||
$raw_name = $row['name'];
|
||||
$name = trigger_event('render_tag_name', $raw_name);
|
||||
|
||||
$taglist[] = array(
|
||||
'name' => $name,
|
||||
'id' => '~~'.$row['id'].'~~',
|
||||
);
|
||||
|
||||
if (!$only_user_language)
|
||||
{
|
||||
foreach ($matches[2] as $tag_name)
|
||||
$alt_names = trigger_event('get_tag_alt_names', array(), $raw_name);
|
||||
|
||||
// TEMP 2.4
|
||||
if (count($alt_names)==0 and preg_match_all('#\[lang=(.*?)\](.*?)\[/lang\]#is', $row['name'], $matches))
|
||||
{
|
||||
array_push(
|
||||
$taglist,
|
||||
array(
|
||||
'name' => trigger_event('render_tag_name', $tag_name),
|
||||
'id' => '~~'.$row['id'].'~~',
|
||||
)
|
||||
);
|
||||
foreach ($matches[2] as $alt)
|
||||
{
|
||||
$alt_names[] = $alt;
|
||||
}
|
||||
}
|
||||
|
||||
$row['name'] = preg_replace('#\[lang=(.*?)\](.*?)\[/lang\]#is', null, $row['name']);
|
||||
}
|
||||
|
||||
if (strlen($row['name']) > 0)
|
||||
{
|
||||
array_push(
|
||||
$taglist,
|
||||
array(
|
||||
'name' => trigger_event('render_tag_name', $row['name']),
|
||||
'id' => '~~'.$row['id'].'~~',
|
||||
)
|
||||
);
|
||||
foreach( array_diff( array_unique($alt_names), array($name) ) as $alt)
|
||||
{
|
||||
$altlist[] = array(
|
||||
'name' => $alt,
|
||||
'id' => '~~'.$row['id'].'~~',
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$cmp = create_function('$a,$b', 'return strcasecmp($a["name"], $b["name"]);');
|
||||
usort($taglist, $cmp);
|
||||
usort($taglist, 'tag_alpha_compare');
|
||||
if (count($altlist))
|
||||
{
|
||||
usort($altlist, 'tag_alpha_compare');
|
||||
$taglist = array_merge($taglist, $altlist);
|
||||
}
|
||||
|
||||
return $taglist;
|
||||
}
|
||||
|
@ -2121,7 +2189,7 @@ function get_tag_ids($raw_tags, $allow_create=true)
|
|||
{
|
||||
if (preg_match('/^~~(\d+)~~$/', $raw_tag, $matches))
|
||||
{
|
||||
array_push($tag_ids, $matches[1]);
|
||||
$tag_ids[] = $matches[1];
|
||||
}
|
||||
elseif ($allow_create)
|
||||
{
|
||||
|
@ -2252,8 +2320,7 @@ SELECT
|
|||
/** delete all derivative files for one or several types */
|
||||
function clear_derivative_cache($types='all')
|
||||
{
|
||||
$pattern='#.*-';
|
||||
if ($types == 'all')
|
||||
if ($types === 'all')
|
||||
{
|
||||
$types = ImageStdParams::get_all_types();
|
||||
$types[] = IMG_CUSTOM;
|
||||
|
@ -2263,21 +2330,35 @@ function clear_derivative_cache($types='all')
|
|||
$types = array($types);
|
||||
}
|
||||
|
||||
for ($i=0; $i<count($types); $i++)
|
||||
{
|
||||
$type = $types[$i];
|
||||
if ($type == IMG_CUSTOM)
|
||||
{
|
||||
$type = derivative_to_url($type).'[a-zA-Z0-9]+';
|
||||
}
|
||||
elseif (in_array($type, ImageStdParams::get_all_types()))
|
||||
{
|
||||
$type = derivative_to_url($type);
|
||||
}
|
||||
else
|
||||
{//assume a custom type
|
||||
$type = derivative_to_url(IMG_CUSTOM).'_'.$type;
|
||||
}
|
||||
$types[$i] = $type;
|
||||
}
|
||||
|
||||
$pattern='#.*-';
|
||||
if (count($types)>1)
|
||||
{
|
||||
$type_urls = array();
|
||||
foreach($types as $dtype)
|
||||
{
|
||||
$type_urls[] = derivative_to_url($dtype);
|
||||
}
|
||||
$pattern .= '(' . implode('|',$type_urls) . ')';
|
||||
$pattern .= '(' . implode('|',$types) . ')';
|
||||
}
|
||||
else
|
||||
{
|
||||
$pattern .= derivative_to_url($types[0]);
|
||||
$pattern .= $types[0];
|
||||
}
|
||||
$pattern.='\.[a-zA-Z0-9]{3,4}$#';
|
||||
|
||||
$pattern.='(_[a-zA-Z0-9]+)*\.[a-zA-Z0-9]{3,4}$#';
|
||||
if ($contents = @opendir(PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR))
|
||||
{
|
||||
while (($node = readdir($contents)) !== false)
|
||||
|
@ -2360,9 +2441,12 @@ function delete_element_derivatives($infos, $type='all')
|
|||
$pattern = '-'.derivative_to_url($type).'*';
|
||||
}
|
||||
$path = substr_replace($path, $pattern, $dot, 0);
|
||||
foreach( glob(PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR.$path) as $file)
|
||||
if ( ($glob=glob(PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR.$path)) !== false)
|
||||
{
|
||||
@unlink($file);
|
||||
foreach( $glob as $file)
|
||||
{
|
||||
@unlink($file);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -29,12 +29,8 @@ function history_tabsheet()
|
|||
|
||||
// TabSheet
|
||||
$tabsheet = new tabsheet();
|
||||
// TabSheet initialization
|
||||
$tabsheet->add('stats', l10n('Statistics'), $link_start.'stats');
|
||||
$tabsheet->add('history', l10n('Search'), $link_start.'history');
|
||||
// TabSheet selection
|
||||
$tabsheet->set_id('history');
|
||||
$tabsheet->select($page['page']);
|
||||
// Assign tabsheet to template
|
||||
$tabsheet->assign();
|
||||
}
|
||||
|
||||
|
|
|
@ -246,6 +246,7 @@ SELECT
|
|||
{
|
||||
rename($source_filepath, $file_path);
|
||||
}
|
||||
@chmod($file_path, 0644);
|
||||
|
||||
if (pwg_image::get_library() != 'gd')
|
||||
{
|
||||
|
|
|
@ -58,6 +58,7 @@ class pwg_image
|
|||
var $image;
|
||||
var $library = '';
|
||||
var $source_filepath = '';
|
||||
static $ext_imagick_version = '';
|
||||
|
||||
function __construct($source_filepath, $library=null)
|
||||
{
|
||||
|
@ -132,7 +133,7 @@ class pwg_image
|
|||
|
||||
$this->image->resize($resize_dimensions['width'], $resize_dimensions['height']);
|
||||
|
||||
if (isset($rotation))
|
||||
if (!empty($rotation))
|
||||
{
|
||||
$this->image->rotate($rotation);
|
||||
}
|
||||
|
@ -339,6 +340,10 @@ class pwg_image
|
|||
@exec($conf['ext_imagick_dir'].'convert -version', $returnarray);
|
||||
if (is_array($returnarray) and !empty($returnarray[0]) and preg_match('/ImageMagick/i', $returnarray[0]))
|
||||
{
|
||||
if (preg_match('/Version: ImageMagick (\d+\.\d+\.\d+-?\d*)/', $returnarray[0], $match))
|
||||
{
|
||||
self::$ext_imagick_version = $match[1];
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -446,7 +451,7 @@ class image_imagick implements imageInterface
|
|||
function resize($width, $height)
|
||||
{
|
||||
$this->image->setInterlaceScheme(Imagick::INTERLACE_LINE);
|
||||
|
||||
|
||||
// TODO need to explain this condition
|
||||
if ($this->get_width()%2 == 0
|
||||
&& $this->get_height()%2 == 0
|
||||
|
@ -554,6 +559,11 @@ class image_ext_imagick implements imageInterface
|
|||
|
||||
function rotate($rotation)
|
||||
{
|
||||
if (empty($rotation))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if ($rotation==90 || $rotation==270)
|
||||
{
|
||||
$tmp = $this->width;
|
||||
|
@ -607,7 +617,16 @@ class image_ext_imagick implements imageInterface
|
|||
{
|
||||
$this->add_command('interlace', 'line'); // progressive rendering
|
||||
// use 4:2:2 chroma subsampling (reduce file size by 20-30% with "almost" no human perception)
|
||||
$this->add_command('sampling-factor', '4:2:2' );
|
||||
//
|
||||
// option deactivated for Piwigo 2.4.1, it doesn't work fo old versions
|
||||
// of ImageMagick, see bug:2672. To reactivate once we have a better way
|
||||
// to detect IM version and when we know which version supports this
|
||||
// option
|
||||
//
|
||||
if (version_compare(pwg_image::$ext_imagick_version, '6.6') > 0)
|
||||
{
|
||||
$this->add_command('sampling-factor', '4:2:2' );
|
||||
}
|
||||
|
||||
$exec = $this->imagickdir.'convert';
|
||||
$exec .= ' "'.realpath($this->source_filepath).'"';
|
||||
|
@ -622,13 +641,15 @@ class image_ext_imagick implements imageInterface
|
|||
}
|
||||
|
||||
$dest = pathinfo($destination_filepath);
|
||||
$exec .= ' "'.realpath($dest['dirname']).'/'.$dest['basename'].'"';
|
||||
$exec .= ' "'.realpath($dest['dirname']).'/'.$dest['basename'].'" 2>&1';
|
||||
@exec($exec, $returnarray);
|
||||
|
||||
ilog($exec);
|
||||
if (function_exists('ilog')) ilog($exec);
|
||||
if (is_array($returnarray) && (count($returnarray)>0) )
|
||||
{
|
||||
ilog('ERROR', $returnarray);
|
||||
if (function_exists('ilog')) ilog('ERROR', $returnarray);
|
||||
foreach($returnarray as $line)
|
||||
trigger_error($line, E_USER_WARNING);
|
||||
}
|
||||
return is_array($returnarray);
|
||||
}
|
||||
|
|
|
@ -234,7 +234,7 @@ UPDATE '.USER_INFOS_TABLE.'
|
|||
{
|
||||
$version = $pem_versions[0]['name'];
|
||||
}
|
||||
$branch = substr($version, 0, strrpos($version, '.'));
|
||||
$branch = get_branch_from_version($version);
|
||||
foreach ($pem_versions as $pem_version)
|
||||
{
|
||||
if (strpos($pem_version['name'], $branch) === 0)
|
||||
|
@ -319,7 +319,7 @@ UPDATE '.USER_INFOS_TABLE.'
|
|||
if ($handle = @fopen($archive, 'wb') and fetchRemote($url, $handle, $get_data))
|
||||
{
|
||||
fclose($handle);
|
||||
include(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
$zip = new PclZip($archive);
|
||||
if ($list = $zip->listContent())
|
||||
{
|
||||
|
|
|
@ -82,7 +82,7 @@ if (isset($_GET['processed']))
|
|||
);
|
||||
|
||||
define('PCLZIP_TEMPORARY_DIR', $upload_dir.'/');
|
||||
include(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
$zip = new PclZip($archive_path);
|
||||
if ($list = $zip->listContent())
|
||||
{
|
||||
|
|
|
@ -275,7 +275,7 @@ DELETE FROM ' . PLUGINS_TABLE . ' WHERE id=\'' . $plugin_id . '\'';
|
|||
{
|
||||
$version = $pem_versions[0]['name'];
|
||||
}
|
||||
$branch = substr($version, 0, strrpos($version, '.'));
|
||||
$branch = get_branch_from_version($version);
|
||||
foreach ($pem_versions as $pem_version)
|
||||
{
|
||||
if (strpos($pem_version['name'], $branch) === 0)
|
||||
|
@ -460,7 +460,7 @@ DELETE FROM ' . PLUGINS_TABLE . ' WHERE id=\'' . $plugin_id . '\'';
|
|||
if ($handle = @fopen($archive, 'wb') and fetchRemote($url, $handle, $get_data))
|
||||
{
|
||||
fclose($handle);
|
||||
include(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
$zip = new PclZip($archive);
|
||||
if ($list = $zip->listContent())
|
||||
{
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
class tabsheet
|
||||
{
|
||||
var $sheets;
|
||||
var $uniqid;
|
||||
var $name;
|
||||
var $titlename;
|
||||
var $selected;
|
||||
|
@ -35,10 +36,16 @@ class tabsheet
|
|||
function tabsheet($name = 'TABSHEET', $titlename = 'TABSHEET_TITLE')
|
||||
{
|
||||
$this->sheets = array();
|
||||
$this->uniqid = null;
|
||||
$this->name = $name;
|
||||
$this->titlename = $titlename;
|
||||
$this->selected = "";
|
||||
}
|
||||
|
||||
function set_id($id)
|
||||
{
|
||||
$this->uniqid = $id;
|
||||
}
|
||||
|
||||
/*
|
||||
add a tab
|
||||
|
@ -81,6 +88,12 @@ class tabsheet
|
|||
*/
|
||||
function select($name)
|
||||
{
|
||||
$this->sheets = trigger_event('tabsheet_before_select', $this->sheets, $this->uniqid);
|
||||
if (!array_key_exists($name, $this->sheets))
|
||||
{
|
||||
$keys = array_keys($this->sheets);
|
||||
$name = $keys[0];
|
||||
}
|
||||
$this->selected = $name;
|
||||
}
|
||||
|
||||
|
|
|
@ -471,7 +471,7 @@ SELECT
|
|||
{
|
||||
$version = $pem_versions[0]['name'];
|
||||
}
|
||||
$branch = substr($version, 0, strrpos($version, '.'));
|
||||
$branch = get_branch_from_version($version);
|
||||
foreach ($pem_versions as $pem_version)
|
||||
{
|
||||
if (strpos($pem_version['name'], $branch) === 0)
|
||||
|
@ -577,7 +577,7 @@ SELECT
|
|||
if ($handle = @fopen($archive, 'wb') and fetchRemote($url, $handle, $get_data))
|
||||
{
|
||||
fclose($handle);
|
||||
include(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/pclzip.lib.php');
|
||||
$zip = new PclZip($archive);
|
||||
if ($list = $zip->listContent())
|
||||
{
|
||||
|
|
|
@ -63,7 +63,7 @@ class updates
|
|||
{
|
||||
$version = $pem_versions[0]['name'];
|
||||
}
|
||||
$branch = substr($version, 0, strrpos($version, '.'));
|
||||
$branch = get_branch_from_version($version);
|
||||
foreach ($pem_versions as $pem_version)
|
||||
{
|
||||
if (strpos($pem_version['name'], $branch) === 0)
|
||||
|
|
|
@ -36,9 +36,7 @@ else
|
|||
$page['tab'] = 'installed';
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('installed', l10n('Installed Languages'), $my_base_url.'&tab=installed');
|
||||
$tabsheet->add('update', l10n('Check for updates'), $my_base_url.'&tab=update');
|
||||
$tabsheet->add('new', l10n('Add New Language'), $my_base_url.'&tab=new');
|
||||
$tabsheet->set_id('languages');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -588,19 +588,8 @@ if (is_autorize_status(ACCESS_WEBMASTER))
|
|||
{
|
||||
// TabSheet
|
||||
$tabsheet = new tabsheet();
|
||||
// TabSheet initialization
|
||||
$tabsheet->add('param', l10n('Parameter'),
|
||||
add_url_params($base_url.get_query_string_diff(array('mode', 'select')),
|
||||
array('mode' => 'param')));
|
||||
$tabsheet->add('subscribe', l10n('Subscribe'),
|
||||
add_url_params($base_url.get_query_string_diff(array('mode', 'select')),
|
||||
array('mode' => 'subscribe')));
|
||||
$tabsheet->add('send', l10n('Send'),
|
||||
add_url_params($base_url.get_query_string_diff(array('mode', 'select')),
|
||||
array('mode' => 'send')));
|
||||
// TabSheet selection
|
||||
$tabsheet->set_id('nbm');
|
||||
$tabsheet->select($page['mode']);
|
||||
// Assign tabsheet to template
|
||||
$tabsheet->assign();
|
||||
}
|
||||
|
||||
|
|
|
@ -61,9 +61,7 @@ if (isset($_GET['tab']))
|
|||
}
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('properties', l10n('Properties'), $admin_photo_base_url.'-properties');
|
||||
$tabsheet->add('coi', l10n('Center of interest'), $admin_photo_base_url.'-coi');
|
||||
|
||||
$tabsheet->set_id('photo');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -49,52 +49,17 @@ $upload_form_config = get_upload_form_config();
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | Tabs |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
$tabs = array(
|
||||
array(
|
||||
'code' => 'direct',
|
||||
'label' => l10n('Web Form'),
|
||||
),
|
||||
array(
|
||||
'code' => 'applications',
|
||||
'label' => l10n('Applications'),
|
||||
),
|
||||
);
|
||||
|
||||
if ($conf['enable_synchronization'])
|
||||
{
|
||||
array_push(
|
||||
$tabs,
|
||||
array(
|
||||
'code' => 'ftp',
|
||||
'label' => l10n('FTP + Synchronization'),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$tab_codes = array_map(
|
||||
create_function('$a', 'return $a["code"];'),
|
||||
$tabs
|
||||
);
|
||||
|
||||
if (isset($_GET['section']) and in_array($_GET['section'], $tab_codes))
|
||||
if (isset($_GET['section']))
|
||||
{
|
||||
$page['tab'] = $_GET['section'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$page['tab'] = $tabs[0]['code'];
|
||||
$page['tab'] = 'direct';
|
||||
}
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
foreach ($tabs as $tab)
|
||||
{
|
||||
$tabsheet->add(
|
||||
$tab['code'],
|
||||
$tab['label'],
|
||||
PHOTOS_ADD_BASE_URL.'&section='.$tab['code']
|
||||
);
|
||||
}
|
||||
$tabsheet->set_id('photos_add');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@ if (isset($_GET['delete']))
|
|||
check_pwg_token();
|
||||
|
||||
delete_elements(array($_GET['image_id']), true);
|
||||
invalidate_user_cache();
|
||||
|
||||
// where to redirect the user now?
|
||||
//
|
||||
|
@ -170,6 +171,10 @@ if (isset($_POST['submit']) and count($page['errors']) == 0)
|
|||
set_tags($tag_ids, $_GET['image_id']);
|
||||
|
||||
// association to albums
|
||||
if (!isset($_POST['associate']))
|
||||
{
|
||||
$_POST['associate'] = array();
|
||||
}
|
||||
move_images_to_categories(array($_GET['image_id']), $_POST['associate']);
|
||||
|
||||
// thumbnail for albums
|
||||
|
|
|
@ -36,9 +36,7 @@ else
|
|||
$page['tab'] = 'installed';
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('installed', l10n('Plugin list'), $my_base_url.'&tab=installed');
|
||||
$tabsheet->add('update', l10n('Check for updates'), $my_base_url.'&tab=update');
|
||||
$tabsheet->add('new', l10n('Other plugins'), $my_base_url.'&tab=new');
|
||||
$tabsheet->set_id('plugins');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -36,8 +36,7 @@ check_status(ACCESS_ADMINISTRATOR);
|
|||
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('rating', l10n('Photos'), get_root_url().'admin.php?page=rating');
|
||||
$tabsheet->add('rating_user', l10n('Users'), get_root_url().'admin.php?page=rating_user');
|
||||
$tabsheet->set_id('rating');
|
||||
$tabsheet->select('rating');
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -25,8 +25,7 @@ defined('PHPWG_ROOT_PATH') or die ("Hacking attempt!");
|
|||
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('rating', l10n('Photos'), get_root_url().'admin.php?page=rating');
|
||||
$tabsheet->add('rating_user', l10n('Users'), get_root_url().'admin.php?page=rating_user');
|
||||
$tabsheet->set_id('rating');
|
||||
$tabsheet->select('rating_user');
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -303,19 +303,31 @@ SELECT id_uppercat, MAX(rank)+1 AS next_rank
|
|||
}
|
||||
|
||||
// to delete categories
|
||||
$to_delete = array();
|
||||
$to_delete = array(); $to_delete_derivative_dirs = array();
|
||||
foreach (array_diff(array_keys($db_fulldirs), $fs_fulldirs) as $fulldir)
|
||||
{
|
||||
array_push($to_delete, $db_fulldirs[$fulldir]);
|
||||
unset($db_fulldirs[$fulldir]);
|
||||
array_push($infos, array('path' => $fulldir,
|
||||
'info' => l10n('deleted')));
|
||||
if (substr_compare($fulldir, '../', 0, 3)==0)
|
||||
{
|
||||
$fulldir = substr($fulldir, 3);
|
||||
}
|
||||
$to_delete_derivative_dirs[] = PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR.$fulldir;
|
||||
}
|
||||
if (count($to_delete) > 0)
|
||||
{
|
||||
if (!$simulate)
|
||||
{
|
||||
delete_categories($to_delete);
|
||||
foreach($to_delete_derivative_dirs as $to_delete_dir)
|
||||
{
|
||||
if (is_dir($to_delete_dir))
|
||||
{
|
||||
clear_derivative_cache_rec($to_delete_dir, '#.+#');
|
||||
}
|
||||
}
|
||||
}
|
||||
$counts['del_categories'] = count($to_delete);
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ SELECT name
|
|||
FROM '.TAGS_TABLE.'
|
||||
;';
|
||||
$existing_names = array_from_query($query, 'name');
|
||||
|
||||
|
||||
|
||||
$current_name_of = array();
|
||||
$query = '
|
||||
|
@ -58,7 +58,7 @@ SELECT id, name
|
|||
{
|
||||
$current_name_of[ $row['id'] ] = $row['name'];
|
||||
}
|
||||
|
||||
|
||||
$updates = array();
|
||||
// we must not rename tag with an already existing name
|
||||
foreach (explode(',', $_POST['edit_list']) as $tag_id)
|
||||
|
@ -117,7 +117,7 @@ if (isset($_POST['confirm_merge']))
|
|||
{
|
||||
$destination_tag_id = $_POST['destination_tag'];
|
||||
$tag_ids = explode(',', $_POST['merge_list']);
|
||||
|
||||
|
||||
if (is_array($tag_ids) and count($tag_ids) > 1)
|
||||
{
|
||||
$name_of_tag = array();
|
||||
|
@ -133,7 +133,7 @@ SELECT
|
|||
{
|
||||
$name_of_tag[ $row['id'] ] = trigger_event('render_tag_name', $row['name']);
|
||||
}
|
||||
|
||||
|
||||
$tag_ids_to_delete = array_diff(
|
||||
$tag_ids,
|
||||
array($destination_tag_id)
|
||||
|
@ -188,7 +188,7 @@ SELECT
|
|||
{
|
||||
$tags_deleted[] = $name_of_tag[$tag_id];
|
||||
}
|
||||
|
||||
|
||||
array_push(
|
||||
$page['infos'],
|
||||
sprintf(
|
||||
|
@ -216,11 +216,11 @@ SELECT name
|
|||
$tag_names = array_from_query($query, 'name');
|
||||
|
||||
delete_tags($_POST['tags']);
|
||||
|
||||
|
||||
array_push(
|
||||
$page['infos'],
|
||||
l10n_dec(
|
||||
'The following tag was deleted',
|
||||
'The following tag was deleted',
|
||||
'The %d following tags were deleted',
|
||||
count($tag_names)).' : '.
|
||||
implode(', ', $tag_names)
|
||||
|
@ -234,7 +234,7 @@ SELECT name
|
|||
if (isset($_GET['action']) and 'delete_orphans' == $_GET['action'])
|
||||
{
|
||||
check_pwg_token();
|
||||
|
||||
|
||||
delete_orphan_tags();
|
||||
$_SESSION['page_infos'] = array(l10n('Orphan tags deleted'));
|
||||
redirect(get_root_url().'admin.php?page=tags');
|
||||
|
@ -268,7 +268,7 @@ SELECT id
|
|||
)
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
array_push(
|
||||
$page['infos'],
|
||||
sprintf(
|
||||
|
@ -331,12 +331,44 @@ if (count($orphan_tag_names) > 0)
|
|||
// | form creation |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
||||
|
||||
// tag counters
|
||||
$query = '
|
||||
SELECT tag_id, COUNT(image_id) AS counter
|
||||
FROM '.IMAGE_TAG_TABLE.'
|
||||
GROUP BY tag_id';
|
||||
$tag_counters = simple_hash_from_query($query, 'tag_id', 'counter');
|
||||
|
||||
// all tags
|
||||
$query = '
|
||||
SELECT *
|
||||
FROM '.TAGS_TABLE.'
|
||||
;';
|
||||
$result = pwg_query($query);
|
||||
$all_tags = array();
|
||||
while ($tag = pwg_db_fetch_assoc($result))
|
||||
{
|
||||
$raw_name = $tag['name'];
|
||||
$tag['name'] = trigger_event('render_tag_name', $raw_name);
|
||||
$tag['counter'] = intval(@$tag_counters[ $tag['id'] ]);
|
||||
$tag['U_VIEW'] = make_index_url(array('tags'=>array($tag)));
|
||||
$tag['U_EDIT'] = 'admin.php?page=batch_manager&tag='.$tag['id'];
|
||||
|
||||
$alt_names = trigger_event('get_tag_alt_names', array(), $raw_name);
|
||||
$alt_names = array_diff( array_unique($alt_names), array($tag['name']) );
|
||||
if (count($alt_names))
|
||||
{
|
||||
$tag['alt_names'] = implode(', ', $alt_names);
|
||||
}
|
||||
$all_tags[] = $tag;
|
||||
}
|
||||
usort($all_tags, 'tag_alpha_compare');
|
||||
|
||||
|
||||
|
||||
$template->assign(
|
||||
array(
|
||||
'TAG_SELECTION' => get_html_tag_selection(
|
||||
get_all_tags(),
|
||||
'tags'
|
||||
),
|
||||
'all_tags' => $all_tags,
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -347,7 +379,7 @@ if ((isset($_POST['edit']) or isset($_POST['merge'])) and isset($_POST['tags']))
|
|||
{
|
||||
$list_name = 'MERGE_TAGS_LIST';
|
||||
}
|
||||
|
||||
|
||||
$template->assign(
|
||||
array(
|
||||
$list_name => implode(',', $_POST['tags']),
|
||||
|
|
|
@ -36,9 +36,7 @@ else
|
|||
$page['tab'] = 'installed';
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('installed', l10n('Installed Themes'), $my_base_url.'&tab=installed');
|
||||
$tabsheet->add('update', l10n('Check for updates'), $my_base_url.'&tab=update');
|
||||
$tabsheet->add('new', l10n('Add New Theme'), $my_base_url.'&tab=new');
|
||||
$tabsheet->set_id('themes');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ body, h3, dt, h2, .throw, .content, label , LEGEND {
|
|||
|
||||
th { color: #888; }
|
||||
INPUT, select, textarea { color:#666; background-color: #ccc; }
|
||||
option[disabled] { background-color: #ccc; }
|
||||
input[type="radio"], input[type="checkbox"] { background-color: transparent; }
|
||||
|
||||
INPUT[type="submit"], INPUT[type="button"], INPUT[type="reset"] {
|
||||
|
@ -97,8 +98,6 @@ h3, .content, .throw, .row1 { background-color: #ddd; }
|
|||
|
||||
UL.thumbnails span.wrap2:hover { background-color:#7CBA0F; color:#999; }
|
||||
UL.thumbnails span.wrap2 {
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
background-color:#ddd;
|
||||
}
|
||||
|
||||
|
@ -111,7 +110,7 @@ TEXTAREA { cursor:text; font-size: 13px; }
|
|||
.tagSelected LABEL {color:black;}
|
||||
|
||||
.content ul.categoryActions a img { margin-left: 10px; }
|
||||
ul.thumbnails input { border:3px double #666; color:#666; font-size:10px; margin:0; background-color:#bbb; text-align: center;}
|
||||
ul.thumbnails input { color:#666; font-size:10px; margin:0; background-color:#bbb; text-align: center;}
|
||||
INPUT.bigbutton:hover { background-color: #ddd; color:#0cc; border: 0; }
|
||||
.throw { font-size: 120%; line-height: 26px; padding-top: 10px; font-weight: bold; }
|
||||
label { cursor:pointer }
|
||||
|
@ -239,6 +238,10 @@ body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body
|
|||
#ui-datepicker-div .ui-datepicker-days-cell { background-color:#bbb; border:1px solid #ddd; border-top-color: #bbb; border-left-color: #bbb;}
|
||||
img.ui-datepicker-trigger{margin:-2px 10px 1px -2px;}
|
||||
|
||||
.ui-slider { background:#ddd;border-radius:2px;border:1px solid #999; }
|
||||
.ui-slider .ui-slider-handle { border:1px solid #005e89;background:#fff;border-radius:0.6em; }
|
||||
.ui-slider .ui-slider-range { background:#999;border-radius:2px; }
|
||||
|
||||
INPUT[type="text"].large { width: 317px; }
|
||||
|
||||
.bigbutton {background:none;margin-right:-5px; padding: 10px;height:auto;position:static;width:auto;text-align:right;}
|
||||
|
|
BIN
admin/themes/default/images/jgrowl-alert.png
Normal file
BIN
admin/themes/default/images/jgrowl-alert.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
BIN
admin/themes/default/images/jgrowl-check.png
Normal file
BIN
admin/themes/default/images/jgrowl-check.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
BIN
admin/themes/default/images/jgrowl-error.png
Normal file
BIN
admin/themes/default/images/jgrowl-error.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.4 KiB |
|
@ -41,6 +41,9 @@ Raphael("menubarUsers", 20, 16).path("").scale(0.6, 0.6, 0, 0).attr({fill: "#464
|
|||
<li><a href="{$U_TAGS}">{'Tags'|@translate}</a></li>
|
||||
<li><a href="{$U_RECENT_SET}">{'Recent photos'|@translate}</a></li>
|
||||
<li><a href="{$U_BATCH}">{'Batch Manager'|@translate}</a></li>
|
||||
{if $NB_PHOTOS_IN_CADDIE > 0}
|
||||
<li><a href="{$U_CADDIE}">{'Caddie'|@translate}<span class="adminMenubarCounter">{$NB_PHOTOS_IN_CADDIE}</span></a></li>
|
||||
{/if}
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
|
|
|
@ -50,6 +50,7 @@ jQuery(document).ready(function() {
|
|||
$(this).click(function(event) {console.log(event.shiftKey);$(this).triggerHandler("shclick",event)});
|
||||
});
|
||||
}
|
||||
$('ul.thumbnails').enableShiftClick();
|
||||
});
|
||||
{/literal}{/footer_script}
|
||||
|
||||
|
@ -481,17 +482,7 @@ $(document).ready(function() {
|
|||
checkPermitAction()
|
||||
});
|
||||
|
||||
jQuery(window).load(function() {
|
||||
var max_w=0, max_h=0;
|
||||
$(".thumbnails img").each(function () {
|
||||
max_w = Math.max(max_w, $(this).width() );
|
||||
max_h = Math.max(max_h, $(this).height() );
|
||||
});
|
||||
max_w += 10;
|
||||
max_h += 35;
|
||||
$("ul.thumbnails span, ul.thumbnails label").css('width', max_w+'px').css('height', max_h+'px');
|
||||
$('ul.thumbnails').enableShiftClick();
|
||||
});
|
||||
|
||||
{/literal}{/footer_script}
|
||||
|
||||
<div id="batchManagerGlobal">
|
||||
|
@ -499,6 +490,7 @@ jQuery(window).load(function() {
|
|||
<h2>{'Batch Manager'|@translate}</h2>
|
||||
|
||||
<form action="{$F_ACTION}" method="post">
|
||||
<input type="hidden" name="start" value="{$START}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{'Filter'|@translate}</legend>
|
||||
|
@ -510,7 +502,7 @@ jQuery(window).load(function() {
|
|||
{'Predefined filter'|@translate}
|
||||
<select name="filter_prefilter">
|
||||
{foreach from=$prefilters item=prefilter}
|
||||
<option value="{$prefilter.ID}" {if $filter.prefilter eq $prefilter.ID}selected="selected"{/if}>{$prefilter.NAME}</option>
|
||||
<option value="{$prefilter.ID}" {if isset($filter.prefilter) && $filter.prefilter eq $prefilter.ID}selected="selected"{/if}>{$prefilter.NAME}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</li>
|
||||
|
@ -528,9 +520,9 @@ jQuery(window).load(function() {
|
|||
<input type="checkbox" name="filter_tags_use" class="useFilterCheckbox" {if isset($filter.tags)}checked="checked"{/if}>
|
||||
{'Tags'|@translate}
|
||||
<select id="tagsFilter" name="filter_tags">
|
||||
{foreach from=$filter_tags item=tag}
|
||||
{if isset($filter_tags)}{foreach from=$filter_tags item=tag}
|
||||
<option value="{$tag.id}">{$tag.name}</option>
|
||||
{/foreach}
|
||||
{/foreach}{/if}
|
||||
</select>
|
||||
<label><span><input type="radio" name="tag_mode" value="AND" {if !isset($filter.tag_mode) or $filter.tag_mode eq 'AND'}checked="checked"{/if}> {'All tags'|@translate}</span></label>
|
||||
<label><span><input type="radio" name="tag_mode" value="OR" {if isset($filter.tag_mode) and $filter.tag_mode eq 'OR'}checked="checked"{/if}> {'Any tag'|@translate}</span></label>
|
||||
|
@ -546,7 +538,7 @@ jQuery(window).load(function() {
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="actionButtons" style="">
|
||||
<p class="actionButtons">
|
||||
<select id="addFilter">
|
||||
<option value="-1">{'Add a filter'|@translate}</option>
|
||||
<option disabled="disabled">------------------</option>
|
||||
|
@ -586,32 +578,34 @@ jQuery(window).load(function() {
|
|||
<input type="checkbox" name="setSelected" style="display:none" {if count($selection) == $nb_thumbs_set}checked="checked"{/if}>
|
||||
</p>
|
||||
|
||||
<ul class="thumbnails">
|
||||
{foreach from=$thumbnails item=thumbnail}
|
||||
{if in_array($thumbnail.ID, $selection)}
|
||||
{assign var='isSelected' value=true}
|
||||
{else}
|
||||
{assign var='isSelected' value=false}
|
||||
{/if}
|
||||
<li>
|
||||
<span class="wrap1">
|
||||
<label>
|
||||
<span class="wrap2{if $isSelected} thumbSelected{/if}">
|
||||
<div class="actions"><a href="{$thumbnail.FILE_SRC}" class="preview-box">{'Zoom'|@translate}</a> · <a href="{$thumbnail.U_EDIT}" target="_blank">{'Edit'|@translate}</a></div>
|
||||
{if $thumbnail.LEVEL > 0}
|
||||
<em class="levelIndicatorB">{$pwg->l10n($pwg->sprintf('Level %d',$thumbnail.LEVEL))}</em>
|
||||
<em class="levelIndicatorF" title="{'Who can see these photos?'|@translate} : ">{$pwg->l10n($pwg->sprintf('Level %d',$thumbnail.LEVEL))}</em>
|
||||
{/if}
|
||||
<span>
|
||||
<img src="{$thumbnail.TN_SRC}" alt="{$thumbnail.FILE}" title="{$thumbnail.TITLE|@escape:'html'}" class="thumbnail">
|
||||
</span>
|
||||
</span>
|
||||
<input type="checkbox" name="selection[]" value="{$thumbnail.ID}" {if $isSelected}checked="checked"{/if}>
|
||||
</label>
|
||||
</span>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
<ul class="thumbnails">
|
||||
{html_style}
|
||||
UL.thumbnails SPAN.wrap2{ldelim}
|
||||
width: {$thumb_params->max_width()+2}px;
|
||||
}
|
||||
UL.thumbnails SPAN.wrap2 {ldelim}
|
||||
height: {$thumb_params->max_height()+25}px;
|
||||
}
|
||||
{/html_style}
|
||||
{foreach from=$thumbnails item=thumbnail}
|
||||
{assign var='isSelected' value=$thumbnail.id|@in_array:$selection}
|
||||
<li>
|
||||
<span class="wrap1">
|
||||
<label>
|
||||
<input type="checkbox" name="selection[]" value="{$thumbnail.id}" {if $isSelected}checked="checked"{/if}>
|
||||
<span class="wrap2{if $isSelected} thumbSelected{/if}">
|
||||
<div class="actions"><a href="{$thumbnail.FILE_SRC}" class="preview-box">{'Zoom'|@translate}</a> · <a href="{$thumbnail.U_EDIT}" target="_blank">{'Edit'|@translate}</a></div>
|
||||
{if $thumbnail.level > 0}
|
||||
<em class="levelIndicatorB">{$pwg->l10n($pwg->sprintf('Level %d',$thumbnail.level))}</em>
|
||||
<em class="levelIndicatorF" title="{'Who can see these photos?'|@translate} : ">{$pwg->l10n($pwg->sprintf('Level %d',$thumbnail.level))}</em>
|
||||
{/if}
|
||||
<img src="{$thumbnail.thumb->get_url()}" alt="{$thumbnail.file}" title="{$thumbnail.TITLE|@escape:'html'}" {$thumbnail.thumb->get_size_htm()}>
|
||||
</span>
|
||||
</label>
|
||||
</span>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
{if !empty($navbar) }
|
||||
<div style="clear:both;">
|
||||
|
@ -713,7 +707,7 @@ jQuery(window).load(function() {
|
|||
|
||||
<!-- del_tags -->
|
||||
<div id="action_del_tags" class="bulkAction">
|
||||
{$DEL_TAG_SELECTION}
|
||||
{if !empty($DEL_TAG_SELECTION)}{$DEL_TAG_SELECTION}{/if}
|
||||
</div>
|
||||
|
||||
<!-- author -->
|
||||
|
|
|
@ -131,6 +131,8 @@ jQuery(document).ready(function() {ldelim}
|
|||
</fieldset>
|
||||
{/foreach}
|
||||
|
||||
{if !empty($navbar) }{include file='navigation_bar.tpl'|@get_extent:'navbar'}{/if}
|
||||
|
||||
<p>
|
||||
<input class="submit" type="submit" value="{'Submit'|@translate}" name="submit">
|
||||
<input class="submit" type="reset" value="{'Reset'|@translate}">
|
||||
|
|
|
@ -58,53 +58,55 @@ jQuery(document).ready(function(){
|
|||
{/literal}{/footer_script}
|
||||
|
||||
<h2><span style="letter-spacing:0">{$CATEGORIES_NAV}</span> › {'Album list management'|@translate}</h2>
|
||||
|
||||
<form id="categoryOrdering" action="{$F_ACTION}" method="post">
|
||||
<input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
|
||||
|
||||
<p class="showCreateAlbum">
|
||||
<span id="notManualOrder">
|
||||
<a href="#" id="addAlbumOpen">{'create a new album'|@translate}</a>
|
||||
| <a href="#" id="autoOrderOpen">{'apply automatic sort order'|@translate}</a>
|
||||
{if count($categories) }| <a href="#" id="autoOrderOpen">{'apply automatic sort order'|@translate}</a>{/if}
|
||||
</span>
|
||||
</p>
|
||||
<form id="formCreateAlbum" action="{$F_ACTION}" method="post">
|
||||
<p>
|
||||
<fieldset id="createAlbum" style="display:none;">
|
||||
<legend>{'create a new album'|@translate}</legend>
|
||||
<input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
|
||||
<p><strong>{'Album name'|@translate}</strong>
|
||||
<br><input type="text" name="virtual_name" maxlength="255">
|
||||
</p>
|
||||
<span class="actionButtons">
|
||||
<input class="submit" type="submit" value="{'Create'|@translate}" name="submitAdd">
|
||||
<a href="#" id="addAlbumClose">{'Cancel'|@translate}</a>
|
||||
</span>
|
||||
</fieldset>
|
||||
</p>
|
||||
</form>
|
||||
<form id="categoryOrdering" action="{$F_ACTION}" method="post">
|
||||
<input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
|
||||
{if count($categories) }
|
||||
<fieldset id="autoOrder" style="display:none;">
|
||||
<legend>{'Automatic sort order'|@translate}</legend>
|
||||
<p><strong>{'Sort order'|@translate}</strong>
|
||||
<br><label><input type="radio" value="asc" name="ascdesc" checked="checked">{'ascending'|@translate}</label>
|
||||
<br><label><input type="radio" value="desc" name="ascdesc">{'descending'|@translate}</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label><input type="checkbox" name="recursive"> <strong>{'Apply to sub-albums'|@translate}</strong></label>
|
||||
</p>
|
||||
|
||||
<p class="actionButtons">
|
||||
<input class="submit" name="submitAutoOrder" type="submit" value="{'Save order'|@translate}">
|
||||
<a href="#" id="autoOrderClose">{'Cancel'|@translate}</a>
|
||||
</p>
|
||||
</fieldset>
|
||||
{/if}
|
||||
<p>
|
||||
<span id="manualOrder" style="display:none;">
|
||||
<input class="submit" name="submitManualOrder" type="submit" value="{'Save manual order'|@translate}">
|
||||
{'... or '|@translate} <a href="#" id="cancelManualOrder">{'cancel manual order'|@translate}</a>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<fieldset id="createAlbum" style="display:none;">
|
||||
<legend>{'create a new album'|@translate}</legend>
|
||||
<input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
|
||||
|
||||
<p><strong>{'Album name'|@translate}</strong>
|
||||
<br><input type="text" name="virtual_name">
|
||||
</p>
|
||||
<p class="actionButtons">
|
||||
<input class="submit" type="submit" value="{'Create'|@translate}" name="submitAdd">
|
||||
<a href="#" id="addAlbumClose">{'Cancel'|@translate}</a>
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
{if count($categories) }
|
||||
|
||||
<fieldset id="autoOrder" style="display:none;">
|
||||
<legend>{'Automatic sort order'|@translate}</legend>
|
||||
<p><strong>{'Sort order'|@translate}</strong>
|
||||
<br><label><input type="radio" value="asc" name="ascdesc" checked="checked">{'ascending'|@translate}</label>
|
||||
<br><label><input type="radio" value="desc" name="ascdesc">{'descending'|@translate}</label>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label><input type="checkbox" name="recursive"> <strong>{'Apply to sub-albums'|@translate}</strong></label>
|
||||
</p>
|
||||
|
||||
<p class="actionButtons">
|
||||
<input class="submit" name="submitAutoOrder" type="submit" value="{'Save order'|@translate}">
|
||||
<a href="#" id="autoOrderClose">{'Cancel'|@translate}</a>
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
|
||||
<ul class="categoryUl">
|
||||
|
||||
{foreach from=$categories item=category}
|
||||
|
@ -122,7 +124,7 @@ jQuery(document).ready(function(){
|
|||
</label>
|
||||
</p>
|
||||
|
||||
<p class="albumActions">
|
||||
<p class="albumActions">
|
||||
<a href="{$category.U_EDIT}">{'Edit'|@translate}</a>
|
||||
{if isset($category.U_MANAGE_ELEMENTS) }
|
||||
| <a href="{$category.U_MANAGE_ELEMENTS}">{'manage album photos'|@translate}</a>
|
||||
|
@ -133,12 +135,12 @@ jQuery(document).ready(function(){
|
|||
{/if}
|
||||
{if isset($category.U_DELETE) }
|
||||
| <a href="{$category.U_DELETE}" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');">{'delete album'|@translate}</a>
|
||||
{/if}
|
||||
{if cat_admin_access($category.ID)}
|
||||
|
|
||||
<a href="{$category.U_JUMPTO}">{'jump to album'|@translate} →</a>
|
||||
{/if}
|
||||
</p>
|
||||
{/if}
|
||||
{if cat_admin_access($category.ID)}
|
||||
|
|
||||
<a href="{$category.U_JUMPTO}">{'jump to album'|@translate} →</a>
|
||||
{/if}
|
||||
</p>
|
||||
|
||||
</li>
|
||||
{/foreach}
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
<p>
|
||||
<strong>{'Name'|@translate}</strong>
|
||||
<br>
|
||||
<input type="text" class="large" name="name" value="{$CAT_NAME}" maxlength="60">
|
||||
<input type="text" class="large" name="name" value="{$CAT_NAME}" maxlength="255">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
|
@ -13,11 +13,11 @@ jQuery(document).ready(function(){
|
|||
}
|
||||
|
||||
jQuery(".checkComment").click(function(event) {
|
||||
var checkbox = jQuery(this).children("input[type=checkbox]");
|
||||
if (event.target.type !== 'checkbox') {
|
||||
var checkbox = jQuery(this).children("input[type=checkbox]");
|
||||
jQuery(checkbox).attr('checked', !jQuery(checkbox).is(':checked'));
|
||||
highlighComments();
|
||||
}
|
||||
highlighComments();
|
||||
});
|
||||
|
||||
jQuery("#commentSelectAll").click(function () {
|
||||
|
|
|
@ -454,6 +454,15 @@ jQuery(document).ready(function(){
|
|||
<p style="margin:10px 0 0 0;{if isset($ferrors)} display:block;{/if}" class="sizeDetails">
|
||||
<a href="{$F_ACTION}&action=restore_settings" onclick="return confirm('{'Are you sure?'|@translate|@escape:javascript}');">{'Reset to default values'|@translate}</a>
|
||||
</p>
|
||||
|
||||
{if !empty($custom_derivatives)}
|
||||
<fieldset class="sizeDetails"><legend>{'custom'|@translate}</legend><table style="margin:0">
|
||||
{foreach from=$custom_derivatives item=time key=custom}
|
||||
<tr><td><label><input type="checkbox" name="delete_custom_derivative_{$custom}"> {'Delete'|@translate} {$custom} ({'Last hit'|@translate}: {$time})</label></td></tr>
|
||||
{/foreach}
|
||||
</table></fieldset>
|
||||
{/if}
|
||||
|
||||
</fieldset>
|
||||
{/if}
|
||||
|
||||
|
@ -509,7 +518,7 @@ jQuery(document).ready(function() {
|
|||
<span id="addWatermark"{if isset($ferrors.watermarkImage)} style="display:inline"{/if}>
|
||||
{'add a new watermark'|@translate} {'... or '|@translate}<a href="#" class="addWatermarkOpen">{'Select a file'|@translate}</a>
|
||||
<br><input type="file" size="60" id="watermarkImage" name="watermarkImage"{if isset($ferrors.watermarkImage)} class="dError"{/if}> (png)
|
||||
{if isset($ferrors.watermarkImage)}<span class="dErrorDesc" title="{$ferrors.watermarkImage}">!</span>{/if}
|
||||
{if isset($ferrors.watermarkImage)}<span class="dErrorDesc" title="{$ferrors.watermarkImage|@htmlspecialchars}">!</span>{/if}
|
||||
</span>{* #addWatermark *}
|
||||
</li>
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ jQuery(document).ready(function() {
|
|||
checkOrderOptions();
|
||||
});
|
||||
jQuery(document).ready(function() {
|
||||
jQuery('.clipwrapper').tipTip({
|
||||
jQuery('.thumbnail').tipTip({
|
||||
'delay' : 0,
|
||||
'fadeIn' : 200,
|
||||
'fadeOut' : 200
|
||||
|
@ -51,7 +51,7 @@ jQuery('.clipwrapper').tipTip({
|
|||
<ul class="thumbnails">
|
||||
{foreach from=$thumbnails item=thumbnail}
|
||||
<li class="rank-of-image">
|
||||
<img src="{$thumbnail.TN_SRC}" class="thumbnail" alt="{$thumbnail.NAME|@replace:'"':' '}" style="width:{$thumbnail.SIZE[0]}px; height:{$thumbnail.SIZE[1]}px; ">
|
||||
<img src="{$thumbnail.TN_SRC}" class="thumbnail" alt="{$thumbnail.NAME|@replace:'"':' '}" title="{$thumbnail.NAME|@replace:'"':' '}" style="width:{$thumbnail.SIZE[0]}px; height:{$thumbnail.SIZE[1]}px; ">
|
||||
<input type="text" name="rank_of_image[{$thumbnail.ID}]" value="{$thumbnail.RANK}" style="display:none">
|
||||
</li>
|
||||
{/foreach}
|
||||
|
|
|
@ -95,7 +95,7 @@ jQuery(document).ready(function(){
|
|||
{html_options options=$category_parent_options selected=$category_parent_options_selected}
|
||||
</select>
|
||||
|
||||
<br><br>{'Album name'|@translate}<br><input name="category_name" type="text"> <span id="categoryNameError"></span>
|
||||
<br><br>{'Album name'|@translate}<br><input name="category_name" type="text" maxlength="255"> <span id="categoryNameError"></span>
|
||||
<br><br><br><input type="submit" value="{'Create'|@translate}"> <span id="albumCreationLoading" style="display:none"><img src="themes/default/images/ajax-loader-small.gif"></span>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -40,7 +40,7 @@ jQuery(document).ready(function(){
|
|||
{foreach from=$tags item=tag}
|
||||
<tr>
|
||||
<td>{$tag.NAME}</td>
|
||||
<td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}" size="30"></td>
|
||||
<td><input type="text" name="tag_name-{$tag.ID}" value="{$tag.NAME}" size="50"></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</table>
|
||||
|
@ -71,7 +71,7 @@ jQuery(document).ready(function(){
|
|||
|
||||
<label>
|
||||
{'New tag'|@translate}
|
||||
<input type="text" name="add_tag" size="30">
|
||||
<input type="text" name="add_tag" size="50">
|
||||
</label>
|
||||
|
||||
<p><input class="submit" type="submit" name="add" value="{'Submit'|@translate}"></p>
|
||||
|
@ -79,8 +79,29 @@ jQuery(document).ready(function(){
|
|||
|
||||
<fieldset>
|
||||
<legend>{'Tag selection'|@translate}</legend>
|
||||
|
||||
{$TAG_SELECTION}
|
||||
{html_style}
|
||||
.showInfo{ldelim}position:static; display:inline-block; text-indent:6px}
|
||||
{/html_style}
|
||||
{footer_script}{literal}
|
||||
jQuery('.showInfo').tipTip({
|
||||
'delay' : 0,
|
||||
'fadeIn' : 200,
|
||||
'fadeOut' : 200,
|
||||
'maxWidth':'300px',
|
||||
'keepAlive':true,
|
||||
'activation':'click'
|
||||
});
|
||||
{/literal}{/footer_script}
|
||||
<ul class="tagSelection">
|
||||
{foreach from=$all_tags item=tag}
|
||||
<li>{capture name='showInfo'}<b>{$tag.name}</b><br>{$pwg->l10n_dec('%d photo', '%d photos', $tag.counter)} <a href="{$tag.U_VIEW}">{'View'|@translate}</a> <a href="{$tag.U_EDIT}">{'Batch Manager'|@translate}</a>{if !empty($tag.alt_names)}<br>{$tag.alt_names}{/if}{/capture}
|
||||
<a class="showInfo" title="{$smarty.capture.showInfo|@htmlspecialchars}">i</a>
|
||||
<label>
|
||||
<input type="checkbox" name="tags[]" value="{$tag.id}"> {$tag.name}
|
||||
</label>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
<input type="hidden" name="pwg_token" value="{$PWG_TOKEN}">
|
||||
|
|
|
@ -42,12 +42,13 @@ UL.thumbnails li.rank-of-image {
|
|||
float: left;
|
||||
background-color: #333;
|
||||
color: #666;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
display: block;
|
||||
width: 104px;
|
||||
height: 104px;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
cursor: move;
|
||||
margin: 10px;
|
||||
margin: 4px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.clipwrapper {
|
||||
position:relative;
|
||||
|
@ -58,8 +59,7 @@ UL.thumbnails li.rank-of-image {
|
|||
.clip {
|
||||
position:absolute;
|
||||
}
|
||||
UL.thumbnails li.rank-of-image input {
|
||||
}
|
||||
|
||||
UL.thumbnails SPAN.wrap1 {
|
||||
margin: 5px;
|
||||
display: table-cell; display: inline-table;
|
||||
|
@ -71,25 +71,28 @@ UL.thumbnails SPAN.wrap2 {
|
|||
margin: 0; /* important reset the margins */
|
||||
display: table-cell; /* block prevents vertical-align here */
|
||||
vertical-align: middle; /* Ok with Opera and Geko not IE6 */
|
||||
border-radius: 4px;
|
||||
}
|
||||
UL.thumbnails LABEL { display: block; border-bottom: none; }
|
||||
UL.thumbnails LABEL {
|
||||
position: relative;
|
||||
display: block;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
UL.thumbnails IMG {
|
||||
margin-bottom: -4px; /* why ??? something wrong with Geko and Opera ignored by IE6*/
|
||||
vertical-align: middle;
|
||||
margin-top: 12px;
|
||||
}
|
||||
UL.thumbnails LABEL { position: relative; }
|
||||
|
||||
UL.thumbnails INPUT {
|
||||
position: relative; /* <= Opera can handle relative here */
|
||||
top: -20px;
|
||||
}
|
||||
:root UL.thumbnails INPUT { /* hide from Opera */
|
||||
position: absolute; /* <= Opera hide 1 checkbox over 2 !!! */
|
||||
position: absolute;
|
||||
left: 2px; top: 2px;
|
||||
}
|
||||
UL.thumbnails .levelIndicatorB {
|
||||
display:block; position:absolute; z-index:100;padding:0px 0 0 14px; color:black; font-weight:bold; font-size:120%;
|
||||
display:block; position:absolute; z-index:100; padding:7px 0 0 2px; color:black; font-weight:bold; font-size:120%;
|
||||
}
|
||||
UL.thumbnails .levelIndicatorF {
|
||||
display:block; position:absolute; z-index:101;padding:1px 0 0 15px; color:white; font-weight:bold; font-size:120%;
|
||||
display:block; position:absolute; z-index:101; padding:8px 0 0 3px; color:white; font-weight:bold; font-size:120%;
|
||||
}
|
||||
|
||||
/* default-layout.css */
|
||||
|
@ -297,7 +300,7 @@ text-align: left;
|
|||
font-size: 150%;
|
||||
font-weight: normal;
|
||||
font-style:italic;
|
||||
padding: 8px 0 0 10px;
|
||||
padding: 2px 0 0 10px;
|
||||
margin: 0;
|
||||
float:left;
|
||||
}
|
||||
|
@ -306,7 +309,7 @@ float:left;
|
|||
#pwgHead A {color:#ccc;}
|
||||
#pwgHead A:hover {color:#fff;border-bottom:1px solid #fff}
|
||||
|
||||
#headActions {float:right; height:46px; line-height:46px; margin-right:10px;}
|
||||
#headActions {float:right; height:36px; line-height:36px; margin-right:10px;}
|
||||
|
||||
A {
|
||||
text-decoration:none;
|
||||
|
@ -589,7 +592,7 @@ img.ui-datepicker-trigger {
|
|||
|
||||
#pwgHead {
|
||||
background-color:#464646;
|
||||
height:46px;
|
||||
height: 36px;
|
||||
}
|
||||
|
||||
html, body {height:100%; margin:0; padding:0;}
|
||||
|
@ -603,11 +606,12 @@ html, body {height:100%; margin:0; padding:0;}
|
|||
position:absolute;
|
||||
bottom:0;
|
||||
width:100%;
|
||||
height:46px;
|
||||
background: url(images/logo.png) no-repeat 7px 8px;
|
||||
background-color:#464646;
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: 7px 2px;
|
||||
background-color:#464646;
|
||||
color:#aaa;
|
||||
line-height:46px;
|
||||
}
|
||||
|
||||
#footer A {color:#ccc;}
|
||||
|
@ -768,17 +772,6 @@ BODY {
|
|||
#thePopuphelpPage #pwgHead {display:none}
|
||||
#thePopuphelpPage #footer {display:none}
|
||||
|
||||
/* Set some sizes according to your maximum thumbnail width and height */
|
||||
UL.thumbnails SPAN,
|
||||
UL.thumbnails SPAN.wrap2 A,
|
||||
UL.thumbnails LABEL {
|
||||
width: 140px; /* max thumbnail width + 2px */
|
||||
}
|
||||
UL.thumbnails SPAN.wrap2 {
|
||||
height: 140px; /* max thumbnail height + 2px */
|
||||
}
|
||||
|
||||
|
||||
.themeBox {display:inline-table; text-align:center; height:192px; background-color:#eee; margin:5px; -moz-border-radius:5px; overflow:hidden; }
|
||||
|
||||
.themeBox IMG {border:1px solid white; margin:0 15px;}
|
||||
|
@ -874,7 +867,7 @@ h2:lang(en) { text-transform:capitalize; }
|
|||
.pluginActions {display: table-row; font-size:0.95em; color:#777;}
|
||||
.pluginActions DIV {display: table-cell; vertical-align: middle; line-height:18px; }
|
||||
.showInfo {display:block;position:absolute;top:0;right:5px;width:15px;font-style:italic;font-family:"Georgia",serif;background-color:#464646;font-size:0.9em;border-radius:10px;-moz-border-radius:10px;}
|
||||
.showInfo:hover {cursor:pointer}
|
||||
.showInfo:hover {cursor:pointer;border:none;}
|
||||
|
||||
.warning:before {content:url(icon/warning.png);vertical-align:top;}
|
||||
.deactivate_all {text-align:right;font-size:0.95em;}
|
||||
|
@ -978,7 +971,7 @@ LEGEND {
|
|||
#batchManagerGlobal ul.thumbnails div.actions a {color:#fff;}
|
||||
#batchManagerGlobal ul.thumbnails div.actions a:hover {border-color:#fff;}
|
||||
#batchManagerGlobal ul.thumbnails span.wrap1:hover div.actions {display:block;}
|
||||
#batchManagerGlobal #selectedMessage {padding:5px; -moz-border-radius:5px;-webkit-border-radius:5px;}
|
||||
#batchManagerGlobal #selectedMessage {padding:5px; border-radius:5px;}
|
||||
#batchManagerGlobal #selectSet a {border-bottom:1px dotted;}
|
||||
#batchManagerGlobal #applyOnDetails {font-style:italic;}
|
||||
#batchManagerGlobal .actionButtons {text-align:left;}
|
||||
|
@ -1113,4 +1106,15 @@ input[type="text"].dError {border-color:#ff7070; background-color:#FFe5e5;}
|
|||
.dErrorDesc {background-color:red; color:white; padding:0 5px;border-radius:10px; font-weight:bold;cursor:help;}
|
||||
|
||||
#wImg {max-height:100px;border:2px solid #ccc;margin-top:5px;}
|
||||
#addWatermark {display:none;}
|
||||
#addWatermark {display:none;}
|
||||
|
||||
.adminMenubarCounter {
|
||||
background-color:#666;
|
||||
color:white;
|
||||
padding:1px 5px;
|
||||
border-radius:10px;
|
||||
-moz-border-radius:10px;
|
||||
-webkit-border-radius:10px;
|
||||
-border-radius:10px;
|
||||
margin-left:5px;
|
||||
}
|
|
@ -8,13 +8,16 @@ Co-developed by Travis Nickels
|
|||
|
||||
/** Uploadify Styling here Styling **/
|
||||
div.jGrowl div.success {
|
||||
background: url(images/Check.png) no-repeat 6px 6px;
|
||||
background: url(images/jgrowl-check.png) no-repeat 6px 6px;
|
||||
}
|
||||
div.jGrowl div.error {
|
||||
background: url(images/Error.png) no-repeat 6px 6px;
|
||||
background: url(images/jgrowl-error.png) no-repeat 6px center;
|
||||
}
|
||||
div.jGrowl div.warning {
|
||||
background: url(images/Alert.png) no-repeat 6px 6px;
|
||||
background: url(images/jgrowl-alert.png) no-repeat 6px 6px;
|
||||
}
|
||||
div.jGrowl div.warning:before {
|
||||
content:none;
|
||||
}
|
||||
|
||||
div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
|
||||
|
@ -66,11 +69,11 @@ div.jGrowl div.jGrowl-closer {
|
|||
div.jGrowl div.jGrowl-notification div.header {
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
margin-left: 60px;
|
||||
margin-left: 47px;
|
||||
}
|
||||
div.jGrowl div.jGrowl-notification div.message {
|
||||
font-size: 12px;
|
||||
margin-left: 60px;
|
||||
margin-left: 47px;
|
||||
}
|
||||
div.jGrowl div.jGrowl-notification p {
|
||||
font-size: 6px;
|
||||
|
|
|
@ -64,8 +64,6 @@ h3, .row2, .content { background-color: #222; }
|
|||
|
||||
UL.thumbnails span.wrap2:hover { background-color#7CBA0F; color:#666; }
|
||||
UL.thumbnails span.wrap2 {
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
background-color:#333;
|
||||
}
|
||||
|
||||
|
@ -80,7 +78,7 @@ TEXTAREA { cursor:text; font-size: 13px; }
|
|||
.tagSelection LI.tagSelected {background-color:#aaa;}
|
||||
.tagSelected LABEL {color:#000;}
|
||||
.content ul.categoryActions a img { margin-left: 10px; }
|
||||
ul.thumbnails input { border:3px double #999; color:#999; font-size:10px; margin:0; background-color:#444; text-align: center;}
|
||||
ul.thumbnails input { color:#999; font-size:10px; margin:0; background-color:#444; text-align: center;}
|
||||
INPUT[type="submit"]:hover , INPUT[type="reset"]:hover { cursor: pointer; }
|
||||
INPUT.bigbutton:hover { background-color: #222; color:#f33; border: 0; }
|
||||
.throw { font-size: 120%; line-height: 26px; padding-top: 10px; font-weight: bold; color: #ff3363; }
|
||||
|
@ -186,6 +184,10 @@ body .ui-resizable-autohide .ui-resizable-handle { display: none; } /* use 'body
|
|||
.ui-datepicker th {color:#ccc;}
|
||||
.ui-state-disabled {color:#aaa;}
|
||||
|
||||
.ui-slider { background:#444;border-radius:2px;border:1px solid #666; }
|
||||
.ui-slider .ui-slider-handle { border:1px solid #f36;background:#222;border-radius:0.6em; }
|
||||
.ui-slider .ui-slider-range { background:#666;border-radius:2px; }
|
||||
|
||||
#ui-datepicker-div .ui-datepicker-control, #ui-datepicker-div a { background-color: #111; color: #f70 !important;}
|
||||
#ui-datepicker-div .ui-datepicker-days-row { background-color: #444;}
|
||||
#ui-datepicker-div .ui-datepicker-week-end-cell, #ui-datepicker-div .ui-datepicker-week-end-cell a { background-color: #222; color: #f33; border-color: #444; border-top-color: #222; border-left-color: #222;}
|
||||
|
|
|
@ -34,8 +34,7 @@ else
|
|||
$page['tab'] = 'pwg';
|
||||
|
||||
$tabsheet = new tabsheet();
|
||||
$tabsheet->add('pwg', l10n('Piwigo Update'), $my_base_url);
|
||||
$tabsheet->add('ext', l10n('Extensions Update'), $my_base_url.'&tab=ext');
|
||||
$tabsheet->set_id('updates');
|
||||
$tabsheet->select($page['tab']);
|
||||
$tabsheet->assign();
|
||||
|
||||
|
|
56
i.php
56
i.php
|
@ -104,6 +104,7 @@ function ierror($msg, $code)
|
|||
header('Request-URI: '.$url);
|
||||
header('Content-Location: '.$url);
|
||||
header('Location: '.$url);
|
||||
ilog('WARN', $code, $url, $_SERVER['REQUEST_URI']);
|
||||
exit;
|
||||
}
|
||||
if ($code>=400)
|
||||
|
@ -189,6 +190,7 @@ function parse_request()
|
|||
{
|
||||
$req = substr($req, 0, $pos);
|
||||
}
|
||||
$req = rawurldecode($req);
|
||||
/*foreach (array_keys($_GET) as $keynum => $key)
|
||||
{
|
||||
$req = $key;
|
||||
|
@ -203,7 +205,7 @@ function parse_request()
|
|||
{
|
||||
preg_match($conf['sync_chars_regex'], $token) or ierror('Invalid chars in request', 400);
|
||||
}
|
||||
|
||||
|
||||
$page['derivative_path'] = PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR.$req;
|
||||
|
||||
$pos = strrpos($req, '.');
|
||||
|
@ -282,12 +284,34 @@ function parse_request()
|
|||
function try_switch_source(DerivativeParams $params, $original_mtime)
|
||||
{
|
||||
global $page;
|
||||
$original_size = null;
|
||||
if (isset($page['original_size']))
|
||||
{
|
||||
$original_size = $page['original_size'];
|
||||
if ($page['rotation_angle']==90 || $page['rotation_angle']==270)
|
||||
{
|
||||
$tmp = $original_size[0];
|
||||
$original_size[0] = $original_size[1];
|
||||
$original_size[1] = $tmp;
|
||||
}
|
||||
}
|
||||
|
||||
$use_watermark = $params->use_watermark;
|
||||
if ($use_watermark)
|
||||
{
|
||||
if (!isset($original_size))
|
||||
return false; // cannot really know if a watermark is required
|
||||
$dsize = $params->compute_final_size($original_size);
|
||||
$use_watermark = $params->will_watermark($dsize);
|
||||
ilog($use_watermark, $dsize);
|
||||
}
|
||||
|
||||
$candidates = array();
|
||||
foreach(ImageStdParams::get_defined_type_map() as $candidate)
|
||||
{
|
||||
if ($candidate->type == $params->type)
|
||||
continue;
|
||||
if ($candidate->use_watermark != $params->use_watermark)
|
||||
if ($candidate->use_watermark != $use_watermark)
|
||||
continue;
|
||||
if ($candidate->max_width() < $params->max_width() || $candidate->max_height() < $params->max_height())
|
||||
continue;
|
||||
|
@ -300,9 +324,9 @@ function try_switch_source(DerivativeParams $params, $original_mtime)
|
|||
{
|
||||
if ($candidate->sizing->max_crop!=0)
|
||||
continue; // this could be optimized
|
||||
if (!isset($page['original_size']))
|
||||
if (!isset($original_size))
|
||||
continue;
|
||||
$candidate_size = $candidate->compute_final_size($page['original_size']);
|
||||
$candidate_size = $candidate->compute_final_size($original_size);
|
||||
if ($candidate_size[0] < $params->sizing->min_size[0] || $candidate_size[1] < $params->sizing->min_size[1] )
|
||||
continue;
|
||||
}
|
||||
|
@ -323,7 +347,9 @@ function try_switch_source(DerivativeParams $params, $original_mtime)
|
|||
$page['src_path'] = $candidate_path;
|
||||
$page['src_url'] = $page['root_path'] . substr($candidate_path, strlen(PHPWG_ROOT_PATH));
|
||||
$page['rotation_angle'] = 0;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function send_derivative($expires)
|
||||
|
@ -390,6 +416,8 @@ catch (Exception $e)
|
|||
{
|
||||
ilog("db error", $e->getMessage());
|
||||
}
|
||||
pwg_db_check_charset();
|
||||
|
||||
list($conf['derivatives']) = pwg_db_fetch_row(pwg_query('SELECT value FROM '.$prefixeTable.'config WHERE param=\'derivatives\''));
|
||||
ImageStdParams::load_from_db();
|
||||
|
||||
|
@ -452,7 +480,7 @@ SELECT *
|
|||
FROM '.$prefixeTable.'images
|
||||
WHERE path=\''.$page['src_location'].'\'
|
||||
;';
|
||||
|
||||
|
||||
if ( ($row=pwg_db_fetch_assoc(pwg_query($query))) )
|
||||
{
|
||||
if (isset($row['width']))
|
||||
|
@ -464,7 +492,7 @@ SELECT *
|
|||
if (!isset($row['rotation']))
|
||||
{
|
||||
$page['rotation_angle'] = pwg_image::get_rotation_angle($page['src_path']);
|
||||
|
||||
|
||||
single_update(
|
||||
$prefixeTable.'images',
|
||||
array('rotation' => pwg_image::get_rotation_code_from_angle($page['rotation_angle'])),
|
||||
|
@ -475,7 +503,6 @@ SELECT *
|
|||
{
|
||||
$page['rotation_angle'] = pwg_image::get_rotation_angle_from_code($row['rotation']);
|
||||
}
|
||||
|
||||
}
|
||||
if (!$row)
|
||||
{
|
||||
|
@ -493,7 +520,15 @@ else
|
|||
}
|
||||
mysql_close($pwg_db_link);
|
||||
|
||||
try_switch_source($params, $src_mtime);
|
||||
if (!try_switch_source($params, $src_mtime) && $params->type==IMG_CUSTOM)
|
||||
{
|
||||
$sharpen = 0;
|
||||
foreach (ImageStdParams::get_defined_type_map() as $std_params)
|
||||
{
|
||||
$sharpen += $std_params->sharpen;
|
||||
}
|
||||
$params->sharpen = round($sharpen / count(ImageStdParams::get_defined_type_map()) );
|
||||
}
|
||||
|
||||
if (!mkgetdir(dirname($page['derivative_path'])))
|
||||
{
|
||||
|
@ -501,7 +536,7 @@ if (!mkgetdir(dirname($page['derivative_path'])))
|
|||
}
|
||||
|
||||
ignore_user_abort(true);
|
||||
set_time_limit(0);
|
||||
@set_time_limit(0);
|
||||
|
||||
$image = new pwg_image($page['src_path']);
|
||||
$timing['load'] = time_step($step);
|
||||
|
@ -540,7 +575,7 @@ if ($params->sharpen)
|
|||
$timing['sharpen'] = time_step($step);
|
||||
}
|
||||
|
||||
if ($params->use_watermark)
|
||||
if ($params->will_watermark($d_size))
|
||||
{
|
||||
$wm = ImageStdParams::get_watermark();
|
||||
$wm_image = new pwg_image(PHPWG_ROOT_PATH.$wm->file);
|
||||
|
@ -590,6 +625,7 @@ if ($d_size[0]*$d_size[1] < 256000)
|
|||
$image->set_compression_quality( ImageStdParams::$quality );
|
||||
$image->write( $page['derivative_path'] );
|
||||
$image->destroy();
|
||||
@chmod($page['derivative_path'], 0644);
|
||||
$timing['save'] = time_step($step);
|
||||
|
||||
send_derivative($expires);
|
||||
|
|
|
@ -354,7 +354,7 @@ if (count($categories) > 0)
|
|||
{
|
||||
$info = '';
|
||||
|
||||
if ($from == $to)
|
||||
if (date('Y-m-d', strtotime($from)) == date('Y-m-d', strtotime($to)))
|
||||
{
|
||||
$info = format_date($from);
|
||||
}
|
||||
|
|
|
@ -151,10 +151,8 @@ foreach ($pictures as $row)
|
|||
$tpl_thumbnails_var[] = $tpl_var;
|
||||
}
|
||||
|
||||
$derivative_params = trigger_event('get_index_derivative_params', ImageStdParams::get_by_type( pwg_get_session_var('index_deriv', IMG_THUMB) ) );
|
||||
|
||||
$template->assign( array(
|
||||
'derivative_params' =>$derivative_params,
|
||||
'derivative_params' => trigger_event('get_index_derivative_params', ImageStdParams::get_by_type( pwg_get_session_var('index_deriv', IMG_THUMB) ) ),
|
||||
'SHOW_THUMBNAIL_CAPTION' =>$conf['show_thumbnail_caption'],
|
||||
) );
|
||||
$tpl_thumbnails_var = trigger_event('loc_end_index_thumbnails', $tpl_thumbnails_var, $pictures);
|
||||
|
@ -162,6 +160,6 @@ $template->assign('thumbnails', $tpl_thumbnails_var);
|
|||
|
||||
$template->assign_var_from_handle('THUMBNAILS', 'index_thumbnails');
|
||||
unset($pictures, $selection, $tpl_thumbnails_var);
|
||||
$template->clear_assign( array('thumbnails', 'derivative_params') );
|
||||
$template->clear_assign( 'thumbnails' );
|
||||
pwg_debug('end include/category_default.inc.php');
|
||||
?>
|
|
@ -114,7 +114,7 @@ $conf['paginate_pages_around'] = 2;
|
|||
|
||||
// show_version : shall the version of Piwigo be displayed at the
|
||||
// bottom of each page ?
|
||||
$conf['show_version'] = true;
|
||||
$conf['show_version'] = false;
|
||||
|
||||
// meta_ref to reference multiple sets of incorporated pages or elements
|
||||
// Set it false to avoid referencing in google, and other search engines.
|
||||
|
@ -273,7 +273,7 @@ $conf['smtp_password'] = '';
|
|||
//
|
||||
// This configuration parameter is set to true in BSF branch and to false
|
||||
// elsewhere.
|
||||
$conf['check_upgrade_feed'] = true;
|
||||
$conf['check_upgrade_feed'] = false;
|
||||
|
||||
// rate_items: available rates for a picture
|
||||
$conf['rate_items'] = array(0,1,2,3,4,5);
|
||||
|
@ -417,7 +417,7 @@ $conf['session_length'] = 3600;
|
|||
$conf['show_queries'] = false;
|
||||
|
||||
// show_gt : display generation time at the bottom of each page
|
||||
$conf['show_gt'] = true;
|
||||
$conf['show_gt'] = false;
|
||||
|
||||
// debug_l10n : display a warning message each time an unset language key is
|
||||
// accessed
|
||||
|
@ -430,7 +430,7 @@ $conf['debug_template'] = false;
|
|||
$conf['debug_mail'] = false;
|
||||
|
||||
// die_on_sql_error: if an SQL query fails, should everything stop?
|
||||
$conf['die_on_sql_error'] = true;
|
||||
$conf['die_on_sql_error'] = false;
|
||||
|
||||
// if true, some language strings are replaced during template compilation
|
||||
// (insted of template output). this results in better performance. however
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
|
||||
// Default settings
|
||||
define('PHPWG_VERSION', '2.4.0RC3');
|
||||
define('PHPWG_VERSION', '2.4.8');
|
||||
define('PHPWG_DEFAULT_LANGUAGE', 'en_UK');
|
||||
define('PHPWG_DEFAULT_TEMPLATE', 'elegant');
|
||||
|
||||
|
|
|
@ -197,7 +197,7 @@ final class DerivativeImage
|
|||
{
|
||||
if ( $src->has_size() && $params->is_identity( $src->get_size() ) )
|
||||
{
|
||||
if (!$params->use_watermark && !$src->rotation)
|
||||
if (!$params->will_watermark($src->get_size()) && !$src->rotation)
|
||||
{
|
||||
$params = null;
|
||||
$rel_path = $rel_url = $src->rel_path;
|
||||
|
@ -314,6 +314,15 @@ final class DerivativeImage
|
|||
return $this->params->compute_final_size($this->src_image->get_size());
|
||||
}
|
||||
|
||||
function get_size_css()
|
||||
{
|
||||
$size = $this->get_size();
|
||||
if ($size)
|
||||
{
|
||||
return 'width:'.$size[0].'px; height:'.$size[1].'px';
|
||||
}
|
||||
}
|
||||
|
||||
function get_size_htm()
|
||||
{
|
||||
$size = $this->get_size();
|
||||
|
|
|
@ -281,5 +281,16 @@ final class DerivativeParams
|
|||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function will_watermark($out_size)
|
||||
{
|
||||
if ($this->use_watermark)
|
||||
{
|
||||
$min_size = ImageStdParams::get_watermark()->min_size;
|
||||
return $min_size[0]<=$out_size[0]
|
||||
|| $min_size[1]<=$out_size[1];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -203,21 +203,30 @@ function mkgetdir($dir, $flags=MKGETDIR_DEFAULT)
|
|||
/* Returns true if the string appears to be encoded in UTF-8. (from wordpress)
|
||||
* @param string Str
|
||||
*/
|
||||
function seems_utf8($Str) { # by bmorel at ssi dot fr
|
||||
function seems_utf8($Str) {
|
||||
// OBSOLETE !!!
|
||||
return qualify_utf8($Str) >= 0;
|
||||
}
|
||||
|
||||
/* returns 0 if $str is Ascii, 1 if utf-8, -1 otherwise */
|
||||
function qualify_utf8($Str)
|
||||
{
|
||||
$ret = 0;
|
||||
for ($i=0; $i<strlen($Str); $i++) {
|
||||
if (ord($Str[$i]) < 0x80) continue; # 0bbbbbbb
|
||||
elseif ((ord($Str[$i]) & 0xE0) == 0xC0) $n=1; # 110bbbbb
|
||||
$ret = 1;
|
||||
if ((ord($Str[$i]) & 0xE0) == 0xC0) $n=1; # 110bbbbb
|
||||
elseif ((ord($Str[$i]) & 0xF0) == 0xE0) $n=2; # 1110bbbb
|
||||
elseif ((ord($Str[$i]) & 0xF8) == 0xF0) $n=3; # 11110bbb
|
||||
elseif ((ord($Str[$i]) & 0xFC) == 0xF8) $n=4; # 111110bb
|
||||
elseif ((ord($Str[$i]) & 0xFE) == 0xFC) $n=5; # 1111110b
|
||||
else return false; # Does not match any model
|
||||
else return -1; # Does not match any model
|
||||
for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
|
||||
if ((++$i == strlen($Str)) || ((ord($Str[$i]) & 0xC0) != 0x80))
|
||||
return false;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/* Remove accents from a UTF-8 or ISO-859-1 string (from wordpress)
|
||||
|
@ -225,10 +234,11 @@ function seems_utf8($Str) { # by bmorel at ssi dot fr
|
|||
*/
|
||||
function remove_accents($string)
|
||||
{
|
||||
if ( !preg_match('/[\x80-\xff]/', $string) )
|
||||
return $string;
|
||||
$utf = qualify_utf8($string);
|
||||
if ( $utf == 0 )
|
||||
return $string; // ascii
|
||||
|
||||
if (seems_utf8($string)) {
|
||||
if ( $utf > 0 ) {
|
||||
$chars = array(
|
||||
// Decompositions for Latin-1 Supplement
|
||||
"\xc3\x80"=>'A', "\xc3\x81"=>'A',
|
||||
|
@ -323,6 +333,9 @@ function remove_accents($string)
|
|||
"\xc5\xba"=>'z', "\xc5\xbb"=>'Z',
|
||||
"\xc5\xbc"=>'z', "\xc5\xbd"=>'Z',
|
||||
"\xc5\xbe"=>'z', "\xc5\xbf"=>'s',
|
||||
// Decompositions for Latin Extended-B
|
||||
"\xc8\x98"=>'S', "\xc8\x99"=>'s',
|
||||
"\xc8\x9a"=>'T', "\xc8\x9b"=>'t',
|
||||
// Euro Sign
|
||||
"\xe2\x82\xac"=>'E',
|
||||
// GBP (Pound) Sign
|
||||
|
@ -353,6 +366,23 @@ function remove_accents($string)
|
|||
return $string;
|
||||
}
|
||||
|
||||
if (function_exists('mb_strtolower') && defined('PWG_CHARSET'))
|
||||
{
|
||||
function transliterate($term)
|
||||
{
|
||||
return remove_accents( mb_strtolower($term, PWG_CHARSET) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
function transliterate($term)
|
||||
{
|
||||
return remove_accents( strtolower($term) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* simplify a string to insert it into an URL
|
||||
*
|
||||
|
@ -361,16 +391,14 @@ function remove_accents($string)
|
|||
*/
|
||||
function str2url($str)
|
||||
{
|
||||
$raw = $str;
|
||||
|
||||
$str = remove_accents($str);
|
||||
$str = preg_replace('/[^a-z0-9_\s\'\:\/\[\],-]/','',strtolower($str));
|
||||
$str = $safe = transliterate($str);
|
||||
$str = preg_replace('/[^\x80-\xffa-z0-9_\s\'\:\/\[\],-]/','',$str);
|
||||
$str = preg_replace('/[\s\'\:\/\[\],-]+/',' ',trim($str));
|
||||
$res = str_replace(' ','_',$str);
|
||||
|
||||
if (empty($res))
|
||||
{
|
||||
$res = str_replace(' ','_', $raw);
|
||||
$res = str_replace(' ','_', $safe);
|
||||
}
|
||||
|
||||
return $res;
|
||||
|
@ -1643,7 +1671,7 @@ function get_device()
|
|||
{
|
||||
include_once(PHPWG_ROOT_PATH.'include/mdetect.php');
|
||||
$uagent_obj = new uagent_info();
|
||||
if ($uagent_obj->DetectTierIphone())
|
||||
if ($uagent_obj->DetectSmartphone())
|
||||
{
|
||||
$device = 'mobile';
|
||||
}
|
||||
|
@ -1677,7 +1705,6 @@ function mobile_theme()
|
|||
{
|
||||
$is_mobile_theme = get_boolean($_GET['mobile']);
|
||||
pwg_set_session_var('mobile_theme', $is_mobile_theme);
|
||||
unset($_GET['mobile']);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -300,7 +300,7 @@ function tag_alpha_compare($a, $b)
|
|||
{
|
||||
if (!isset($cache[__FUNCTION__][ $tag['name'] ]))
|
||||
{
|
||||
$cache[__FUNCTION__][ $tag['name'] ] = strtolower(str2url($tag['name']));
|
||||
$cache[__FUNCTION__][ $tag['name'] ] = transliterate($tag['name']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -434,8 +434,9 @@ $btrace_msg
|
|||
function get_tags_content_title()
|
||||
{
|
||||
global $page;
|
||||
$title = count($page['tags']) > 1 ? l10n('Tag') : l10n('Tag');
|
||||
$title.= ' ';
|
||||
$title = '<a href="'.get_root_url().'tags.php" title="'.l10n('display available tags').'">'
|
||||
. l10n( count($page['tags']) > 1 ? 'Tags' : 'Tag' )
|
||||
. '</a> ';
|
||||
|
||||
for ($i=0; $i<count($page['tags']); $i++)
|
||||
{
|
||||
|
@ -454,12 +455,7 @@ function get_tags_content_title()
|
|||
.trigger_event('render_tag_name', $page['tags'][$i]['name'])
|
||||
.'</a>';
|
||||
|
||||
$remove_url = null;
|
||||
if (count($page['tags']) == 1)
|
||||
{
|
||||
$remove_url = get_root_url().'tags.php';
|
||||
}
|
||||
else
|
||||
if (count($page['tags']) > 2)
|
||||
{
|
||||
$other_tags = $page['tags'];
|
||||
unset($other_tags[$i]);
|
||||
|
@ -468,15 +464,15 @@ function get_tags_content_title()
|
|||
'tags' => $other_tags
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$title.=
|
||||
'<a href="'.$remove_url.'" style="border:none;" title="'
|
||||
.l10n('remove this tag from the list')
|
||||
.'"><img src="'
|
||||
.get_root_url().get_themeconf('icon_dir').'/remove_s.png'
|
||||
.'" alt="x" style="vertical-align:bottom;">'
|
||||
.'</a>';
|
||||
$title.=
|
||||
'<a href="'.$remove_url.'" style="border:none;" title="'
|
||||
.l10n('remove this tag from the list')
|
||||
.'"><img src="'
|
||||
.get_root_url().get_themeconf('icon_dir').'/remove_s.png'
|
||||
.'" alt="x" style="vertical-align:bottom;">'
|
||||
.'</a>';
|
||||
}
|
||||
}
|
||||
return $title;
|
||||
}
|
||||
|
|
|
@ -60,7 +60,10 @@ function get_iptc_data($filename, $map)
|
|||
|
||||
foreach (array_keys($map, $iptc_key) as $pwg_key)
|
||||
{
|
||||
$result[$pwg_key] = $value;
|
||||
// in case the origin of the photo is unsecure (user upload), we
|
||||
// remove HTML tags to avoid XSS (malicious execution of
|
||||
// javascript)
|
||||
$result[$pwg_key] = strip_tags($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -90,10 +93,12 @@ function clean_iptc_value($value)
|
|||
// apparently mac uses some MacRoman crap encoding. I don't know
|
||||
// how to detect it so a plugin should do the trick.
|
||||
$value = trigger_event('clean_iptc_value', $value);
|
||||
$is_utf8 = seems_utf8($value);
|
||||
$value = convert_charset( $value,
|
||||
$is_utf8 ? 'utf-8' : 'iso-8859-1',
|
||||
get_pwg_charset() );
|
||||
if ( ($qual = qualify_utf8($value)) != 0)
|
||||
{// has non ascii chars
|
||||
$value = convert_charset( $value,
|
||||
$qual>0 ? 'utf-8' : 'iso-8859-1',
|
||||
get_pwg_charset() );
|
||||
}
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
@ -138,6 +143,13 @@ function get_exif_data($filename, $map)
|
|||
}
|
||||
}
|
||||
|
||||
foreach ($result as $key => $value)
|
||||
{
|
||||
// in case the origin of the photo is unsecure (user upload), we remove
|
||||
// HTML tags to avoid XSS (malicious execution of javascript)
|
||||
$result[$key] = strip_tags($value);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
?>
|
|
@ -266,21 +266,6 @@ SELECT DISTINCT(id)
|
|||
}
|
||||
|
||||
|
||||
if (function_exists('mb_strtolower'))
|
||||
{
|
||||
function transliterate($term)
|
||||
{
|
||||
return remove_accents( mb_strtolower($term) );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
function transliterate($term)
|
||||
{
|
||||
return remove_accents( strtolower($term) );
|
||||
}
|
||||
}
|
||||
|
||||
function is_word_char($ch)
|
||||
{
|
||||
return ($ch>='0' && $ch<='9') || ($ch>='a' && $ch<='z') || ($ch>='A' && $ch<='Z') || ord($ch)>127;
|
||||
|
|
|
@ -3,6 +3,22 @@
|
|||
/* *******************************************
|
||||
// Copyright 2010-2012, Anthony Hand
|
||||
//
|
||||
// File version date: April 23, 2012
|
||||
// Update:
|
||||
// - Updated DetectAmazonSilk(): Fixed an issue in the detection logic.
|
||||
//
|
||||
// File version date: April 22, 2012 - Second update
|
||||
// Update: To address additional Kindle issues...
|
||||
// - Updated DetectRichCSS(): Excluded e-Ink Kindle devices.
|
||||
// - Created DetectAmazonSilk(): Created to detect Kindle Fire devices in Silk mode.
|
||||
// - Updated DetectMobileQuick(): Updated to include e-Ink Kindle devices and the Kindle Fire in Silk mode.
|
||||
//
|
||||
// File version date: April 11, 2012
|
||||
// Update:
|
||||
// - Added a new variable for the new BlackBerry Curve Touch (9380): deviceBBCurveTouch.
|
||||
// - Updated DetectBlackBerryTouch() to support the new BlackBerry Curve Touch (9380).
|
||||
// - Updated DetectKindle(): Added the missing 'this' class identifier for the DetectAndroid() call.
|
||||
//
|
||||
// File version date: January 21, 2012
|
||||
// Update:
|
||||
// - Added the constructor method per new features in PHP 5.0: __construct().
|
||||
|
@ -19,13 +35,6 @@
|
|||
// Update:
|
||||
// - Updated DetectAndroidTablet() to exclude Opera Mini, which was falsely reporting as running on a tablet device when on a phone.
|
||||
//
|
||||
// File version date: August 7, 2011
|
||||
// Update:
|
||||
// - The Opera for Android browser doesn't follow Google's recommended useragent string guidelines, so some fixes were needed.
|
||||
// - Updated DetectAndroidPhone() and DetectAndroidTablet() to properly detect devices running Opera Mobile.
|
||||
// - Created 2 new methods: DetectOperaAndroidPhone() and DetectOperaAndroidTablet().
|
||||
// - Updated DetectTierIphone(). Removed the call to DetectMaemoTablet(), an obsolete mobile OS.
|
||||
//
|
||||
//
|
||||
// LICENSE INFORMATION
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
@ -113,6 +122,7 @@ class uagent_info
|
|||
var $deviceBBBoldTouch = 'blackberry 99'; //Bold 99x0 (touchscreen)
|
||||
var $deviceBBTour = 'blackberry96'; //Tour
|
||||
var $deviceBBCurve = 'blackberry89'; //Curve2
|
||||
var $deviceBBCurveTouch = 'blackberry 938'; //Curve Touch
|
||||
var $deviceBBTorch = 'blackberry 98'; //Torch
|
||||
var $deviceBBPlaybook = 'playbook'; //PlayBook tablet
|
||||
|
||||
|
@ -123,7 +133,8 @@ class uagent_info
|
|||
var $engineBlazer = 'blazer'; //Old Palm browser
|
||||
var $engineXiino = 'xiino'; //Another old Palm
|
||||
|
||||
var $deviceKindle = 'kindle'; //Amazon Kindle, eInk one.
|
||||
var $deviceKindle = 'kindle'; //Amazon Kindle, eInk one
|
||||
var $engineSilk = 'silk'; //Amazon's accelerated Silk browser for Kindle Fire
|
||||
|
||||
//Initialize variables for mobile-specific content.
|
||||
var $vndwap = 'vnd.wap';
|
||||
|
@ -494,13 +505,14 @@ class uagent_info
|
|||
}
|
||||
|
||||
//**************************
|
||||
// Detects if the current browser is a BlackBerry Touch phone
|
||||
// device, such as the Storm, Torch, and Bold Touch. Excludes the Playbook.
|
||||
// Detects if the current browser is a BlackBerry Touch phone device with
|
||||
// a large screen, such as the Storm, Torch, and Bold Touch. Excludes the Playbook.
|
||||
function DetectBlackBerryTouch()
|
||||
{
|
||||
{
|
||||
if ((stripos($this->useragent, $this->deviceBBStorm) > -1) ||
|
||||
(stripos($this->useragent, $this->deviceBBTorch) > -1) ||
|
||||
(stripos($this->useragent, $this->deviceBBBoldTouch) > -1))
|
||||
(stripos($this->useragent, $this->deviceBBBoldTouch) > -1) ||
|
||||
(stripos($this->useragent, $this->deviceBBCurveTouch) > -1))
|
||||
return $this->true;
|
||||
else
|
||||
return $this->false;
|
||||
|
@ -709,7 +721,18 @@ class uagent_info
|
|||
function DetectKindle()
|
||||
{
|
||||
if (stripos($this->useragent, $this->deviceKindle) > -1 &&
|
||||
DetectAndroid() == $this->false)
|
||||
$this->DetectAndroid() == $this->false)
|
||||
return $this->true;
|
||||
else
|
||||
return $this->false;
|
||||
}
|
||||
|
||||
//**************************
|
||||
// Detects if the current Amazon device is using the Silk Browser.
|
||||
// Note: Typically used by the the Kindle Fire.
|
||||
function DetectAmazonSilk()
|
||||
{
|
||||
if (stripos($this->useragent, $this->engineSilk) > -1)
|
||||
return $this->true;
|
||||
else
|
||||
return $this->false;
|
||||
|
@ -725,7 +748,7 @@ class uagent_info
|
|||
//Let's exclude tablets
|
||||
if ($this->isTierTablet == $this->true)
|
||||
return $this->false;
|
||||
|
||||
|
||||
//Most mobile browsing is done on smartphones
|
||||
if ($this->DetectSmartphone() == $this->true)
|
||||
return $this->true;
|
||||
|
@ -752,6 +775,11 @@ class uagent_info
|
|||
if (stripos($this->useragent, $this->mobile) > -1)
|
||||
return $this->true;
|
||||
|
||||
//We also look for Kindle devices
|
||||
if ($this->DetectKindle() == $this->true ||
|
||||
$this->DetectAmazonSilk() == $this->true)
|
||||
return $this->true;
|
||||
|
||||
else
|
||||
return $this->false;
|
||||
}
|
||||
|
@ -952,7 +980,9 @@ class uagent_info
|
|||
{
|
||||
if ($this->DetectMobileQuick() == $this->true)
|
||||
{
|
||||
if (($this->DetectTierIphone() == $this->true))
|
||||
//Exclude iPhone Tier and e-Ink Kindle devices
|
||||
if (($this->DetectTierIphone() == $this->true) ||
|
||||
($this->DetectKindle() == $this->true))
|
||||
return $this->false;
|
||||
|
||||
//The following devices are explicitly ok.
|
||||
|
@ -969,8 +999,8 @@ class uagent_info
|
|||
if ($this->DetectWindowsMobile() == $this->true)
|
||||
return $this->true;
|
||||
if (stripos($this->useragent, $this->engineTelecaQ) > -1)
|
||||
return $this->true;
|
||||
|
||||
return $this->true;
|
||||
|
||||
//default
|
||||
else
|
||||
return $this->false;
|
||||
|
@ -997,4 +1027,7 @@ class uagent_info
|
|||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
//Was informed by a MobileESP user that it's a best practice
|
||||
// to omit the closing ?> marks here. They can sometimes
|
||||
// cause errors with HTML headers.
|
|
@ -41,6 +41,10 @@ SELECT
|
|||
list($nb_photos) = pwg_db_fetch_row(pwg_query($query));
|
||||
if (0 == $nb_photos)
|
||||
{
|
||||
// make sure we don't use the mobile theme, which is not compatible with
|
||||
// the "no photo yet" feature
|
||||
$template = new Template(PHPWG_ROOT_PATH.'themes', $user['theme']);
|
||||
|
||||
if (isset($_GET['no_photo_yet']))
|
||||
{
|
||||
if ('browse' == $_GET['no_photo_yet'])
|
||||
|
|
|
@ -78,28 +78,6 @@ class Template {
|
|||
}
|
||||
}
|
||||
|
||||
if (!isset($conf['combined_dir_checked']))
|
||||
{
|
||||
$dir = PHPWG_ROOT_PATH.PWG_COMBINED_DIR;
|
||||
mkgetdir($dir, MKGETDIR_DEFAULT&~MKGETDIR_DIE_ON_ERROR);
|
||||
if (!is_writable($dir))
|
||||
{
|
||||
load_language('admin.lang');
|
||||
fatal_error(
|
||||
sprintf(
|
||||
l10n('Give write access (chmod 777) to "%s" directory at the root of your Piwigo installation'),
|
||||
PWG_COMBINED_DIR
|
||||
),
|
||||
l10n('an error happened'),
|
||||
false // show trace
|
||||
);
|
||||
}
|
||||
if (function_exists('pwg_query')) {
|
||||
conf_update_param('combined_dir_checked', 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$compile_dir = PHPWG_ROOT_PATH.$conf['data_location'].'templates_c';
|
||||
mkgetdir( $compile_dir );
|
||||
|
||||
|
@ -127,7 +105,10 @@ class Template {
|
|||
if ( !empty($theme) )
|
||||
{
|
||||
$this->set_theme($root, $theme, $path);
|
||||
$this->set_prefilter( 'header', array('Template', 'prefilter_local_css') );
|
||||
if (!defined('IN_ADMIN'))
|
||||
{
|
||||
$this->set_prefilter( 'header', array('Template', 'prefilter_local_css') );
|
||||
}
|
||||
}
|
||||
else
|
||||
$this->set_template_dir($root);
|
||||
|
@ -529,7 +510,7 @@ class Template {
|
|||
* handy in order to respect strict standards when <style> and <link>
|
||||
* html elements must appear in the <head> element
|
||||
*/
|
||||
function block_html_head($params, $content, &$smarty, &$repeat)
|
||||
function block_html_head($params, $content)
|
||||
{
|
||||
$content = trim($content);
|
||||
if ( !empty($content) )
|
||||
|
@ -538,7 +519,7 @@ class Template {
|
|||
}
|
||||
}
|
||||
|
||||
function block_html_style($params, $content, &$smarty, &$repeat)
|
||||
function block_html_style($params, $content)
|
||||
{
|
||||
$content = trim($content);
|
||||
if ( !empty($content) )
|
||||
|
@ -547,13 +528,13 @@ class Template {
|
|||
}
|
||||
}
|
||||
|
||||
function func_define_derivative($params, &$smarty)
|
||||
function func_define_derivative($params)
|
||||
{
|
||||
!empty($params['name']) or fatal_error('define_derivative missing name');
|
||||
if (isset($params['type']))
|
||||
{
|
||||
$derivative = ImageStdParams::get_by_type($params['type']);
|
||||
$smarty->assign( $params['name'], $derivative);
|
||||
$this->smarty->assign( $params['name'], $derivative);
|
||||
return;
|
||||
}
|
||||
!empty($params['width']) or fatal_error('define_derivative missing width');
|
||||
|
@ -585,7 +566,7 @@ class Template {
|
|||
}
|
||||
}
|
||||
|
||||
$smarty->assign( $params['name'], ImageStdParams::get_custom($w, $h, $crop, $minw, $minh) );
|
||||
$this->smarty->assign( $params['name'], ImageStdParams::get_custom($w, $h, $crop, $minw, $minh) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -600,11 +581,11 @@ class Template {
|
|||
* param version - optional - plugins could use this and change it in order to force a
|
||||
browser refresh
|
||||
*/
|
||||
function func_combine_script($params, &$smarty)
|
||||
function func_combine_script($params)
|
||||
{
|
||||
if (!isset($params['id']))
|
||||
{
|
||||
$smarty->trigger_error("combine_script: missing 'id' parameter", E_USER_ERROR);
|
||||
$this->smarty->trigger_error("combine_script: missing 'id' parameter", E_USER_ERROR);
|
||||
}
|
||||
$load = 0;
|
||||
if (isset($params['load']))
|
||||
|
@ -614,7 +595,7 @@ class Template {
|
|||
case 'header': break;
|
||||
case 'footer': $load=1; break;
|
||||
case 'async': $load=2; break;
|
||||
default: $smarty->trigger_error("combine_script: invalid 'load' parameter", E_USER_ERROR);
|
||||
default: $this->smarty->trigger_error("combine_script: invalid 'load' parameter", E_USER_ERROR);
|
||||
}
|
||||
}
|
||||
$this->scriptLoader->add( $params['id'], $load,
|
||||
|
@ -624,11 +605,11 @@ class Template {
|
|||
}
|
||||
|
||||
|
||||
function func_get_combined_scripts($params, &$smarty)
|
||||
function func_get_combined_scripts($params)
|
||||
{
|
||||
if (!isset($params['load']))
|
||||
{
|
||||
$smarty->trigger_error("get_combined_scripts: missing 'load' parameter", E_USER_ERROR);
|
||||
$this->smarty->trigger_error("get_combined_scripts: missing 'load' parameter", E_USER_ERROR);
|
||||
}
|
||||
$load = $params['load']=='header' ? 0 : 1;
|
||||
$content = array();
|
||||
|
@ -694,7 +675,7 @@ var s,after = document.getElementsByTagName(\'script\')[document.getElementsByTa
|
|||
return embellish_url($ret);
|
||||
}
|
||||
|
||||
function block_footer_script($params, $content, &$smarty, &$repeat)
|
||||
function block_footer_script($params, $content)
|
||||
{
|
||||
$content = trim($content);
|
||||
if ( !empty($content) )
|
||||
|
@ -714,7 +695,7 @@ var s,after = document.getElementsByTagName(\'script\')[document.getElementsByTa
|
|||
* param version - optional - plugins could use this and change it in order to force a
|
||||
browser refresh
|
||||
*/
|
||||
function func_combine_css($params, &$smarty)
|
||||
function func_combine_css($params)
|
||||
{
|
||||
!empty($params['path']) || fatal_error('combine_css missing path');
|
||||
$order = (int)@$params['order'];
|
||||
|
@ -722,7 +703,7 @@ var s,after = document.getElementsByTagName(\'script\')[document.getElementsByTa
|
|||
$this->css_by_priority[$order][] = array( $params['path'], $version);
|
||||
}
|
||||
|
||||
function func_get_combined_css($params, &$smarty)
|
||||
function func_get_combined_css($params)
|
||||
{
|
||||
return 'echo '.var_export(self::COMBINED_CSS_TAG,true);
|
||||
}
|
||||
|
@ -1343,7 +1324,9 @@ final class FileCombiner
|
|||
$output .= "\n";
|
||||
}
|
||||
|
||||
file_put_contents( PHPWG_ROOT_PATH . $file, $output );
|
||||
mkgetdir( dirname(PHPWG_ROOT_PATH.$file) );
|
||||
file_put_contents( PHPWG_ROOT_PATH.$file, $output );
|
||||
@chmod(PHPWG_ROOT_PATH.$file, 0644);
|
||||
$out_file = $file;
|
||||
$out_version = false;
|
||||
$this->clear();
|
||||
|
@ -1364,8 +1347,11 @@ final class FileCombiner
|
|||
private static function process_css($file)
|
||||
{
|
||||
$css = self::process_css_rec($file);
|
||||
require_once(PHPWG_ROOT_PATH.'include/cssmin.class.php');
|
||||
$css = CssMin::minify($css, array('Variables'=>false));
|
||||
if (version_compare(PHP_VERSION, '5.2.4', '>='))
|
||||
{
|
||||
require_once(PHPWG_ROOT_PATH.'include/cssmin.class.php');
|
||||
$css = CssMin::minify($css, array('Variables'=>false));
|
||||
}
|
||||
$css = trigger_event('combined_css_postfilter', $css);
|
||||
return $css;
|
||||
}
|
||||
|
|
|
@ -148,10 +148,23 @@ function ws_std_get_urls($image_row)
|
|||
{
|
||||
$ret = array();
|
||||
|
||||
$ret['page_url'] = make_picture_url( array(
|
||||
'image_id' => $image_row['id'],
|
||||
'image_file' => $image_row['file'],
|
||||
)
|
||||
);
|
||||
|
||||
$src_image = new SrcImage($image_row);
|
||||
|
||||
global $user;
|
||||
if ($user['enabled_high'])
|
||||
if ( $src_image->is_original() )
|
||||
{// we have a photo
|
||||
global $user;
|
||||
if ($user['enabled_high'])
|
||||
{
|
||||
$ret['element_url'] = $src_image->get_url();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$ret['element_url'] = get_element_url($image_row);
|
||||
}
|
||||
|
@ -175,7 +188,7 @@ function ws_std_get_urls($image_row)
|
|||
function ws_std_get_image_xml_attributes()
|
||||
{
|
||||
return array(
|
||||
'id','element_url', 'file','width','height','hit','date_available','date_creation'
|
||||
'id','element_url', 'page_url', 'file','width','height','hit','date_available','date_creation'
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -205,6 +218,12 @@ function ws_getMissingDerivatives($params, &$service)
|
|||
}
|
||||
|
||||
list($max_id, $image_count) = pwg_db_fetch_row( pwg_query('SELECT MAX(id)+1, COUNT(*) FROM '.IMAGES_TABLE) );
|
||||
|
||||
if (0 == $image_count)
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
$start_id = intval($params['prev_page']);
|
||||
if ($start_id<=0)
|
||||
{
|
||||
|
@ -383,7 +402,6 @@ SELECT id
|
|||
*/
|
||||
function ws_categories_getImages($params, &$service)
|
||||
{
|
||||
@include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
|
||||
global $user, $conf;
|
||||
|
||||
$images = array();
|
||||
|
@ -1020,7 +1038,6 @@ SELECT DISTINCT image_id
|
|||
*/
|
||||
function ws_images_getInfo($params, &$service)
|
||||
{
|
||||
@include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
|
||||
global $user, $conf;
|
||||
$params['image_id'] = (int)$params['image_id'];
|
||||
if ( $params['image_id']<=0 )
|
||||
|
@ -1246,7 +1263,6 @@ function ws_images_search($params, &$service)
|
|||
global $page;
|
||||
$images = array();
|
||||
include_once( PHPWG_ROOT_PATH .'include/functions_search.inc.php' );
|
||||
include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
|
||||
|
||||
$where_clauses = ws_std_image_sql_filter( $params, 'i.' );
|
||||
$order_by = ws_std_image_sql_order($params, 'i.');
|
||||
|
@ -1497,27 +1513,11 @@ function ws_images_add_chunk($params, &$service)
|
|||
$upload_dir = $conf['upload_dir'].'/buffer';
|
||||
|
||||
// create the upload directory tree if not exists
|
||||
if (!is_dir($upload_dir)) {
|
||||
umask(0000);
|
||||
if (!@mkdir($upload_dir, 0777, true))
|
||||
{
|
||||
return new PwgError(500, 'error during buffer directory creation');
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_writable($upload_dir))
|
||||
if (!mkgetdir($upload_dir, MKGETDIR_DEFAULT&~MKGETDIR_DIE_ON_ERROR))
|
||||
{
|
||||
// last chance to make the directory writable
|
||||
@chmod($upload_dir, 0777);
|
||||
|
||||
if (!is_writable($upload_dir))
|
||||
{
|
||||
return new PwgError(500, 'buffer directory has no write access');
|
||||
}
|
||||
return new PwgError(500, 'error during buffer directory creation');
|
||||
}
|
||||
|
||||
secure_directory($upload_dir);
|
||||
|
||||
$filename = sprintf(
|
||||
'%s-%s-%05u.block',
|
||||
$params['original_sum'],
|
||||
|
@ -2165,7 +2165,6 @@ function ws_tags_getAdminList($params, &$service)
|
|||
*/
|
||||
function ws_tags_getImages($params, &$service)
|
||||
{
|
||||
@include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
|
||||
global $conf;
|
||||
|
||||
// first build all the tag_ids we are interested in
|
||||
|
@ -2293,47 +2292,38 @@ function ws_categories_add($params, &$service)
|
|||
|
||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||
|
||||
$options = array();
|
||||
if (!empty($params['status']) and in_array($params['status'], array('private','public')))
|
||||
{
|
||||
$options['status'] = $params['status'];
|
||||
}
|
||||
|
||||
if (!empty($params['visible']) and in_array($params['visible'], array('true','false')))
|
||||
{
|
||||
$options['visible'] = get_boolean($params['visible']);
|
||||
}
|
||||
|
||||
if (!empty($params['commentable']) and in_array($params['commentable'], array('true','false')) )
|
||||
{
|
||||
$options['commentable'] = get_boolean($params['commentable']);
|
||||
}
|
||||
|
||||
if (!empty($params['comment']))
|
||||
{
|
||||
$options['comment'] = $params['comment'];
|
||||
}
|
||||
|
||||
|
||||
$creation_output = create_virtual_category(
|
||||
$params['name'],
|
||||
$params['parent']
|
||||
$params['parent'],
|
||||
$options
|
||||
);
|
||||
|
||||
if (isset($creation_output['error']))
|
||||
{
|
||||
return new PwgError(500, $creation_output['error']);
|
||||
}
|
||||
|
||||
$updates = array();
|
||||
if ( !empty($params['status']) and in_array($params['status'], array('private','public')) )
|
||||
{
|
||||
$updates['status'] = $params['status'];
|
||||
}
|
||||
if ( !empty($params['visible']) and in_array($params['visible'], array('true','false')) )
|
||||
{
|
||||
$updates['visible'] = $params['visible'];
|
||||
}
|
||||
if ( !empty($params['commentable']) and in_array($params['commentable'], array('true','false')) )
|
||||
{
|
||||
$updates['commentable'] = $params['commentable'];
|
||||
}
|
||||
if ( !empty($params['comment']) )
|
||||
{
|
||||
$updates['comment'] = strip_tags($params['comment']);
|
||||
}
|
||||
|
||||
if (!empty($updates))
|
||||
{
|
||||
single_update(
|
||||
CATEGORIES_TABLE,
|
||||
$updates,
|
||||
array('id'=>$creation_output['id'])
|
||||
);
|
||||
}
|
||||
|
||||
if ( isset($updates['status']) and 'private' == $updates['status'] )
|
||||
{
|
||||
add_permission_on_category($creation_output['id'], get_admins());
|
||||
}
|
||||
|
||||
invalidate_user_cache();
|
||||
|
||||
|
|
|
@ -59,6 +59,11 @@ class PwgXmlWriter
|
|||
}
|
||||
$this->_indentLevel++;
|
||||
$this->_indent();
|
||||
$diff = ord($name[0])-ord('0');
|
||||
if ($diff>=0 && $diff<=9)
|
||||
{
|
||||
$name='_'.$name;
|
||||
}
|
||||
$this->_output( '<'.$name );
|
||||
$this->_lastTagOpen = true;
|
||||
array_push( $this->_elementStack, $name);
|
||||
|
|
48
index.php
48
index.php
|
@ -99,7 +99,12 @@ if (isset($page['is_homepage']) and $page['is_homepage'])
|
|||
}
|
||||
else
|
||||
{
|
||||
$canonical_url = duplicate_index_url();
|
||||
$start = $page['nb_image_page'] * round($page['start'] / $page['nb_image_page']);
|
||||
if ($start>0 && $start >= count($page['items']) )
|
||||
{
|
||||
$start -= $page['nb_image_page'];
|
||||
}
|
||||
$canonical_url = duplicate_index_url(array('start' => $start));
|
||||
}
|
||||
$template->assign('U_CANONICAL', $canonical_url);
|
||||
|
||||
|
@ -273,28 +278,6 @@ if ( $conf['index_sort_order_input']
|
|||
}
|
||||
}
|
||||
|
||||
if ( count($page['items']) > 0 )
|
||||
{
|
||||
$url = add_url_params(
|
||||
duplicate_index_url(),
|
||||
array('display' => '')
|
||||
);
|
||||
$selected_type = pwg_get_session_var('index_deriv', IMG_THUMB);
|
||||
$type_map = ImageStdParams::get_defined_type_map();
|
||||
unset($type_map[IMG_XXLARGE], $type_map[IMG_XLARGE]);
|
||||
foreach($type_map as $params)
|
||||
{
|
||||
$template->append(
|
||||
'image_derivatives',
|
||||
array(
|
||||
'DISPLAY' => l10n($params->type),
|
||||
'URL' => $url.$params->type,
|
||||
'SELECTED' => ($params->type == $selected_type ? true:false),
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// category comment
|
||||
if ($page['start']==0 and !isset($page['chronology_field']) and !empty($page['comment']) )
|
||||
{
|
||||
|
@ -322,6 +305,25 @@ if ( 0==$page['start']
|
|||
if ( !empty($page['items']) )
|
||||
{
|
||||
include(PHPWG_ROOT_PATH.'include/category_default.inc.php');
|
||||
$url = add_url_params(
|
||||
duplicate_index_url(),
|
||||
array('display' => '')
|
||||
);
|
||||
$selected_type = $template->get_template_vars('derivative_params')->type;
|
||||
$template->clear_assign( 'derivative_params' );
|
||||
$type_map = ImageStdParams::get_defined_type_map();
|
||||
unset($type_map[IMG_XXLARGE], $type_map[IMG_XLARGE]);
|
||||
foreach($type_map as $params)
|
||||
{
|
||||
$template->append(
|
||||
'image_derivatives',
|
||||
array(
|
||||
'DISPLAY' => l10n($params->type),
|
||||
'URL' => $url.$params->type,
|
||||
'SELECTED' => ($params->type == $selected_type ? true:false),
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------- category informations
|
||||
|
||||
|
|
|
@ -109,7 +109,11 @@ include(PHPWG_ROOT_PATH . 'include/config_default.inc.php');
|
|||
@include(PHPWG_ROOT_PATH. 'local/config/config.inc.php');
|
||||
defined('PWG_LOCAL_DIR') or define('PWG_LOCAL_DIR', 'local/');
|
||||
|
||||
include(PHPWG_ROOT_PATH . 'include/functions.inc.php');
|
||||
|
||||
// download database config file if exists
|
||||
check_input_parameter('dl', $_GET, false, '/^[a-f0-9]{32}$/');
|
||||
|
||||
if (!empty($_GET['dl']) && file_exists(PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl']))
|
||||
{
|
||||
$filename = PHPWG_ROOT_PATH.$conf['data_location'].'pwg_'.$_GET['dl'];
|
||||
|
@ -156,7 +160,6 @@ if (@file_exists($config_file))
|
|||
}
|
||||
|
||||
include(PHPWG_ROOT_PATH . 'include/constants.php');
|
||||
include(PHPWG_ROOT_PATH . 'include/functions.inc.php');
|
||||
include(PHPWG_ROOT_PATH . 'admin/include/functions.php');
|
||||
|
||||
include(PHPWG_ROOT_PATH . 'admin/include/languages.class.php');
|
||||
|
@ -284,6 +287,9 @@ define(\'DB_COLLATE\', \'\');
|
|||
// writing the configuration file
|
||||
if ( !($fp = @fopen( $config_file, 'w' )))
|
||||
{
|
||||
// make sure nobody can list files of _data directory
|
||||
secure_directory(PHPWG_ROOT_PATH.$conf['data_location']);
|
||||
|
||||
$tmp_filename = md5(uniqid(time()));
|
||||
$fh = @fopen( PHPWG_ROOT_PATH.$conf['data_location'] . 'pwg_' . $tmp_filename, 'w' );
|
||||
@fputs($fh, $file_content, strlen($file_content));
|
||||
|
|
|
@ -28,78 +28,7 @@ if (!defined('PHPWG_ROOT_PATH'))
|
|||
|
||||
// see http://piwigo.org/doc/doku.php?id=user_documentation:htaccess_and_hotlink_in_2.4
|
||||
|
||||
if (!isset($page['warnings'])) $page['warnings'] = array();
|
||||
|
||||
$upgrade_description = 'add/append htaccess for hotlinks';
|
||||
$warning_message = 'Failed to modify <b>.htaccess</b> file, a manual intervention is needed, <a href="http://piwigo.org/doc/doku.php?id=user_documentation:htaccess_and_hotlink_in_2.4" target="_blank">click here for more information</a>';
|
||||
|
||||
$htaccess = PHPWG_ROOT_PATH.'/.htaccess';
|
||||
$writable = true;
|
||||
if (file_exists($htaccess))
|
||||
{
|
||||
if (!is_readable($htaccess) || !is_writable($htaccess))
|
||||
{
|
||||
$writable = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$writable = is_writable(PHPWG_ROOT_PATH);
|
||||
}
|
||||
|
||||
if (!$writable)
|
||||
{
|
||||
array_push($page['warnings'], $warning_message);
|
||||
$upgrade_description.= ': failed';
|
||||
}
|
||||
else
|
||||
{
|
||||
$content = file_exists($htaccess) ? file_get_contents($htaccess) : null;
|
||||
if (strpos($content, 'RewriteEngine off') !== false)
|
||||
{
|
||||
array_push($page['warnings'], $warning_message);
|
||||
$upgrade_description.= ': failed';
|
||||
}
|
||||
else
|
||||
{
|
||||
$content.= '
|
||||
<IfModule mod_rewrite.c>';
|
||||
|
||||
if (strpos($content, 'RewriteEngine on') === false)
|
||||
{
|
||||
$content.='
|
||||
RewriteEngine on';
|
||||
}
|
||||
|
||||
if (!isset($conf['prefix_thumbnail']))
|
||||
{
|
||||
$conf['prefix_thumbnail'] = 'TN-';
|
||||
}
|
||||
|
||||
if (!isset($conf['dir_thumbnail']))
|
||||
{
|
||||
$conf['dir_thumbnail'] = 'thumbnail';
|
||||
}
|
||||
|
||||
$content.= '
|
||||
## redirect <2.4 thumbnails hotlinks to i.php
|
||||
RewriteRule ^upload/(.*)/'.preg_quote($conf['dir_thumbnail']).'/'.preg_quote($conf['prefix_thumbnail']).'(.*)\.([a-z0-9]{3,4})$ i.php?/upload/$1/$2-th.$3 [L]
|
||||
RewriteRule ^galleries/(.*)/'.preg_quote($conf['dir_thumbnail']).'/'.preg_quote($conf['prefix_thumbnail']).'(.*)\.([a-z0-9]{3,4})$ i.php?/galleries/$1/$2-th.$3 [L]
|
||||
|
||||
## redirect <2.4 high-def hotlinks to original file
|
||||
RewriteRule ^upload/(.*)/pwg_high/(.*)\.([a-z0-9]{3,4})$ upload/$1/$2.$3 [L]
|
||||
RewriteRule ^galleries/(.*)/pwg_high/(.*)\.([a-z0-9]{3,4})$ galleries/$1/$2.$3 [L]
|
||||
|
||||
## redirect <2.4 low-def hotlinks to i.php
|
||||
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?'.preg_quote($_SERVER['SERVER_NAME']).'/.*$ [NC]
|
||||
RewriteRule ^upload/(.*)/(.*)\.([a-z0-9]{3,4})$ i.php?/upload/$1/$2-me.$3 [L]
|
||||
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?'.preg_quote($_SERVER['SERVER_NAME']).'/.*$ [NC]
|
||||
RewriteRule ^galleries(.*)/(.*)\.([a-z0-9]{3,4})$ i.php?/galleries/$1/$2-me.$3 [L]
|
||||
</IfModule>';
|
||||
|
||||
file_put_contents($htaccess, $content);
|
||||
}
|
||||
}
|
||||
$upgrade_description = 'add/append htaccess for hotlinks (cancelled, see plugin "Hotlink Compatibility")';
|
||||
|
||||
|
||||
echo
|
||||
|
|
|
@ -52,7 +52,7 @@ $to_apply = array_diff($existing, $applied);
|
|||
$inserts = array();
|
||||
foreach ($to_apply as $upgrade_id)
|
||||
{
|
||||
if ($upgrade_id >= 98)
|
||||
if ($upgrade_id >= 112) // TODO change on each release
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
@ -83,11 +83,18 @@ if (!empty($inserts))
|
|||
ob_start();
|
||||
echo '<pre>';
|
||||
|
||||
for ($upgrade_id = 112; $upgrade_id <= 127; $upgrade_id++)
|
||||
for ($upgrade_id = 112; $upgrade_id <= 127; $upgrade_id++) // TODO change on each release
|
||||
{
|
||||
if (!file_exists(UPGRADES_PATH.'/'.$upgrade_id.'-database.php'))
|
||||
{
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
|
||||
// maybe the upgrade task has already been applied in a previous and
|
||||
// incomplete upgrade
|
||||
if (in_array($upgrade_id, $applied))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
unset($upgrade_description);
|
||||
|
|
|
@ -213,7 +213,7 @@ $lang['Allow user registration'] = 'Laat gebruiker registrasie toe';
|
|||
$lang['Allow users to delete their own comments'] = 'Laat gebruikers to om eie opmerkings te verwyder';
|
||||
$lang['Allow users to edit their own comments'] = 'Laat gebruikers to om eie opmerkings te verander';
|
||||
$lang['Allowed file types: %s.'] = 'Toegelate lêertipes: %s';
|
||||
$lang['An error has occured during extract. Please check files permissions of your piwigo installation.<br><a href="%s">Click here to show log error</a>.'] = '%s is suksesvol opgedateer.';
|
||||
$lang['An error has occured during extract. Please check files permissions of your piwigo installation.<br><a href="%s">Click here to show log error</a>.'] = 'Daar was \'n fout tydens ontrekking. Gaan asseblief lêer toestemmings van jou Piwigo installasie na. <br><a href="%s">Kliek hier om die loglêer te wys</a>.';
|
||||
$lang['An error has occured during upgrade.'] = 'Daar was \'n fout tydens opgradering.';
|
||||
$lang['An information email was sent to group "%s"'] = 'Al %d fotos is geselekteer';
|
||||
$lang['Anyway only webmasters can see this tab and never administrators.'] = 'Slegs webmeesters, nie administrateurs, kan hierdie lip sien.';
|
||||
|
@ -601,7 +601,6 @@ $lang['By default, the center of interest is placed in the middle of the photo.'
|
|||
$lang['Caddie management'] = 'Bewerk mandjie';
|
||||
$lang['Correction applied with error'] = 'Fout tydens regstelling';
|
||||
$lang['Correction applied with success'] = 'Regstelling suksesvol gemaak';
|
||||
$lang['Create a new site : (give its URL to create_listing_file.php)'] = 'Skep nuwe webtuiste : (gee sy adres aan create_listing_file.php)';
|
||||
$lang['Delete multiple size images'] = 'Verwyder multi-grootte beelde';
|
||||
$lang['Deletions'] = 'Verwyderings';
|
||||
$lang['Deny selected groups'] = 'Verbied geselekteerde groepe';
|
||||
|
@ -658,7 +657,7 @@ $lang['Group'] = 'Groep';
|
|||
$lang['High definition enabled'] = 'Hoë skerpheid is aktief';
|
||||
$lang['Hoverbox display'] = 'Sweefskerm';
|
||||
$lang['I decide to update anyway'] = 'Ek wil inelkgeval opdateer';
|
||||
$lang['If no HD is available and if the current websize is bigger than resize dimensions, Piwigo will move it as HD and create a downsized websize photo from it.'] = 'As hoëresolusie nie beskikbaar is nie, en die huidige webgrootte-kopie groter is as die normale webgrootte, dan sal Piwigo die huidige kopie as hoëresolusie gebruik en \'n nuwe webgrootte-kopie maak.';
|
||||
$lang['If no HD is available and if the current websize is bigger than resize dimensions, Piwigo will move it as HD and create a downsized websize photo from it.'] = 'As hoë resolusie nie beskikbaar is nie, en die huidige webgrootte-kopie groter is as die normale webgrootte, sal Piwigo die huidige kopie as hoë resolusie gebruik en \'n nuwe webgrootte-kopie maak.';
|
||||
$lang['If you encounter problems or have any question, please send a message to'] = 'Indien jy enige probleme, klagtes of kommentaar het, stuur \'n e-pos aan';
|
||||
$lang['Ignore selected anomalies'] = 'Ignoreer geselekteerde onreëlmatighede';
|
||||
$lang['Images manual order was saved'] = 'Stoor handmatig-gekose volgorde';
|
||||
|
@ -754,7 +753,7 @@ $lang['set to'] = 'stel na';
|
|||
$lang['status'] = 'status';
|
||||
$lang['Cannot delete the old permalink !'] = 'Die ou permaskakel kan nie verwyder word nie!';
|
||||
$lang['Center of interest'] = 'Fokusmiddelpunt';
|
||||
$lang['Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'] = 'Bly betrokke by die Piwigo-projek deur in ste skryf vir die Piwigo Afkondingings-nuusbrief. Jy sal \'n e-pos ontvang as \'n nuwe weergawe uitgegee word of as daar enige ander groot nuus rakende die projek is. Dit is gewoonlik net enkele e-posse per jaar.';
|
||||
$lang['Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'] = 'Bly betrokke by die Piwigo-projek deur in te skryf vir die Piwigo Afkondingings-nuusbrief. Jy sal \'n e-pos ontvang as \'n nuwe weergawe uitgegee word of as daar enige ander groot nuus rakende die projek is. Dit is gewoonlik net enkele e-posse per jaar.';
|
||||
$lang['Languages which need upgrade'] = 'Tale wat opgedateer moet word';
|
||||
$lang['Last hit'] = 'Onlangste besoek';
|
||||
$lang['Learn more'] = 'Ek wil meer weet';
|
||||
|
@ -782,7 +781,7 @@ $lang['Purge history detail'] = 'Verwyder gedetailleerde geskiedenis';
|
|||
$lang['Purge history summary'] = 'Verwyder opsommende geskiedenis';
|
||||
$lang['Purge search history'] = 'Verwyder soek-geskiedenis';
|
||||
$lang['Read Piwigo Documentation'] = 'Lees Piwigo dokumentasie';
|
||||
$lang['Replacers (customized templates)'] = 'Vervang (eie sjablone)';
|
||||
$lang['Replacers (customized templates)'] = 'Vervang (aangemete sjablone)';
|
||||
$lang['Reset ignored updates'] = 'Hou op opdaterings ignoreer';
|
||||
$lang['Resize'] = 'Verander grootte';
|
||||
$lang['Restore default configuration. You will lose your plugin settings!'] = 'Herstel standaard-opstelling. Jy sal jou uitbreidings se instellings verloor.';
|
||||
|
@ -810,7 +809,7 @@ $lang['You might go to plugin list to install and activate it.'] = 'Gaan na die
|
|||
$lang['You need to upgrade your system to take full advantage of the application else the application will not work correctly, or not at all'] = 'Jy moet verkieslik jou stelsel opdateer om die program ten volle te kan gebruik, anders kan daar nie probleme voorkom nie.';
|
||||
$lang['apply automatic sort order'] = 'Sorteer outomaties';
|
||||
$lang['cancel manual order'] = 'Kanselleer handmatige volgorde';
|
||||
$lang['custom'] = 'Eie keuse';
|
||||
$lang['custom'] = 'Aangemeet';
|
||||
$lang['overrides existing values with empty ones'] = 'vervang bestaande waardes met leë waardes';
|
||||
$lang['pending validation'] = 'wag vir goedkeuring';
|
||||
$lang['public'] = 'publiek';
|
||||
|
@ -828,4 +827,100 @@ $lang['Give write access (chmod 777) to "%s" directory at the root of your Piwig
|
|||
$lang['Information data registered in database'] = 'Inligting aangeteken in databasis';
|
||||
$lang['Invert'] = 'Keer om';
|
||||
$lang['Language has been successfully installed'] = 'Taal is suksesvol geïnstalleer';
|
||||
$lang['<em>Piwigo for Android</em> application empowers you to connect your Android phone or table to your Piwigo gallery, create some albums and upload several photos at once.'] = '<em>Piwigo vir Android</em> toepassing stel jou in staat om met jou Android foon of tablet aan jou Piwigo gallery te verbind, albums te skep en fotos op te laai.';
|
||||
$lang['<em>Piwigo for iOS</em> application empowers you to connect to your Piwigo gallery from your iPhone, iPad or iPod Touch, create some albums and upload several photos at once.'] = '<em>Piwigo vir iOS</em> toepassing stel jou in staat om met jou iPhone, iPad of iPad touch aan jou Piwigo gallery te verbind, albums te skep en fotos op te laai.';
|
||||
$lang['Adobe Photoshop Lightroom is a photography software designed to manage large quantities of digital images and doing post production work.'] = 'Adobe Photoshop Lightroom is fotografie sagteware wat ontwerp is om groot hoeveelhede digitale beelde te administreer en postproduksie werk te doen.';
|
||||
$lang['Aperture is a powerful tool to refine images and manage massive libraries on Mac.'] = 'Aperture is \'n kragtige pakket om beelde te verwerk en groot biblioteke op Mac te hanteer.';
|
||||
$lang['Aperture is designed for professional photographers with iPhoto simplicity.'] = 'Aperture is ontwerk vir professionele fotograwe met iPhoto eenvoudigheid.';
|
||||
$lang['Bound Theme'] = 'Gebonde tema';
|
||||
$lang['By rank'] = 'Volgens rangorde';
|
||||
$lang['Follow Orientation'] = 'Volg oriëntasie';
|
||||
$lang['Hit'] = 'Tref';
|
||||
$lang['In your php.ini file, the upload_max_filesize (%sB) is bigger than post_max_size (%sB), you should change this setting'] = 'In jou php.ini lêer is die upload_max_filesize (%sB) groter as die post_max_size (%sB). Jy moet hierdie verstelling verander';
|
||||
$lang['Include display of recent photos grouped by dates'] = 'Sluit in die vertoon van onlangse fotos gegroepeer volgens datum';
|
||||
$lang['Include history data (Warning: server memory limit may be exceeded)'] = 'Sluit geskiedkundige data in (Waarskuwing: bediener geheue limiet kan oorskrei word)';
|
||||
$lang['Link all album photos to a new album'] = 'Koppel alle album fotos aan \'n nuwe album';
|
||||
$lang['Link all album photos to some existing albums'] = 'Koppel alle album fotos aan sommige bestaande albums';
|
||||
$lang['Linked albums'] = 'Gekoppelde albums';
|
||||
$lang['Local'] = 'Plaaslik';
|
||||
$lang['Mail address is obligatory for all users'] = 'Epos adres is verpligtend vir alle gebruikers';
|
||||
$lang['Manage authorizations for selected albums'] = 'Beheer regte vir gekose albums';
|
||||
$lang['Manage permissions for group "%s"'] = 'Bheer regte vir die groep "%s"';
|
||||
$lang['Manage permissions for user "%s"'] = 'Bheer regte vir die gebruiker "%s"';
|
||||
$lang['Manage photo ranks'] = 'Beheer foto rangordes';
|
||||
$lang['Maximum file size: %sB.'] = 'Maksimum lêer groote: %sB';
|
||||
$lang['Metadata synchronization results'] = 'Metadata sinchronisasie resultate';
|
||||
$lang['Metadata synchronized from file'] = 'Metadata sinchronisasie vanaf lêer';
|
||||
$lang['Miscellaneous'] = 'Allerlei';
|
||||
$lang['Missing Plugins'] = 'Vermiste Invoegsels';
|
||||
$lang['Missing a temporary folder'] = 'Vermis \'n tydelike gids';
|
||||
$lang['No destination tag selected'] = 'Geen bestemming etiket gekies nie';
|
||||
$lang['No user to send notifications by mail.'] = 'Geen gebruikers vir epos inkennisstelling';
|
||||
$lang['Number of downloads'] = 'Aantal aflaaie';
|
||||
$lang['Number of rates'] = 'Aantal graderings';
|
||||
$lang['Number of thumbnails to create'] = 'Aantal duimnaels om te skep';
|
||||
$lang['On your Linux, simply install Shotwell with your package manager and the activate Piwigo publishing option.'] = 'Op jou Linux, installeer eenvoudig Shotwell met jou pakketbeheerder en aktiveer die Piwigo publikasie opsie.';
|
||||
$lang['Operating system'] = 'Bedryfstelsel';
|
||||
$lang['Operation in progress'] = 'Behandeling onderweg.';
|
||||
$lang['Optimizations have been completed with some errors.'] = 'Optimalisasies is met \'n paar foute voltooi.';
|
||||
$lang['Optional URL keyword'] = 'Opsionele URL sleutelwoord';
|
||||
$lang['Options'] = 'Keuses';
|
||||
$lang['Order of menubar items has been updated successfully.'] = 'Volgorde van kieslys items is suksesvol opgedateer.';
|
||||
$lang['Original templates'] = 'Oorspronklike template';
|
||||
$lang['Photos generation in progress...'] = 'Besig met fotoskepping...';
|
||||
$lang['Piwigo cannot retrieve upgrade file from server'] = 'Piwigo kan nie opgraderingslêer van bediener verkry nie';
|
||||
$lang['Piwigo export plugin for Aperture'] = 'Piwigo uitvoer invoeging vir Aperture';
|
||||
$lang['Please check "plugins" folder and sub-folders permissions (CHMOD).'] = 'Gaan asseblief "plugins" subgids se toestemmings na (CHMOD).';
|
||||
$lang['Predefined filter'] = 'Voorafopgestelde filter';
|
||||
$lang['Prepared time for list of users to send mail is limited. Others users are not listed.'] = 'Die tyd om die lys van gebruikers vir wie epos gestuur word voor te berei, is beperk. Ander gebruikers word nie gelys nie.';
|
||||
$lang['Purge never used notification feeds'] = 'Maak ongebruikte kennisname strome skoon';
|
||||
$lang['Purge sessions'] = 'Maak sessies skoon';
|
||||
$lang['Quick Local Synchronization'] = 'Vinnige Plaaslike Sinchronisasie';
|
||||
$lang['Rate date'] = 'Gradeer datum';
|
||||
$lang['Rating by guests'] = 'Gradering deur gaste';
|
||||
$lang['Rating'] = 'Gradering';
|
||||
$lang['ReGalAndroid (RemoteGallery client for Android) is an open source (GPL v3) Piwigo client for the Android platform.'] = 'ReGalAndroid (RemoteGallery client for Android) is \'n oopbron (GPL v3) Piwigo kliënt vir die Android dek.';
|
||||
$lang['Refresh photo set'] = 'Herlaai fotostel';
|
||||
$lang['Reinitialize check integrity'] = 'Hervat integriteit nasiening';
|
||||
$lang['Remote'] = 'Afstand';
|
||||
$lang['Remove from caddie'] = 'Verwyder uit mandjie';
|
||||
$lang['Replacement of original templates by customized templates from template-extension subfolder'] = 'Vervanging van oorspronklike sjablone deur aangemete sjablone uit die sjabloon-uitbreidings subgids';
|
||||
$lang['Resize after upload'] = 'Verander grootte na oplaai';
|
||||
$lang['Send an information email to group members'] = 'Stuur \'n inligtings-epos aan groep lede';
|
||||
$lang['Send connection settings by email'] = 'Stuur verbindingsverstellings deur epos';
|
||||
$lang['Set creation date'] = 'Stel skeppingsdatum';
|
||||
$lang['Shotwell is an open source digital photo organizer that runs on Linux. It is the default photo manager in Ubuntu and Fedora.'] = 'Shotwell is \'n oopbron digitale fotobeheerder wat op Linux loop. Dit is die verstek fotobeheerder in Ubuntu en Fedora.';
|
||||
$lang['Status of user "%s" updated'] = 'Gebruiker "%s" status opdateer';
|
||||
$lang['Subscribe/unsubscribe users'] = 'Gebruikers Inteken/afteken ';
|
||||
$lang['Subscribers could be listed (available) only if there is new elements to notify.'] = 'Intekenaars kan slegs gelys word (beskikbaar) as daar nuwe elemente is om in kennis te stel.';
|
||||
$lang['Sum of rates'] = 'Totaal van graderings';
|
||||
$lang['The Piwigo export plugin allows you to create albums and export photos.'] = 'Die Piwigo uitvoer invoegsel laat jou toe om albums te skep en fotos uit te voer.';
|
||||
$lang['The Piwigo publish Plug-in allows you to export and synchronize photos from Lightroom directly to your Piwigo photo gallery.'] = 'Die Piwigo publiseer invoegsel laat jou toe om fotos direk uit Lightroom na jou Piwigo gallery op te laai en te sinchroniseer.';
|
||||
$lang['The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'] = 'Die opgelaaide lêer is groter as die MAX_FILE_SIZE opdrag wat in die HTML vorm gespesifiseer is';
|
||||
$lang['The uploaded file exceeds the upload_max_filesize directive in php.ini: %sB'] = 'Die opgelaaide lêer is groter as die upload_max_filesize opdrag in php.ini: %sB';
|
||||
$lang['The uploaded files exceed the post_max_size directive in php.ini: %sB'] = 'Die opgelaaide lêers is groter as die upload_max_filesize opdrag in php.ini: %sB';
|
||||
$lang['Time to send mail is limited. Others mails are skipped.'] = 'Die beskikbare tyd om epos te stuur is beperk. Ander eposse is oorgeslaan.';
|
||||
$lang['Toggle \'default group\' property'] = 'Draai \'verstek groep\' eienskap om';
|
||||
$lang['Warning: subscribing or unsubscribing will send mails to users'] = 'Waarskuwing: inteken of afteken sal epos na gebruikers stuur';
|
||||
$lang['You are running on development sources, no check possible.'] = 'Jy gebruik ontwikkelaarskode, geen nasiening moontlik nie.';
|
||||
$lang['You can\'t define a default photo order because you have a custom setting in your local configuration.'] = 'Jy kan nie \'n verstek foto volgorde kies nie want jy het \'n aangemete verstelling in jou lokale konfigurasie.';
|
||||
$lang['You have specified <i>$conf[\'order_by\']</i> in your local configuration file, this parameter in deprecated, please remove it or rename it into <i>$conf[\'order_by_custom\']</i> !'] = 'Jy het <i>$conf[\'order_by\']</i> in jou lokale konfigurasie gespesifiseer. Hierdie parameter is afgekeur. Verwyder dit of vernoem dit na <i>$conf[\'order_by_custom\']</i>!';
|
||||
$lang['create a new site'] = 'skep \'n nuwe werf';
|
||||
$lang['digiKam is an advanced digital photo management free software for Linux, Windows, and MacOSX.'] = 'digiKam is \'n gevorderde gratis foto hanteringsagteware pakket vir Linux, Windows en MacOSX.';
|
||||
$lang['global mode'] = 'globale modus';
|
||||
$lang['iPhoto is the default photo manager on MacOSX. The Piwigo export plugin let you create new albums and export your photos directly from iPhoto to your Piwigo photo gallery.'] = 'iPhoto is die verstek fotohanteringsagteware op MacOSX. Die Piwigo uitvoer invoegsel laat jou nuwe albums skep en direk fotos van iPhoto na jou Piwigo gallery oplaai.';
|
||||
$lang['manage album photos'] = 'beheer album fotos';
|
||||
$lang['no write access'] = 'geen skryf regte';
|
||||
$lang['on the %d selected photos'] = 'op die %d gekose fotos';
|
||||
$lang['only perform a simulation (no change in database will be made)'] = 'doen net \'n simulasie (niks sal in die databasis verander word nie)';
|
||||
$lang['pLoader stands for <em>Piwigo Uploader</em>. From your computer, pLoader prepares your photos and transfer them to your Piwigo photo gallery.'] = 'pLoader is kort vir <em>Piwigo Uploader</em>. pLoader berei fotos voor op jou rekenaar en dra dit oor na jou Piwigo fotogallery.';
|
||||
$lang['photos candidates for metadata synchronization'] = 'foto kandidate vir metadata sinchronisasie';
|
||||
$lang['photos informations synchronized with files metadata'] = 'foto inligting gesinchroniseerd met lêer metadata';
|
||||
$lang['reduce to single existing albums'] = 'verminder na enkel bestaande albums';
|
||||
$lang['unset'] = 'onstel';
|
||||
$lang['No order field selected'] = 'Geen veld om volgens te sorteer is gekies nie';
|
||||
$lang['Duplicate selected tags'] = 'Dupliseer gekose etikette';
|
||||
$lang['Name of the duplicate'] = 'Naam van die duplikaat';
|
||||
$lang['Source tag'] = 'Bron etiket';
|
||||
$lang['Tag "%s" is now a duplicate of "%s"'] = 'Etiket "%s" is nou \'n duplikaat van "%s"';
|
||||
?>
|
|
@ -22,7 +22,7 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
/*
|
||||
Language Name: Afrikaans [ZA]
|
||||
Version: 2.3.0
|
||||
Version: 2.4.0
|
||||
Language URI: http://piwigo.org/ext/extension_view.php?eid=572
|
||||
Author: Marius Loots and Mignon Smit
|
||||
Author URI: http://piwigo.org
|
||||
|
|
|
@ -305,7 +305,6 @@ $lang['selection'] = 'الاختيار';
|
|||
$lang['set to'] = 'أعـد لـ ';
|
||||
$lang['singly represented'] = 'نوصيف او تمثيل منفرد';
|
||||
$lang['This site already exists'] = 'هذا الموقع موجود بالفعل';
|
||||
$lang['Create a new site : (give its URL to create_listing_file.php)'] = 'إنشاء موقع جديد : (إعطاء عنوان لcreate_listing_file.php)';
|
||||
$lang['created'] = 'تم الانشاء';
|
||||
$lang['delete'] = 'حـذف';
|
||||
$lang['delete this site and all its attached elements'] = 'احذف هذا الموقع بكل عناصره المرتبطه به';
|
||||
|
@ -922,4 +921,10 @@ $lang['%d physicals'] = '%d مادي';
|
|||
$lang['%d week'] = '%d أسبوع';
|
||||
$lang['%d weeks'] = '%d أسابيع';
|
||||
$lang['Edit photo'] = ' تحرير الصورة';
|
||||
$lang['No order field selected'] = 'لم يتم اختيار أي خافة';
|
||||
$lang['create a new site'] = 'انشأ موقع جديد';
|
||||
$lang['Duplicate selected tags'] = 'كرر الكلمه الدائليه المحددة';
|
||||
$lang['Name of the duplicate'] = 'تسميه المكرر';
|
||||
$lang['Source tag'] = 'مصدر الكلمه الدلائليه';
|
||||
$lang['Tag "%s" is now a duplicate of "%s"'] = 'الكلمه الدلائليه "%s" كررت لـ "%s"';
|
||||
?>
|
|
@ -22,7 +22,7 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
/*
|
||||
Language Name: العربية [AR]
|
||||
Version: 2.3.0
|
||||
Version: 2.4.0
|
||||
Language URI: http://piwigo.org/ext/extension_view.php?eid=412
|
||||
Author: Piwigo team
|
||||
Author URI: http://piwigo.org
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
// | Piwigo - a PHP based photo gallery |
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | Copyright(C) 2008-2012 Piwigo Team http://piwigo.org |
|
||||
// | Copyright(C) 2008-2013 Piwigo Team http://piwigo.org |
|
||||
// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
|
||||
// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
@ -390,4 +390,409 @@ $lang['existing album'] = 'съществуващ албум';
|
|||
$lang['guest'] = 'гост';
|
||||
$lang['hide details'] = 'скриване на детайли';
|
||||
$lang['high'] = 'високо';
|
||||
$lang['Unlocked'] = 'Отключен';
|
||||
$lang['Uncheck all'] = 'Отказване на всички';
|
||||
$lang['Uninstall'] = 'Деинсталация';
|
||||
$lang['To send ?'] = 'За изпращане?';
|
||||
$lang['Templates'] = 'Шаблони';
|
||||
$lang['Support'] = 'Подръжка';
|
||||
$lang['Status'] = 'Статус';
|
||||
$lang['Statistics'] = 'Статистика';
|
||||
$lang['Show info'] = 'Показване на инфо';
|
||||
$lang['Settings'] = 'Настройки';
|
||||
$lang['Send'] = 'Изпращане';
|
||||
$lang['Selection'] = 'Селекция';
|
||||
$lang['Select:'] = 'Избери:';
|
||||
$lang['Searching...'] = 'Търсене...';
|
||||
$lang['Section'] = 'Раздел';
|
||||
$lang['Save Template Directory'] = 'Запази шаблона директория';
|
||||
$lang['Save Settings'] = 'Запази настройките';
|
||||
$lang['Restore'] = 'Възстанови';
|
||||
$lang['Resize'] = 'Преоразмеряване';
|
||||
$lang['Refresh'] = 'Опресняване';
|
||||
$lang['Random photo'] = 'Пройзволна снимка';
|
||||
$lang['Rating'] = 'Рейтинг';
|
||||
$lang['Please wait...'] = 'Моля изчакайте...';
|
||||
$lang['Plugins'] = 'Plugins';
|
||||
$lang['Public / Private'] = 'Частен/Публичен';
|
||||
$lang['Public'] = 'Публичен';
|
||||
$lang['Properties'] = 'Свойства';
|
||||
$lang['Private'] = 'Частен';
|
||||
$lang['Position'] = 'Позиция';
|
||||
$lang['Plugins which need upgrade'] = 'Plugins налични за обновяване';
|
||||
$lang['Piwigo version'] = 'Piwigo версия';
|
||||
$lang['Piwigo for Android'] = 'Piwigo за Android';
|
||||
$lang['Piwigo configuration'] = 'Piwigo конфигурация';
|
||||
$lang['Piwigo Administration'] = 'Piwigo Администриране';
|
||||
$lang['Piwigo Update'] = 'Piwigo Update';
|
||||
$lang['Piwigo Uploader'] = 'Piwigo Uploader';
|
||||
$lang['Parameters'] = 'Параметри';
|
||||
$lang['Photos'] = 'Снимки';
|
||||
$lang['Photo Page'] = 'Фото страница';
|
||||
$lang['Permissions'] = 'Разрешения';
|
||||
$lang['Path'] = 'Път';
|
||||
$lang['Parameter'] = 'Настройки';
|
||||
$lang['Page end'] = 'Край на страница';
|
||||
$lang['Original templates'] = 'Оргинални шаблони';
|
||||
$lang['Options'] = 'Опции';
|
||||
$lang['Operating system'] = 'Операционна система';
|
||||
$lang['None'] = 'Нищо';
|
||||
$lang['No results'] = 'Няма резултати';
|
||||
$lang['New tag'] = 'Нов таг';
|
||||
$lang['New name'] = 'Ново име';
|
||||
$lang['New Version'] = 'Нова версия';
|
||||
$lang['Month'] = 'Месец';
|
||||
$lang['Move'] = 'Премести';
|
||||
$lang['Menu Management'] = 'Менюта';
|
||||
$lang['Members'] = 'Членове';
|
||||
$lang['Lock'] = 'Заключи';
|
||||
$lang['Lock albums'] = 'Заключи албум';
|
||||
$lang['Lock gallery'] = 'Заключи галерия';
|
||||
$lang['Locked'] = 'Заключен';
|
||||
$lang['Local'] = 'Локален';
|
||||
$lang['Languages'] = 'Езици';
|
||||
$lang['Install'] = 'Инсталиране';
|
||||
$lang['Image id'] = 'Номер снимка';
|
||||
$lang['Image Quality'] = 'Качество на снимка';
|
||||
$lang['Ignore selected anomalies'] = 'Игнориране на избраните аномалии';
|
||||
$lang['Ignore this update'] = 'Игнориране на този ъпдейт';
|
||||
$lang['Ignore All'] = 'Игнориране на всички';
|
||||
$lang['IP'] = 'IP адрес';
|
||||
$lang['Hour'] = 'Час';
|
||||
$lang['History'] = 'История';
|
||||
$lang['Guest cannot be deleted'] = '"Гост" не може да бъде изтрит';
|
||||
$lang['Help Me'] = 'Помощ';
|
||||
$lang['Guest Settings'] = 'Настройки на "Гост"';
|
||||
$lang['Groups'] = 'Групи';
|
||||
$lang['Group name'] = 'Име на група';
|
||||
$lang['Group'] = 'Група';
|
||||
$lang['Edit ranks'] = 'Редакция на ранговете';
|
||||
$lang['Documentation'] = 'Документация';
|
||||
$lang['Thumbnail'] = 'Миниатюри';
|
||||
$lang['Themes'] = 'Теми';
|
||||
$lang['Tools'] = 'Инструменти';
|
||||
$lang['Title'] = 'заглавие';
|
||||
$lang['Time'] = 'Време';
|
||||
$lang['User list'] = 'Списък на потребителите';
|
||||
$lang['User'] = 'Потребител';
|
||||
$lang['Uploaded Photos'] = 'Качени снимки';
|
||||
$lang['Upload'] = 'Качване';
|
||||
$lang['Updates'] = 'Обновявания';
|
||||
$lang['Update albums informations'] = 'Обновяване на информацията в албумите';
|
||||
$lang['Update Complete'] = 'Обнавяването е завършено';
|
||||
$lang['Update All'] = 'Обновяване на всички';
|
||||
$lang['errors during synchronization'] = 'грешки по време на синхронизация';
|
||||
$lang['default values'] = 'настройки по подразбиране';
|
||||
$lang['create a new site'] = 'създаване на нов сайт';
|
||||
$lang['cancel manual order'] = 'отказване на ръчна заявка';
|
||||
$lang['Validate'] = 'Потвърдено';
|
||||
$lang['Webmaster status is required.'] = 'Статуса на уебмастъра е необходим.';
|
||||
$lang['Webmaster cannot be deleted'] = 'Уебмастъра не може да бъде изтрит';
|
||||
$lang['Visit Piwigo project website'] = 'Посети Piwigo уебсайта проекти';
|
||||
$lang['Visit language site'] = 'Виж езиковият сайт';
|
||||
$lang['Visit plugin site'] = 'Виж сайта на добавката';
|
||||
$lang['Visit theme site'] = 'Виж сайта на темата';
|
||||
$lang['Waiting'] = 'В очакване';
|
||||
$lang['Visit Gallery'] = 'Посети галерията';
|
||||
$lang['Virtual Links'] = 'Виртуален линк';
|
||||
$lang['Validation'] = 'Потвърждение';
|
||||
$lang['User status'] = 'Статус на потребител';
|
||||
$lang['Users'] = 'Потребител';
|
||||
$lang['jump to album'] = 'директно към албума';
|
||||
$lang['jump to photo'] = 'директно към снимката';
|
||||
$lang['global mode'] = 'глобален начин';
|
||||
$lang['for this file format'] = 'за този файлов формат';
|
||||
$lang['for the file format'] = 'за файлов формат';
|
||||
$lang['display'] = 'екран';
|
||||
$lang['number of miniaturized photos'] = 'брой на създадените миниатюри';
|
||||
$lang['manage album photos'] = 'редактиране на албума снимки';
|
||||
$lang['photos deleted from the database'] = 'снимките са изтрити в базата данни';
|
||||
$lang['photos added in the database'] = 'снимките са добавени в базата данни';
|
||||
$lang['pending validation'] = 'в очакване на потвърждаване';
|
||||
$lang['other'] = 'друг';
|
||||
$lang['only directories'] = 'само за директории';
|
||||
$lang['manage sub-albums'] = 'администриране на под-албумите';
|
||||
$lang['manual order'] = 'ръчна заявка';
|
||||
$lang['modified'] = 'променен';
|
||||
$lang['new'] = 'нов';
|
||||
$lang['none'] = 'никой';
|
||||
$lang['nothing'] = 'нищо';
|
||||
$lang['no write access'] = 'забранен запис';
|
||||
$lang['reduce to single existing albums'] = 'намали до еденични съществуващите албуми';
|
||||
$lang['photos informations synchronized with files metadata'] = 'информацията за снимките е синхронизирана с файловете метаданни';
|
||||
$lang['photos per page'] = 'снимки на страница';
|
||||
$lang['photos updated in the database'] = 'снимката е актуализирана в базата данни';
|
||||
$lang['randomly represented'] = 'пройзволнен албум миниатюри';
|
||||
$lang['public'] = 'обществен';
|
||||
$lang['private'] = 'частен';
|
||||
$lang['pixels'] = 'пиксели';
|
||||
$lang['ranks'] = 'ранг';
|
||||
$lang['registration date'] = 'регистрационна дата';
|
||||
$lang['remove author'] = 'премахване на автора';
|
||||
$lang['remove creation date'] = 'премахване датата на създаване';
|
||||
$lang['remove tags'] = 'премахване на тагове';
|
||||
$lang['remove this filter'] = 'премахване на този филтър';
|
||||
$lang['remove title'] = 'премахване на заглавие';
|
||||
$lang['selection'] = 'избор';
|
||||
$lang['set to'] = 'задай';
|
||||
$lang['show details'] = 'показване детайли';
|
||||
$lang['singly represented'] = 'фиксиран албум миниатюри';
|
||||
$lang['status'] = 'статус';
|
||||
$lang['target'] = 'цел';
|
||||
$lang['test this remote site'] = 'тест на този отдалечен сайт';
|
||||
$lang['synchronize files metadata with database photos informations'] = 'синхронизиране на базата данни на снимките с файловете мета данни ';
|
||||
$lang['synchronize files structure with database'] = 'синхронизиране на файловата структура с базата данни';
|
||||
$lang['user_status_generic'] = 'Основен';
|
||||
$lang['user_status_admin'] = 'Администратор';
|
||||
$lang['user "%s" added'] = 'потребител "%s" добавен';
|
||||
$lang['update the database from files'] = 'обновяване на базата данни с файлове';
|
||||
$lang['unset'] = 'незададено';
|
||||
$lang['unit mode'] = 'единичен режим';
|
||||
$lang['unknown'] = 'непознат';
|
||||
$lang['the wiki'] = 'уйкипедията';
|
||||
$lang['total time'] = 'общо време';
|
||||
$lang['the forum'] = 'форумът';
|
||||
$lang['test'] = 'тест';
|
||||
$lang['sub-albums'] = 'под-албум';
|
||||
$lang['Graphics Library'] = 'Графична библиотека';
|
||||
$lang['General statistics'] = 'Обща статистика';
|
||||
$lang['Installed Languages'] = 'Инсталирани езици';
|
||||
$lang['Install on your computer,'] = 'Инсталирай на твоя компютър,';
|
||||
$lang['Main'] = 'Основен';
|
||||
$lang['Invert'] = 'Обърни';
|
||||
$lang['Maximum width'] = 'Максимална ширина';
|
||||
$lang['Maximum height'] = 'Максимална височина';
|
||||
$lang['Manual order'] = 'Ръчна заявка';
|
||||
$lang['Manage Permissions'] = 'Промяна на достъпа';
|
||||
$lang['Main Page'] = 'Основна страница';
|
||||
$lang['New photos added'] = 'Нови снимки добавени';
|
||||
$lang['Move albums'] = 'Преместване на албуми';
|
||||
$lang['Page banner'] = 'Банер на страница';
|
||||
$lang['Overall'] = 'Преглед';
|
||||
$lang['Permission granted'] = 'Достъпът потвърден';
|
||||
$lang['Permission denied'] = 'Достъпът отказан';
|
||||
$lang['Read Piwigo Documentation'] = 'Прочети Piwigo Документация';
|
||||
$lang['Plugin list'] = 'Лист Плъгини (Добавки)';
|
||||
$lang['Remove all filters'] = 'Примахни всички филтри';
|
||||
$lang['Set author'] = 'Задай автор';
|
||||
$lang['Show menubar'] = 'Показване на лентата с менюто';
|
||||
$lang['Set title'] = 'Задай заглавие';
|
||||
$lang['Set creation date'] = 'Задай дата на създаване';
|
||||
$lang['Send mail to users'] = 'Напишете имейл да потребител';
|
||||
$lang['Send mail as'] = 'Напишете ни имейл';
|
||||
$lang['Synchronize'] = 'Синхронизация';
|
||||
$lang['Site manager'] = 'Сайт менаджер';
|
||||
$lang['Simulation'] = 'Симулация';
|
||||
$lang['The gallery URL is not valid.'] = 'Адреса на галерията е невалиден.';
|
||||
$lang['The whole page'] = 'Цялата страница';
|
||||
$lang['Update to Piwigo %s'] = 'Актуализирай до Piwigo %s';
|
||||
$lang['Unable to check for upgrade.'] = 'Невъзможна е проверката за актуализации';
|
||||
$lang['Two updates are available'] = 'Две актуализации са налични';
|
||||
$lang['Uninstalled Plugins'] = 'Деинсталирани Плъгини';
|
||||
$lang['Type here the title'] = 'Въведете заглавие';
|
||||
$lang['Type here the author name'] = 'Въведете името на автора';
|
||||
$lang['This site already exists'] = 'Сайта вече съществува';
|
||||
$lang['leave'] = 'оставяне';
|
||||
$lang['<em>Piwigo for Android</em> application empowers you to connect your Android phone or table to your Piwigo gallery, create some albums and upload several photos at once.'] = '<em>Piwigo за Android</em> приложение ви позволява да свържете вашия Android телефон или таблица, с вашата галерия Piwigo,и да създавате няколко албума или да качване няколко снимки наведнъж.';
|
||||
$lang['<em>Piwigo for iOS</em> application empowers you to connect to your Piwigo gallery from your iPhone, iPad or iPod Touch, create some albums and upload several photos at once.'] = '<em> Piwigo за IOS </ EM> приложението, което дава възможност да се свържете към вашата галерия Piwigo от вашия iPhone, IPAD или IPod Touch,и да създаване няколко албума или да качване няколко снимки наведнъж.';
|
||||
$lang['Adobe Photoshop Lightroom is a photography software designed to manage large quantities of digital images and doing post production work.'] = 'Adobe Photoshop Lightroom е фотографски софтуер, предназначени за управление на големи количества цифрови изображения и публикуването им след редактирането.';
|
||||
$lang['An error has occured during extract. Please check files permissions of your piwigo installation.<br><a href="%s">Click here to show log error</a>.'] = 'Възникнала е грешка по време на извличането.Моля,проверете файловите разрешения на вашата Piwigo инсталация.<br><a href="%s">Кликнете тук за да видите грешката</a>.';
|
||||
$lang['An error has occured during upgrade.'] = 'Възникнала е грешка по време на ъпгрейд.';
|
||||
$lang['An error occured during extraction (%s).'] = 'Възникнала е грешка по време на файловата(%s)екстракция.';
|
||||
$lang['An information email was sent to group "%s"'] = 'Информационен имейл, изпратен към групата"%s"';
|
||||
$lang['Anyway only webmasters can see this tab and never administrators.'] = 'Както и да е само уебмастъри могат да видят този раздел, не администраторите.';
|
||||
$lang['Aperture is a powerful tool to refine images and manage massive libraries on Mac.'] = 'Aperture е мощен инструмент за обработка на изображения и управление на огромни библиотеки на Mac.';
|
||||
$lang['Aperture is designed for professional photographers with iPhoto simplicity.'] = 'Aperture е предназначена за професионални фотографи с iPhoto.';
|
||||
$lang['Approximate maximum resolution: %dM pixels (that\'s %dx%d pixels).'] = 'Приблизително максимална резолюция: %dM пиксела (това %dx%d пиксела).';
|
||||
$lang['Are you sure to install this upgrade? You must verify if this version does not need uninstallation.'] = 'Сигурен ли сте, че искате да инсталирате този ъпгрейд?Трябва да се провери дали тази версия не се нуждае от предварително деинсталиране.';
|
||||
$lang['Are you sure you want to delete this plugin?'] = 'Сигурен ли сте, че искате да изтриете този плъгин?';
|
||||
$lang['Are you sure you want to install this plugin?'] = 'Сигурен ли сте, че искате да инсталирате този плъгин?';
|
||||
$lang['Authorize users to add comments on selected albums'] = 'Разрешаване на потребителите да добавят коментари в избрани албуми';
|
||||
$lang['Automatic sort order'] = 'Автоматично подреждане';
|
||||
$lang['Bound Theme'] = 'Bound Тема';
|
||||
$lang['By default, Piwigo will create a new websize from the HD (high definition) version of your photo.'] = 'По подразбиране, Piwigo ще създаде нов уебразмер от HD (висока разделителна способност) версия на снимката.';
|
||||
$lang['By default, the center of interest is placed in the middle of the photo.'] = 'По подразбиране,центъра на интерес се поставя в средата на снимката.';
|
||||
$lang['Caddie'] = 'Caddie';
|
||||
$lang['between %.2f and %.2f'] = 'между%.2fи%.2f';
|
||||
$lang['between %d and %d pixels'] = 'между%dи%dпиксела';
|
||||
$lang['delete this site and all its attached elements'] = 'изтрийте този сайт с цялата информация свързана с него';
|
||||
$lang['dissociate from group'] = 'разграничи от групата';
|
||||
$lang['first photo added on %s'] = 'първа снимка добавена% S';
|
||||
$lang['group "%s" added'] = 'група "% S", добави';
|
||||
$lang['group "%s" deleted'] = 'групи "%s" изтрити';
|
||||
$lang['group "%s" updated'] = 'група "% S" обновена';
|
||||
$lang['Caddie management'] = 'Caddie управление';
|
||||
$lang['Center of interest'] = 'Център на интереси';
|
||||
$lang['Check integrity'] = 'проверка на цялостта';
|
||||
$lang['Complementary mail content'] = 'Допълнително към съдържанието на писмото';
|
||||
$lang['Continue processing treatment'] = 'Продължаване на провежданото лечение';
|
||||
$lang['Correction applied with error'] = 'Корекция се прилага с грешка';
|
||||
$lang['Correction applied with success'] = 'Корекцията е успешно приложена';
|
||||
$lang['Correction the anomaly will cancel the fact that it\'s ignored'] = 'Коригираните аномалии вече няма да бъдат пренебрегнати';
|
||||
$lang['Create the "%s" directory at the root of your Piwigo installation'] = 'Създайте директория "% S" в основата на вашата инсталация Piwigo';
|
||||
$lang['Default comments order'] = 'Коментари по подразбиране';
|
||||
$lang['Default photos order'] = 'Ред на снимки по подразбиране';
|
||||
$lang['Delete Representant'] = 'Изтриване умалените албуми';
|
||||
$lang['Delete selected tags'] = 'Изтриване на избраните тагове';
|
||||
$lang['Delete this language'] = 'Изтриване на този език';
|
||||
$lang['Delete this theme'] = 'Изтриване на тази тема';
|
||||
$lang['Deleted on'] = 'Изтрити';
|
||||
$lang['Deletions'] = 'Изтривания';
|
||||
$lang['Detailed informations'] = 'Подробни информации';
|
||||
$lang['Dissociate from album'] = 'Разграничаване от албум';
|
||||
$lang['Dissociated'] = 'Разграничаване';
|
||||
$lang['Execution time is out, treatment must be continue [Estimated time: %d second].'] = 'Времето за изпълнение изтече,обработването трябва да продължи [Приблизително време: %d секунди].';
|
||||
$lang['Execution time is out, treatment must be continue [Estimated time: %d seconds].'] = 'Времето за изпълнение е просрочено,обработването трябва да продължи [Приблизително време: %d секунди].';
|
||||
$lang['Features include gallery browsing, album creation and photo upload.'] = 'Сайтът предлага разглеждане на галерии,създаване на албуми и качване на снимки.';
|
||||
$lang['File/directory read error'] = 'Файлът/директорията не може да бъде прочетен.';
|
||||
$lang['Find a new representant by random'] = 'Изберете на случаен принцип нова икона за албума си.';
|
||||
$lang['Follow Orientation'] = 'Следвай ориентацията';
|
||||
$lang['Forbid this language to users'] = 'Забранете този език за потребителите';
|
||||
$lang['Forbid this theme to users'] = 'Забранете тази тема за потребителите';
|
||||
$lang['Get Support on Piwigo Forum'] = 'Получете помощ от форума Piwigo ';
|
||||
$lang['Give write access (chmod 777) to "%s" directory at the root of your Piwigo installation'] = 'Дайте права (chmod 777)на инсталационната директория "%s" на Piwigo';
|
||||
$lang['Go to %s or %s for more informations'] = 'Отидете %s или %s за повече информация';
|
||||
$lang['Dump Database'] = 'Изхвърляне на базата данни';
|
||||
$lang['Extensions Update'] = 'Extensions Актуализация';
|
||||
$lang['Failed to write file to disk'] = 'Записът на файла е неуспешен!';
|
||||
$lang['I decide to update anyway'] = 'Искам да ъпдейтна въпреки всичко';
|
||||
$lang['Inactive Languages'] = 'Неактивни езици';
|
||||
$lang['Inactive Plugins'] = 'Неактивни плъини';
|
||||
$lang['Inactive Themes'] = 'Активни плъгини';
|
||||
$lang['Installed Themes'] = 'Инсталирани теми';
|
||||
$lang['Instructions to use Piwigo'] = 'Инструкций за ползване на Piwigo';
|
||||
$lang['Landscape'] = 'Пейзажи';
|
||||
$lang['Language has been successfully installed'] = 'Език е инсталиран успешно';
|
||||
$lang['Languages which need upgrade'] = 'Езици, които се нуждаят от ъпгрейд';
|
||||
$lang['Extend for templates'] = 'Разширяване на шаблони';
|
||||
$lang['File upload stopped by extension'] = 'Качване на файлове спряни от разширение';
|
||||
$lang['Following plugins may not be compatible with the new version of Piwigo:'] = 'Плъгините може да не са съвместими с новата версия на Piwigo:';
|
||||
$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Следните теми не може да бъде съвместими с новата версия на Piwigo:';
|
||||
$lang['For photo sizes with crop, such as "Square", Piwigo will do its best to include the center of interest.'] = 'За размери на снимки, като "Квадрат", Piwigo ще направи всичко възможно да се включи центъра на интереса.';
|
||||
$lang['Grant selected groups'] = 'Избрани големи групи';
|
||||
$lang['Do you want to activate anyway?'] = 'Искате ли да активирате така или иначе?';
|
||||
$lang['Does not represent'] = 'Не е ли картинка за';
|
||||
$lang['Drag to re-order'] = 'Щракнете и плъзнете, за да пренаредите';
|
||||
$lang['Duplicate'] = 'Дубликат';
|
||||
$lang['Duplicate selected tags'] = 'Дублиране на избраните тагове';
|
||||
$lang['Duplicates'] = 'Дублиране';
|
||||
$lang['ERROR: THIS PLUGIN IS MISSING BUT IT IS INSTALLED! UNINSTALL IT NOW.'] = 'ГРЕШКА: Този плъгин липсва, но е инсталиран!Деинсталирайте сега.';
|
||||
$lang['Element type'] = 'Тип елемент';
|
||||
$lang['Email administrators when a comment is deleted'] = 'Имейл на администраторите, когато коментарът е изтрит';
|
||||
$lang['Email administrators when a comment is modified'] = 'Имейл на администраторите, когато е променен коментар';
|
||||
$lang['Email admins when a comment requires validation'] = 'Имейл на администраторите когато коментар изисква одобрение';
|
||||
$lang['Email admins when a new user registers'] = 'Имейл на администраторите, когато нов потребител се регистрира';
|
||||
$lang['Email admins when a valid comment is entered'] = 'Имейл администраторите, когато се вписва валиден коментар';
|
||||
$lang['Environment'] = 'Околна среда';
|
||||
$lang['Error on file "%s" : %s'] = 'Грешка на файла "%s" : %s';
|
||||
$lang['Error when sending email to %s [%s].'] = 'Грешка при изпращане на електронна поща %s [%s].';
|
||||
$lang['Errors caption'] = 'Грешки легенди';
|
||||
$lang['This album contains %d photos, added between %s and %s.'] = 'Този албум съдържа%d снимки, добавен между%sand%s.';
|
||||
$lang['There is no other language available.'] = 'Няма друг език.';
|
||||
$lang['There is no other plugin available.'] = 'Няма друг плъгин.';
|
||||
$lang['There is no other theme available.'] = 'TherНяма друга тема.';
|
||||
$lang['The name of an album must not be empty'] = 'Имената на албумите не трябва да са празни';
|
||||
$lang['Representative'] = 'Албум малки снимки';
|
||||
$lang['Representation of albums'] = 'Албум малки снимки';
|
||||
$lang['Representant'] = 'Албум Малки снимки';
|
||||
$lang['Please select at least two groups'] = 'Моля,селектирайте последните две групи';
|
||||
$lang['Portrait'] = 'Портрет';
|
||||
$lang['Other private albums'] = 'Други частни албуми';
|
||||
$lang['Panorama'] = 'Панорама';
|
||||
$lang['Manage the members'] = 'Управление на регистрираните потребители';
|
||||
$lang['Manage tags'] = 'Управление на тагавете';
|
||||
$lang['Manage photos'] = 'Управление на снимките';
|
||||
$lang['Manage photo ranks'] = 'Управление на рейтинга на снимките';
|
||||
$lang['Manage permissions for user "%s"'] = 'Управление правата на потребителите "%s"';
|
||||
$lang['Manage permissions for group "%s"'] = 'Управление на правата на групите "%s"';
|
||||
$lang['Manage authorizations for selected albums'] = 'Управление на разрешения за избрани албуми';
|
||||
$lang['Manage'] = 'Управление';
|
||||
$lang['Make this theme available to users'] = 'Направи тази тема достъпна за потребителите';
|
||||
$lang['Make this language available to users'] = 'Направи този език достъпен за потребителите';
|
||||
$lang['Include history data (Warning: server memory limit may be exceeded)'] = 'Включване на данни от историята (Внимание:паметта на сървъра,може да бъде надвишена)';
|
||||
$lang['Last send'] = 'Последно изпратено';
|
||||
$lang['Mail sent to %s [%s].'] = 'Емейла е изпратен към %s [%s].';
|
||||
$lang['Maintenance'] = 'Поддръжка';
|
||||
$lang['Include display of recent photos grouped by dates'] = '
|
||||
Включва показване на последните снимки, групирани по дати';
|
||||
$lang['Information data registered in database'] = 'Информацията е записана в базата данни';
|
||||
$lang['Last hit'] = 'Последни посещения';
|
||||
$lang['Last import'] = 'Последно внесено';
|
||||
$lang['Last revisions'] = 'Последно посещение';
|
||||
$lang['Impossible to delete this theme. Other themes depends on it: %s'] = 'Тази тема не може да бъде изтрита, защото други теми зависят от нея:% S';
|
||||
$lang['Impossible to deactivate this theme, you need at least one theme.'] = 'Невъзможно е да деактивирате тази тема, трябва има най-малко една тема.';
|
||||
$lang['Impossible to deactivate this language, you need at least one language.'] = 'Невъзможно е да деактивирате този език, трябва има най-малко един език.';
|
||||
$lang['Impossible to deactivate this language, first set another language as default.'] = 'Невъзможно е да деактивирате този език,преди това изберете език по подразбиране.';
|
||||
$lang['Impossible automatic correction'] = 'Автоматичната корекция е невъзможна';
|
||||
$lang['Hit'] = 'Показвания';
|
||||
$lang['Group management'] = 'Управление на групите';
|
||||
$lang['Grant selected users'] = 'Избрани потребители';
|
||||
$lang['No members to manage'] = 'Няма членове за управление';
|
||||
$lang['No order field selected'] = 'Не е за избраното поле';
|
||||
$lang['No photo can be deleted'] = 'Не може да бъде изтрита снимка';
|
||||
$lang['No photo in the current set.'] = 'Няма снимка в сегашния набор.';
|
||||
$lang['Link all album photos to some existing albums'] = 'Връзка всички албуми снимки на някои съществуващи албуми';
|
||||
$lang['Mail address is obligatory for all users'] = 'Мейл адрес е задължителна за всички потребители';
|
||||
$lang['Minimum height'] = 'Минимална височина';
|
||||
$lang['Minimum privacy level'] = 'Минимална поверителност ниво';
|
||||
$lang['Minimum width'] = 'Минимална ширина';
|
||||
$lang['Miscellaneous'] = 'Разни';
|
||||
$lang['Missing Plugins'] = 'Липсващи Plugins';
|
||||
$lang['Missing a temporary folder'] = 'Липсва временна папка';
|
||||
$lang['Modify information'] = 'Промяна на информация';
|
||||
$lang['Name of the duplicate'] = 'Име на дубликата';
|
||||
$lang['Link all album photos to a new album'] = 'Връзка всички албум снимки на новия си албум';
|
||||
$lang['Linked albums'] = 'Свързаните албуми';
|
||||
$lang['Manage this set of %d photos'] = 'Управление на този набор от%d снимки';
|
||||
$lang['Merge selected groups'] = 'Обединяване на избраните групи';
|
||||
$lang['Merge selected tags'] = 'Обединяване на избрани тагове';
|
||||
$lang['Merge tags'] = 'Обединяване тагове';
|
||||
$lang['Metadata synchronization results'] = 'Резултатите от метаданни за синхронизация';
|
||||
$lang['Metadata synchronized from file'] = 'Метаданните синхронизирани от файл';
|
||||
$lang['Hoverbox display'] = 'hoverbox дисплей';
|
||||
$lang['Impossible to activate this theme, the parent theme is missing: %s'] = 'Тази тема не може да бъде активиран, тъй като основната тема липсва:%s';
|
||||
$lang['No user to send notifications by mail.'] = 'Не е посочен потребител,който да бъде уведомен с имейл';
|
||||
$lang['No photo selected, no action possible.'] = 'Не е избрана снимка,не мове да бъде предприето действие';
|
||||
$lang['No photo selected, %d photos in current set'] = 'Не е избрана снимка, %d снимки в настоящият сет.';
|
||||
$lang['No group selected, no action possible.'] = 'Не е избрана група,не може да бъде предприето действие';
|
||||
$lang['Images manual order was saved'] = 'Снимките са запазени в ръчно избран ред.';
|
||||
$lang['New parent album'] = 'Нов главен албум';
|
||||
$lang['No destination tag selected'] = 'Не е избрана дестинация';
|
||||
$lang['No display'] = 'Няма дисплей';
|
||||
$lang['No file was uploaded'] = 'Не е качен файл';
|
||||
$lang['No mail to send.'] = 'Няма имейл за изпращане.';
|
||||
$lang['No photo in this album'] = 'Няма снимка в този албум';
|
||||
$lang['Main "webmaster" user status is incorrect'] = 'Статусът на основния потребител "уебмастер" е неточен.';
|
||||
$lang['Main "webmaster" user does not exist'] = 'Основният потребител "уебмастер" не съществува';
|
||||
$lang['Main "guest" user status is incorrect'] = 'Статусът на основния потребител "гост" е неточен.';
|
||||
$lang['Main "guest" user does not exist'] = 'Основният потребител "гост" не съществува';
|
||||
$lang['Mail content'] = 'Съдържание на имейла.';
|
||||
$lang['Level 0'] = '–––';
|
||||
$lang['Keep in touch with Piwigo project, subscribe to Piwigo Announcement Newsletter. You will receive emails when a new release is available (sometimes including a security bug fix, it\'s important to know and upgrade) and when major events happen to the project. Only a few emails a year.'] = 'Дръжте връзка с проектът Piwigo, абонирайте се за рекламният Newsletter на Piwigo. Ще ви бъдат изпращани имейли за новости (понякога включващи насоки за "security bug fix",които е важно да знаете и да обновявате),както и когато се случват същестшени промени с проекта. Само няколко имейла годишно.';
|
||||
$lang['In your php.ini file, the upload_max_filesize (%sB) is bigger than post_max_size (%sB), you should change this setting'] = 'Във вашият php.ini файл, файлът "upload_max_filesize(%sB) е по-голям от "post_max_size (%sB)"", трябва да промените тази настройка.';
|
||||
$lang['If no HD is available and if the current websize is bigger than resize dimensions, Piwigo will move it as HD and create a downsized websize photo from it.'] = 'Ако няма налично HD и,ако настоящият уеб размер е по-голям от параметрите на новия мащаб, Piwigo ще го премести като HD формат и ще създаде по-малка по размер снимка,копие на оригинала.';
|
||||
$lang['Number of albums per page'] = 'Брой албуми на страница';
|
||||
$lang['Number of comments per page'] = 'Брой коментари на страница';
|
||||
$lang['Number of downloads'] = 'Брой на свалянията';
|
||||
$lang['Number of rates'] = 'Брой на ставките';
|
||||
$lang['Only private albums are listed'] = 'Само частни албуми са изброени';
|
||||
$lang['Optimizations have been completed with some errors.'] = 'Оптимизацията завършена с някои грешки.';
|
||||
$lang['Pages seen'] = 'Посетени страници';
|
||||
$lang['Pending Comments'] = 'Очакващи одобрение коментари';
|
||||
$lang['User comments validation'] = 'Потвърждаване на потребителски коментари';
|
||||
$lang['View in gallery'] = 'Преглед в галерия';
|
||||
$lang['Used metadata'] = 'Метадата използвана';
|
||||
$lang['Update photos information'] = 'Обновяване на информацията на снимки';
|
||||
$lang['Unknown upload error'] = 'Нейзвестна грешка при качване';
|
||||
$lang['Synchronize metadata'] = 'Синхронизиране на метаданни';
|
||||
$lang['Summary'] = 'Общо';
|
||||
$lang['Rename'] = 'Прейменуване';
|
||||
$lang['Ratio'] = 'Съотношение';
|
||||
$lang['Privacy level'] = 'Ниво на достъп';
|
||||
$lang['Photo informations updated'] = 'Имформацияна за снимката ъпдейтвана';
|
||||
$lang['Password is missing. Please enter the password.'] = 'Липсва парола. Моля въведете.';
|
||||
$lang['Permalink'] = 'Персонализиран линков';
|
||||
$lang['Permalink %s is already used by album %s'] = 'Пермалинкае %s се използва вече от друг албум %s';
|
||||
$lang['Permalink history'] = 'История на пермалинковете';
|
||||
$lang['Permalinks'] = 'Персонализирани линкове';
|
||||
?>
|
|
@ -22,7 +22,7 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
/*
|
||||
Language Name: Български [BG]
|
||||
Version: 2.3.0
|
||||
Version: 2.4.0
|
||||
Language URI: http://piwigo.org/ext/extension_view.php?eid=510
|
||||
Author: Piwigo team
|
||||
Author URI: http://piwigo.org
|
||||
|
|
|
@ -26,7 +26,7 @@ $lang['Database configuration'] = 'Конфигуриране на базата
|
|||
$lang['Database name'] = 'Име на базата данни';
|
||||
$lang['database tables names will be prefixed with it (enables you to manage better your tables)'] = 'имената на таблиците в базата данни, ще имат тази представка ( това Ви дава възможност да управлявате таблиците по-добре)';
|
||||
$lang['Default gallery language'] = 'Език по подразбиране за галерията';
|
||||
$lang['Don\'t hesitate to consult our forums for any help : %s'] = 'Не се колебайте да се консултира в нашите форуми за всяка помощ:% S';
|
||||
$lang['Don\'t hesitate to consult our forums for any help : %s'] = 'Не се колебайте да се консултира в нашите форуми за всяка помощ:%s';
|
||||
$lang['Download the config file'] = 'Изтегляне на конфигурационния файл';
|
||||
$lang['enter a login for webmaster'] = 'въведете потребителско име за уебмастер';
|
||||
$lang['Installation'] = 'Инсталиране';
|
||||
|
@ -69,4 +69,4 @@ $lang['Creation of config file local/config/database.inc.php failed.'] = 'Съз
|
|||
$lang['It appears your webhost is currently running PHP %s.'] = 'Изглежда вашият уеб хост се изпълнява в PHP %s';
|
||||
$lang['Piwigo may try to switch your configuration to PHP 5 by creating or modifying a .htaccess file.'] = 'Piwigo може да се опита да превключите вашата конфигурация на PHP 5 като създаде или промени .htaccess файла.';
|
||||
$lang['You may referer to your hosting provider\'s support and see how you could switch to PHP 5 by yourself.'] = 'Обърнете се към вашия хостинг доставчик и вижте как можете да преминете към PHP 5 самостоятелно.';
|
||||
?>
|
||||
?>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
$lang['%d association'] = '%d associació';
|
||||
$lang['%d associations'] = '%d associacions';
|
||||
$lang['%d album including'] = '%d àlbum inclòs';
|
||||
$lang['%d album including'] = '%d àlbum incloent ';
|
||||
$lang['%d albums including'] = '%d àlbums inclosos, ';
|
||||
$lang['%d physical'] = '%d física';
|
||||
$lang['%d physicals'] = '%d físics';
|
||||
|
@ -163,7 +163,7 @@ $lang['Associate to album'] = 'Assòcia a l\'àlbum';
|
|||
$lang['Authorized'] = 'Autoritzat';
|
||||
$lang['Add a virtual album'] = 'Afegir àlbum virtual';
|
||||
$lang['Authorize users to add comments on selected albums'] = 'Autoritzar als usuaris a afegir comentaris en els àlbums seleccionats';
|
||||
$lang['The name of an album must not be empty'] = 'El nom de l\'àlbum no pot ser buit';
|
||||
$lang['The name of an album must not be empty'] = 'El nom de l\'àlbum no pot estar buit';
|
||||
$lang['Lock albums'] = 'Bloqueig d\'àlbums';
|
||||
$lang['Private'] = 'Privat';
|
||||
$lang['Public'] = 'Públic';
|
||||
|
@ -192,7 +192,7 @@ $lang['first photo added on %s'] = 'primera imatge afegida el %s';
|
|||
$lang['Forbidden'] = 'Prohibit';
|
||||
$lang['global mode'] = 'Mode global';
|
||||
$lang['group "%s" updated'] = 'grup "%s" actualitzat';
|
||||
$lang['The name of a group must not contain " or \' or be empty.'] = 'El nom d\'un grup no pot contenir " o \' o ser buit.';
|
||||
$lang['The name of a group must not contain " or \' or be empty.'] = 'El nom d\'un grup no pot contenir " o \' o estar buit.';
|
||||
$lang['This name is already used by another group.'] = 'Aquest nom ja està en us per un altre grup.';
|
||||
$lang['High definition'] = 'Alta qualitat';
|
||||
$lang['jump to album'] = 'Tornar a l\'àlbum';
|
||||
|
@ -526,7 +526,7 @@ $lang['Subscribe %s to Piwigo Announcements Newsletter'] = 'Inscriure %s al butl
|
|||
$lang['Purge search history'] = 'Purgar el historico de búsquedad';
|
||||
$lang['Hide'] = 'Ocultar';
|
||||
$lang['Execution time is out, treatment must be continue [Estimated time: %d seconds].'] = 'Sobrepasado el tiempo de ejecución, el procesamiento debe continuar [Tiempo estimado: %d secundas].';
|
||||
$lang['Operation in progress'] = 'Operación en progreso.';
|
||||
$lang['Operation in progress'] = 'Operació en progrés...';
|
||||
$lang['Please wait...'] = 'Si us plau, esperi...';
|
||||
$lang['Password is missing. Please enter the password.'] = 'Falta la clau d\'accès. Si us plau, introdueix-la.';
|
||||
$lang['Password confirmation is missing. Please confirm the chosen password.'] = 'La confirmación de la contraseña faltó. Por favor, confirme la contraseña elegida.';
|
||||
|
@ -643,7 +643,7 @@ $lang['This theme was not designed to be directly activated'] = 'Este tema no es
|
|||
$lang['Who can see this photo?'] = 'Compartir';
|
||||
$lang['Pending Comments'] = 'Comentaris pendents de validar';
|
||||
$lang['Menu Management'] = 'Gestionar menús';
|
||||
$lang['In your php.ini file, the upload_max_filesize (%sB) is bigger than post_max_size (%sB), you should change this setting'] = 'A l\'arxiu php.ini, la variable upload_max_filesize (% SB) es major que post_max_size (SB%). Hauries de canviar aquesta configuració.';
|
||||
$lang['In your php.ini file, the upload_max_filesize (%sB) is bigger than post_max_size (%sB), you should change this setting'] = 'A l\'arxiu php.ini, la variable upload_max_filesize (%s) es major que post_max_size (SB%). Hauries de canviar aquesta configuració.';
|
||||
$lang['Exif extension not available, admin should disable exif use'] = 'L\'extensió Exif no està disponible. Un administrador hauria de desabilitar l\'ús de metadades Exif.';
|
||||
$lang['The uploaded file exceeds the upload_max_filesize directive in php.ini: %sB'] = 'La mida de l\'arxiu pujat excedeix el valor upload_max_filesize de l\'arxiu php.ini: sB%';
|
||||
$lang['The uploaded files exceed the post_max_size directive in php.ini: %sB'] = 'La mida total dels arxius que estàs pujant excedeix el valor post_max_size de l\'arxiu php.ini: sB%';
|
||||
|
@ -736,7 +736,7 @@ $lang['Following plugins may not be compatible with the new version of Piwigo:']
|
|||
$lang['Following themes may not be compatible with the new version of Piwigo:'] = 'Els següents temes poden no ser compatibles amb la nova versió de Piwigo:';
|
||||
$lang['I decide to update anyway'] = 'Vull actualitzar de totes maneres';
|
||||
$lang['Update to Piwigo %s'] = 'Actualitzar a Piwigo %s';
|
||||
$lang['Two updates are available'] = 'Dues actualitzacions estàn disponibles';
|
||||
$lang['Two updates are available'] = 'Hi ha dues actualitzacions disponibles';
|
||||
$lang['This is a minor update, with only bug corrections.'] = 'Aquesta actualització és menor. Només conté correccions d\'errors.';
|
||||
$lang['This is a major update, with <a href="%s">new exciting features</a>.'] = 'Esta es una actualización importante, con <a href="%s">nuevas características emocionantes</a>.';
|
||||
$lang['Some themes and plugins may be not available yet.'] = 'Alguns dels temes i complements poden encara no estar disponibles.';
|
||||
|
@ -744,8 +744,8 @@ $lang['You can update to Piwigo %s directly, without upgrading to Piwigo %s (rec
|
|||
$lang['Save Template Directory'] = 'Desar directori de plantilles';
|
||||
$lang['Dump Database'] = 'Abocar la base de dades';
|
||||
$lang['Include history data (Warning: server memory limit may be exceeded)'] = 'Incloure la informació de l\'historial. (Advertència: el límit de memòria del servidor pot ser superat)';
|
||||
$lang['Unable to dump database.'] = 'No és possible volcar la base de dades.';
|
||||
$lang['Some upgrades are available for extensions.'] = 'Actualitzacions disponibles per a les extensiones.';
|
||||
$lang['Unable to dump database.'] = 'No és possible abocar la base de dades.';
|
||||
$lang['Some upgrades are available for extensions.'] = 'Hi ha actualitzacions disponibles per a algunes extensions';
|
||||
$lang['Ignore All'] = 'Ignorar tot';
|
||||
$lang['Crop'] = 'Redimensionar ';
|
||||
$lang['Width'] = 'Amplada';
|
||||
|
@ -932,4 +932,9 @@ $lang['%d week'] = '%d setmana';
|
|||
$lang['%d weeks'] = '%d setmanes';
|
||||
$lang['Edit photo'] = 'Editar imatge';
|
||||
$lang['create a new site'] = 'Crear un lloc nou';
|
||||
?>
|
||||
$lang['No order field selected'] = 'Ordre no seleccionat';
|
||||
$lang['Duplicate selected tags'] = 'Duplicar etiquetes seleccionades';
|
||||
$lang['Name of the duplicate'] = 'Nom del duplicat';
|
||||
$lang['Source tag'] = 'Font d\'etiqueta';
|
||||
$lang['Tag "%s" is now a duplicate of "%s"'] = 'L\'etiqueta "%s" és ara un duplicat de "%s"';
|
||||
?>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
/*
|
||||
Language Name: Català [CA]
|
||||
Version: 2.3.0
|
||||
Version: 2.4.0
|
||||
Language URI: http://piwigo.org/ext/extension_view.php?eid=413
|
||||
Author: Piwigo team
|
||||
Author URI: http://piwigo.org
|
||||
|
|
|
@ -1,123 +1,123 @@
|
|||
<h2>Edita l'àlbum</h2>
|
||||
|
||||
<h3>Informació</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Nom</strong>: Canvia el nom de l'àlbum (virtualment per un àlbum físic).</li>
|
||||
|
||||
<li><strong>Descripció</strong>: Un text curt donant una idea del contingut de l'àlbum.
|
||||
Aquesta indicació es mostrarà al final de la pàgina de les miniatures.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Desplaçar</h3>
|
||||
|
||||
<p>Els àlbums virtuals poden ser desplaçats. Desplaçar un àlbum significa canviar el seu àlbum pare.</p>
|
||||
|
||||
<h3>Opcions</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Tipus d'accès</strong>: Administració de permisos. Si afegiu un àlbum privat, tots els seus
|
||||
àlbums fills esdeveniràn privats. Si afegiu un àlbum públic, tots els seus àlbums pare esdeveniràn públics.</li>
|
||||
|
||||
<li><strong>Bloquejar</strong>: L'àlbum i tots els seus sub-àlbums esdeveniràn temporalment inaccessibles per manteniment.</li>
|
||||
|
||||
<li><strong>Comentaris</strong>: Autoritza als usuaris a afegir comentaris dels elements de l'àlbum.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>També pot administrar aquestes opcions de gestió de "Propietats" <span
|
||||
class="pwgScreen">Comentaris</span>, <span class="pwgScreen">Bloquejats</span>,
|
||||
<span class="pwgScreen">Públic/Privats</span>, <span
|
||||
class="pwgScreen">Representatiu</span> Disponibles a <span
|
||||
class="pwgScreen">Tauler de control » Àlbums » Propietats</span>).</p>
|
||||
|
||||
<h3>Ordenar</h3>
|
||||
|
||||
<p>Utilitza l'ordre dels elements per defecte.</p>
|
||||
|
||||
<p>Indica si l'ordre s'aplica també als sub-àlbums.</p>
|
||||
|
||||
<p>Selecciona els criteris a utilitzar per aquest àlbum.</p>
|
||||
<ul>
|
||||
<li><strong>Data de creació</strong>: Data de presa de la imatge</li>
|
||||
<li><strong>Data de publicació</strong>: Data de sincronització</li>
|
||||
<li><strong>Nota mitja (*)</strong>: S'actualitza segons la qualificació dels visitants</li>
|
||||
<li><strong>Les més visitades (*)</strong>: La visita actual podria canviar l'ordre més visitat</li>
|
||||
<li><strong>Nom de l'arxiu</strong>: Nom que es dóna en el camp de la informació</li>
|
||||
<li><strong>Id</strong>: Id inern (les categories més recents tenen un identificador més alt que els anteriors.</li>
|
||||
|
||||
</ul>
|
||||
<p><strong>(*)</strong>Atenció: Assegureu-vos de provar els criteris d'ordenació perquè de vegades poden generar resultats inesperats.</p>
|
||||
|
||||
|
||||
<h3>Representatiu</h3>
|
||||
|
||||
<p>L'àlbum representatiu és la imatge que apareix a la a la pàgina principal <span class="pwgScreen">category.php</span>) per representar
|
||||
aquell àlbum que conté sub-àlbums però no imatges: (per exemple l'àlbum arrel del directori).
|
||||
</p>
|
||||
|
||||
<p>Existeixen 4 maneres diferents d'escollir la representació de l'àlbum:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><span class="pwgScreen">Imatges de pàgina</span>: un dels botons d'acció permet escollir la present imatge per a representar el seu propi àlbum.</li>
|
||||
|
||||
<li><span class="pwgScreen">Modifica la informació d'una imatge.</span> a Administració. Hi pots accedir des de <span
|
||||
class="pwgScreen">picture.php</span> o <span class="pwgScreen">Gestió de lots</span> a <em>mode unitari</em>. Consulta l'ajuda per a més detalls.</li>
|
||||
|
||||
<li><span class="pwgScreen">Tauler de control » Àlbums » Propietats,
|
||||
Representatiu</span>. Consulta l'ajuda per a més detalls.</li>
|
||||
|
||||
<li><span class="pwgScreen">Editar àlbum</span> (aquesta pantalla).</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>L'elecció de la representació depén del paràmetre de configuració
|
||||
<code>allow_random_representative</code> (veure <span
|
||||
class="filename">include/config_default.inc.php</span>).</p>
|
||||
|
||||
<p>Mode Per defecte (<code>allow_random_representative</code> establert a fals),
|
||||
cada àlbum que conté almenys un element que està representat per un element fix.
|
||||
Un cop establert (a la creació de l'àlbum), la representació només canvia
|
||||
quan un administrador jo sol·licita. Si la representació no és apropiada,
|
||||
pots <strong>establir-se una nova representació de l'àlbum a l'atzar.<strong></p>
|
||||
|
||||
<p>Si el <code>allow_random_representative</code>paràmetre de configuració és cert,
|
||||
una categoria que contingui elements pot no tindre una represetnació fixe. Simplement utilitza el botó
|
||||
<strong>Eliminar representant</strong>.</p>
|
||||
|
||||
<p>Si l'àlbum conté sub-àlbums però no elements (imatges), pot ser representat per qualsevol element gràcies a la pantalla <span class="pwgScreen">Modicar
|
||||
informació quant a la imatge</span>. L'única opció en la pantalla actual
|
||||
és el botó<strong>Eliminar representació</strong>.</p>
|
||||
|
||||
<h3>Enllaça tots els elements de l'àlbum a un nou àlbum</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Nom de l'àlbum virtual</strong>: Nom del nou àlbum que es crearà.
|
||||
Tots els elements de la categoria actual es vincularan amb la nova.</li>
|
||||
|
||||
<li><strong>Àlbum pare</strong>: Crea sub-àlbums jeràrquicament.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Enllaça totes les fotos de l'àlbum als àlbums existents</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Àlbums</strong>: Selecciona l'àlbum de destí.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Informa per correu electrònic als tots els membres d'un grup.</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Grups</strong>: grup de destinataris</li>
|
||||
|
||||
<li><strong>Contingut del correu electrònic</strong>: Amb la possibilitat de redactar textes lliurement.</li>
|
||||
|
||||
<h2>Edita l'àlbum</h2>
|
||||
|
||||
<h3>Informació</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Nom</strong>: Canvia el nom de l'àlbum (virtualment per un àlbum físic).</li>
|
||||
|
||||
<li><strong>Descripció</strong>: Un text curt donant una idea del contingut de l'àlbum.
|
||||
Aquesta indicació es mostrarà al final de la pàgina de les miniatures.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Desplaçar</h3>
|
||||
|
||||
<p>Els àlbums virtuals poden ser desplaçats. Desplaçar un àlbum significa canviar el seu àlbum pare.</p>
|
||||
|
||||
<h3>Opcions</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Tipus d'accès</strong>: Administració de permisos. Si afegiu un àlbum privat, tots els seus
|
||||
àlbums fills esdeveniràn privats. Si afegiu un àlbum públic, tots els seus àlbums pare esdeveniràn públics.</li>
|
||||
|
||||
<li><strong>Bloquejar</strong>: L'àlbum i tots els seus sub-àlbums esdeveniràn temporalment inaccessibles per manteniment.</li>
|
||||
|
||||
<li><strong>Comentaris</strong>: Autoritza als usuaris a afegir comentaris dels elements de l'àlbum.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>També pot administrar aquestes opcions de gestió de "Propietats" <span
|
||||
class="pwgScreen">Comentaris</span>, <span class="pwgScreen">Bloquejats</span>,
|
||||
<span class="pwgScreen">Públic/Privats</span>, <span
|
||||
class="pwgScreen">Representatiu</span> Disponibles a <span
|
||||
class="pwgScreen">Tauler de control » Àlbums » Propietats</span>).</p>
|
||||
|
||||
<h3>Ordenar</h3>
|
||||
|
||||
<p>Utilitza l'ordre dels elements per defecte.</p>
|
||||
|
||||
<p>Indica si l'ordre s'aplica també als sub-àlbums.</p>
|
||||
|
||||
<p>Selecciona els criteris a utilitzar per aquest àlbum.</p>
|
||||
<ul>
|
||||
<li><strong>Data de creació</strong>: Data de presa de la imatge</li>
|
||||
<li><strong>Data de publicació</strong>: Data de sincronització</li>
|
||||
<li><strong>Nota mitja (*)</strong>: S'actualitza segons la qualificació dels visitants</li>
|
||||
<li><strong>Les més visitades (*)</strong>: La visita actual podria canviar l'ordre més visitat</li>
|
||||
<li><strong>Nom de l'arxiu</strong>: Nom que es dóna en el camp de la informació</li>
|
||||
<li><strong>Id</strong>: Id inern (les categories més recents tenen un identificador més alt que els anteriors.</li>
|
||||
|
||||
</ul>
|
||||
<p><strong>(*)</strong>Atenció: Assegureu-vos de provar els criteris d'ordenació perquè de vegades poden generar resultats inesperats.</p>
|
||||
|
||||
|
||||
<h3>Representatiu</h3>
|
||||
|
||||
<p>L'àlbum representatiu és la imatge que apareix a la a la pàgina principal <span class="pwgScreen">category.php</span>) per representar
|
||||
aquell àlbum que conté sub-àlbums però no imatges: (per exemple l'àlbum arrel del directori).
|
||||
</p>
|
||||
|
||||
<p>Existeixen 4 maneres diferents d'escollir la representació de l'àlbum:</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><span class="pwgScreen">Imatges de pàgina</span>: un dels botons d'acció permet escollir la present imatge per a representar el seu propi àlbum.</li>
|
||||
|
||||
<li><span class="pwgScreen">Modifica la informació d'una imatge.</span> a Administració. Hi pots accedir des de <span
|
||||
class="pwgScreen">picture.php</span> o <span class="pwgScreen">Gestió de lots</span> a <em>mode unitari</em>. Consulta l'ajuda per a més detalls.</li>
|
||||
|
||||
<li><span class="pwgScreen">Tauler de control » Àlbums » Propietats,
|
||||
Representatiu</span>. Consulta l'ajuda per a més detalls.</li>
|
||||
|
||||
<li><span class="pwgScreen">Editar àlbum</span> (aquesta pantalla).</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>L'elecció de la representació depén del paràmetre de configuració
|
||||
<code>allow_random_representative</code> (veure <span
|
||||
class="filename">include/config_default.inc.php</span>).</p>
|
||||
|
||||
<p>Mode Per defecte (<code>allow_random_representative</code> establert a fals),
|
||||
cada àlbum que conté almenys un element que està representat per un element fix.
|
||||
Un cop establert (a la creació de l'àlbum), la representació només canvia
|
||||
quan un administrador jo sol·licita. Si la representació no és apropiada,
|
||||
pots <strong>establir-se una nova representació de l'àlbum a l'atzar.</strong></p>
|
||||
|
||||
<p>Si el <code>allow_random_representative</code>paràmetre de configuració és cert,
|
||||
una categoria que contingui elements pot no tindre una represetnació fixe. Simplement utilitza el botó
|
||||
<strong>Eliminar representant</strong>.</p>
|
||||
|
||||
<p>Si l'àlbum conté sub-àlbums però no elements (imatges), pot ser representat per qualsevol element gràcies a la pantalla <span class="pwgScreen">Modicar
|
||||
informació quant a la imatge</span>. L'única opció en la pantalla actual
|
||||
és el botó<strong>Eliminar representació</strong>.</p>
|
||||
|
||||
<h3>Enllaça tots els elements de l'àlbum a un nou àlbum</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Nom de l'àlbum virtual</strong>: Nom del nou àlbum que es crearà.
|
||||
Tots els elements de la categoria actual es vincularan amb la nova.</li>
|
||||
|
||||
<li><strong>Àlbum pare</strong>: Crea sub-àlbums jeràrquicament.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Enllaça totes les fotos de l'àlbum als àlbums existents</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Àlbums</strong>: Selecciona l'àlbum de destí.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Informa per correu electrònic als tots els membres d'un grup.</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Grups</strong>: grup de destinataris</li>
|
||||
|
||||
<li><strong>Contingut del correu electrònic</strong>: Amb la possibilitat de redactar textes lliurement.</li>
|
||||
|
||||
</ul>
|
|
@ -53,6 +53,6 @@ galleries
|
|||
|
||||
<li>No es representen amb una icona per defecte elements com ara arxius de vídeo, sons, textos d'arxius, i altres extensions. Opcionalment, es pot associar una miniatura i un arxiu de representanció (veure el video-avio.avi en l'exemple anterior).</li>
|
||||
|
||||
<li>Una vegada que les fotos estan ben col · locades en els directoris, aneu a: <span class="pwgScreen">Tauler de control » Eines » Sincronitzar</span></li>
|
||||
<li>Una vegada que les fotos estan ben col · locades en els directoris, aneu a: <span class="pwgScreen">Gestionar (al Tauler de control) » Eines » Sincronitzar</span></li>
|
||||
</ul>
|
||||
</fieldset>
|
|
@ -927,4 +927,9 @@ $lang['%d week'] = '%d týden';
|
|||
$lang['%d weeks'] = '%d týdny';
|
||||
$lang['Edit photo'] = 'Upravit foto';
|
||||
$lang['create a new site'] = 'vytvoř nové místo';
|
||||
$lang['No order field selected'] = 'Není vybráno pole řazení';
|
||||
$lang['Duplicate selected tags'] = 'Duplikuj vybrané tagy';
|
||||
$lang['Name of the duplicate'] = 'Název duplikátu';
|
||||
$lang['Source tag'] = 'Zdrojový tag';
|
||||
$lang['Tag "%s" is now a duplicate of "%s"'] = 'Tag "%s" je nyní duplikátem "%s"';
|
||||
?>
|
|
@ -25,7 +25,7 @@
|
|||
// +-----------------------------------------------------------------------+
|
||||
/*
|
||||
Language Name: Česky [CZ]
|
||||
Version: 2.3.0
|
||||
Version: 2.4.0
|
||||
Language URI: http://piwigo.org/ext/extension_view.php?eid=414
|
||||
Author: Piwigo team
|
||||
Author URI: http://piwigo.org
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
<p>Udgivelsen af den danske piwigo er vedligeholdt af (alfabetisk orden):
|
||||
<ul>
|
||||
<li><a href="http://piwigo.org/forum/profile.php?id=16630">Egorip</a></li>
|
||||
<li><a href="http://piwigo.org/forum/profile.php?id=17434">Kaare</a></li>
|
||||
<li><a href="http://piwigo.org/forum/profile.php?id=4888">nile</a></li>
|
||||
<li><a href="http://piwigo.org/forum/profile.php?id=14226">Rollike</a></li>
|
||||
<li><a href="http://piwigo.org/forum/profile.php?id=11616">thomas1956</a></li>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -36,85 +36,85 @@ $lang_info['code'] = 'da';
|
|||
$lang_info['zero_plural'] = true;
|
||||
|
||||
$lang['%d Kb'] = '%d Kb';
|
||||
$lang['%d album updated'] = '%d kategori opdateret';
|
||||
$lang['%d albums updated'] = '%d kategorier opdateret';
|
||||
$lang['%d album updated'] = '%d album opdateret';
|
||||
$lang['%d albums updated'] = '%d albummer opdateret';
|
||||
$lang['%d comment to validate'] = '%d kommentar til godkendelse';
|
||||
$lang['%d comments to validate'] = '%d kommentarer til godkendelse';
|
||||
$lang['%d new comment'] = '%d ny kommentar';
|
||||
$lang['%d new comments'] = '%d nye kommentarer';
|
||||
$lang['%d comment'] = '%d kommentar';
|
||||
$lang['%d comments'] = '%d kommentarer';
|
||||
$lang['%d hit'] = '%d hit';
|
||||
$lang['%d hits'] = '%d hits';
|
||||
$lang['%d new photo'] = '%d nyt element';
|
||||
$lang['%d new photos'] = '%d nye elementer';
|
||||
$lang['%d hit'] = '%d visning';
|
||||
$lang['%d hits'] = '%d visninger';
|
||||
$lang['%d new photo'] = '%d nyt fotografi';
|
||||
$lang['%d new photos'] = '%d nye fotografier';
|
||||
$lang['%d new user'] = '%d ny bruger';
|
||||
$lang['%d new users'] = '%d nye brugere';
|
||||
$lang['About'] = 'Om';
|
||||
$lang['All tags'] = 'Alle tags';
|
||||
$lang['Any tag'] = 'Enhver tag';
|
||||
$lang['Any tag'] = 'Ethvert tag';
|
||||
$lang['At least one listed rule must be satisfied.'] = 'Mindst en af reglerne skal være opfyldt.';
|
||||
$lang['Author'] = 'Fotograf';
|
||||
$lang['Albums'] = 'Kategorier';
|
||||
$lang['Album'] = 'Kategori';
|
||||
$lang['Author'] = 'Forfatter';
|
||||
$lang['Albums'] = 'Albummer';
|
||||
$lang['Album'] = 'Album';
|
||||
$lang['Close this window'] = 'Luk dette vindue';
|
||||
$lang['Complete RSS feed (photos, comments)'] = 'Komplet RSS feed (fotos, kommentarer)';
|
||||
$lang['Confirm Password'] = 'Bekræft Password';
|
||||
$lang['Connection settings'] = 'Indstillinger for forbindelse';
|
||||
$lang['Login'] = 'Login';
|
||||
$lang['Complete RSS feed (photos, comments)'] = 'Komplet RSS-feed (fotografier, kommentarer)';
|
||||
$lang['Confirm Password'] = 'Bekræft adgangskode';
|
||||
$lang['Connection settings'] = 'Loginindstillinger';
|
||||
$lang['Login'] = 'Log på';
|
||||
$lang['Contact webmaster'] = 'Kontakt webmaster';
|
||||
$lang['Create a new account'] = 'Opret en ny konto';
|
||||
$lang['Created on'] = 'Optaget den';
|
||||
$lang['Created on'] = 'Oprettet den';
|
||||
$lang['Creation date'] = 'Oprettelsesdato';
|
||||
$lang['Current password is wrong'] = 'Password er forkert';
|
||||
$lang['Current password is wrong'] = 'Adgangskode er forkert';
|
||||
$lang['Dimensions'] = 'Dimensioner';
|
||||
$lang['Display'] = 'Visning';
|
||||
$lang['Each listed rule must be satisfied.'] = 'Hver nævnt regel skal være opfyldt.';
|
||||
$lang['Email address is missing. Please specify an email address.'] = 'Email addresse mangler. Angiv venligst en email adresse';
|
||||
$lang['Email address'] = 'Email addresse';
|
||||
$lang['Enter your personnal informations'] = 'Udfyld dine personlige informationer';
|
||||
$lang['Error sending email'] = 'Fejl ved afsendelse af email';
|
||||
$lang['Each listed rule must be satisfied.'] = 'Hvert nævnt kriterium skal være opfyldt.';
|
||||
$lang['Email address is missing. Please specify an email address.'] = 'E-mail-adresse mangler. Angiv venligst en e-mail-adresse.';
|
||||
$lang['Email address'] = 'E-mail-adresse';
|
||||
$lang['Enter your personnal informations'] = 'Udfyld dine personlige oplysninger';
|
||||
$lang['Error sending email'] = 'Fejl ved afsendelse af e-mail';
|
||||
$lang['File name'] = 'Filnavn';
|
||||
$lang['File'] = 'Fil';
|
||||
$lang['Filesize'] = 'Filstørrelse';
|
||||
$lang['Filter and display'] = 'Filtrer og vis';
|
||||
$lang['Filter'] = 'Filter';
|
||||
$lang['Forgot your password?'] = 'Glemt dit password?';
|
||||
$lang['Go through the gallery as a visitor'] = 'Kig i galleriet som gæst';
|
||||
$lang['Forgot your password?'] = 'Har du glemt din adgangskode?';
|
||||
$lang['Go through the gallery as a visitor'] = 'Brug galleriet som en besøgende';
|
||||
$lang['Help'] = 'Hjælp';
|
||||
$lang['Identification'] = 'Identifikation';
|
||||
$lang['Photos only RSS feed'] = 'Kun foto RSS feed';
|
||||
$lang['Photos only RSS feed'] = 'RSS-feed kun med fotografier';
|
||||
$lang['Keyword'] = 'Nøgleord';
|
||||
$lang['Links'] = 'Links';
|
||||
$lang['N/A'] = 'N/A';
|
||||
$lang['New on %s'] = 'Ny på %s';
|
||||
$lang['Notification'] = 'RSS feed';
|
||||
$lang['Number of items'] = 'Antal fotos';
|
||||
$lang['Original dimensions'] = 'Originale dimensionser';
|
||||
$lang['Password forgotten'] = 'Glemt password';
|
||||
$lang['Password'] = 'Password';
|
||||
$lang['Post date'] = 'Oprettelses dato';
|
||||
$lang['Posted on'] = 'Oprettet den';
|
||||
$lang['Notification'] = 'RSS-feed';
|
||||
$lang['Number of items'] = 'Antal emner';
|
||||
$lang['Original dimensions'] = 'Originals dimensioner';
|
||||
$lang['Password forgotten'] = 'Glemt adgangskode';
|
||||
$lang['Password'] = 'Adgangskode';
|
||||
$lang['Post date'] = 'Tilføjelsesdato';
|
||||
$lang['Posted on'] = 'Tilføjet den';
|
||||
$lang['Profile'] = 'Profil';
|
||||
$lang['Quick connect'] = 'Hurtig forbindelse';
|
||||
$lang['RSS feed'] = 'RSS feed';
|
||||
$lang['Quick connect'] = 'Log på hurtigt';
|
||||
$lang['RSS feed'] = 'RSS-feed';
|
||||
$lang['Register'] = 'Registrer';
|
||||
$lang['Registration'] = 'Registrering';
|
||||
$lang['Related tags'] = 'Relaterede tags';
|
||||
$lang['Reset'] = 'Nulstil';
|
||||
$lang['Retrieve password'] = 'Modtag password';
|
||||
$lang['Search rules'] = 'Søge kriterier';
|
||||
$lang['Search tags'] = 'Søg tags';
|
||||
$lang['Retrieve password'] = 'Modtag adgangskode';
|
||||
$lang['Search rules'] = 'Søgekriterier';
|
||||
$lang['Search tags'] = 'Søgetags';
|
||||
$lang['Search'] = 'Søg';
|
||||
$lang['display available tags'] = 'vis tilgængelige tags';
|
||||
$lang['Since'] = 'Siden';
|
||||
$lang['Sort by'] = 'Sorter efter';
|
||||
$lang['Sort order'] = 'Sorterings rækkefølge';
|
||||
$lang['Sort order'] = 'Sorteringsrækkefølge';
|
||||
$lang['Tag'] = 'Tag';
|
||||
$lang['Tags'] = 'Tags';
|
||||
$lang['The RSS notification feed provides notification on news from this website : new photos, updated albums, new comments. Use a RSS feed reader.'] = 'RSS feed giver besked om nyheder fra denne side: Nye fotos, opdaterede kategorier, nye kommentarer. Brug en RSS læser for at læse feeds.';
|
||||
$lang['Unknown feed identifier'] = 'Ukendt feed identifikation';
|
||||
$lang['User comments'] = 'Bruger kommentarer';
|
||||
$lang['The RSS notification feed provides notification on news from this website : new photos, updated albums, new comments. Use a RSS feed reader.'] = 'RSS-feedet giver besked om nyheder fra denne side: Nye fotografier, opdaterede albummer, nye kommentarer. Kræver en RSS-feedlæser.';
|
||||
$lang['Unknown feed identifier'] = 'Ukendt feedidentifikation';
|
||||
$lang['User comments'] = 'Brugerkommentarer';
|
||||
$lang['Username'] = 'Brugernavn';
|
||||
$lang['Visits'] = 'Besøg';
|
||||
$lang['Webmaster'] = 'Webmaster';
|
||||
|
@ -125,27 +125,27 @@ $lang['add this photo to your favorites'] = 'tilføj dette foto til dine favorit
|
|||
$lang['Administration'] = 'Administration';
|
||||
$lang['all'] = 'alle';
|
||||
$lang['ascending'] = 'stigende';
|
||||
$lang['author(s) : %s'] = 'fotograf(er) : %s';
|
||||
$lang['Expand all albums'] = 'Udvid alle kategorier';
|
||||
$lang['posted after %s (%s)'] = 'posted efter %s (%s)';
|
||||
$lang['posted before %s (%s)'] = 'posted før %s (%s)';
|
||||
$lang['posted between %s (%s) and %s (%s)'] = 'posted mellem %s (%s) og %s (%s)';
|
||||
$lang['posted on %s'] = 'oprettet den %s';
|
||||
$lang['author(s) : %s'] = 'forfatter(e) : %s';
|
||||
$lang['Expand all albums'] = 'Åbn alle albummer';
|
||||
$lang['posted after %s (%s)'] = 'tilføjet efter %s (%s)';
|
||||
$lang['posted before %s (%s)'] = 'tilføjet før %s (%s)';
|
||||
$lang['posted between %s (%s) and %s (%s)'] = 'tilføjet mellem %s (%s) og %s (%s)';
|
||||
$lang['posted on %s'] = 'tilføjet den %s';
|
||||
$lang['Best rated'] = 'Bedst bedømte';
|
||||
$lang['display best rated photos'] = 'vis bedste bedømte fotos';
|
||||
$lang['display best rated photos'] = 'vis bedste bedømte fotografier';
|
||||
$lang['Calendar'] = 'Kalender';
|
||||
$lang['All'] = 'Alle';
|
||||
$lang['display each day with photos, month per month'] = 'vis alle dage med fotos, månedsvis';
|
||||
$lang['display each day with photos, month per month'] = 'vis alle dage med fotografier, måned for måned';
|
||||
$lang['View'] = 'Vis';
|
||||
$lang['chronology_monthly_calendar'] = 'Månedlig Kalender';
|
||||
$lang['chronology_monthly_calendar'] = 'Månedlig kalender';
|
||||
$lang['chronology_monthly_list'] = 'Månedlig liste';
|
||||
$lang['chronology_weekly_list'] = 'Ugentlig liste';
|
||||
$lang['Click here if your browser does not automatically forward you'] = 'Klik her hvis din browser ikke automatisk sender dig videre';
|
||||
$lang['comment date'] = 'kommentar dato';
|
||||
$lang['comment date'] = 'kommentardato';
|
||||
$lang['Comment'] = 'Kommentar';
|
||||
$lang['Your comment has been registered'] = 'Din kommentar er registreret';
|
||||
$lang['Anti-flood system : please wait for a moment before trying to post another comment'] = 'Anti-flood system : Vent et øjeblik før du prøver at oprette en kommentar mere';
|
||||
$lang['Your comment has NOT been registered because it did not pass the validation rules'] = 'Din kommentar er ikke blevet registreret, fordi den ikke opfyldte valideringsreglerne';
|
||||
$lang['Your comment has been registered'] = 'Din kommentar er gemt';
|
||||
$lang['Anti-flood system : please wait for a moment before trying to post another comment'] = 'Anti-oversvømmelsessystem: Vent et øjeblik før du prøver at oprette en kommentar mere';
|
||||
$lang['Your comment has NOT been registered because it did not pass the validation rules'] = 'Din kommentar blev IKKE gemt, fordi den ikke opfyldte valideringsreglerne';
|
||||
$lang['An administrator must authorize your comment before it is visible.'] = 'En administrator skal godkende din kommentar, før den er synlig.';
|
||||
$lang['This login is already used by another user'] = 'Dette login anvendes allerede af en anden bruger';
|
||||
$lang['Comments'] = 'Kommentarer';
|
||||
|
@ -155,7 +155,7 @@ $lang['created before %s (%s)'] = 'oprettet før %s (%s)';
|
|||
$lang['created between %s (%s) and %s (%s)'] = 'oprettet mellem %s (%s) og %s (%s)';
|
||||
$lang['created on %s'] = 'oprettet den %s';
|
||||
$lang['Customize'] = 'Tilpas';
|
||||
$lang['Your Gallery Customization'] = 'Din Galleri tilpasning ';
|
||||
$lang['Your Gallery Customization'] = 'Tilpasning af dit galleri';
|
||||
$lang['day'][0] = 'Søndag';
|
||||
$lang['day'][1] = 'Manday';
|
||||
$lang['day'][2] = 'Tirsdag';
|
||||
|
@ -164,7 +164,7 @@ $lang['day'][4] = 'Torsdag';
|
|||
$lang['day'][5] = 'Fredag';
|
||||
$lang['day'][6] = 'Lørdag';
|
||||
$lang['Default'] = 'Standard';
|
||||
$lang['delete this photo from your favorites'] = 'slet dette foto fra dine favoritter';
|
||||
$lang['delete this photo from your favorites'] = 'fjern dette fotografi fra dine favoritter';
|
||||
$lang['Delete'] = 'Slet';
|
||||
$lang['descending'] = 'faldende';
|
||||
$lang['Download'] = 'download';
|
||||
|
@ -173,38 +173,34 @@ $lang['edit'] = 'rediger';
|
|||
$lang['wrong date'] = 'forkert dato';
|
||||
$lang['excluded'] = 'udelukket';
|
||||
$lang['Your favorites'] = 'Dine favoritter';
|
||||
$lang['display your favorites photos'] = 'vis mine favorit fotos';
|
||||
$lang['display your favorites photos'] = 'vis mine favoritfotografier';
|
||||
$lang['Favorites'] = 'Favoritter';
|
||||
$lang['First'] = 'Første';
|
||||
$lang['The gallery is locked for maintenance. Please, come back later.'] = 'Galleriet er lukket pga. vedligeholdelse. Kom tilbage senere.';
|
||||
$lang['Page generated in'] = 'Siden er genereret på';
|
||||
$lang['The gallery is locked for maintenance. Please, come back later.'] = 'Galleriet er lukket på grund af vedligeholdelse. Kig forbi senere.';
|
||||
$lang['Page generated in'] = 'Siden blev dannet på';
|
||||
$lang['guest'] = 'gæst';
|
||||
$lang['Hello'] = 'Hej';
|
||||
$lang['available for administrators only'] = 'kun tilgængelig for administratorer';
|
||||
$lang['display this album'] = 'vis denne kategori';
|
||||
$lang['display last user comments'] = 'se sidste brugers kommentarer';
|
||||
$lang['display this album'] = 'vis dette album';
|
||||
$lang['display last user comments'] = 'se seneste brugers kommentarer';
|
||||
$lang['customize the appareance of the gallery'] = 'tilpas visningen af galleriet';
|
||||
$lang['search'] = 'søg';
|
||||
$lang['Home'] = 'Hjem';
|
||||
$lang['Home'] = 'Forside';
|
||||
$lang['Identification'] = 'Identifikation';
|
||||
$lang['in this album'] = 'i denne kategori';
|
||||
$lang['in %d sub-album'] = 'i %d sub-kategori';
|
||||
$lang['in %d sub-albums'] = 'i %d sub-kategorier';
|
||||
$lang['included'] = 'inkluderet';
|
||||
$lang['Invalid password!'] = 'Forkert password!';
|
||||
$lang['in this album'] = 'i dette album';
|
||||
$lang['in %d sub-album'] = 'i %d underalbum';
|
||||
$lang['in %d sub-albums'] = 'i %d underalbummer';
|
||||
$lang['included'] = 'medtaget';
|
||||
$lang['Invalid password!'] = 'Forkert adgangskode!';
|
||||
$lang['Language']='Sprog';
|
||||
$lang['last %d days'] = 'sidste %d dage';
|
||||
$lang['Last'] = 'Sidste';
|
||||
$lang['Logout'] = 'Logout';
|
||||
$lang['last %d days'] = 'seneste %d dage';
|
||||
$lang['Last'] = 'Seneste';
|
||||
$lang['Logout'] = 'Log af';
|
||||
$lang['obligatory'] = 'obligatorisk';
|
||||
$lang['Maximum photo height'] = 'Maksimum højde på fotos';
|
||||
$lang['Maximum height must be a number superior to 50'] = 'Maksimum højde skal være højere end 50';
|
||||
$lang['Maximum photo width'] = 'Maksimum bredde på fotos';
|
||||
$lang['Maximum width must be a number superior to 50'] = 'Maksimum bredde skal være højere end 50';
|
||||
$lang['display a calendar by creation date'] = 'viser en kalender med datoer for optagelse';
|
||||
$lang['display all photos in all sub-albums'] = 'vis alle elementer i alle sub-kategorier';
|
||||
$lang['display a calendar by creation date'] = 'viser en kalender over oprettelsesdatoer';
|
||||
$lang['display all photos in all sub-albums'] = 'vis alle fotografier i alle underalbummer';
|
||||
$lang['return to normal view mode'] = 'tilbage til normal visning';
|
||||
$lang['display a calendar by posted date'] = 'viser en kalender med datoer for upload';
|
||||
$lang['display a calendar by posted date'] = 'viser en kalender over tilføjelsesdatoer';
|
||||
$lang['month'][10] = 'Oktober';
|
||||
$lang['month'][11] = 'November';
|
||||
$lang['month'][12] = 'December';
|
||||
|
@ -218,199 +214,199 @@ $lang['month'][7] = 'Juli';
|
|||
$lang['month'][8] = 'August';
|
||||
$lang['month'][9] = 'September';
|
||||
$lang['Most visited'] = 'Mest sete';
|
||||
$lang['display most visited photos'] = 'vis mest sete fotos';
|
||||
$lang['The number of photos per page must be a not null scalar'] = 'Antallet af fotos pr. side må ikke være nul';
|
||||
$lang['Number of photos per page'] = 'Antal af fotos pr. side';
|
||||
$lang['display most visited photos'] = 'vis mest sete fotografier';
|
||||
$lang['The number of photos per page must be a not null scalar'] = 'Antallet af fotografier pr. side må ikke være nul';
|
||||
$lang['Number of photos per page'] = 'Antal fotografier pr. side';
|
||||
$lang['Unknown identifier'] = 'Ukendt identifikation';
|
||||
$lang['New password'] = 'Nyt password';
|
||||
$lang['Rate this photo'] = 'Bedøm dette foto';
|
||||
$lang['New password'] = 'Ny adgangskode';
|
||||
$lang['Rate this photo'] = 'Bedøm dette fotografi';
|
||||
$lang['Next'] = 'Næste';
|
||||
$lang['no rate'] = 'ingen bedømmelse';
|
||||
$lang['Photos posted within the last %d day.'] = 'Fotos oprettet indenfor de %d dage.';
|
||||
$lang['Photos posted within the last %d days.'] = 'Fotos oprettet indenfor de %d dage.';
|
||||
$lang['password updated'] = 'password opdateret';
|
||||
$lang['Recent period must be a positive integer value'] = 'Seneste periode skal være et positivt heltal værdi';
|
||||
/* DEPRECATED USED IN comments.php FOR image_id ? */ $lang['photo'] = 'foto';
|
||||
$lang['Click on the photo to see it in high definition'] = 'Klik på foto for at se det i høj opløsning';
|
||||
$lang['Show file metadata'] = 'Vis fotoets metadata';
|
||||
$lang['Powered by'] = 'Powered by';
|
||||
$lang['Preferences'] = 'Præferencer';
|
||||
$lang['Photos posted within the last %d day.'] = 'Kun fotografier tilføjet inden for de seneste %d dag.';
|
||||
$lang['Photos posted within the last %d days.'] = 'Kun fotografier tilføjet inden for de seneste %d dage';
|
||||
$lang['password updated'] = 'adgangskode opdateret';
|
||||
$lang['Recent period must be a positive integer value'] = 'Seneste periode skal være en positiv heltalsværdi';
|
||||
$lang['photo'] = 'fotografi';
|
||||
$lang['Click on the photo to see it in high definition'] = 'Klik på fotografiet for at se det i høj opløsning';
|
||||
$lang['Show file metadata'] = 'Vis fotografiets metadata';
|
||||
$lang['Powered by'] = 'Drives af';
|
||||
$lang['Preferences'] = 'Indstillinger';
|
||||
$lang['Previous'] = 'Tidligere';
|
||||
$lang['Random photos'] = 'Tilfældige fotos';
|
||||
$lang['display a set of random photos'] = 'Vis et sæt af tilfældigt valgte fotos';
|
||||
$lang['Recent albums'] = 'Nyeste kategorier';
|
||||
$lang['display recently updated albums'] = 'vis nyligt opdaterede kategorier';
|
||||
$lang['Recent period'] = 'Sidste periode';
|
||||
$lang['Recent photos'] = 'Nye fotos';
|
||||
$lang['display most recent photos'] = 'vis de nyeste fotos';
|
||||
$lang['Redirection...'] = 'Omdirigering...';
|
||||
$lang['Please, enter a login'] = 'Indtast login';
|
||||
$lang['login mustn\'t end with a space character'] = 'login må ikke starte med mellemrum';
|
||||
$lang['login mustn\'t start with a space character'] = 'login må ikke starte med mellemrum';
|
||||
$lang['Random photos'] = 'Tilfældige fotografier';
|
||||
$lang['display a set of random photos'] = 'vis et sæt tilfældigt valgte fotografier';
|
||||
$lang['Recent albums'] = 'Nyeste albummer';
|
||||
$lang['display recently updated albums'] = 'vis nyligt opdaterede albummer';
|
||||
$lang['Recent period'] = 'Seneste periode';
|
||||
$lang['Recent photos'] = 'Nye fotografier';
|
||||
$lang['display most recent photos'] = 'vis de nyeste fotografier';
|
||||
$lang['Redirection...'] = 'Omdirigering ...';
|
||||
$lang['Please, enter a login'] = 'Skriv loginoplysninger';
|
||||
$lang['login mustn\'t end with a space character'] = 'login må ikke slutte med mellemrum';
|
||||
$lang['login mustn\'t start with a space character'] = 'login må ikke begynde med mellemrum';
|
||||
$lang['this login is already used'] = 'dette login er allerede i brug';
|
||||
$lang['mail address must be like xxx@yyy.eee (example : jack@altern.org)'] = 'mail addresse skal være xxx@yyy.eee (eksempel : jack@altern.org)';
|
||||
$lang['please enter your password again'] = 'Indtast dit password igen';
|
||||
$lang['Auto login'] = 'Auto login';
|
||||
$lang['mail address must be like xxx@yyy.eee (example : jack@altern.org)'] = 'mailadresse skal være på formen xxx@yyy.eee (eksempel: jack@altern.org)';
|
||||
$lang['please enter your password again'] = 'Indtast din adgangskode igen';
|
||||
$lang['Auto login'] = 'Autologin';
|
||||
$lang['remove this tag from the list'] = 'fjern dette tag fra listen';
|
||||
$lang['representative'] = 'thumbnail for kategori';
|
||||
$lang['Search for Author'] = 'Søg efter fotograf';
|
||||
$lang['Search in albums'] = 'Søg i kategorier';
|
||||
$lang['representative'] = 'albums miniaturebillede';
|
||||
$lang['Search for Author'] = 'Søg efter forfatter';
|
||||
$lang['Search in albums'] = 'Søg i albummer';
|
||||
$lang['Search by date'] = 'Søg efter dato';
|
||||
$lang['Date'] = 'Dato';
|
||||
$lang['End-Date'] = 'Slut dato';
|
||||
$lang['End-Date'] = 'Slutdato';
|
||||
$lang['Kind of date'] = 'Enhver dato';
|
||||
$lang['Search for words'] = 'Søg efter ord';
|
||||
$lang['Search for all terms'] = 'Søg efter alle nøgleord';
|
||||
$lang['Search for any term'] = 'Søg efter alle nøgleord';
|
||||
$lang['Search for all terms'] = 'Søg efter alle udtryk';
|
||||
$lang['Search for any term'] = 'Søg efter enkelte udtryk';
|
||||
$lang['Empty query. No criteria has been entered.'] = 'Tom forespørgsel. Ingen kriterier er indtastet.';
|
||||
$lang['Search results'] = 'Søge resulter';
|
||||
$lang['Search in sub-albums'] = 'Søg i under-kategorier';
|
||||
$lang['searched words : %s'] = 'søgte ord : %s';
|
||||
$lang['Search results'] = 'Søgeresultater';
|
||||
$lang['Search in sub-albums'] = 'Søg i underalbummer';
|
||||
$lang['searched words : %s'] = 'søgte ord: %s';
|
||||
$lang['Contact'] = 'Kontakt';
|
||||
$lang['set as album representative'] = 'set as thumbnail for kategori';
|
||||
$lang['Show number of comments'] = 'Vis antallet af kommentarer';
|
||||
$lang['Show number of hits'] = 'Vis antallet hits';
|
||||
$lang['set as album representative'] = 'opsæt som albums miniaturebillede';
|
||||
$lang['Show number of comments'] = 'Vis antal kommentarer';
|
||||
$lang['Show number of hits'] = 'Vis antal af visninger';
|
||||
$lang['slideshow'] = 'slideshow';
|
||||
$lang['stop the slideshow'] = 'stop slideshow';
|
||||
$lang['Specials'] = 'Specielle';
|
||||
$lang['SQL queries in'] = 'SQL forespørgsler i';
|
||||
$lang['display only recently posted photos'] = 'vis kun nyligt uploadede fotos';
|
||||
$lang['return to the display of all photos'] = 'tilbage til alle fotos';
|
||||
$lang['the beginning'] = 'starten';
|
||||
$lang['Interface theme'] = 'Interface thema';
|
||||
$lang['Thumbnails'] = 'Thumbnails';
|
||||
$lang['Specials'] = 'Særligt';
|
||||
$lang['SQL queries in'] = 'SQL-forespørgsler på';
|
||||
$lang['display only recently posted photos'] = 'vis kun nyligt tilføjede fotografier';
|
||||
$lang['return to the display of all photos'] = 'tilbage til alle fotoer';
|
||||
$lang['the beginning'] = 'begyndelsen';
|
||||
$lang['Interface theme'] = 'Grænsefladetema';
|
||||
$lang['Thumbnails'] = 'Miniaturebilleder';
|
||||
$lang['Menu'] = 'Menu';
|
||||
$lang['A comment on your site'] = 'En kommentar på din side';
|
||||
$lang['today'] = 'i dag';
|
||||
$lang['Update your rating'] = 'Opdater din bedømmelse';
|
||||
$lang['the username must be given'] = 'brugernavn skal angives';
|
||||
$lang['useful when password forgotten'] = 'nyttigt ved glemt password';
|
||||
$lang['Quick search'] = 'Hurtig søg';
|
||||
$lang['Connected user: %s'] = 'Tilsluttet bruger: %s';
|
||||
$lang['useful when password forgotten'] = 'nyttigt ved glemt adgangskode';
|
||||
$lang['Quick search'] = 'Hurtig søgning';
|
||||
$lang['Connected user: %s'] = 'Indlogget bruger: %s';
|
||||
$lang['IP: %s'] = 'IP: %s';
|
||||
$lang['Browser: %s'] = 'Browser: %s';
|
||||
$lang['Author: %s'] = 'Fotograf: %s';
|
||||
$lang['Author: %s'] = 'Forfatter: %s';
|
||||
$lang['Comment: %s'] = 'Kommentar: %s';
|
||||
$lang['Comment by %s'] = 'Kommentar af %s';
|
||||
$lang['User: %s'] = 'Bruger: %s';
|
||||
$lang['Email: %s'] = 'Email: %s';
|
||||
$lang['Email: %s'] = 'E-mail: %s';
|
||||
$lang['Admin: %s'] = 'Admin: %s';
|
||||
$lang['Registration of %s'] = 'Registrering af %s';
|
||||
$lang['Album: %s'] = 'Kategori: %s';
|
||||
$lang['Bad status for user "guest", using default status. Please notify the webmaster.'] = 'Forket status for gæste bruger. Kontakt webmaster.';
|
||||
$lang['this email address is already in use'] = 'email adressen anvendes af en anden bruger';
|
||||
$lang['Album results for'] = 'Kategori resultater for';
|
||||
$lang['Tag results for'] = 'Tag resultater for';
|
||||
$lang['Album: %s'] = 'Album: %s';
|
||||
$lang['Bad status for user "guest", using default status. Please notify the webmaster.'] = 'Forkert status på brugeren "guest", standardstatussen benyttes. Vær venlig at give webmaster besked.';
|
||||
$lang['this email address is already in use'] = 'e-mail-adressen anvendes af en anden bruger';
|
||||
$lang['Album results for'] = 'Albumresultater for';
|
||||
$lang['Tag results for'] = 'Tagresultater for';
|
||||
$lang['from %s to %s'] = 'fra %s til %s';
|
||||
$lang['Play of slideshow'] = 'Afspil slideshow';
|
||||
$lang['Pause of slideshow'] = 'Pause i slideshow';
|
||||
$lang['Pause of slideshow'] = 'Sæt slideshow på pause';
|
||||
$lang['Repeat the slideshow'] = 'Gentag slideshow';
|
||||
$lang['Not repeat the slideshow'] = 'Gentag ikke slideshow';
|
||||
$lang['Reduce diaporama speed'] = 'Nedsæt slideshow hastighed';
|
||||
$lang['Accelerate diaporama speed'] = 'Forøg slideshow hastighed';
|
||||
$lang['Reduce diaporama speed'] = 'Nedsæt slideshowhastighed';
|
||||
$lang['Accelerate diaporama speed'] = 'Forøg slideshowhastighed';
|
||||
$lang['Submit'] = 'Send';
|
||||
$lang['Yes'] = 'Ja';
|
||||
$lang['No'] = 'Nej';
|
||||
$lang['%d photo']='%d foto';
|
||||
$lang['%d photos']='%d fotos';
|
||||
$lang['%d photo is also linked to current tags'] = '%d foto er også linked til disse tags';
|
||||
$lang['%d photos are also linked to current tags'] = '%d fotos er også linked til disse tags';
|
||||
$lang['display photos linked to this tag'] = 'Se fotos knyttet til dette tag';
|
||||
$lang['photos posted during the last %d days'] = 'fotos oprettet de sidste %d dage';
|
||||
$lang['Piwigo Help'] = 'Piwigo Hjælp';
|
||||
$lang['%d photo'] = '%d fotografi';
|
||||
$lang['%d photos'] = '%d fotografier';
|
||||
$lang['%d photo is also linked to current tags'] = '%d fotografi er også linket til disse tags';
|
||||
$lang['%d photos are also linked to current tags'] = '%d fotografier er også linket til disse tags';
|
||||
$lang['display photos linked to this tag'] = 'Se fotografier knyttet til dette tag';
|
||||
$lang['photos posted during the last %d days'] = 'fotografier tilføjet de seneste %d dage';
|
||||
$lang['Piwigo Help'] = 'Hjælp til Piwigo';
|
||||
$lang['Rank'] = 'Karakter';
|
||||
$lang['group by letters'] = 'alfabetiske grupper';
|
||||
$lang['letters'] = 'bogstaver';
|
||||
$lang['show tag cloud'] = 'vis tag cloud';
|
||||
$lang['show tag cloud'] = 'vis tag-sky';
|
||||
$lang['cloud'] = 'sky';
|
||||
$lang['Reset to default values'] = 'Nulstil til standard';
|
||||
$lang['delete all photos from your favorites'] = 'slet alle filer fra dine favoritter';
|
||||
$lang['Sent by'] = 'Sent af';
|
||||
$lang['Cookies are blocked or not supported by your browser. You must enable cookies to connect.'] = 'Cookies er blokkeret eller ikke supporteret af din browser. Aktiver cookies for at logge på.';
|
||||
$lang['Reset to default values'] = 'Nulstil til standardværdier';
|
||||
$lang['delete all photos from your favorites'] = 'fjern alle fotografier fra dine favoritter';
|
||||
$lang['Sent by'] = 'Sendt af';
|
||||
$lang['Cookies are blocked or not supported by your browser. You must enable cookies to connect.'] = 'Cookies er blokeret eller ikke understøttet af din browser. Aktiver cookies for at logge på.';
|
||||
$lang['Edit a comment'] = 'Rediger en kommentar';
|
||||
$lang['Are you sure?'] = 'Er du sikker?';
|
||||
$lang['(!) This comment requires validation'] = '(!) Denne kommentar kræver godkendelse';
|
||||
$lang['Welcome'] = 'Velkommen';
|
||||
$lang['Welcome to your Piwigo photo gallery!'] = 'Velkommen til dit Piwigo foto galleri!';
|
||||
$lang['Welcome to your Piwigo photo gallery!'] = 'Velkommen til dit Piwigo-fotogalleri!';
|
||||
$lang['... or browse your empty gallery'] = '... eller gennemse dit tomme galleri';
|
||||
$lang['... or please deactivate this message, I will find my way by myself'] = '... eller deaktiver denne meddelelse, jeg klarer det selv';
|
||||
$lang['Hello %s, your Piwigo photo gallery is empty!'] = 'Hallo %s, dit Piwigo foto galleri er tomt!';
|
||||
$lang['I want to add photos'] = 'Jeg vil tilføje fotos';
|
||||
$lang['Manage this user comment: %s'] = 'Håndter denne bruger kommentar: %s';
|
||||
$lang['This author modified following comment:'] = 'Denne fortograf har ændret følgende kommentar:';
|
||||
$lang['This author removed the comment with id %d'] = 'Denne fotograf har fjernet kommentaren med id %d';
|
||||
$lang['html tags are not allowed in login'] = 'html tags er ikke tilladt i login';
|
||||
$lang['Hello %s, your Piwigo photo gallery is empty!'] = 'Hej %s, dit Piwigo-fotogalleri er tomt!';
|
||||
$lang['I want to add photos'] = 'Jeg vil tilføje fotografier';
|
||||
$lang['Manage this user comment: %s'] = 'Håndter denne brugerkommentar: %s';
|
||||
$lang['This author modified following comment:'] = 'Denne forfatter har ændret følgende kommentar:';
|
||||
$lang['This author removed the comment with id %d'] = 'Denne forfatter har fjernet kommentaren med id\'en %d';
|
||||
$lang['html tags are not allowed in login'] = 'html-tags er ikke tilladt i login';
|
||||
$lang['%d rates'] = '%d bedømmelser';
|
||||
$lang['Rating score'] = 'Bedømmelse';
|
||||
$lang['Invalid username or email'] = 'Forkert brugernavn eller email';
|
||||
$lang['Password reset is not allowed for this user'] = 'Password reset er ikke tilladt for denne bruger';
|
||||
$lang['User "%s" has no email address, password reset is not possible'] = 'Bruger "%s" har ingen email adresse, nulstilling af password er ikke muligt';
|
||||
$lang['Someone requested that the password be reset for the following user account:'] = 'Nogen har anmodet om at resette passwordet til den følgende brugerkonto:';
|
||||
$lang['Username "%s" on gallery %s'] = 'Brugernavn "%s" i galleri %s';
|
||||
$lang['To reset your password, visit the following address:'] = 'For at nulstille dit password, besøg følgende adresse:';
|
||||
$lang['If this was a mistake, just ignore this email and nothing will happen.'] = 'Hvis dette var en fejl, ignorer denne email og der vil ikke ske noget.';
|
||||
$lang['Password Reset'] = 'Password Reset';
|
||||
$lang['Check your email for the confirmation link'] = 'Check din email for bekræftigelses link';
|
||||
$lang['Invalid username or email'] = 'Forkert brugernavn eller e-mail';
|
||||
$lang['Password reset is not allowed for this user'] = 'Nulstilling af adgangskode er ikke tilladt for denne bruger';
|
||||
$lang['User "%s" has no email address, password reset is not possible'] = 'Brugeren "%s" har ingen e-mail-adresse, nulstilling af adgangskode er ikke mulig';
|
||||
$lang['Someone requested that the password be reset for the following user account:'] = 'Nogen har anmodet om at nulstille adgangskoden til følgende brugerkonto:';
|
||||
$lang['Username "%s" on gallery %s'] = 'Brugernavnet "%s" i galleriet %s';
|
||||
$lang['To reset your password, visit the following address:'] = 'For at nulstille din adgangskode, skal du besøge følgende adresse:';
|
||||
$lang['If this was a mistake, just ignore this email and nothing will happen.'] = 'Hvis dette var en fejl, så ignorer e-mailen og der vil ikke ske yderligere.';
|
||||
$lang['Password Reset'] = 'Nulstil adgangskode';
|
||||
$lang['Check your email for the confirmation link'] = 'Tjek din e-mail for bekræftelseslink';
|
||||
$lang['Invalid key'] = 'Forkert nøgle';
|
||||
$lang['The passwords do not match'] = 'Passwordet matcher ikke';
|
||||
$lang['Your password has been reset'] = 'Dit password er nulstillet';
|
||||
$lang['The passwords do not match'] = 'Adgangskoderne stemmer ikke overens';
|
||||
$lang['Your password has been reset'] = 'Din adgangskode er nulstillet';
|
||||
$lang['Return to home page'] = 'Retur til forsiden';
|
||||
$lang['Please enter your username or email address.'] = 'Indtast dit brugernavn eller email adresse.';
|
||||
$lang['You will receive a link to create a new password via email.'] = 'Du vil modtage et link i din email for at danne et nyt password.';
|
||||
$lang['Username or email'] = 'Brugernavn eller email';
|
||||
$lang['Change my password'] = 'Skift mit password';
|
||||
$lang['Enter your new password below.'] = 'Indtast dit nye password herunder.';
|
||||
$lang['EXIF Metadata'] = 'EXIF metadata';
|
||||
$lang['IPTC Metadata'] = 'IPTC Metadata';
|
||||
$lang['Edit'] = 'Edit';
|
||||
$lang['Please enter your username or email address.'] = 'Indtast dit brugernavn eller e-mail-adresse.';
|
||||
$lang['You will receive a link to create a new password via email.'] = 'Du vil via e-mail modtage et link til dannelse af en ny adgangskode.';
|
||||
$lang['Username or email'] = 'Brugernavn eller e-mail';
|
||||
$lang['Change my password'] = 'Skift min adgangskode';
|
||||
$lang['Enter your new password below.'] = 'Indtast din nye adgangskode herunder.';
|
||||
$lang['EXIF Metadata'] = 'EXIF-metadata';
|
||||
$lang['IPTC Metadata'] = 'IPTC-metadata';
|
||||
$lang['Edit'] = 'Rediger';
|
||||
$lang['Hello %s,'] = 'Hej %s,';
|
||||
$lang['Send my connection settings by email'] = 'Send mine indstillinger med email';
|
||||
$lang['Successfully registered, you will soon receive an email with your connection settings. Welcome!'] = 'Du er registreret, du vil snart modtage en mail med dine konto informationer. Velkommen!';
|
||||
$lang['Send my connection settings by email'] = 'Send mine loginoplysninger pr. e-mail';
|
||||
$lang['Successfully registered, you will soon receive an email with your connection settings. Welcome!'] = 'Du er registreret, og du vil snart modtage en e-mail med dine loginoplysninger. Velkommen!';
|
||||
$lang['Username modification'] = 'Ændring af brugernavn';
|
||||
$lang['Your username has been successfully changed to : %s'] = 'Dit brugernavn er ændret til: %s';
|
||||
$lang['square'] = 'Kvadrat';
|
||||
$lang['thumb'] = 'Thumbnail';
|
||||
$lang['small'] = 'S-small';
|
||||
$lang['medium'] = 'M-medium';
|
||||
$lang['large'] = 'L-large';
|
||||
$lang['xlarge'] = 'XL-ekstra large';
|
||||
$lang['xxlarge'] = 'XXL-ekstra ekstra large';
|
||||
$lang['square'] = 'Kvadratisk';
|
||||
$lang['thumb'] = 'Miniaturebillede';
|
||||
$lang['small'] = 'S - lille';
|
||||
$lang['medium'] = 'M - medium';
|
||||
$lang['large'] = 'L - stor';
|
||||
$lang['xlarge'] = 'XL - ekstra stor';
|
||||
$lang['xxlarge'] = 'XXL - ekstrem stor';
|
||||
$lang['Original'] = 'Original';
|
||||
$lang['Thank you for registering at %s!'] = 'Tak for din registrering hos %s!';
|
||||
$lang['Here are your connection settings'] = 'Her er dine login informationer';
|
||||
$lang['Password: %s'] = 'Password: %s';
|
||||
$lang['Here are your connection settings'] = 'Her er dine loginoplysninger';
|
||||
$lang['Password: %s'] = 'Adgangskode: %s';
|
||||
$lang['Username: %s'] = 'Brugernavn: %s';
|
||||
$lang['If you think you\'ve received this email in error, please contact us at %s'] = 'Hvis du tror du har modtaget denne email ved en fejl kontakt os på %s';
|
||||
$lang['If you think you\'ve received this email in error, please contact us at %s'] = 'Hvis du mener, du har modtaget denne e-mail ved en fejl, så kontakt os på %s';
|
||||
$lang['Show oldest comments first'] = 'Vis ældste kommentarer først';
|
||||
$lang['Show latest comments first'] = 'Vis sidste kommnetarer først';
|
||||
$lang['Photo sizes'] = 'Foto størrelser';
|
||||
$lang['Show latest comments first'] = 'Vis seneste kommnetarer først';
|
||||
$lang['Photo sizes'] = 'Fotografistørrelser';
|
||||
$lang['View in'] = 'Vis i';
|
||||
$lang['Mobile'] = 'Mobil';
|
||||
$lang['Desktop'] = 'Desktop';
|
||||
$lang['2small'] = 'XXS-meget lille';
|
||||
$lang['xsmall'] = 'XS-ekstra lille';
|
||||
$lang['File name, A → Z'] = 'Fil navn, A → Z';
|
||||
$lang['File name, Z → A'] = 'Fil navn, Z → A';
|
||||
$lang['Photo title, A → Z'] = 'Foto titel, A → Z';
|
||||
$lang['Photo title, Z → A'] = 'Foto titel, Z → A';
|
||||
$lang['2small'] = 'XXS - meget lille';
|
||||
$lang['xsmall'] = 'XS - ekstra lille';
|
||||
$lang['File name, A → Z'] = 'Filnavn, A → Å';
|
||||
$lang['File name, Z → A'] = 'Filnavn, Å → A';
|
||||
$lang['Photo title, A → Z'] = 'Fototitel, A → Z';
|
||||
$lang['Photo title, Z → A'] = 'Fototitel, Z → A';
|
||||
$lang['Date created, new → old'] = 'Dato oprettet, ny → gammel';
|
||||
$lang['Date created, old → new'] = 'Dato oprettet, gammel → ny';
|
||||
$lang['Date posted, new → old'] = 'Dato posted, ny → gammel';
|
||||
$lang['Date posted, old → new'] = 'Dato posted, gammel → ny';
|
||||
$lang['Rating score, high → low'] = 'bedømmelse score, høj → lav';
|
||||
$lang['Rating score, low → high'] = 'bedømmelse score, lav → høj';
|
||||
$lang['Date posted, new → old'] = 'Dato tilføjet, ny → gammel';
|
||||
$lang['Date posted, old → new'] = 'Dato tilføjet, gammel → ny';
|
||||
$lang['Rating score, high → low'] = 'bedømmelsesscore, høj → lav';
|
||||
$lang['Rating score, low → high'] = 'bedømmelsesscore, lav → høj';
|
||||
$lang['Visits, high → low'] = 'Besøgende, høj → lav';
|
||||
$lang['Visits, low → high'] = 'Besøgende, lav → høj';
|
||||
$lang['Numeric identifier, 1 → 9'] = 'Numerisk identifikation, 1 → 9';
|
||||
$lang['Numeric identifier, 9 → 1'] = 'Numerisk identifikation, 9 → 1';
|
||||
$lang['Manual sort order'] = 'Manuel sorterings orden';
|
||||
|
||||
$lang['Manual sort order'] = 'Manuel sorteringsrækkefølge';
|
||||
$lang['%d rate'] = '%d bedømmelse';
|
||||
$lang['Bad request'] = 'Fejlagtig forespørgsel';
|
||||
$lang['Forbidden'] = 'Ikke tilladt';
|
||||
$lang['Page not found'] = 'Siden blev ikke fundet';
|
||||
$lang['Permalink for album not found'] = 'Permalink for kategori blev ikke fundet';
|
||||
$lang['Permalink for album not found'] = 'Albums permalink blev ikke fundet';
|
||||
$lang['Piwigo encountered a non recoverable error'] = 'Piwigo stødte på en uoprettelig fejl';
|
||||
$lang['Requested album does not exist'] = 'Den forespurgte kategori eksisterer ikke';
|
||||
$lang['Requested tag does not exist'] = 'Den forespurgte tag eksisterer ikke';
|
||||
$lang['Requested album does not exist'] = 'Det valgte album findes ikke';
|
||||
$lang['Requested tag does not exist'] = 'Den valgte tag findes ikke';
|
||||
$lang['day']['1'] = 'Mandag';
|
||||
?>
|
|
@ -1,106 +1,97 @@
|
|||
<h2>Rediger kategori</h2>
|
||||
|
||||
<h3>Information</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>navn</strong>: omdøbe kategori (en virtuel omdøbe i tilfælde af af en fysisk kategori).</li>
|
||||
<li><strong>beskrivelse </strong>: kort tekst giver en generel idé om indholdet, denne tekst vil blive vist nederst på miniaturerbillede siden.</li>
|
||||
</Ul>
|
||||
|
||||
<h3>Flyt</h3>
|
||||
|
||||
<p>Hvis kategorien er virtuel, kan du flytte den. Flytning af en kategori betyder
|
||||
ændre dens overordnede kategori.</p>
|
||||
|
||||
<h3>Valg mulighedder</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>Adgangstype</strong>: Tilladelses styring. Hvis du laver en kategori privat, vil alle dens underordnede kategorier blive private. Hvis du laver en kategori offentlig, vil alle dens overordenede kategorier bliver offentlige.</li>
|
||||
<li><strong>Lås</strong>: Kategorien og dens underkategorier vil være midlertidig deaktiveret for vedligeholdelse.</li>
|
||||
<li><strong>kommentarer</strong>: Tillad brugere at kommentere billeder i denne kategori.</li>
|
||||
</Ul>
|
||||
|
||||
<p>Du kan også administrere disse valg muligheder i "Egenskaber" på styringsoversigt skærmen
|
||||
(skærme
|
||||
<span class="pwgScreen">Kommentarer</span>,
|
||||
<span class="pwgScreen">lås</span>,
|
||||
<span class="pwgScreen">Offentlig /Privat</span>,
|
||||
<span class="pwgScreen">repræsentant</span> fås fra
|
||||
<span class="pwgScreen">Administration » »Kategorier» » Egenskaber</span>). </p>
|
||||
|
||||
<h3>Sorteringsrækkefølge</h3>
|
||||
|
||||
<p>Brug standard billede sorteringsrækkefølgen.</p>
|
||||
|
||||
<p>Angiv, om denne sorteringsrækkefølge vil gælde for underkategorier også.</p>
|
||||
|
||||
<p>Vælg specifik sorteringskriterie, der skal bruges med denne kategori.</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Oprettelsesdato</strong>: Foto optagelsesdato</li>
|
||||
<li><strong>Indlæg dato</strong>: Synkronisering dato</li>
|
||||
<li><strong>Gennemsnitlig karakter (*)</strong>: Gennemsnitlig karakter kan ændres ved besøgendes bedømmelser</li>
|
||||
<li><strong>Mest besøgte (*)</strong>: Det aktuelle besøg kan ændre rækkefølgen af den mest besøgte</li>
|
||||
<li><strong>Filnavn</strong>: Navn givet i informations feltet</li>
|
||||
<li><strong>Id</strong>: Intern Id (seneste kategorier har en højere id end tidligere)</li>
|
||||
</Ul>
|
||||
|
||||
<p>(*)</strong>Advarsel: Sørg for at teste sorteringsrækkefølgen selv, da de kan give uventede resultater</p>
|
||||
|
||||
|
||||
<h3>repræsentanten</h3>
|
||||
|
||||
<p>Kategori repræsentant er miniaturebilledet der vises på hovedsiden (<span class="pwgScreen"> category.php </span>) til at repræsentere
|
||||
kategorien, når det kun indeholder underkategorier og ingen direkte foto (ligesom roden album). </p>
|
||||
foto af en kategori:</p>
|
||||
|
||||
<ul>
|
||||
<li><span class="pwgScreen">Foto side</span> : en af de actions knapper kan du indstille til at sætte det aktuelle billede som repræsentant for viste kategori. Denne knap er kun tilgængelig for administratorer.</Li>
|
||||
<li><span class="pwgScreen">ændre informationer om et foto</span> i administration. Denne skærm kan nås fra <span class="pwgScreen">picture.php</span> eller <span class="pwgScreen">Batch ledelse</span> i <em>enheds tilstand</em> .Se hjælp af denne skærm for detaljer.</li>
|
||||
<li><span class="pwgScreen">Administration » Kategorier » Egenskaber, Repræsentant</span>. Se hjælp af denne skærm for yderligere oplysninger. </Li>
|
||||
<li><span class="pwgScreen">Rediger kategori</span> (den nuværende skærmen).</li>
|
||||
</Ul>
|
||||
|
||||
<p>Valget af en repræsentativ afhænger af <code>allow_random_representative</code>-konfigurations parameter (se <span class="filnavn">inkludere /config_default.inc.php</span>).</p>
|
||||
|
||||
<p>I standardtilstand (<code>allow_random_representative</code> sat til falsk),
|
||||
hver kategori indeholder mindst ét element er repræsenteret ved et fast
|
||||
element. Når de er indstillet (ved kategori oprettelse), ændres repræsentanten kun
|
||||
når en administrator beder om det. Hvis repræsentanten ikke er hensigtsmæssigt,
|
||||
kan du bede om at <strong>Finde en ny tilfældig repræsentant</strong>.</p>
|
||||
|
||||
<p>Hvis <code>allow_random_representative</code>-konfigurations parameteren er
|
||||
sat til sand, kan en kategori, der indeholder billeder have ingen fast
|
||||
repræsentanten. Bare brug <strong>Slet repræsentanten</strong> knappen.</P>
|
||||
|
||||
<p>Hvis kategorien kun indeholder underkategorier og ingen foto, kan det alligevel være repræsenteret af nogle elementer takket være <span class="pwgScreen">Ændre informationer om et foto</span> skærmen.
|
||||
Den eneste mulighed på den aktuelle skærm er <strong>Slet repræsentanten</strong> knappen.</p>
|
||||
|
||||
<h3> Link alle kategori billeder til en ny kategori </h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Virtual kategori navn</strong>: Navnet på den nye kategori, der skal oprettes,
|
||||
alle billeder fra denne kategori vil blive knyttet til den nye.</li>
|
||||
|
||||
<li><strong>Hoved kategori</strong>: Hvor den nye kategori vil være, lad stå tomt for at skabe den ved roden.</li>
|
||||
|
||||
</Ul>
|
||||
|
||||
<h3>Link alle kategori billeder til eksisterende kategori</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Kategorier</strong>: Vælg destinationen kategori</li>.
|
||||
|
||||
</Ul>
|
||||
|
||||
<h3>Send en informations-mail til gruppens medlemmer</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Group</strong>: modtagere gruppe</li>
|
||||
|
||||
<li><strong>Mail indhold</strong>: Fritekst at sende til dem</li>
|
||||
|
||||
</Ul>
|
||||
<h2>Rediger album</h2>
|
||||
|
||||
<h3>Oplysninger</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>navn</strong>: omdøb album (en virtuel omdøbelse i tilfælde af et fysisk album).</li>
|
||||
<li><strong>beskrivelse</strong>: kort tekst, der giver en generel idé om indholdet, teksten vil blive vist nederst på siden med miniaturerbilleder.</li>
|
||||
</Ul>
|
||||
|
||||
<h3>Flyt</h3>
|
||||
|
||||
<p>Hvis albummet er virtuelt, kan du flytte det. Flytning af et album betyder udskiftning af dets overordnede album.</p>
|
||||
|
||||
<h3>Valgmuligheder</h3>
|
||||
|
||||
<ul>
|
||||
<li><strong>Adgangstype</strong>: Rettighedsstyring. Hvis du gør et album privat, vil alle dets underalbummer også blive private. Hvis du gør et album offentligt, vil alle dets overordenede albummer bliver offentlige.</li>
|
||||
<li><strong>Lås</strong>: Albummet og dets underalbummer bliver midlertidigt deaktiveret på grund af vedligeholdelse.</li>
|
||||
<li><strong>Kommentarer</strong>: Autoriserer brugere til at kommentere billeder i albummet.</li>
|
||||
</Ul>
|
||||
|
||||
<p>Du kan også håndtere valgmulighederne under administrationssiden "Egenskaber"
|
||||
(siderne
|
||||
<span class="pwgScreen">Kommentarer</span>,
|
||||
<span class="pwgScreen">Lås</span>,
|
||||
<span class="pwgScreen">Offentlig/privat</span>,
|
||||
<span class="pwgScreen">Repræsentant</span> tilgængelige fra
|
||||
<span class="pwgScreen">Administration » Albummer » Egenskaber</span>).</p>
|
||||
|
||||
<h3>Sorteringsrækkefølge</h3>
|
||||
|
||||
<p>Brug standardsorteringsrækkefølgen for billeder.</p>
|
||||
|
||||
<p>Angiv hvorvidt sorteringsrækkefølgen også vil gælde underalbummer.</p>
|
||||
|
||||
<p>Vælg specifikt sorteringskriterium, der skal anvendes på dette album.</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Oprettelsesdato</strong>: Den dato fotoet blev taget</li>
|
||||
<li><strong>Tilføjelsesdato</strong>: Synkroniseringsdato</li>
|
||||
<li><strong>Gennemsnitlig bedømmelse (*)</strong>: Gennemsnitlig bedømmelse kan ændres ved besøgendes bedømmelser</li>
|
||||
<li><strong>Mest besøgte (*)</strong>: Det aktuelle besøg kan ændre rækkefølgen af de mest besøgte</li>
|
||||
<li><strong>Filnavn</strong>: Navnet angivet i oplysningsfeltet</li>
|
||||
<li><strong>Id</strong>: Intern id (seneste kategorier har en højere id end de tidligere)</li>
|
||||
</Ul>
|
||||
|
||||
<p>(*)</strong>Advarsel: Sørg selv for at teste sorteringsrækkefølgen, da de kan give uventede resultater.</p>
|
||||
|
||||
|
||||
<h3>Repræsentanten</h3>
|
||||
|
||||
<p>Albumsrepræsentanten er miniaturebilledet, der vises på hovedsiden (<span class="pwgScreen">category.php</span>), som repræsentant for albummet, når det kun indeholder underalbummer og ingen fotografier (lige som rodalbummet).</p>
|
||||
|
||||
<p>Foto fra et album:</p>
|
||||
|
||||
<ul>
|
||||
<li><span class="pwgScreen">Fotoside</span>: En af handlingsknapperne giver mulighed for at vælge det aktuelle billede som repræsentant for det viste album. Knappen er kun tilgængelig for administratorer.</Li>
|
||||
<li><span class="pwgScreen">Ændring af fotooplysninger</span> i administration. Siden er tilgængelig fra <span class="pwgScreen">picture.php</span> eller <span class="pwgScreen">Batchadministration</span> i <em>enhedstilstand</em> .Se hjælpen til denne side for flere oplysninger.</li>
|
||||
<li><span class="pwgScreen">Administration » Albummer » Egenskaber, Repræsentant</span>. Se hjælpen til denne side for flere oplysninger.</li>
|
||||
<li><span class="pwgScreen">Rediger album</span> (den aktuelle side).</li>
|
||||
</Ul>
|
||||
|
||||
<p>Valg af repræsentant afhænger af <code>allow_random_representative</code>-opsætningsparameteret (se <span class="filnavn">include/config_default.inc.php</span>).</p>
|
||||
|
||||
<p>I standardtilstand (<code>allow_random_representative</code> sat til false), er hvert album indeholdende mindst et element, repræsenteret af et fast element. Når det er opsat (ved oprettelsen af albummet), ændres repræsentanten kun når en administrator beder om det. Hvis repræsentanten ikke er hensigtsmæssig, kan du benytte <strong>Find en ny tilfældig repræsentant</strong>.</p>
|
||||
|
||||
<p>Hvis <code>allow_random_representative</code>-opsætningsparameteret er sat til true, vil et album, der indeholder billeder, ikke have en fast repræsentant. Benyt blot knappen <strong>Slet repræsentant</strong>.</p>
|
||||
|
||||
<p>Hvis albummet kun indeholder underalbummer og ingen fotografier, kan det ikke desto mindre være repræsenteret af ethvert element, takket være siden <span class="pwgScreen">Ændring af fotooplysninger</span>. Den eneste valgmulighed på den aktuelle side er knappen <strong>Slet repræsentant</strong>.</p>
|
||||
|
||||
<h3>Knyt alle billeder i et album til et nyt album</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Virtuelt albumnavn</strong>: Navnet på det nye album, der skal oprettes, alle billeder fra albummet vil blive knyttet til det nye.</li>
|
||||
|
||||
<li><strong>Overordnet album</strong>: Hvor det nye album vil være placeret. Lad det være tomt, for at oprette under roden.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Knyt alle billeder i et album til eksisterende album</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Albummer</strong>: Vælg målalbummet</li>.
|
||||
|
||||
</Ul>
|
||||
|
||||
<h3>Send en oplysningsmail til gruppens medlemmer</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Gruppe</strong>: Modtagergruppe</li>
|
||||
|
||||
<li><strong>Mailindhold</strong>: Fritekst der sendes til dem</li>
|
||||
|
||||
</Ul>
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<h2>Flyt virtuelle kategorier</h2>
|
||||
|
||||
<p>Kun virtuelle kategorier kan have en ny forældre kategori.</p>
|
||||
|
||||
<h3>Virtuelle kategorier som ønskes flyttet</h3>
|
||||
|
||||
<p>Vælg en eller flere virtuelle kategorier du ønsker at flytte.
|
||||
Hvis listen er tom, betyder det at du ikke har oprettet nogen endnu.</p>
|
||||
|
||||
<h3>Ny forældre kategori</h3>
|
||||
|
||||
<p>Vælg den nye forældre kategori (virtuelt eller fysisk).
|
||||
Hvis du ikke vælger en forældrekategori, vil den valgte virtuelle kategori blive flyttet til roden.
|
||||
En kategori kan ikke flyttes til sig selv eller til en af dens underkategorier.</p>
|
||||
<h2>Flytning af virtuelle albummer</h2>
|
||||
|
||||
<p>Kun virtuelle albummer kan få et nyt overordnet album.</p>
|
||||
|
||||
<h3>Virtuelle albummer som skal flyttes</h3>
|
||||
|
||||
<p>Vælg et eller flere virtuelle albummer, som du ønsker at flytte.
|
||||
Hvis listen er tom, betyder det at du endnu ikke har oprettet en.</p>
|
||||
|
||||
<h3>Nyt overordnet album</h3>
|
||||
|
||||
<p>Vælg det nye overordnede album (virtuelt eller fysisk).
|
||||
Hvis du ikke vælger et overordnet album, bliver det valgte virtuelle album flyttet til roden.
|
||||
Et album kan ikke blive flyttet ind i sig selv eller til et af dets underalbummer.</p>
|
|
@ -1,21 +1,21 @@
|
|||
<h2>album indstillinger</h2>
|
||||
|
||||
<p>Valg muligheder for flere kategorier på én gang.</p>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>Kommentarer</dt>
|
||||
<dd>Et foto kan modtage kommentarer fra dine besøgende, hvis det hører til en kategori hvor kommentarer er aktiveret. </ dd>
|
||||
|
||||
<dt>Lås</dt>
|
||||
<dd>Låste kategorier er slået fra for vedligeholdelse. Kun administratorer kan se dem i galleriet.</Dd>
|
||||
|
||||
<dt>Offentligt/privat</dt>
|
||||
<dd>Når en kategori er blevet privat, at give adgangsrettigheder til brugere og grupper</dd>
|
||||
|
||||
<dt>repræsentant</dt>
|
||||
<dd>Denne indstilling er tilgængelig, når du indstiller konfigurationsindstilling
|
||||
<code>allow_random_representative</ code> (se <span class="filename">include/config_defaults.inc.php</span>) til
|
||||
<em>sande</em>. Hver kategori kan være repræsenteret ved en tilfældig foto eller et billede valgt som en unik repræsentant.</Dd>
|
||||
|
||||
</ dl>
|
||||
<h2>Albumvalgmuligheder</h2>
|
||||
|
||||
<p>Håndtering af flere albums valgmuligheder på én gang.</p>
|
||||
|
||||
<dl>
|
||||
|
||||
<dt>Kommentarer</dt>
|
||||
<dd>Et fotografi kan modtage kommentarer fra dine besøgende, hvis det hører til et album hvor kommentarer er aktiveret.</ dd>
|
||||
|
||||
<dt>Lås</dt>
|
||||
<dd>Låste albummer er deaktiveret på grund af vedligeholdelse. Kun administratorer kan se dem i galleriet.</Dd>
|
||||
|
||||
<dt>Offentligt / privat</dt>
|
||||
<dd>Når et album er blevet privat, gives adgangstilladelser til brugere og grupper</dd>
|
||||
|
||||
<dt>Repræsentant</dt>
|
||||
<dd>Valgmuligheden er tilgængelig når indstillingen
|
||||
<code>allow_random_representative</ code> er sat (se <span class="filename">include/config_defaults.inc.php</span>) til
|
||||
<em>true</em>. Hvert album kan repræsenteres af et tilfældigt antal fotografier eller et fotografi udvalgt som en unik repræsentant.</dd>
|
||||
|
||||
</dl>
|
|
@ -1,13 +1,11 @@
|
|||
<h2>Rediger album tilladelser</h2>
|
||||
|
||||
<p>Dette skærmbillede er kun tilgængelig for private kategorier. Her kan du vælge
|
||||
brugere og grupper der er godkendt til en kategori.</p>
|
||||
|
||||
<h3>Grupper</h3>
|
||||
|
||||
<p>Du kan nægte eller give grupper adgang til den aktuelle kategori. ved at ændre
|
||||
grupper tilladelser, vil brugerne, der tilhører disse grupper nægtes eller gives adgang til kategorien.</p>
|
||||
|
||||
<h3>Brugere</h3>
|
||||
|
||||
<p>Du kan nægte eller give adgang til individuelle brugere. Brugere, der har adgang via en gruppe kan nægtes adgang ved undtagelse.</P>
|
||||
<h2>Rediger albumtilladelser</h2>
|
||||
|
||||
<p>Siden er kun tilgængelig ved private albummer. Her kan man vælge brugere og grupper, som er autoriseret til at se albummet.</p>
|
||||
|
||||
<h3>Grupper</h3>
|
||||
|
||||
<p>Du kan fratage eller tildele gruppeadgang til det aktuelle album. Ved at ændre gruppeautorisationer, vil brugerne som hører til disse grupper få tildelt adgang til albummet.</p>
|
||||
|
||||
<h3>Brugere</h3>
|
||||
|
||||
<p>Du kan fratage eller tildele adgang til individuelle brugere. Bruger der har adgang via en gruppe, kan via undtagelser få frataget adgang.</p>
|
95
language/da_DK/help/configuration.html
Normal file
95
language/da_DK/help/configuration.html
Normal file
|
@ -0,0 +1,95 @@
|
|||
<h2>Opsætning</h2>
|
||||
|
||||
<p>Her foretager administratoren grundlæggende opsætning af sit galleri. Der vises faktisk kun simple opsætningsparametre, som skulle være tilstrækkeligt for langt størstedelen af administratorer. Ønsker du at se mange andre (og avancerede) opsætningsparametre, så kig i filen med standardopsætningen <span
|
||||
class="filename">include/config_default.inc.php</span>.</p>
|
||||
|
||||
<p>Siden er opdelt i forskellige afsnit, hvor opsætningsparametrene er grupperet efter emne.</p>
|
||||
|
||||
|
||||
<h3>Primært</h3>
|
||||
<ul>
|
||||
<li><strong>Gallerititel</strong>: anvendes i RSS-feed og notifikation pr. mail.</li>
|
||||
|
||||
<li><strong>Sidebanner</strong>: vises øverst på alle offentlige sider.</li>
|
||||
|
||||
<li><strong>Galleri-URL</strong>: anvendes i RSS-feed'en.</li>
|
||||
|
||||
<li><strong>Lås galleri</strong>: Lås hele galleriet på grund af vedligeholdelse. Kun administratorer kan tilgå galleriet.</li>
|
||||
|
||||
<li><strong>Bedømmelse</strong>: Funktionen til bedømmelse af fotografier er aktiveret.</li>
|
||||
|
||||
<li><strong>Gæsters bedømmelse</strong>: Selv ikke-registrerede brugere kan bedømme billeder.</li>
|
||||
|
||||
<li><strong>Tillad brugerregistrering</strong>: Alle kan registrere sig.</li>
|
||||
|
||||
<li><strong>Mailadresse er krævet for alle brugere</strong>: mailadressen vil blive kontrolleret ved registrering eller profilopdatering, bortset fra hvis handlingen foretages af en administrator.</li>
|
||||
|
||||
<li><strong>Send mail til admins når en ny bruger registrerer sig</strong>: administratorer notificeres pr. mail, hver gang nogen registrerer sig.</li>
|
||||
|
||||
<li><strong>Standard for fotorækkefølge</strong>: du kan definere en personliggjort rækkefølge ved hjælp af disse dropdownmenuer.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Historik</h3>
|
||||
|
||||
<p>Besøg på siderne <span
|
||||
class="pwgScreen">category.php</span> og <span
|
||||
class="pwgScreen">picture.php</span> vil blive gemt i tabellen <code>history</code>.</p>
|
||||
|
||||
<p>Besøg vil blive vist i <span class="pwgScreen">Administration » Værktøjer » Historik</span>.</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Gem gæsters sidebesøg</strong>: gæsters sidebesøg gemmes.</li>
|
||||
|
||||
<li><strong>Gem brugeres sidebesøg</strong>: registrerede brugeres sidebesøg gemmes.</li>
|
||||
|
||||
<li><strong>Gem administratorers sidebesøg</strong>: administratorers sidebesøg gemmes.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Kommentarer</h3>
|
||||
<ul>
|
||||
|
||||
<li><strong>Kommentarer til alle</strong>: Selv ikke-registrerede gæster kan skrive kommentarer.</li>
|
||||
|
||||
<li><strong>Antal kommentarer pr. side</strong>.</li>
|
||||
|
||||
<li><strong>Godkendelse</strong>: en administrator skal godkende brugerkommentarer, før de bliver synlige på webstedet. Godkendelse af brugerkommentarer foretages på siden <span class="pwgScreen">Administration » Værktøjer » Ventende kommentarer</span>.</li>
|
||||
|
||||
<li><strong>Send mail til admins når en gyldig kommentar gemmes</strong>: Sender en e-mail til administratorerne når en bruger gemmer en kommentar og denne godkendes.</li>
|
||||
|
||||
<li><strong>Send mail til admins når en kommentar kræver godkendelse</strong>: Sender en e-mail til administratorerne når en bruger gemmer en kommentar, som kræver admingodkendelse. Godkendelse af brugerkommentarer foretages på siden <span class="pwgScreen">Administration » Værktøjer » Ventende kommentarer</span>.</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<h3>Standardvisning</h3>
|
||||
|
||||
<p>Her ændrer man valgmulighederne i forbindelse med visning for guest-brugeren, standardbrugeren som ikke har en konto. Når der er logget på, kan valgmulighederne overtrumfes af brugerens egne valgmuligheder (som ændres i <span class="pwgScreen">profil</span>).</p>
|
||||
|
||||
<p>Det er muligt at ændre visningsvalgmulighederne for alle eksisterende brugere på siden <span class="pwgScreen">Administration » Brugere » Håndter</span>, hvor man kan udvælge brugere.</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><strong>Sprog</strong>: Gælder kun Piwigo-ettiketter. Albumnavne, fotografinavne og alle beskrivelsesfelter er ikke oversætbare.</li>
|
||||
|
||||
<li><strong>Antal fotografier pr. række</strong></li>
|
||||
|
||||
<li><strong>Antal rækker pr. side</strong></li>
|
||||
|
||||
<li><strong>Grænsefladetema</strong></li>
|
||||
|
||||
<li><strong>Seneste periode</strong>: Efter dage. Periode under hvilken et fotografi vises som nyt. Skal være større end 1 dag.</li>
|
||||
|
||||
<li><strong>Åbn alle albummer</strong>: Åbn alle albummer som standard i menuen. <em>Advarsel</em>: valgmuligheden er ressourceintensiv og kan medføre en enorm menu, hvis dit albumtræ indeholder mange albummer.</li>
|
||||
|
||||
<li><strong>Vis antal kommentarer</strong>: Vis antal kommentarer til hvert fotografi på miniturebilledsiden. Ressourceintensiv.</li>
|
||||
|
||||
<li><strong>Vis antal visninger</strong>: Vis et fotografis antal visninger, lige under dets miniturebilleds på miniturebilledsiden. Kun når det avancerede opsætningsparameter er:<br>
|
||||
$conf['show_nb_hits'] = true; <br>
|
||||
Bemærk: false som standard.</li>
|
||||
|
||||
<li><strong>Maksimal bredde på fotografierne</strong>: maksimal visningsbredde. Fotografier, som er større end denne indstilling vil blive skaleret ved visningen. Frem for at benytte denne indstilling, kan du overveje at ændre bredden på dine fotografier; det er en bedre praksis.</li>
|
||||
|
||||
<li><strong>Maksimal højde på fotografierne</strong>: tilsvarende opsætningen af maksimal bredde.</li>
|
||||
|
||||
</ul>
|
55
language/da_DK/help/extend_for_templates.html
Normal file
55
language/da_DK/help/extend_for_templates.html
Normal file
|
@ -0,0 +1,55 @@
|
|||
<h2>Opsætning af skabelonudvidelsen</h2>
|
||||
|
||||
<h3>Om</h3>
|
||||
<p>Dit Piwigo-galleri kan tilpasses ved at udskifte eksisterende skabelonfiler med tilpassede udgaver. For eksempel
|
||||
kan standardheaderskabelonen (header.tpl) erstattes med en tilpasset headerskabelon (my-header.tpl). Efter at have gemt ændringerne i databasen, vil galleriet vise den tilpassede header i stedet for den oprindelige header.<br>
|
||||
Skabelonudvidelser er en god måde at oprette tilpassede temaer på for både nye og avancerede brugere. Anvendt sammen med LocalFiles Editor kan du oprette dine egne nedarvede temaer.</p>
|
||||
|
||||
<h3>Oprindelig skabelon</h3>
|
||||
<p>Et tema indeholder et antal skabelonfiler, som udgår gallerisiderne. Det er de oprindelige skabeloner.</p>
|
||||
|
||||
<h3>Valgfrit URL-nøgleord</h3>
|
||||
<p>Det er ord, som findes i galleri-URL'en efter et modulnavn. De kan også være aktive permalinks (Se permalink-dokumentationen for flere oplysninger). <a href="#warnings">ADVARSEL:</a> hvis den samme oprindelige skabelon og det samme nøgleord anvendes i mere end én tilpasset skabelon, er kun den seneste aktiv.</p>
|
||||
|
||||
<h3>Bundet tema</h3>
|
||||
<p>Det bundne tema, er temaet hvis skabelonfiler udskiftes.</p>
|
||||
|
||||
<h3>Hvor er de oprindelige skabeloner?</h3>
|
||||
<p>Oprindelige skabeloner er de skabelonfiler, som leveres med de enkelte teamer. De er gemt i <em>/themes/default/template</em> (eller <em>themes/<temanavn>/template</em>). Disse skabelonfiler bør ikke redigeres, hvor de befinder sig, da ændringer vil gå tabt når temaet opgraderes.<br>
|
||||
Understøttede oprindelige skabeloner er blandt andre:</p>
|
||||
<ul>
|
||||
<li><span class="filename">index.tpl</span></li>
|
||||
<li><span class="filename">mainpage_categories.tpl</span> og/eller <span class="filename">thumbnails.tpl</span></li>
|
||||
<li><span class="filename">menubar.tpl</span></li>
|
||||
<li><span class="filename">header.tpl</span> og/eller <span class="filename">footer.tpl</span></li>
|
||||
<li><span class="filename">picture_content.tpl</span> og/eller <span class="filename">picture.tpl</span></li>
|
||||
<!-- <li><span class="filename">slideshow.tpl</span></li> -->
|
||||
<li><span class="filename">profile.tpl</span> og/eller <span class="filename">profile_content.tpl</span></li>
|
||||
<li><span class="filename">tags.tpl</span></li>
|
||||
<li><span class="filename">upload.tpl</span></li>
|
||||
<li><span class="filename">about.tpl</span></li>
|
||||
<li><span class="filename">popuphelp.tpl</span></li>
|
||||
<li><span class="filename">search.tpl</span> og/eller <span class="filename">search_rules.tpl</span></li>
|
||||
<li><span class="filename">nbm.tpl</span> og/eller <span class="filename">notification.tpl</span></li>
|
||||
<li><span class="filename">identification.tpl</span> og/eller <span class="filename">register.tpl</span></li>
|
||||
<li><span class="filename">redirect.tpl</span></li>
|
||||
</ul>
|
||||
|
||||
<h3>Gemning af tilpassede skabeloner</h3>
|
||||
<p>Tilpassede skabeloner bør gemmes i mappen template-extension eller undermapper. For eksempel <em>/template-extension/min-standard/header.tpl</em> (eller <em>/template-extension/<mit-temas-navn>/header.tpl</em>). Skabelonfiler kan have et vilkårligt nanv, som slutter med filudvidelsen .tpl. Skabelonfiler i undermapper viser sig på Skabelon-opsætningssiden som tilgængelige tilpassede skabeloner.</p>
|
||||
|
||||
<h3>Aktivering af tilpassede skabeloner</h3>
|
||||
<p>Vælg den oprindelige skabelon, som skal erstattes. Det er valgfrit om man vælger et URL-nøgleord for at sikre at den tilpassede skabelon kun vises på sider, med det nøgleord. Vælg et bundet tema og ændringerne vil kun træde i kraft i det tema. Gem dine ændringer i databasen.</p>
|
||||
|
||||
<h3>Deaktivering af tilpassede skabeloner</h3>
|
||||
<p>Fravælg den oprindelige skabelon og gem ændringerne i databasen.<br>
|
||||
Slet filerne med den tilpassede skabelon fra mappen template-extension.</p>
|
||||
|
||||
<a name="warnings"></a>
|
||||
<h3>Advarsler</h3>
|
||||
<ul>
|
||||
<li><strong>Den oprindelige skabelon</strong> skal være den oprindelige skablon, ellers kan du opleve uforudsigelige resultater.</li>
|
||||
<li>Hvis den samme oprindelige skabelon og det samme URL-nøgleord anvendes i mere end en tilpasset skabelon, vil kun den sidste være aktiv.</li>
|
||||
<li>Distribuerede eksempler på skabelonfiler er kun til testformål. Rediger dem ikke. Opret dine egne eller kopi eksisterende temaskabelonfiler til <em>/template-extension/<mit-tema>/</em></li>
|
||||
<li>Når en tilpasset skabelon slettes, genaktiveres den oprindelige skabelonfil med det samme.</li>
|
||||
</ul>
|
|
@ -1,21 +1,22 @@
|
|||
<h2>Grupper liste</h2>
|
||||
|
||||
<p>Dette er stedet hvor du håndtere grupper.</p>
|
||||
|
||||
<h3>Tilføjelse af en gruppe</h3>
|
||||
|
||||
<p>Administrator kan tilføje grupper.</p>
|
||||
|
||||
<h3>Grupper liste</h3>
|
||||
|
||||
<p>For hver gruppe følgende tiltag kan anvendes:</p>
|
||||
|
||||
<ul>
|
||||
<li>gå til brugeradministration (Admin » Brugere » Administrer)</li>
|
||||
<li>gå til tilladelses administration skærmen for at give eller nægte adgang til private album.</li>
|
||||
<li>slette gruppen (kræver en bekræftelse)</li>
|
||||
<li>Skift status "standard" (kræver en bekræftelse)</li>
|
||||
</ul>
|
||||
|
||||
<h3> Standard grupper </h3>
|
||||
<p>Standard grupper er grupper, der automatisk er forbundet med hver ny bruger ved registrering eller oprettelse af en administrator.</p>
|
||||
<h2>Gruppeliste</h2>
|
||||
|
||||
<p>Her håndteres grupper.</p>
|
||||
|
||||
<h3>Tilføj en gruppe</h3>
|
||||
|
||||
<p>En administrator kan tilføje grupper.</p>
|
||||
|
||||
<h3>Gruppeliste</h3>
|
||||
|
||||
<p>Hver gruppe kan tildeles følgende handlinger:</p>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>gå til brugeradministration (Admin » Brugere » Håndter)</li>
|
||||
<li>gå til siden med tilladelsesadministration for at tildele eller fjerne adgang til private albummer.</li>
|
||||
<li>slet gruppen (kræver en bekræftelse)</li>
|
||||
<li>skift "default"-status (kræver en bekræftelse)</li>
|
||||
</ul>
|
||||
|
||||
<h3>Standardgrupper</h3>
|
||||
<p>Standardgrupper er grupper, som automatisk tildeles hver ny bruger ved registrering eller oprettelse ved administrators mellemkomst.</p>
|
|
@ -1,27 +1,21 @@
|
|||
<p> Flere måder at tilføje dine billeder i dit galleri: </p>
|
||||
|
||||
<ul>
|
||||
<li> <strong> Direkte upload </strong> i din web browser er den
|
||||
enkleste og mest umiddelbare måde. Det afhænger af dine Browserfunktioner
|
||||
og din webserver. For en stor mængde fotos eller hvis du støder på nogle problemer,
|
||||
venter de andre metoder, bare på dig! </li>
|
||||
</ul>
|
||||
|
||||
<p class="nextStepLink"> <a href="admin.php?page=photos_add§ion=direct"> Gå til Direkte Upload </a> </p>
|
||||
|
||||
<ul>
|
||||
<li> <strong> pLoader </strong> er en desktop applikation, der skal installeres på din computer. Træk og slip billeder i pLoader vindue, klik på <em> "Upload til Piwigo" </em> og lad pLoader gøre arbejdet. Du kan finde andre desktop applikationer såsom <strong> WinToPiwigo </strong> eller <strong> Digikam </strong> Eksporter plugin til Piwigo. </Li>
|
||||
</ul>
|
||||
|
||||
<p class="nextStepLink"> <a href="admin.php?page=photos_add§ion=ploader"> Gå til pLoader </a> </p>
|
||||
|
||||
<div id="helpSynchro">
|
||||
<ul>
|
||||
<li> <strong> FTP overførsel </strong> er den mest anbefalede måde at tilføje en
|
||||
meget stor samling af billeder med et minimum antal klik. Følg
|
||||
guiden til at forberede dine billeder. FTP-metode kan du styre præcist
|
||||
den fysiske organisering af dine billeder på din server. </li>
|
||||
</ul>
|
||||
|
||||
<p class="nextStepLink"> <a href="admin.php?page=photos_add§ion=ftp"> Gå til FTP </a> </p>
|
||||
<p>Nogle måder at tilføje fotografier til dit galleri:</p>
|
||||
|
||||
<ul>
|
||||
<li><strong>Direkte upload</strong> i din webbrowser er den mest simple og lettest tilgængelige måde. Det afhænger af din browsers muligheder og din webserver. Når der er tale om store mængder fotografier, eller i tilfælde af at du løber ind i problemer, er de andre metoder klar til brug!</li>
|
||||
</ul>
|
||||
|
||||
<p class="nextStepLink"><a href="admin.php?page=photos_add§ion=direct">Gå til direkte upload</a></p>
|
||||
|
||||
<ul>
|
||||
<li><strong>pLoader</strong> er en desktopapplikation, som installeres på din computer. Træk og slip fotografier ind i pLoader-vinduet, klik på <em>"Upload to Piwigo"</em> og lad pLoader gøre arbejdet. Du kan finde andre desktopapplikationer, så som <strong>WinToPiwigo</strong> eller eksportplugin'en <strong>digiKam</strong> til Piwigo.</li>
|
||||
</ul>
|
||||
|
||||
<p class="nextStepLink"><a href="admin.php?page=photos_add§ion=ploader">Gå til pLoader</a></p>
|
||||
|
||||
<div id="helpSynchro">
|
||||
<ul>
|
||||
<li><strong>Ftp-overførsel</strong> er den mest anbefalede metode, at tilføje en meget stor mængde fotografier med et minimalt antal klik. Følg vejledningen for at klargøre dine fotografier. Ftp-metoden giver mulighed for, nøjagtigt at kontrollere hvordan fotografierne organiseres fysisk på serveren.</li>
|
||||
</ul>
|
||||
|
||||
<p class="nextStepLink"><a href="admin.php?page=photos_add§ion=ftp">Gå til ftp</a></p>
|
||||
</div>
|
|
@ -3,9 +3,9 @@
|
|||
<p>Opret grupper i
|
||||
<span class="pwgScreen">Administration » Brugere » Grupper</span>
|
||||
og associerede brugere til denne gruppe i
|
||||
<span class="pwgScreen">Administration » Brugere » Administrer</span>.</P>
|
||||
<span class="pwgScreen">Administration » Brugere » Håndter</span>.</P>
|
||||
|
||||
<p>En bruger kan tilhøre flere grupper. Autorisation går forud for
|
||||
forbud: Hvis brugeren "Jack" tilhører grupperne "familie" og "venner", og
|
||||
at kun gruppen "familie" kan se album "Jul 2010" album så vil
|
||||
forbud: Hvis brugeren "Jack" tilhører grupperne "Familie" og "Venner", og
|
||||
kun gruppen "Familie" kan se albummet "Jul 2010", så vil
|
||||
"Jack" være i stand til at se "Jul 2010".</p>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue