diff --git a/include/ajax_admin.php b/include/ajax_admin.php
new file mode 100644
index 000000000..c2baed09c
--- /dev/null
+++ b/include/ajax_admin.php
@@ -0,0 +1,165 @@
+Admin()==0)
+{
+ die();
+}
+// From admin, grant the access to a folder to an
+// user
+if ($op=='folder_add') // operation
+{
+
+ $cn=new Database();
+ $user_id=HtmlInput::default_value_get("p_user", 0); // get variable
+ $dossier_id=HtmlInput::default_value_get("p_dossier", 0); // get variable
+ if ($user_id==0||$dossier_id==0||isNumber($user_id)==0||$dossier_id==0)
+ {
+
+ $content=_('Erreur paramètre');
+ $status="NOK";
+ }
+ else
+ {
+ $user=new User($cn, $user_id);
+ $user->set_folder_access($dossier_id, true);
+ $dossier=new Dossier($dossier_id);
+ $dossier->load();
+ $content="
{$dossier->dos_name} | {$dossier->dos_description} | ".
+ "".
+ HtmlInput::anchor(_('Enleve'),"",
+ " onclick=\"folder_remove({$user_id},{$dossier_id});\"").
+ " | ";
+ $status='OK';
+ }
+ //----------------------------------------------------------------
+ // Answer in XML
+ header('Content-type: text/xml; charset=UTF-8');
+ $dom=new DOMDocument('1.0', 'UTF-8');
+ $xml_content=$dom->createElement('content', $content);
+ $xml_status=$dom->createElement('status', $status);
+ $root=$dom->createElement("root");
+ $root->appendChild($xml_content);
+ $root->appendChild($xml_status);
+ $dom->appendChild($root);
+ echo $dom->saveXML();
+ exit();
+}
+// From admin, revoke the access to a folder from an
+// user
+if ($op=='folder_remove') // operation
+{
+
+ $cn=new Database();
+ $user_id=HtmlInput::default_value_get("p_user", 0); // get variable
+ $dossier_id=HtmlInput::default_value_get("p_dossier", 0); // get variable
+ if ($user_id==0||$dossier_id==0||isNumber($user_id)==0||$dossier_id==0)
+ {
+ $content=_('Erreur paramètre');
+ $status="NOK";
+ }
+ else
+ {
+ $user=new User($cn, $user_id);
+ $user->set_folder_access($dossier_id, false);
+ $content="";
+ $status='OK';
+ }
+ //----------------------------------------------------------------
+ // Answer in XML
+ header('Content-type: text/xml; charset=UTF-8');
+ $dom=new DOMDocument('1.0', 'UTF-8');
+ $xml_content=$dom->createElement('content', $content);
+ $xml_status=$dom->createElement('status', $status);
+ $root=$dom->createElement("root");
+ $root->appendChild($xml_content);
+ $root->appendChild($xml_status);
+ $dom->appendChild($root);
+ echo $dom->saveXML();
+ exit();
+}
+/**
+ * Display the forbidden folders if the request comes from a form
+ * with an input text (id:database_filter_input) then this text is
+ * used as a filter
+ *
+ */
+if ($op=='folder_display') // operation
+{
+
+ $cn=new Database();
+ $user_id=HtmlInput::default_value_get("p_user", 0); // get variable
+ $p_filter=HtmlInput::default_value_get('p_filter', '');
+
+ if ($user_id==0||isNumber($user_id)==0)
+ {
+ $content=_('Erreur paramètre');
+ $status="NOK";
+ }
+ else
+ {
+ ob_start();
+ $user=new User($cn, $user_id);
+ $a_dossier=Dossier::show_dossier('X', $user->id, $p_filter, MAX_FOLDER_TO_SHOW);
+ echo HtmlInput::title_box(_("Liste dossier"), 'folder_list_div');
+ ?>
+
+
+ =MAX_FOLDER_TO_SHOW)?MAX_FOLDER_TO_SHOW:$nb_dossier;
+ echo _('Dossiers trouvés').':'.$nb_dossier." "._('Dossiers affichés').$max;
+ ?>
+
+ createElement('content', $xml);
+ $xml_status=$dom->createElement('status', $status);
+ $root=$dom->createElement("root");
+ $root->appendChild($xml_content);
+ $root->appendChild($xml_status);
+ $dom->appendChild($root);
+ echo $dom->saveXML();
+ exit();
+}
+?>
\ No newline at end of file