diff --git a/cms/includes/ajaxprocess.inc.php b/cms/includes/ajaxprocess.inc.php
index 98020c8..9eaf3b8 100644
--- a/cms/includes/ajaxprocess.inc.php
+++ b/cms/includes/ajaxprocess.inc.php
@@ -40,6 +40,41 @@ if(isset($_SESSION[$settings['session_prefix'].'user_id']))
if(isset($cache) && $cache->autoClear) $cache->clear();
}
break;
+ case 'get':
+ if(isset($_REQUEST['page']))
+ {
+ $table = Database::$db_settings['pages_table'];
+ $list = 'page';
+ }
+ elseif(isset($_REQUEST['category']))
+ {
+ $table = Database::$db_settings['pages_table'];
+ $list = 'category';
+ }
+ elseif(isset($_REQUEST['sections']))
+ {
+ $table = Database::$db_settings['menu_table'];
+ $list = 'section';
+ }
+ $term = addCslashes($_REQUEST['term'],'\%_');
+
+ if(isset($list) && isset($table))
+ {
+ $dbr = Database::$content->query('SELECT distinct '.$list.' FROM '.$table.' WHERE '.$list.' LIKE "%' .$term.'%"');
+ $i=0;
+ while($row=$dbr->fetch()){
+ if (!$row[$list]=="") $res[] = array("id"=>$i, "label"=>$row[$list], "value"=>$row[$list]);
+ $i++;
+ }
+
+ $res_list = json_encode($res);
+ echo $res_list;
+
+
+ if(isset($cache) && $cache->autoClear) $cache->clear();
+ }
+
+ break;
}
}
}
diff --git a/cms/templates/admin/main.tpl b/cms/templates/admin/main.tpl
index 7d8085f..43c293c 100644
--- a/cms/templates/admin/main.tpl
+++ b/cms/templates/admin/main.tpl
@@ -8,6 +8,7 @@
+
diff --git a/static/js/admin_backend.js b/static/js/admin_backend.js
index d46eb1d..52ee72b 100644
--- a/static/js/admin_backend.js
+++ b/static/js/admin_backend.js
@@ -55,5 +55,57 @@ $('.modal').on('show.bs.modal', function (e) {
$insertField = $(e.relatedTarget).data('insert');
});
+//Ajax autocompleate
+function split( val ) {
+ return val.split( /,\s*/ );
+}
+function extractLast( term ) {
+ return split( term ).pop();
+}
+
+ jQuery( 'input[name="page"],input[name="category"],input[name="link"]' ).autocomplete({
+ source: function( request, response ) {
+ var $list = this.element.attr("name");
+ if($list=='link') $list="page";
+ jQuery.getJSON( "./index.php?mode=ajaxprocess&action=get&"+$list+"=1", {
+ term: request.term
+ }, response );
+ }
+ });
+
+ jQuery( 'input[name="sections"]' ).autocomplete({
+ source: function( request, response ) {
+ var $list = this.element.attr("name");
+ jQuery.getJSON( "./index.php?mode=ajaxprocess&action=get&"+$list+"=1", {
+ term: extractLast( request.term )
+ }, response );
+ },
+ search: function() {
+ // custom minLength
+ var term = extractLast( this.value );
+ if ( term.length < 2 ) {
+ return false;
+ }
+ //console.log(term);
+ },
+ focus: function() {
+ // prevent value inserted on focus
+ return false;
+ },
+ select: function( event, ui ) {
+ var terms = split( this.value );
+ // remove the current input
+ terms.pop();
+ // add the selected item
+ terms.push( ui.item.value );
+ // add placeholder to get the comma-and-space at the end
+ terms.push( "" );
+ this.value = terms.join( ", " );
+ return false;
+ },
+ create: function(){
+
+ }
+ });
});