merge -r4512 from branch 2.0 to trunk
web method images.setPrivacyLevel (ws_images_setPrivacyLevel) is POST only git-svn-id: http://piwigo.org/svn/trunk@4513 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
975188d088
commit
8c051ea526
5 changed files with 46 additions and 28 deletions
|
|
@ -54,11 +54,11 @@ class Calendar extends CalendarBase
|
||||||
'labels' => null
|
'labels' => null
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'sql'=> pwg_db_get_week($this->date_field)+1,
|
'sql'=> pwg_db_get_week($this->date_field).'+1',
|
||||||
'labels' => $week_no_labels,
|
'labels' => $week_no_labels,
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'sql'=> pwg_db_get_dayofweek($this->date_field)-1,
|
'sql'=> pwg_db_get_dayofweek($this->date_field).'-1',
|
||||||
'labels' => $lang['day']
|
'labels' => $lang['day']
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -855,6 +855,10 @@ function ws_images_setPrivacyLevel($params, &$service)
|
||||||
{
|
{
|
||||||
return new PwgError(401, 'Access denied');
|
return new PwgError(401, 'Access denied');
|
||||||
}
|
}
|
||||||
|
if (!$service->isPost())
|
||||||
|
{
|
||||||
|
return new PwgError(405, "This method requires HTTP POST");
|
||||||
|
}
|
||||||
$params['image_id'] = array_map( 'intval',$params['image_id'] );
|
$params['image_id'] = array_map( 'intval',$params['image_id'] );
|
||||||
if ( empty($params['image_id']) )
|
if ( empty($params['image_id']) )
|
||||||
{
|
{
|
||||||
|
|
@ -865,6 +869,7 @@ function ws_images_setPrivacyLevel($params, &$service)
|
||||||
{
|
{
|
||||||
return new PwgError(WS_ERR_INVALID_PARAM, "Invalid level");
|
return new PwgError(WS_ERR_INVALID_PARAM, "Invalid level");
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = '
|
$query = '
|
||||||
UPDATE '.IMAGES_TABLE.'
|
UPDATE '.IMAGES_TABLE.'
|
||||||
SET level='.(int)$params['level'].'
|
SET level='.(int)$params['level'].'
|
||||||
|
|
@ -950,14 +955,14 @@ function merge_chunks($output_filepath, $original_sum, $type)
|
||||||
if (is_file($output_filepath))
|
if (is_file($output_filepath))
|
||||||
{
|
{
|
||||||
unlink($output_filepath);
|
unlink($output_filepath);
|
||||||
|
|
||||||
if (is_file($output_filepath))
|
if (is_file($output_filepath))
|
||||||
{
|
{
|
||||||
new PwgError(500, '[merge_chunks] error while trying to remove existing '.$output_filepath);
|
new PwgError(500, '[merge_chunks] error while trying to remove existing '.$output_filepath);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$upload_dir = PHPWG_ROOT_PATH.'upload/buffer';
|
$upload_dir = PHPWG_ROOT_PATH.'upload/buffer';
|
||||||
$pattern = '/'.$original_sum.'-'.$type.'/';
|
$pattern = '/'.$original_sum.'-'.$type.'/';
|
||||||
$chunks = array();
|
$chunks = array();
|
||||||
|
|
@ -982,7 +987,7 @@ function merge_chunks($output_filepath, $original_sum, $type)
|
||||||
}
|
}
|
||||||
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
|
||||||
foreach ($chunks as $chunk)
|
foreach ($chunks as $chunk)
|
||||||
{
|
{
|
||||||
$string = file_get_contents($chunk);
|
$string = file_get_contents($chunk);
|
||||||
|
|
@ -1014,7 +1019,7 @@ function add_file($file_path, $type, $original_sum, $file_sum)
|
||||||
$file_path = file_path_for_type($file_path, $type);
|
$file_path = file_path_for_type($file_path, $type);
|
||||||
|
|
||||||
$upload_dir = dirname($file_path);
|
$upload_dir = dirname($file_path);
|
||||||
|
|
||||||
if (!is_dir($upload_dir)) {
|
if (!is_dir($upload_dir)) {
|
||||||
umask(0000);
|
umask(0000);
|
||||||
$recursive = true;
|
$recursive = true;
|
||||||
|
|
@ -1101,7 +1106,7 @@ SELECT
|
||||||
// update basic metadata from file
|
// update basic metadata from file
|
||||||
//
|
//
|
||||||
$update = array();
|
$update = array();
|
||||||
|
|
||||||
if ('high' == $params['type'])
|
if ('high' == $params['type'])
|
||||||
{
|
{
|
||||||
$update['high_filesize'] = $infos['filesize'];
|
$update['high_filesize'] = $infos['filesize'];
|
||||||
|
|
@ -1120,7 +1125,7 @@ SELECT
|
||||||
if (count($update) > 0)
|
if (count($update) > 0)
|
||||||
{
|
{
|
||||||
$update['id'] = $params['image_id'];
|
$update['id'] = $params['image_id'];
|
||||||
|
|
||||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||||
mass_updates(
|
mass_updates(
|
||||||
IMAGES_TABLE,
|
IMAGES_TABLE,
|
||||||
|
|
@ -1839,7 +1844,7 @@ function ws_add_image_category_relations($image_id, $categories_string, $replace
|
||||||
);
|
);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = '
|
$query = '
|
||||||
SELECT
|
SELECT
|
||||||
id
|
id
|
||||||
|
|
@ -1857,9 +1862,9 @@ SELECT
|
||||||
);
|
);
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$to_update_cat_ids = array();
|
$to_update_cat_ids = array();
|
||||||
|
|
||||||
// in case of replace mode, we first check the existing associations
|
// in case of replace mode, we first check the existing associations
|
||||||
$query = '
|
$query = '
|
||||||
SELECT
|
SELECT
|
||||||
|
|
@ -1884,13 +1889,13 @@ DELETE
|
||||||
update_category($to_remove_cat_ids);
|
update_category($to_remove_cat_ids);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$new_cat_ids = array_diff($cat_ids, $existing_cat_ids);
|
$new_cat_ids = array_diff($cat_ids, $existing_cat_ids);
|
||||||
if (count($new_cat_ids) == 0)
|
if (count($new_cat_ids) == 0)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($search_current_ranks)
|
if ($search_current_ranks)
|
||||||
{
|
{
|
||||||
$query = '
|
$query = '
|
||||||
|
|
@ -1914,16 +1919,16 @@ SELECT
|
||||||
{
|
{
|
||||||
$current_rank_of[$cat_id] = 0;
|
$current_rank_of[$cat_id] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ('auto' == $rank_on_category[$cat_id])
|
if ('auto' == $rank_on_category[$cat_id])
|
||||||
{
|
{
|
||||||
$rank_on_category[$cat_id] = $current_rank_of[$cat_id] + 1;
|
$rank_on_category[$cat_id] = $current_rank_of[$cat_id] + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$inserts = array();
|
$inserts = array();
|
||||||
|
|
||||||
foreach ($new_cat_ids as $cat_id)
|
foreach ($new_cat_ids as $cat_id)
|
||||||
{
|
{
|
||||||
array_push(
|
array_push(
|
||||||
|
|
@ -1935,14 +1940,14 @@ SELECT
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
|
||||||
mass_inserts(
|
mass_inserts(
|
||||||
IMAGE_CATEGORY_TABLE,
|
IMAGE_CATEGORY_TABLE,
|
||||||
array_keys($inserts[0]),
|
array_keys($inserts[0]),
|
||||||
$inserts
|
$inserts
|
||||||
);
|
);
|
||||||
|
|
||||||
update_category($new_cat_ids);
|
update_category($new_cat_ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -111,8 +111,9 @@ PwgWS.prototype = {
|
||||||
}
|
}
|
||||||
this.transport.onreadystatechange = this.onStateChange.pwgBind(this);
|
this.transport.onreadystatechange = this.onStateChange.pwgBind(this);
|
||||||
|
|
||||||
var url = this.urlRoot;
|
var url = this.urlRoot+"ws.php?format=json";
|
||||||
url += "ws.php?format=json&method="+method;
|
|
||||||
|
var body = "method="+method;
|
||||||
if (parameters)
|
if (parameters)
|
||||||
{
|
{
|
||||||
for (var property in parameters)
|
for (var property in parameters)
|
||||||
|
|
@ -120,14 +121,25 @@ PwgWS.prototype = {
|
||||||
if ( typeof parameters[property] == 'object' && parameters[property])
|
if ( typeof parameters[property] == 'object' && parameters[property])
|
||||||
{
|
{
|
||||||
for (var i=0; i<parameters[property].length; i++)
|
for (var i=0; i<parameters[property].length; i++)
|
||||||
url += "&"+property+"[]="+encodeURIComponent(parameters[property][i]);
|
body += "&"+property+"[]="+encodeURIComponent(parameters[property][i]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
url += "&"+property+"="+encodeURIComponent(parameters[property]);
|
body += "&"+property+"="+encodeURIComponent(parameters[property]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.transport.open(this.options.method, url, this.options.async);
|
|
||||||
this.transport.send(null);
|
if (this.options.method == "POST" )
|
||||||
|
{
|
||||||
|
this.transport.open(this.options.method, url, this.options.async);
|
||||||
|
this.transport.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||||
|
this.transport.send(body);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
url += "&"+body;
|
||||||
|
this.transport.open(this.options.method, url, this.options.async);
|
||||||
|
this.transport.send(null);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onStateChange: function() {
|
onStateChange: function() {
|
||||||
|
|
|
||||||
|
|
@ -214,6 +214,7 @@ var y = new PwgWS(rootUrl);
|
||||||
y.callService(
|
y.callService(
|
||||||
"pwg.images.setPrivacyLevel", {image_id: id, level:level} ,
|
"pwg.images.setPrivacyLevel", {image_id: id, level:level} ,
|
||||||
{
|
{
|
||||||
|
method: "POST",
|
||||||
onFailure: function(num, text) { selectElement.disabled = false; alert(num + " " + text); },
|
onFailure: function(num, text) { selectElement.disabled = false; alert(num + " " + text); },
|
||||||
onSuccess: function(result) { selectElement.disabled = false; }
|
onSuccess: function(result) { selectElement.disabled = false; }
|
||||||
}
|
}
|
||||||
|
|
|
||||||
8
ws.php
8
ws.php
|
|
@ -136,7 +136,7 @@ function ws_addDefaultMethods( $arr )
|
||||||
'image_id' => array('flags'=>WS_PARAM_FORCE_ARRAY),
|
'image_id' => array('flags'=>WS_PARAM_FORCE_ARRAY),
|
||||||
'level' => array('maxValue'=>$conf['available_permission_levels']),
|
'level' => array('maxValue'=>$conf['available_permission_levels']),
|
||||||
),
|
),
|
||||||
'sets the privacy levels for the images'
|
'sets the privacy levels for the images (POST method only)'
|
||||||
);
|
);
|
||||||
|
|
||||||
$service->addMethod('pwg.session.getStatus', 'ws_session_getStatus', null, '' );
|
$service->addMethod('pwg.session.getStatus', 'ws_session_getStatus', null, '' );
|
||||||
|
|
@ -278,7 +278,7 @@ function ws_addDefaultMethods( $arr )
|
||||||
'ws_images_setInfo',
|
'ws_images_setInfo',
|
||||||
array(
|
array(
|
||||||
'image_id' => array(),
|
'image_id' => array(),
|
||||||
|
|
||||||
'name' => array('default' => null),
|
'name' => array('default' => null),
|
||||||
'author' => array('default' => null),
|
'author' => array('default' => null),
|
||||||
'date_creation' => array('default' => null),
|
'date_creation' => array('default' => null),
|
||||||
|
|
@ -297,13 +297,13 @@ function ws_addDefaultMethods( $arr )
|
||||||
<br><b>single_value_mode</b> can be "fill_if_empty" (only use the input value if the corresponding values is currently empty) or "replace" (overwrite any existing value) and applies to single values properties like name/author/date_creation/comment
|
<br><b>single_value_mode</b> can be "fill_if_empty" (only use the input value if the corresponding values is currently empty) or "replace" (overwrite any existing value) and applies to single values properties like name/author/date_creation/comment
|
||||||
<br><b>multiple_value_mode</b> can be "append" (no change on existing values, add the new values) or "replace" and applies to multiple values properties like tag_ids/categories'
|
<br><b>multiple_value_mode</b> can be "append" (no change on existing values, add the new values) or "replace" and applies to multiple values properties like tag_ids/categories'
|
||||||
);
|
);
|
||||||
|
|
||||||
$service->addMethod(
|
$service->addMethod(
|
||||||
'pwg.categories.setInfo',
|
'pwg.categories.setInfo',
|
||||||
'ws_categories_setInfo',
|
'ws_categories_setInfo',
|
||||||
array(
|
array(
|
||||||
'category_id' => array(),
|
'category_id' => array(),
|
||||||
|
|
||||||
'name' => array('default' => null),
|
'name' => array('default' => null),
|
||||||
'comment' => array('default' => null),
|
'comment' => array('default' => null),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue