Changeset 9510


Ignore:
Timestamp:
03/04/11 09:18:39 (9 years ago)
Author:
plg
Message:

edit a permission

Location:
extensions/community
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • extensions/community/admin_permissions.php

    r9501 r9510  
    3232$admin_base_url = get_root_url().'admin.php?page=plugin-community-permissions'; 
    3333 
     34$who_options = array( 
     35  'any_visitor' => l10n('any visitor'), 
     36  'any_registered_user' => l10n('any registered user'), 
     37  'user' => l10n('a specific user'), 
     38  'group' => l10n('a group'), 
     39  ); 
     40 
    3441// +-----------------------------------------------------------------------+ 
    3542// | Check Access and exit when user status is not ok                      | 
     
    4451if (isset($_POST['submit_add'])) 
    4552{ 
    46   $who_options = array('any_visitor', 'any_registered_user', 'user', 'group'); 
    47    
    48   if (!in_array($_POST['who'], $who_options)) 
     53  if (!in_array($_POST['who'], array_keys($who_options))) 
    4954  { 
    5055    die('hacking attempt: invalid "who" option'); 
     
    6671  } 
    6772 
    68   check_input_parameter('moderate', $_POST, false, '/^(true|false)$/'); 
     73  check_input_parameter('moderated', $_POST, false, '/^(true|false)$/'); 
    6974 
    7075  // creating the permission 
     
    7681    'recursive' => isset($_POST['recursive']) ? 'true' : 'false', 
    7782    'create_subcategories' => isset($_POST['create_subcategories']) ? 'true' : 'false', 
    78     'moderated' => $_POST['moderate'], 
     83    'moderated' => $_POST['moderated'], 
    7984    ); 
    80    
    81   mass_inserts( 
    82     COMMUNITY_PERMISSIONS_TABLE, 
    83     array_keys($insert), 
    84     array($insert) 
    85     ); 
    86    
    87   array_push( 
    88     $page['infos'], 
    89     l10n('Permission added') 
    90     ); 
     85 
     86  if (isset($_POST['edit'])) 
     87  { 
     88    check_input_parameter('edit', $_POST, false, PATTERN_ID); 
     89 
     90    $insert['id'] = $_POST['edit']; 
     91 
     92    mass_updates( 
     93      COMMUNITY_PERMISSIONS_TABLE, 
     94      array( 
     95        'primary' => array('id'), 
     96        'update' => array_keys($insert), 
     97        ), 
     98      array($insert) 
     99      ); 
     100 
     101    $page['highlight'] = $insert['id']; 
     102 
     103    array_push( 
     104      $page['infos'], 
     105      l10n('Permission updated') 
     106      ); 
     107  } 
     108  else 
     109  { 
     110    mass_inserts( 
     111      COMMUNITY_PERMISSIONS_TABLE, 
     112      array_keys($insert), 
     113      array($insert) 
     114      ); 
     115 
     116    $page['highlight'] = pwg_db_insert_id(COMMUNITY_PERMISSIONS_TABLE); 
     117   
     118    array_push( 
     119      $page['infos'], 
     120      l10n('Permission added') 
     121      ); 
     122  } 
    91123 
    92124  conf_update_param('community_update', time()); 
     
    128160// +-----------------------------------------------------------------------+ 
    129161 
     162// edit mode? 
     163if (isset($_GET['edit'])) 
     164{ 
     165  check_input_parameter('edit', $_GET, false, PATTERN_ID); 
     166   
     167  $query = ' 
     168SELECT 
     169    * 
     170  FROM '.COMMUNITY_PERMISSIONS_TABLE.' 
     171  WHERE id = '.$_GET['edit'].' 
     172;'; 
     173  $result = pwg_query($query); 
     174  $row = pwg_db_fetch_assoc($result); 
     175 
     176  if (isset($row['id'])) 
     177  { 
     178    $template->assign( 
     179      array( 
     180        'edit' => $row['id'], 
     181        'who_options_selected' => $row['type'], 
     182        'user_options_selected' => $row['user_id'], 
     183        'group_options_selected' => $row['group_id'], 
     184        'category_options_selected' => $row['category_id'], 
     185        'recursive' => get_boolean($row['recursive']), 
     186        'create_subcategories' => get_boolean($row['create_subcategories']), 
     187        'moderated' => get_boolean($row['moderated']), 
     188        ) 
     189      ); 
     190  } 
     191} 
     192else 
     193{ 
     194  $template->assign( 
     195    array( 
     196      'moderated' => true, 
     197      ) 
     198    ); 
     199} 
     200 
     201// who options 
     202$template->assign( 
     203  array( 
     204    'who_options' => $who_options, 
     205    ) 
     206  ); 
    130207 
    131208// list of users 
     
    322399    $trust_tooltip = l10n('uploaded photos are directly displayed in the gallery'); 
    323400  } 
     401 
     402  $highlight = false; 
     403  if (isset($_GET['edit']) and $permission['id'] == $_GET['edit']) 
     404  { 
     405    $highlight = true; 
     406  } 
     407  if (isset($page['highlight']) and $permission['id'] == $page['highlight']) 
     408  { 
     409    $highlight = true; 
     410  } 
     411   
    324412   
    325413  $template->append( 
     
    333421      'RECURSIVE_TOOLTIP' => l10n('Apply to sub-albums'), 
    334422      'CREATE_SUBCATEGORIES' => get_boolean($permission['create_subcategories']), 
    335       'U_DELETE' => $admin_base_url.'&delete='.$permission['id'] 
     423      'U_DELETE' => $admin_base_url.'&delete='.$permission['id'], 
     424      'U_EDIT' => $admin_base_url.'&edit='.$permission['id'], 
     425      'HIGHLIGHT' => $highlight, 
    336426      ) 
    337427    ); 
  • extensions/community/admin_permissions.tpl

    r9500 r9510  
    22<style> 
    33form fieldset p {text-align:left;margin:0 0 1.5em 0;line-height:20px;} 
     4.permissionActions {text-align:center;height:20px} 
     5.permissionActions a:hover {border:none} 
     6.permissionActions img {margin-bottom:-2px} 
     7.rowSelected {background-color:#C2F5C2 !important} 
    48</style> 
    59{/literal} 
     
    5660</div> 
    5761 
     62{if not isset($edit)} 
    5863<a id="displayForm" href="#">{'Add a permission'|@translate}</a> 
     64{/if} 
    5965 
    60 <form method="post" name="add_permission" action="{$F_ADD_ACTION}" class="properties" style="display:none"> 
     66<form method="post" name="add_permission" action="{$F_ADD_ACTION}" class="properties" {if not isset($edit)}style="display:none"{/if}> 
    6167  <fieldset> 
    62     <legend>{'Add a permission'|@translate}</legend> 
     68    <legend>{if isset($edit)}{'Edit a permission'|@translate}{else}{'Add a permission'|@translate}{/if}</legend> 
    6369 
    6470    <p> 
     
    6672      <br> 
    6773      <select name="who"> 
    68         <option value="any_visitor">{'any visitor'|@translate}</option> 
    69         <option value="any_registered_user">{'any registered user'|@translate}</option> 
    70         <option value="user">{'a specific user'|@translate}</option> 
    71         <option value="group">{'a group'|@translate}</option> 
     74{html_options options=$who_options selected=$who_options_selected} 
    7275      </select> 
    7376 
    74       <select name="who_user" style="display:none"> 
     77      <select name="who_user" {if not isset($user_options_selected)}style="display:none"{/if}> 
    7578{html_options options=$user_options selected=$user_options_selected} 
    7679      </select> 
    7780 
    78       <select name="who_group" style="display:none"> 
     81      <select name="who_group" {if not isset($group_options_selected)}style="display:none"{/if}> 
    7982{html_options options=$group_options selected=$group_options_selected} 
    8083      </select> 
     
    8588      <br> 
    8689      <select class="categoryDropDown" name="category"> 
    87         <option value="0">{'The whole gallery'|@translate}</option> 
     90        <option value="0" {if not isset($category_options_selected)}selected="selected"{/if}>{'The whole gallery'|@translate}</option> 
    8891        <option disabled="disabled">------------</option> 
    8992        {html_options options=$category_options selected=$category_options_selected} 
    9093      </select> 
    9194      <br> 
    92       <label><input type="checkbox" name="recursive" checked="checked"> {'Apply to sub-albums'|@translate}</label> 
     95      <label><input type="checkbox" name="recursive" {if $recursive}checked="checked"{/if}> {'Apply to sub-albums'|@translate}</label> 
    9396      <br> 
    94       <label><input type="checkbox" name="create_subcategories"> {'ability to create sub-albums'|@translate}</label> 
     97      <label><input type="checkbox" name="create_subcategories" {if $create_subcategories}checked="checked"{/if}> {'ability to create sub-albums'|@translate}</label> 
    9598    </p> 
    9699 
    97100    <p> 
    98101      <strong>{'Which level of trust?'|@translate}</strong> 
    99       <br><label><input type="radio" name="moderate" value="true" checked="checked"> <em>{'low trust'|@translate}</em> : {'uploaded photos must be validated by an administrator'|@translate}</label> 
    100       <br><label><input type="radio" name="moderate" value="false"> <em>{'high trust'|@translate}</em> : {'uploaded photos are directly displayed in the gallery'|@translate}</label> 
     102      <br><label><input type="radio" name="moderated" value="true" {if $moderated}checked="checked"{/if}> <em>{'low trust'|@translate}</em> : {'uploaded photos must be validated by an administrator'|@translate}</label> 
     103      <br><label><input type="radio" name="moderated" value="false" {if not $moderated}checked="checked"{/if}> <em>{'high trust'|@translate}</em> : {'uploaded photos are directly displayed in the gallery'|@translate}</label> 
    101104    </p> 
     105 
     106    {if isset($edit)} 
     107      <input type="hidden" name="edit" value="{$edit}"> 
     108    {/if} 
    102109     
    103110    <p style="margin:0;"> 
    104       <input class="submit" type="submit" name="submit_add" value="{'Add'|@translate}"/> 
     111      <input class="submit" type="submit" name="submit_add" value="{if isset($edit)}{'Submit'|@translate}{else}{'Add'|@translate}{/if}"/> 
     112      <a href="{$F_ADD_ACTION}">{'Cancel'|@translate}</a> 
    105113    </p> 
    106114  </fieldset> 
     
    116124{if not empty($permissions)} 
    117125  {foreach from=$permissions item=permission name=permission_loop} 
    118   <tr class="{if $smarty.foreach.permission_loop.index is odd}row1{else}row2{/if}"> 
     126  <tr class="{if $smarty.foreach.permission_loop.index is odd}row1{else}row2{/if}{if $permission.HIGHLIGHT} rowSelected{/if}"> 
    119127    <td>{$permission.WHO}</td> 
    120128    <td>{$permission.WHERE}</td> 
     
    128136    {/if} 
    129137    </td> 
    130     <td style="text-align:center;"> 
     138    <td class="permissionActions"> 
     139      <a href="{$permission.U_EDIT}"> 
     140        <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/edit_s.png" alt="{'edit'|@translate}" title="{'edit'|@translate}" /> 
     141      </a> 
    131142      <a href="{$permission.U_DELETE}" onclick="return confirm( document.getElementById('btn_delete').title + '\n\n' + '{'Are you sure?'|@translate|@escape:'javascript'}');"> 
    132         <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" class="button" style="border:none" id="btn_delete" alt="{'delete'|@translate}" title="{'delete'|@translate}" /> 
     143        <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" id="btn_delete" alt="{'delete'|@translate}" title="{'Delete permission'|@translate}" /> 
    133144      </a> 
    134145    </td> 
  • extensions/community/language/en_UK/plugin.lang.php

    r9453 r9510  
    5252 
    5353$lang['No album, this photo is orphan'] = 'No album, this photo is orphan'; 
     54 
     55$lang['Cancel'] = 'Cancel'; 
     56$lang['Permission updated'] = 'Permission updated'; 
     57$lang['Delete permission'] = 'Delete permission'; 
    5458?> 
  • extensions/community/language/fr_FR/plugin.lang.php

    r9453 r9510  
    5454 
    5555$lang['No album, this photo is orphan'] = 'Aucun album, cette photo est orpheline'; 
     56$lang['Cancel'] = 'Annuler'; 
     57$lang['Permission updated'] = 'Permission mise à jour'; 
     58$lang['Delete permission'] = 'Supprimer la permission'; 
    5659?> 
Note: See TracChangeset for help on using the changeset viewer.