Index: /extensions/AdminTools/include/events.inc.php
===================================================================
--- /extensions/AdminTools/include/events.inc.php	(revision 25653)
+++ /extensions/AdminTools/include/events.inc.php	(revision 25654)
@@ -21,4 +21,5 @@
     'USER' => $MultiView->get_user(),
     'CURRENT_USERNAME' => $user['id']==$conf['guest_id'] ? l10n('guest') : $user['username'],
+    'PWG_TOKEN' => get_pwg_token(),
     );
 
@@ -27,4 +28,6 @@
   {
     global $picture;
+
+    include_once(PHPWG_ROOT_PATH . 'admin/include/functions.php');
 
     $url_self = duplicate_picture_url();
@@ -38,4 +41,6 @@
       ));
 
+    $template->set_prefilter('picture', 'admintools_remove_privacy');
+
     $query = 'SELECT element_id FROM ' . CADDIE_TABLE . '
       WHERE element_id = ' . $page['image_id'] .';';
@@ -63,4 +68,31 @@
       $url_self,
       array('action'=>'add_to_caddie')
+      );
+
+    // gets tags
+    $query = '
+SELECT id, name
+  FROM '.IMAGE_TAG_TABLE.' AS it
+    JOIN '.TAGS_TABLE.' AS t ON t.id = it.tag_id
+  WHERE image_id = '.$page['image_id'].'
+;';
+    $tag_selection = get_taglist($query);
+
+    $query = '
+SELECT id, name
+  FROM '.TAGS_TABLE.'
+;';
+    $tags = get_taglist($query, false);
+
+    $tpl_vars['QUICK_EDIT'] = array(
+      'file' => $picture['current']['file'],
+      'name' => $picture['current']['name'],
+      'comment' => $picture['current']['comment'],
+      'author' => $picture['current']['author'],
+      'level' => $picture['current']['level'],
+      'date_creation' => substr($picture['current']['date_creation'], 0, 10),
+      'date_creation_time' => substr($picture['current']['date_creation'], 11, 5),
+      'tag_selection' => $tag_selection,
+      'tags' => $tags,
       );
   }
@@ -122,2 +154,73 @@
   $template->parse('ato');
 }
+
+function admintools_remove_privacy($content)
+{
+  $search = '{if $display_info.privacy_level and isset($available_permission_levels)}';
+  $replace = '{if false}';
+  return str_replace($search, $replace, $content);
+}
+
+function admintools_save_picture()
+{
+  global $page, $conf;
+
+  if (isset($_GET['delete']) and get_pwg_token()==@$_GET['pwg_token'])
+  {
+    include_once(PHPWG_ROOT_PATH . 'admin/include/functions.php');
+
+    delete_elements(array($page['image_id']), true);
+    invalidate_user_cache();
+
+    if (isset($page['category']))
+    {
+      redirect(
+        make_index_url(
+          array(
+            'category' => $page['category']
+            )
+          )
+        );
+    }
+
+    redirect(make_index_url());
+  }
+
+  if (@$_POST['action'] == 'quick_edit')
+  {
+    include_once(PHPWG_ROOT_PATH . 'admin/include/functions.php');
+
+    $data = array(
+      'name' => $_POST['name'],
+      'author' => $_POST['author'],
+      'level' => $_POST['level'],
+      );
+
+    if ($conf['allow_html_descriptions'])
+    {
+      $data['comment'] = @$_POST['comment'];
+    }
+    else
+    {
+      $data['comment'] = strip_tags(@$_POST['comment']);
+    }
+
+    if (!empty($_POST['date_creation']) and strtotime($_POST['date_creation']) !== false)
+    {
+      $data['date_creation'] = $_POST['date_creation'] .' '. $_POST['date_creation_time'];
+    }
+
+    single_update(
+      IMAGES_TABLE,
+      $data,
+      array('id' => $page['image_id'])
+      );
+
+    $tag_ids = array();
+    if (!empty($_POST['tags']))
+    {
+      $tag_ids = get_tag_ids($_POST['tags']);
+    }
+    set_tags($tag_ids, $page['image_id']);
+  }
+}
Index: /extensions/AdminTools/main.inc.php
===================================================================
--- /extensions/AdminTools/main.inc.php	(revision 25653)
+++ /extensions/AdminTools/main.inc.php	(revision 25654)
@@ -34,4 +34,5 @@
 {
   add_event_handler('loc_after_page_header', 'admintools_add_public_controller');
+  add_event_handler('loc_begin_picture', 'admintools_save_picture');
 }
 
