Changeset 11746


Ignore:
Timestamp:
07/14/11 23:44:14 (9 years ago)
Author:
plg
Message:

merge r11745 from branch 2.2 to trunk

feature 2376 added: new method pwg.categories.setRepresentative

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/ws_functions.inc.php

    r11372 r11746  
    24682468} 
    24692469 
     2470function ws_categories_setRepresentative($params, &$service) 
     2471{ 
     2472  global $conf; 
     2473   
     2474  if (!is_admin()) 
     2475  { 
     2476    return new PwgError(401, 'Access denied'); 
     2477  } 
     2478 
     2479  if (!$service->isPost()) 
     2480  { 
     2481    return new PwgError(405, "This method requires HTTP POST"); 
     2482  } 
     2483 
     2484  // category_id 
     2485  // image_id 
     2486 
     2487  $params['category_id'] = (int)$params['category_id']; 
     2488  if ($params['category_id'] <= 0) 
     2489  { 
     2490    return new PwgError(WS_ERR_INVALID_PARAM, "Invalid category_id"); 
     2491  } 
     2492 
     2493  // does the category really exist? 
     2494  $query=' 
     2495SELECT 
     2496    * 
     2497  FROM '.CATEGORIES_TABLE.' 
     2498  WHERE id = '.$params['category_id'].' 
     2499;'; 
     2500  $row = pwg_db_fetch_assoc(pwg_query($query)); 
     2501  if ($row == null) 
     2502  { 
     2503    return new PwgError(404, "category_id not found"); 
     2504  } 
     2505 
     2506  $params['image_id'] = (int)$params['image_id']; 
     2507  if ($params['image_id'] <= 0) 
     2508  { 
     2509    return new PwgError(WS_ERR_INVALID_PARAM, "Invalid image_id"); 
     2510  } 
     2511   
     2512  // does the image really exist? 
     2513  $query=' 
     2514SELECT 
     2515    * 
     2516  FROM '.IMAGES_TABLE.' 
     2517  WHERE id = '.$params['image_id'].' 
     2518;'; 
     2519 
     2520  $row = pwg_db_fetch_assoc(pwg_query($query)); 
     2521  if ($row == null) 
     2522  { 
     2523    return new PwgError(404, "image_id not found"); 
     2524  } 
     2525 
     2526  // apply change 
     2527  $query = ' 
     2528UPDATE '.CATEGORIES_TABLE.' 
     2529  SET representative_picture_id = '.$params['image_id'].' 
     2530  WHERE id = '.$params['category_id'].' 
     2531;'; 
     2532  pwg_query($query); 
     2533 
     2534  $query = ' 
     2535UPDATE '.USER_CACHE_CATEGORIES_TABLE.' 
     2536  SET user_representative_picture_id = NULL 
     2537  WHERE cat_id = '.$params['category_id'].' 
     2538;'; 
     2539  pwg_query($query); 
     2540} 
     2541 
    24702542function ws_categories_delete($params, &$service) 
    24712543{ 
  • trunk/ws.php

    r11372 r11746  
    303303    'Move categories. You can give several category_ids, comma separated. Set parent as 0 to move to gallery root. Only virtual categories can be moved.' 
    304304    ); 
    305    
     305 
     306  $service->addMethod( 
     307    'pwg.categories.setRepresentative', 
     308    'ws_categories_setRepresentative', 
     309    array( 
     310      'category_id'=>array('default'=>0), 
     311      'image_id'=>array('default'=>0), 
     312      ), 
     313    'Set the representative photo for an album. The photo doesn\'t have to belong to the album. POST method only. Administration method only.' 
     314    ); 
     315 
    306316  $service->addMethod( 
    307317    'pwg.tags.getAdminList', 
Note: See TracChangeset for help on using the changeset viewer.