aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormistic100 <mistic@piwigo.org>2013-10-19 18:17:10 +0000
committermistic100 <mistic@piwigo.org>2013-10-19 18:17:10 +0000
commit4926fced5e18cc5ea71f3c32e695649230667efb (patch)
tree807f86d273a1c652105bed147fbd76b4dc639c39
parentae707279a1945e383c312cd648d288606a79e341 (diff)
replace some mass_updates/inserts by single_update/insert
git-svn-id: http://piwigo.org/svn/trunk@25019 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--admin/cat_modify.php26
-rw-r--r--admin/include/functions.php19
-rw-r--r--admin/picture_modify.php9
-rw-r--r--admin/tags.php42
-rw-r--r--include/functions_user.inc.php10
-rw-r--r--include/ws_functions.inc.php47
6 files changed, 53 insertions, 100 deletions
diff --git a/admin/cat_modify.php b/admin/cat_modify.php
index 7edda9fe3..0ecfef4fb 100644
--- a/admin/cat_modify.php
+++ b/admin/cat_modify.php
@@ -114,27 +114,23 @@ if ( !isset( $_GET['cat_id'] ) || !is_numeric( $_GET['cat_id'] ) )
//--------------------------------------------------------- form criteria check
if (isset($_POST['submit']))
{
- $data =
- array(
- 'id' => $_GET['cat_id'],
- 'name' => @$_POST['name'],
- 'comment' =>
- $conf['allow_html_descriptions'] ?
- @$_POST['comment'] : strip_tags(@$_POST['comment']),
- );
+ $data = array(
+ 'id' => $_GET['cat_id'],
+ 'name' => @$_POST['name'],
+ 'comment' =>
+ $conf['allow_html_descriptions'] ?
+ @$_POST['comment'] : strip_tags(@$_POST['comment']),
+ );
if ($conf['activate_comments'])
{
$data['commentable'] = isset($_POST['commentable'])?$_POST['commentable']:'false';
}
-
- mass_updates(
+
+ single_update(
CATEGORIES_TABLE,
- array(
- 'primary' => array('id'),
- 'update' => array_diff(array_keys($data), array('id'))
- ),
- array($data)
+ $data,
+ array('id' => $data['id'])
);
// retrieve cat infos before continuing (following updates are expensive)
diff --git a/admin/include/functions.php b/admin/include/functions.php
index 39d8f85ee..0142bd023 100644
--- a/admin/include/functions.php
+++ b/admin/include/functions.php
@@ -1816,34 +1816,25 @@ SELECT id
if (count($existing_tags) == 0)
{
- mass_inserts(
+ single_insert(
TAGS_TABLE,
- array('name', 'url_name'),
array(
- array(
- 'name' => $tag_name,
- 'url_name' => trigger_event('render_tag_url', $tag_name),
- )
+ 'name' => $tag_name,
+ 'url_name' => trigger_event('render_tag_url', $tag_name),
)
);
$inserted_id = pwg_db_insert_id(TAGS_TABLE);
return array(
- 'info' => sprintf(
- l10n('Tag "%s" was added'),
- stripslashes($tag_name)
- ),
+ 'info' => l10n('Tag "%s" was added', stripslashes($tag_name)),
'id' => $inserted_id,
);
}
else
{
return array(
- 'error' => sprintf(
- l10n('Tag "%s" already exists'),
- stripslashes($tag_name)
- )
+ 'error' => l10n('Tag "%s" already exists', stripslashes($tag_name))
);
}
}
diff --git a/admin/picture_modify.php b/admin/picture_modify.php
index 91e992407..814ec27d8 100644
--- a/admin/picture_modify.php
+++ b/admin/picture_modify.php
@@ -154,13 +154,10 @@ if (isset($_POST['submit']) and count($page['errors']) == 0)
$data{'date_creation'} = null;
}
- mass_updates(
+ single_update(
IMAGES_TABLE,
- array(
- 'primary' => array('id'),
- 'update' => array_diff(array_keys($data), array('id'))
- ),
- array($data)
+ $data,
+ array('id' => $data['id'])
);
// time to deal with tags
diff --git a/admin/tags.php b/admin/tags.php
index 02ab03b1c..794514b28 100644
--- a/admin/tags.php
+++ b/admin/tags.php
@@ -129,16 +129,14 @@ SELECT id, name
}
else if (!empty($tag_name))
{
- mass_inserts(
+ single_insert(
TAGS_TABLE,
- array('name', 'url_name'),
array(
- array(
- 'name' => $tag_name,
- 'url_name' => trigger_event('render_tag_url', $tag_name),
- )
+ 'name' => $tag_name,
+ 'url_name' => trigger_event('render_tag_url', $tag_name),
)
);
+
$query = '
SELECT id
FROM '.TAGS_TABLE.'
@@ -146,6 +144,7 @@ SELECT id, name
;';
$destination_tag = array_from_query($query, 'id');
$destination_tag_id = $destination_tag[0];
+
$query = '
SELECT
image_id
@@ -153,6 +152,7 @@ SELECT id, name
WHERE tag_id = '.$tag_id.'
;';
$destination_tag_image_ids = array_from_query($query, 'image_id');
+
$inserts = array();
foreach ($destination_tag_image_ids as $image_id)
{
@@ -179,6 +179,7 @@ SELECT id, name
}
}
}
+
mass_updates(
TAGS_TABLE,
array(
@@ -323,34 +324,15 @@ if (isset($_GET['action']) and 'delete_orphans' == $_GET['action'])
if (isset($_POST['add']) and !empty($_POST['add_tag']))
{
- $tag_name = $_POST['add_tag'];
-
- // does the tag already exists?
- $query = '
-SELECT id
- FROM '.TAGS_TABLE.'
- WHERE name = \''.$tag_name.'\'
-;';
- $existing_tags = array_from_query($query, 'id');
-
- if (count($existing_tags) == 0)
+ $ret = create_tag($_POST['add_tag']);
+
+ if (isset($ret['error']))
{
- mass_inserts(
- TAGS_TABLE,
- array('name', 'url_name'),
- array(
- array(
- 'name' => $tag_name,
- 'url_name' => trigger_event('render_tag_url', $tag_name),
- )
- )
- );
-
- $page['infos'][] = l10n('Tag "%s" was added', stripslashes($tag_name));
+ $page['errors'][] = $ret['error'];
}
else
{
- $page['errors'][] = l10n('Tag "%s" already exists', stripslashes($tag_name));
+ $page['infos'][] = $ret['info'];
}
}
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php
index a5d57daeb..6dc04b7b6 100644
--- a/include/functions_user.inc.php
+++ b/include/functions_user.inc.php
@@ -186,7 +186,7 @@ SELECT MAX('.$conf['user_fields']['id'].') + 1
$conf['user_fields']['email'] => $mail_address
);
- mass_inserts(USERS_TABLE, array_keys($insert), array($insert));
+ single_insert(USERS_TABLE, $insert);
// Assign by default groups
{
@@ -435,14 +435,12 @@ DELETE FROM '.USER_CACHE_CATEGORIES_TABLE.'
// Due to concurrency issues, we ask MySQL to ignore errors on
// insert. This may happen when cache needs refresh and that Piwigo is
// called "very simultaneously".
- mass_inserts
- (
+ mass_inserts(
USER_CACHE_CATEGORIES_TABLE,
- array
- (
+ array(
'user_id', 'cat_id',
'date_last', 'max_date_last', 'nb_images', 'count_images', 'nb_categories', 'count_categories'
- ),
+ ),
$user_cache_cats,
array('ignore' => true)
);
diff --git a/include/ws_functions.inc.php b/include/ws_functions.inc.php
index 4d8a40af8..eb0399f2d 100644
--- a/include/ws_functions.inc.php
+++ b/include/ws_functions.inc.php
@@ -405,8 +405,11 @@ SELECT id
}
if (count($datas))
{
- include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
- mass_inserts(CADDIE_TABLE, array('element_id','user_id'), $datas);
+ mass_inserts(
+ CADDIE_TABLE,
+ array('element_id','user_id'),
+ $datas
+ );
}
return count($datas);
}
@@ -1726,8 +1729,6 @@ function ws_images_add($params, $service)
$params['image_id'] = (int)$params['image_id'];
if ($params['image_id'] > 0)
{
- include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
-
$query='
SELECT *
FROM '.IMAGES_TABLE.'
@@ -1884,8 +1885,6 @@ function ws_images_addSimple($params, $service)
$params['image_id'] = (int)$params['image_id'];
if ($params['image_id'] > 0)
{
- include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
-
$query='
SELECT *
FROM '.IMAGES_TABLE.'
@@ -1935,21 +1934,19 @@ SELECT *
if (count(array_keys($update)) > 0)
{
$update['id'] = $image_id;
-
- include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
- mass_updates(
+
+ single_update(
IMAGES_TABLE,
- array(
- 'primary' => array('id'),
- 'update' => array_diff(array_keys($update), array('id'))
- ),
- array($update)
+ $update,
+ array('id', $update['id'])
);
}
if (isset($params['tags']) and !empty($params['tags']))
{
+ include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
+
$tag_ids = array();
if (is_array($params['tags']))
{
@@ -2564,13 +2561,10 @@ SELECT *
{
$update['id'] = $params['image_id'];
- mass_updates(
+ single_update(
IMAGES_TABLE,
- array(
- 'primary' => array('id'),
- 'update' => array_diff(array_keys($update), array('id'))
- ),
- array($update)
+ $update,
+ array('id', $update['id'])
);
}
@@ -2805,13 +2799,13 @@ SELECT
);
}
- include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
mass_inserts(
IMAGE_CATEGORY_TABLE,
array_keys($inserts[0]),
$inserts
);
+ include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
update_category($new_cat_ids);
}
@@ -2860,17 +2854,12 @@ function ws_categories_setInfo($params, $service)
if ($perform_update)
{
- include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
- mass_updates(
+ single_update(
CATEGORIES_TABLE,
- array(
- 'primary' => array('id'),
- 'update' => array_diff(array_keys($update), array('id'))
- ),
- array($update)
+ $update,
+ array('id', $update['id'])
);
}
-
}
function ws_categories_setRepresentative($params, $service)