Index: /extensions/AdminTools/template/public_controller.tpl
===================================================================
--- /extensions/AdminTools/template/public_controller.tpl	(revision 25653)
+++ /extensions/AdminTools/template/public_controller.tpl	(revision 25654)
@@ -2,4 +2,27 @@
 {combine_css path='admin/themes/default/fontello/css/fontello.css'}
 {combine_css path=$ADMINTOOLS_PATH|cat:'template/fontello/css/fontello-ato.css'}
+
+{if isset($ato.QUICK_EDIT)}
+  {*<!-- colorbox -->*}
+  {combine_script id='jquery.colorbox' load='footer' require='jquery' path='themes/default/js/plugins/jquery.colorbox.min.js'}
+  {combine_css id='colorbox' path='themes/default/js/plugins/colorbox/style2/colorbox.css'}
+
+  {*<!-- tokeninput -->*}
+  {combine_script id='jquery.tokeninput' load='footer' require='jquery' path='themes/default/js/plugins/jquery.tokeninput.js'}
+  {combine_css path='themes/default/js/plugins/jquery.tokeninput.css'}
+
+  {*<!-- datepicker -->*}
+  {combine_script id='jquery.ui.datepicker' load='footer' path='themes/default/js/ui/jquery.ui.datepicker.js'}
+
+  {assign var=datepicker_language value='themes/default/js/ui/i18n/jquery.ui.datepicker-'|cat:$lang_info.code|cat:'.js'}
+  {if 'PHPWG_ROOT_PATH'|@constant|@cat:$datepicker_language|@file_exists}
+  {combine_script id='jquery.ui.datepicker'|cat:$lang_info.code load='footer' path=$datepicker_language}
+  {/if}
+
+  {combine_css path='themes/default/js/ui/theme/jquery.ui.core.css'}
+  {combine_css path='themes/default/js/ui/theme/jquery.ui.theme.css'}
+  {combine_css path='themes/default/js/ui/theme/jquery.ui.datepicker.css'}
+{/if}
+
 
 <div id="ato_header_closed"><a href="#" class="icon-tools"></a></div>
@@ -21,5 +44,5 @@
     <li class="parent"><a href="#" class="icon-pencil">{'Edit'|translate}</a>
       <ul>
-        <li><a href="#" class="icon-ato-flash edit-quick">{'Quick edit'|translate}</a></li>
+        <li><a href="#ato_quick_edit" class="icon-ato-flash edit-quick">{'Quick edit'|translate}</a></li>
         <li><a class="icon-ato-doc-text-inv" href="{$ato.U_EDIT}">{'Properties page'|translate}</a></li>
       </ul>
@@ -34,4 +57,7 @@
   {if isset($ato.IS_CATEGORY)}
     <li><a class="icon-plus-circled" href="{$ato.U_SITE_ADMIN}photos_add&amp;album={$ato.CATEGORY_ID}">{'Add Photos'|translate}</a></li>
+  {/if}
+  {if isset($ato.IS_PICTURE)}
+    <li><a class="icon-ato-cancel" href="{$ato.U_SELF}delete&amp;pwg_token={$ato.PWG_TOKEN}" onclick="return confirm('{'Are you sure?'|translate|escape:javascript}')">{'delete photo'|translate|ucfirst}</a></li>
   {/if}
 
@@ -70,4 +96,48 @@
 </div>
 
+{if isset($ato.QUICK_EDIT)}
+<div style="display:none;">
+  <div id="ato_quick_edit">
+    <form method="post" action="{$ato.U_SELF}">
+      <fieldset class="left">
+        <img src="{$current.derivatives.square->get_url()}" width="100" height="100">
+        <br><input type="submit" value="{'Save'|translate}">
+        <br><a href="#" class="icon-ato-cancel close-edit">{'Cancel'|translate}</a>
+      </fieldset>
+
+      <fieldset class="main">
+        <label for="quick_edit_name">{'Name'|translate}</label>
+        <input type="text" name="name" id="quick_edit_name" value="{$ato.QUICK_EDIT.name|escape:html}">
+
+        <label for="quick_edit_author">{'Author'|translate}</label>
+        <input type="text" name="author" id="quick_edit_author" value="{$ato.QUICK_EDIT.author|escape:html}">
+
+
+        <label for="quick_edit_date_creation">{'Creation date'|translate}</label>
+        <input type="text" name="date_creation" id="quick_edit_date_creation" class="datepicker" value="{$ato.QUICK_EDIT.date_creation}">
+        <input type="hidden" name="date_creation_time" value="{$ato.QUICK_EDIT.date_creation_time}">
+
+        <label for="quick_edit_tags">{'Tags'|translate}</label>
+        <select name="tags" id="quick_edit_tags" class="tags">
+        {foreach from=$ato.QUICK_EDIT.tag_selection item=tag}
+          <option value="{$tag.id}" class="selected">{$tag.name}</option>
+        {/foreach}
+        </select>
+
+        <label for="quick_edit_comment">{'Description'|translate}</label>
+        <textarea name="comment" id="quick_edit_comment">{$ato.QUICK_EDIT.comment}</textarea>
+
+        <label for="quick_edit_level">{'Who can see this photo?'|@translate}</label>
+        <select name="level" size="1">
+          {html_options options=$available_permission_levels selected=$ato.QUICK_EDIT.level}
+        </select>
+      </fieldset>
+
+      <input type="hidden" name="action" value="quick_edit">
+    </form>
+  </div>
+</div>
+{/if}
+
 {footer_script require='jquery'}
 (function($){
@@ -111,4 +181,5 @@
   });
 
+{*<!-- select boxes -->*}
   $ato.find('.switcher').on({
     'change': function() {
@@ -120,4 +191,5 @@
   });
 
+{*<!-- toggle toolbar -->*}
   $ato.find('.close-panel').on('click', function(e) {
     $ato.slideUp();
@@ -128,5 +200,5 @@
     e.preventDefault();
   });
-  
+
   $ato_closed.on('click', function(e) {
     $ato.slideDown();
@@ -193,4 +265,41 @@
 {/if}
 
+{* <!-- quick edit -->*}
+{if isset($ato.QUICK_EDIT)}
+  var $ato_edit = $('#ato_quick_edit');
+
+  $ato_edit.css('background-color', $("#the_page #content").css('background-color'));
+
+  $ato_edit.find('.close-edit').on('click', function(e) {
+    $.colorbox.close()
+    e.preventDefault();
+  });
+
+  $ato_edit.find('.datepicker').datepicker({
+    dateFormat: 'yy-mm-dd'
+  });
+
+  $ato_edit.find('.tags').tokenInput(
+    [{foreach from=$ato.QUICK_EDIT.tags item=tag name=tags}{ldelim}"name":"{$tag.name|escape:javascript}","id":"{$tag.id}"{rdelim}{if !$smarty.foreach.tags.last},{/if}{/foreach}],
+    {
+      hintText: '{'Type in a search term'|@translate}',
+      noResultsText: '{'No results'|@translate}',
+      searchingText: '{'Searching...'|@translate}',
+      newText: ' ({'new'|@translate})',
+      animateDropdown: false,
+      preventDuplicates: true,
+      allowFreeTagging: true
+    }
+  );
+
+  $(".edit-quick").colorbox({
+    inline: true,
+    transition: 'none',
+    title: '{'Quick edit'|translate|escape:javascript}',
+    width: 500,
+    top: 50
+  });
+{/if}
+
 }(jQuery));
 {/footer_script}
Index: /extensions/AdminTools/template/style.css
===================================================================
--- /extensions/AdminTools/template/style.css	(revision 25653)
+++ /extensions/AdminTools/template/style.css	(revision 25654)
@@ -1,3 +1,7 @@
 .icon-ato-null:before { content: ' '; }
+
+.token-input-dropdown {
+  z-index:10000 !important;
+}
 
 #ato_header, #ato_header_closed {
@@ -125,2 +129,42 @@
   color:#d00;
 }
+
+
+#ato_quick_edit {
+  padding:10px;
+}
+  #ato_quick_edit fieldset {
+    margin:0;
+    padding:0;
+    border:none;
+  }
+  #ato_quick_edit fieldset.left {
+    float:left;
+    width:100px;
+    text-align:center;
+  }
+    #ato_quick_edit input[type="submit"] {
+      margin:1.5em 0;
+    }
+  #ato_quick_edit fieldset.main {
+    margin:0 0 0 110px;
+  }
+    #ato_quick_edit label {
+      display:block;
+      font-weight:bold;
+    }
+    #ato_quick_edit input, #ato_quick_edit textarea, #ato_quick_edit select {
+      width:100%;
+      margin:0 0 1em 0;
+      border-radius:2px;
+      padding:2px;
+      -moz-box-sizing:border-box;
+      box-sizing:border-box;
+    }
+    #ato_quick_edit textarea {
+      height:110px;
+    }
+    #ato_quick_edit ul.token-input-list {
+      width:100%;
+      margin:0 0 1em 0;
+    }
