Merge branch 'master' of mojotrollz.eu:system into autoload

Conflicts:
	autoload.inc.php
	dbd/autoload.inc.php
	docu/autoload.inc.php
	files/autoload.inc.php
	log/autoload.inc.php
This commit is contained in:
Ulf Gebhardt 2014-07-30 02:25:19 +02:00
commit c61ed753e0
25 changed files with 278 additions and 192 deletions

View File

@ -14,6 +14,10 @@ class api_system extends api_login{
public static function call_pagestates($group){ public static function call_pagestates($group){
return \SYSTEM\PAGE\State::get($group);} return \SYSTEM\PAGE\State::get($group);}
public static function call_pagestates_flag_js($group){
return \SYSTEM\PAGE\State::get_js($group);}
public static function call_pagestates_flag_css($group){
return \SYSTEM\PAGE\State::get_css($group);}
public static function static__lang($lang){ public static function static__lang($lang){
\SYSTEM\locale::set($lang);} \SYSTEM\locale::set($lang);}

View File

@ -0,0 +1,11 @@
<?php
namespace SYSTEM\DBD;
class SYS_SAIMOD_CRON_ADD extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'INSERT INTO '.\SYSTEM\DBD\system_cron::NAME_PG.' (class, min, hour, day, day_week, month) VALUES ($1, $2, $3, $4, $5, $6);',
//mys
'INSERT INTO '.\SYSTEM\DBD\system_cron::NAME_MYS.' (class, min, hour, day, day_week, month) VALUES (?, ?, ?, ?, ?, ?);'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace SYSTEM\DBD;
class SYS_SAIMOD_CRON_DEL extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'DELETE FROM '.\SYSTEM\DBD\system_cron::NAME_PG.' WHERE class = $1;',
//mys
'DELETE FROM '.\SYSTEM\DBD\system_cron::NAME_MYS.' WHERE class = ?;'
);}}

View File

@ -0,0 +1,11 @@
<?php
namespace SYSTEM\DBD;
class SYS_SAIMOD_CRON_SINGLE_SELECT extends \SYSTEM\DB\QP {
protected static function query(){
return new \SYSTEM\DB\QQuery(get_class(),
//pg
'SELECT * FROM '.\SYSTEM\DBD\system_cron::NAME_PG.' WHERE class = $1;',
//mys
'SELECT * FROM '.\SYSTEM\DBD\system_cron::NAME_MYS.' WHERE class = ?;'
);}}

View File

@ -21,4 +21,6 @@ INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('b
INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('basic_placeholder_password', 1, 'my secret123', 'geheim567'); INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('basic_placeholder_password', 1, 'my secret123', 'geheim567');
INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('basic_placeholder_email', 1, 'peter@world.org', 'peter@world.org'); INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('basic_placeholder_email', 1, 'peter@world.org', 'peter@world.org');
INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('basic_state_login', 1, 'You are logged in.', 'You are logged in.'); INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('basic_state_login', 1, 'You are logged in.', 'You are logged in.');
INSERT INTO `system_locale_string` (`id`, `category`, `enUS`, `deDE`) VALUES ('basic_example', 1, '<h1><img style="float: right;" title="TinyMCE Logo" src="http://www.tinymce.com/tryit/img/tlogo.png" alt="TinyMCE Logo" width="92" height="80" />Welcome to the TinyMCE editor demo!</h1>\n<p>Feel free to try out the different features that are provided, please note that the <strong>MoxieManager</strong> specific functionality is part of our commercial offering. The demo is to show the integration.</p>\n<h2>Got questions or need help?</h2>\n<p>If you have questions or need help, feel free to visit our <a href="forum/index.php">community forum</a>! We also offer Enterprise <a href="enterprise/support.php">support</a> solutions. Also do not miss out on the <a href="wiki.php">documentation</a>, its a great resource wiki for understanding how TinyMCE works and integrates.</p>\n<h2>Found a bug?</h2>\n<p>If you think you have found a bug, you can use the <a href="develop/bugtracker.php">Bug Tracker</a> to report bugs to the developers.</p>\n<p>And here is a simple table for you to play with.</p>\n<table border="0">\n<tbody>\n<tr>\n<td><strong>Product</strong></td>\n<td><strong>Cost</strong></td>\n<td><strong>Really?</strong></td>\n</tr>\n<tr>\n<td>TinyMCE</td>\n<td>Free</td>\n<td>YES!</td>\n</tr>\n<tr>\n<td>Plupload</td>\n<td>Free</td>\n<td>YES!</td>\n</tr>\n</tbody>\n</table>\n<p>Enjoy our software and create great content!</p>\n<p>Oh, and by the way, don\'t forget to check out our other product called <a href="http://www.plupload.com" target="_blank">Plupload</a>, your ultimate upload solution with HTML5 upload support!</p>', '<h1><img style="float: right;" title="TinyMCE Logo" src="http://www.tinymce.com/tryit/img/tlogo.png" alt="TinyMCE Logo" width="92" height="80" />Welcome to the TinyMCE editor demo!</h1>\n<p>Feel free to try out the different features that are provided, please note that the <strong>MoxieManager</strong> specific functionality is part of our commercial offering. The demo is to show the integration.</p>\n<h2>Got questions or need help?</h2>\n<p>If you have questions or need help, feel free to visit our <a href="forum/index.php">community forum</a>! We also offer Enterprise <a href="enterprise/support.php">support</a> solutions. Also do not miss out on the <a href="wiki.php">documentation</a>, its a great resource wiki for understanding how TinyMCE works and integrates.</p>\n<h2>Found a bug?</h2>\n<p>If you think you have found a bug, you can use the <a href="develop/bugtracker.php">Bug Tracker</a> to report bugs to the developers.</p>\n<p>And here is a simple table for you to play with.</p>\n<table border="0">\n<tbody>\n<tr>\n<td><strong>Product</strong></td>\n<td><strong>Cost</strong></td>\n<td><strong>Really?</strong></td>\n</tr>\n<tr>\n<td>TinyMCE</td>\n<td>Free</td>\n<td>YES!</td>\n</tr>\n<tr>\n<td>Plupload</td>\n<td>Free</td>\n<td>YES!</td>\n</tr>\n</tbody>\n</table>\n<p>Enjoy our software and create great content!</p>\n<p>Oh, and by the way, don\'t forget to check out our other product called <a href="http://www.plupload.com" target="_blank">Plupload</a>, your ultimate upload solution with HTML5 upload support!</p>');

View File

@ -22,6 +22,10 @@ INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `nam
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (40, 42, 2, 10, 'text', 'request', 'STRING'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (40, 42, 2, 10, 'text', 'request', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (41, 42, 2, 40, 'text', 'lang', 'LANG'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (41, 42, 2, 40, 'text', 'lang', 'LANG');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (50, 42, 2, 10, 'pagestates', 'group', 'UINT'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (50, 42, 2, 10, 'pagestates', 'group', 'UINT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (51, 42, 1, 50, NULL, 'js', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (52, 42, 2, 51, NULL, 'group', 'UINT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (55, 42, 1, 50, NULL, 'css', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (56, 42, 2, 55, NULL, 'group', 'UINT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (90, 42, 4, -1, NULL, '_lang', 'LANG'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (90, 42, 4, -1, NULL, '_lang', 'LANG');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (91, 42, 4, -1, NULL, '_result', 'RESULT'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (91, 42, 4, -1, NULL, '_result', 'RESULT');
@ -124,4 +128,14 @@ INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `nam
-- INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1000, 42, 0, 0, '_SYSTEM_SAI_saimod_sys_todo', 'action', NULL); -- INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1000, 42, 0, 0, '_SYSTEM_SAI_saimod_sys_todo', 'action', NULL);
-- INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1100, 42, 0, 0, '_SYSTEM_SAI_saimod_sys_docu', 'action', NULL); -- INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1100, 42, 0, 0, '_SYSTEM_SAI_saimod_sys_docu', 'action', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1200, 42, 0, 0, '_SYSTEM_SAI_saimod_sys_cron', 'action', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1201, 42, 2, 1200, 'add', 'cls', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1202, 42, 2, 1200, 'add', 'min', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1203, 42, 2, 1200, 'add', 'hour', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1204, 42, 2, 1200, 'add', 'day', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1205, 42, 2, 1200, 'add', 'day_week', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1206, 42, 2, 1200, 'add', 'month', 'INT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1208, 42, 2, 1200, 'del', 'cls', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1209, 42, 2, 1200, 'deldialog', 'cls', 'STRING');

View File

@ -19,6 +19,10 @@ INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `nam
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (41, 0, 2, 10, 'text', 'lang', 'LANG'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (41, 0, 2, 10, 'text', 'lang', 'LANG');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (50, 0, 2, 10, 'pagestates', 'group', 'UINT'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (50, 0, 2, 10, 'pagestates', 'group', 'UINT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (51, 0, 1, 50, NULL, 'js', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (52, 0, 2, 50, NULL, 'group', 'UINT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (55, 0, 1, 50, NULL, 'css', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (56, 0, 2, 55, NULL, 'group', 'UINT');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (90, 42, 4, -1, NULL, '_lang', 'LANG'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (90, 42, 4, -1, NULL, '_lang', 'LANG');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (91, 42, 4, -1, NULL, '_result', 'RESULT'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (91, 42, 4, -1, NULL, '_result', 'RESULT');

View File

@ -8,4 +8,6 @@ INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (10, 'SYS_SAI_L
INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (15, 'SYS_SAI_IMG', 'Allows access to the Image Module in SAI to delete or add Pictures'); INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (15, 'SYS_SAI_IMG', 'Allows access to the Image Module in SAI to delete or add Pictures');
INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (20, 'SYS_SAI_API', 'SAI API Access right'); INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (20, 'SYS_SAI_API', 'SAI API Access right');
INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (21, 'SYS_SAI_API_EDIT', 'SAI API Edit right'); INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (21, 'SYS_SAI_API_EDIT', 'SAI API Edit right');
INSERT INTO `system_rights` (`ID`, `name`, `description`) VALUES (25, 'SYS_SAI_CRON', 'SAI Cron Access right');

View File

@ -1,2 +1,3 @@
<?php <?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SYSTEM\FILES'); \SYSTEM\autoload::registerFolder(dirname(__FILE__),'SYSTEM\FILES');
require_once dirname(__FILE__).'/register_sys_files.php';

View File

@ -0,0 +1,2 @@
<?php
\SYSTEM\FILES\files::registerFolder(dirname(__FILE__).'/sys_js/','sys_js');

74
files/sys_js/system.js Normal file
View File

@ -0,0 +1,74 @@
//mother object
function SYSTEM(endpoint, group){
this.endpoint = endpoint;
this.group = group;
this.pagestates = null;
}
//internal function to handle pagestate result
SYSTEM.prototype.handle_call_pagestates = function (data) {
if(data['status']){
newps = data['result'];
console.log('SYSTEM: loaded Pagestates');
result = true;
} else {
console.log('SYSTEM: Problem with your Pagestates.');
result = false;}
}
//send a call to the endpoint
SYSTEM.prototype.call = function(call,success,data,data_type,async){
$.ajax({
async: async,
data: data,
dataType: data_type,
url: this.endpoint+'?'+call,
success: success,
error: function(XMLHttpRequest, textStatus, errorThrown){console.log(call);}
});
}
//get the pagestates and save em
SYSTEM.prototype.load_pagestates = function(){
result = false;
newps = this.pagestates;
if(!this.pagestates){
this.call('call=pagestates&group='+this.group,this.handle_call_pagestates,{},"json",false);
} else { result = true;}
this.pagestates = newps;
return result;
};
//load a pagestatewith given id
SYSTEM.prototype.load = function(id){
console.log('Load Pagestate: '+id);
if(!this.load_pagestates()){
return false;}
var push = true;
this.pagestates.forEach(function(entry) {
if(entry['id'] === id){
if(push){
window.history.pushState(null, "", '#'+id);
push = false;}
$.ajax({
async: false,
data: {},
dataType: 'html',
url: entry['url'],
success: function(data){$(entry['div']).html(data); var fn = window[entry['func']]; if(typeof fn === 'function'){fn()};},
error: function(XMLHttpRequest, textStatus, errorThrown){console.log(errorThrown);}
});
//$(entry['div']).load(entry['url'],fn);
}
});
return push ? false : true;
};
//what?
SYSTEM.prototype.cur_state = function() {
var pathName = window.location.href;
if (pathName.indexOf('#') != -1) {
return pathName.split('#').pop();}
return '';
}
SYSTEM.prototype.go_state = function(default_state){
pageName = this.cur_state();
this.load(pageName ? pageName : default_state);
}

View File

@ -1,5 +1,5 @@
<?php <?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'','SYSTEM\LOG'); \SYSTEM\autoload::registerFolder(dirname(__FILE__),'SYSTEM\LOG');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/result','SYSTEM\LOG'); \SYSTEM\autoload::registerFolder(dirname(__FILE__).'/result','SYSTEM\LOG');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/exceptions','SYSTEM\LOG'); \SYSTEM\autoload::registerFolder(dirname(__FILE__).'/exceptions','SYSTEM\LOG');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/error_handler','SYSTEM\LOG'); \SYSTEM\autoload::registerFolder(dirname(__FILE__).'/error_handler','SYSTEM\LOG');

View File

@ -4,4 +4,6 @@ namespace SYSTEM\PAGE;
abstract class Page { abstract class Page {
abstract public function html(); abstract public function html();
//abstract public function js();
//abstract public function css();
} }

View File

@ -4,4 +4,10 @@ namespace SYSTEM\PAGE;
class State { class State {
public static function get($group){ public static function get($group){
return \SYSTEM\LOG\JsonResult::toString(\SYSTEM\DBD\SYS_PAGESTATES_GROUP::QA(array($group)));} return \SYSTEM\LOG\JsonResult::toString(\SYSTEM\DBD\SYS_PAGESTATES_GROUP::QA(array($group)));}
public static function get_js($group){
}
public static function get_css($group){
}
} }

View File

@ -1,26 +1,24 @@
<div id="api_deletedialog"> <div id="cron_deletedialog">
<h5>Api Call: ${ID}</h5> <h5>Cron Job: ${class}</h5>
<hr> <hr>
<table class="table sai_table"> <table class="table sai_table">
<tr> <tr>
<th>ID</th> <th>class</th>
<th>Group</th> <th>min</th>
<th>Type</th> <th>hour</th>
<th>ParentID</th> <th>day</th>
<th>ParentValue</th> <th>day_week</th>
<th>Name</th> <th>month</th>
<th>Verify</th>
</tr> </tr>
<tr> <tr>
<td>${ID}</td> <td>${class}</td>
<td>${group}</td> <td>${min}</td>
<td>${type}</td> <td>${hour}</td>
<td>${parentID}</td> <td>${day}</td>
<td>${parentValue}</td> <td>${day_week}</td>
<td>${name}</td> <td>${month}</td>
<td>${verify}</td>
</tr> </tr>
</table> </table>
</div> </div>
<button type="button" class="btn btn-small btn-danger" id="del_api_del">Delete</button> <button type="button" class="btn btn-small btn-danger" cls="${class}" id="del_cron_del">Delete</button>
<button type="button" class="btn btn-small" id="del_api_close">Close</button> <button type="button" class="btn btn-small" id="del_cron_close">Close</button>

View File

@ -1,4 +1,4 @@
<tr class="${tr_class} cron_entries"> <tr class="${tr_class} cron_entries" cls="${class}">
<td>${class}</td> <td>${class}</td>
<td>${min}</td> <td>${min}</td>
<td>${hour}</td> <td>${hour}</td>

View File

@ -1,98 +1,63 @@
var currentID = ''; function init__SYSTEM_SAI_saimod_sys_cron() {
saimod_sys_cron_register_clickevents();}
function init__SYSTEM_SAI_saimod_sys_api() {
saimod_sys_api_tree();
saimod_sys_api_register_clickevents();
}
function saimod_sys_api_loadcontent(){ function saimod_sys_cron_register_clickevents(){
$('#api_wrapper').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_api', function(){ $('tr.cron_entries').click(function() {
console.log('api module loaded');
saimod_sys_api_register_clickevents();
});
}
function saimod_sys_api_register_clickevents(){
$('tr.api_entries').click(function() {
console.log("ahsf"); console.log("ahsf");
currentID = $(this).attr("id");
$.ajax({ $.ajax({
url: SAI_ENDPOINT, url: SAI_ENDPOINT,
data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', data: { sai_mod: '.SYSTEM.SAI.saimod_sys_cron',
action: 'deletedialog', action: 'deldialog',
ID: currentID}, cls: $(this).attr("cls")},
type: 'GET', type: 'GET',
success: function(data) { success: function(data) {
console.log("works"); console.log("works");
$('#api_content').html(data); $('#cron_content').html(data);
$('#del_api_close').click(function() { $('#del_cron_close').click(function() {
console.log("olenski"); console.log("olenski");
$('#del_api_description').hide(); $('#del_api_description').hide();
$('#del_api_del').show(); $('#del_api_del').show();
saimod_sys_api_loadcontent();
}); });
$('#del_api_del').click(function() { $('#del_cron_del').click(function() {
$.ajax({ $.ajax({
url: SAI_ENDPOINT, url: SAI_ENDPOINT,
data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', data: { sai_mod: '.SYSTEM.SAI.saimod_sys_cron',
action: 'deletecall', action: 'del',
ID: currentID}, cls: $(this).attr("cls")},
type: 'GET', type: 'GET',
success: function(data) { success: function(data) {
console.log("api call deleted"); console.log("cron call deleted");
$('#api_deletedialog').html('<p>Api call deleted!</p>'); $('#cron_deletedialog').html('<p>Api call deleted!</p>');
$('#del_api_del').hide(); $('#del_cron_del').hide();
}});});}});}); }});});}});});
$('#addcall').click(function() { $('#addcron').click(function() {
var id = $('#new_call_id').val(); var cls = $('#new_cron_class').val();
var group = $('#new_call_group').val(); var min = $('#new_cron_min').val();
var type = $('#new_call_type').val(); var hour = $('#new_cron_hour').val();
var parentid = $('#new_call_parentid').val(); var day = $('#new_cron_day').val();
var parentvalue = $('#new_call_parentvalue').val(); var day_week = $('#new_cron_day_week').val();
var name = $('#new_call_name').val(); var month = $('#new_cron_month').val();
var verify = $('#new_call_verify').val();
$.ajax({ $.ajax({
url: SAI_ENDPOINT, url: SAI_ENDPOINT,
data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', data: { sai_mod: '.SYSTEM.SAI.saimod_sys_cron',
action: 'addcall', action: 'add',
ID: id, cls: cls,
group: group, min: min,
type: type, hour: hour,
parentID: parentid, day: day,
parentValue : parentvalue, day_week: day_week,
name: name, month: month},
verify: verify},
type: 'GET', type: 'GET',
success: function(data) { success: function(data) {
console.log("new api call added"); console.log("new cronjob added");
saimod_sys_api_loadcontent();
} }
}); });
}); });
$('#del_api_close').click(function() { $('#del_cron_close').click(function() {
console.log("olenski"); console.log("olenski");
$('#del_api_description').hide(); $('#del_cron_description').hide();
$('#del_api_del').show(); $('#del_cron_del').show();
saimod_sys_api_loadcontent();
});
$('#localetab a').click(function (e) {e.preventDefault(); $(this).tab('show');});
}
function saimod_sys_api_tree(){
$('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
$('.tree li.parent_li > span').on('click', function (e) {
var children = $(this).parent('li.parent_li').find(' > ul > li');
if (children.is(":visible")) {
children.hide('fast');
$(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
} else {
children.show('fast');
$(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
}
e.stopPropagation();
}); });
} }

View File

@ -4,48 +4,33 @@ namespace SYSTEM\SAI;
class saimod_sys_cron extends \SYSTEM\SAI\SaiModule { class saimod_sys_cron extends \SYSTEM\SAI\SaiModule {
public static function sai_mod__SYSTEM_SAI_saimod_sys_cron(){ public static function sai_mod__SYSTEM_SAI_saimod_sys_cron(){
$vars = array(); $vars = array();
$vars['tabopts'] = \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tabopt.tpl'), array());
$vars['content'] = ''; $vars['content'] = '';
$res = \SYSTEM\DBD\SYS_SAIMOD_CRON::QQ(); $res = \SYSTEM\DBD\SYS_SAIMOD_CRON::QQ();
while($r = $res->next()){ while($r = $res->next()){
$vars['content'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/list_entry.tpl'), $r);} $vars['content'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/list_entry.tpl'), $r);}
$vars['tabs'] = \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tab.tpl'), $vars);
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tabs.tpl'), $vars); return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/tabs.tpl'), $vars);
} }
public static function sai_mod__system_sai_saimod_sys_api_action_deletedialog($ID){ public static function sai_mod__system_sai_saimod_sys_cron_action_deldialog($cls){
$res = \SYSTEM\DBD\SYS_SAIMOD_API_SINGLE_SELECT::Q1(array($ID)); $res = \SYSTEM\DBD\SYS_SAIMOD_CRON_SINGLE_SELECT::Q1(array($cls));
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/delete_dialog.tpl'), $res); return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_cron/delete_dialog.tpl'), $res);}
}
public static function sai_mod__system_sai_saimod_sys_api_action_addcall($ID,$group,$type,$parentID,$parentValue,$name,$verify){ public static function sai_mod__system_sai_saimod_sys_cron_action_add($cls,$min,$hour,$day,$day_week,$month){
if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_API)){ if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_CRON)){
throw new \SYSTEM\LOG\ERROR("You dont have edit Rights - Cant proceeed");} throw new \SYSTEM\LOG\ERROR("You dont have edit Rights - Cant proceeed");}
\SYSTEM\DBD\SYS_SAIMOD_API_ADD::QI(array($ID,$group,$type,$parentID,$parentValue,$name,$verify)); \SYSTEM\DBD\SYS_SAIMOD_CRON_ADD::QI(array($cls,$min,$hour,$day,$day_week,$month));
return \SYSTEM\LOG\JsonResult::ok(); return \SYSTEM\LOG\JsonResult::ok();
} }
public static function sai_mod__system_sai_saimod_sys_api_action_deletecall($ID){ public static function sai_mod__system_sai_saimod_sys_cron_action_del($cls){
if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_API)){ if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_CRON)){
throw new \SYSTEM\LOG\ERROR("You dont have edit Rights - Cant proceeed");} throw new \SYSTEM\LOG\ERROR("You dont have edit Rights - Cant proceeed");}
\SYSTEM\DBD\SYS_SAIMOD_API_DEL::QI(array($ID)); \SYSTEM\DBD\SYS_SAIMOD_CRON_DEL::QI(array($cls));
return \SYSTEM\LOG\JsonResult::ok(); return \SYSTEM\LOG\JsonResult::ok();}
}
private static function tablerow_class($flag){
switch($flag){
case 0: return 'info';
case 1: return '';
case 4: return 'warning';
default: return 'success';
}
}
public static function html_li_menu(){return '<li><a href="#" saimenu=".SYSTEM.SAI.saimod_sys_cron">Cron</a></li>';} public static function html_li_menu(){return '<li><a href="#" saimenu=".SYSTEM.SAI.saimod_sys_cron">Cron</a></li>';}
public static function right_public(){return false;} public static function right_public(){return false;}
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);} public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_CRON);}
public static function sai_mod__SYSTEM_SAI_saimod_sys_cron_flag_css(){ public static function sai_mod__SYSTEM_SAI_saimod_sys_cron_flag_css(){
return \SYSTEM\LOG\JsonResult::toString( return \SYSTEM\LOG\JsonResult::toString(

View File

@ -1,15 +0,0 @@
<div class="tab-pane active" id="tab_cron">
<table class="table table-hover table-condensed" style="overflow: auto;">
<tr>
<th>class</th>
<th>min</th>
<th>hour</th>
<th>day</th>
<th>day_week</th>
<th>month</th>
<th>last_run</th>
<th>status</th>
</tr>
${content}
</table>
</div>

View File

@ -1 +0,0 @@
<li class="active"><a href="#tab_cron">Cron</a></li>

View File

@ -1,38 +1,29 @@
<div id="cron_wrapper"> <div id="cron_wrapper">
<h4>System Cron</h4> <h4>System Cron</h4>
<hr> <hr>
<div id="cron_content"> <div id="cron_content">
<div class="tabbable"> <table class="table table-hover table-condensed" style="overflow: auto;">
<ul class="nav nav-tabs" id="crontab"> <tr>
${tabopts} <th>class</th>
</ul> <th>min</th>
<div class="tab-content"> <th>hour</th>
${tabs} <th>day</th>
<th>day_week</th>
<th>month</th>
<th>last_run</th>
<th>status</th>
</tr>
${content}
<tr>
<td><input type="text" id="new_cron_class" placeholder="class" style="width: 140px;"></td>
<td><input type="text" id="new_cron_min" placeholder="min" style="width: 140px;"></td>
<td><input type="text" id="new_cron_hour" placeholder="hour" style="width: 140px;"></td>
<td><input type="text" id="new_cron_day" placeholder="day" style="width: 140px;"></td>
<td><input type="text" id="new_cron_day_week" placeholder="day_week" style="width: 140px;"></td>
<td><input type="text" id="new_cron_month" placeholder="month" style="width: 140px;"></td>
<td></td>
<td><button type="button" class="btn-small btn-success" id="addcron">Add</button></td>
</tr>
</table>
</div> </div>
</div> </div>
<table class="table table-hover table-condensed" style="overflow: auto;">
<tr>
<th>class</th>
<th>min</th>
<th>hour</th>
<th>day</th>
<th>day_week</th>
<th>month</th>
<th>last_run</th>
<th>status</th>
</tr>
<tr>
<td><input type="text" id="new_cron_class" placeholder="class" style="width: 140px;"></td>
<td><input type="text" id="new_cron_min" placeholder="min" style="width: 140px;"></td>
<td><input type="text" id="new_cron_hour" placeholder="hour" style="width: 140px;"></td>
<td><input type="text" id="new_cron_day" placeholder="day" style="width: 140px;"></td>
<td><input type="text" id="new_cron_day" placeholder="day_week" style="width: 140px;"></td>
<td><input type="text" id="new_cron_month" placeholder="month" style="width: 140px;"></td>
<td></td>
<td></td>
</tr>
</table>
<!--<button type="button" class="btn-small btn-success" id="addcron">Add</button>-->
</div><!-- /.modal -->
</div>

View File

@ -215,21 +215,21 @@ function init_tinymce(){
// Example content CSS (should be your site CSS) // Example content CSS (should be your site CSS)
content_css : "../../page/index.css"*/ content_css : "../../page/index.css"*/
// General options // General options
mode : "textareas", /* mode : "textareas",
//theme : "advanced", //theme : "advanced",
theme : "modern", theme : "modern",
plugins : "autolink,lists,pagebreak,layer,table,save,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,template,code", plugins : "autolink,lists,pagebreak,layer,table,save,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,template,code",*/
//xhtmlxtras,emotions,advimage,advlink,iespell,inlinepopups,advhr,style,spellchecker, //xhtmlxtras,emotions,advimage,advlink,iespell,inlinepopups,advhr,style,spellchecker,
// Theme options // Theme options
theme_modern_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect", /*theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
theme_modern_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_modern_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
theme_modern_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",
theme_modern_toolbar_location : "top", theme_advanced_toolbar_location : "top",
theme_modern_toolbar_align : "left", theme_advanced_toolbar_align : "left",
theme_modern_statusbar_location : "bottom", theme_advanced_statusbar_location : "bottom",
theme_modern_resizing : true, theme_advanced_resizing : true,*/
// Skin options // Skin options
//skin : "o2k7", //skin : "o2k7",
@ -242,7 +242,7 @@ function init_tinymce(){
//content_css : "../../page/index.css" //content_css : "../../page/index.css"
// Drop lists for link/image/media/template dialogs // Drop lists for link/image/media/template dialogs
template_external_list_url : "js/template_list.js", /*template_external_list_url : "js/template_list.js",
external_link_list_url : "js/link_list.js", external_link_list_url : "js/link_list.js",
external_image_list_url : "js/image_list.js", external_image_list_url : "js/image_list.js",
media_external_list_url : "js/media_list.js", media_external_list_url : "js/media_list.js",
@ -254,6 +254,22 @@ function init_tinymce(){
template_replace_values : { template_replace_values : {
username : "Some User", username : "Some User",
staffid : "991234" staffid : "991234"
} }*/
selector: "textarea",
theme: "modern",
plugins: [
"advlist autolink lists link image charmap print preview hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime media nonbreaking save table contextmenu directionality",
"emoticons template paste textcolor"
],
toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
toolbar2: "print preview media | forecolor backcolor emoticons",
image_advtab: true,
templates: [
{title: 'Test template 1', content: 'Test 1'},
{title: 'Test template 2', content: 'Test 2'}
]
}); });
} }

View File

@ -50,13 +50,11 @@ class saimod_sys_locale extends \SYSTEM\SAI\SaiModule {
$con = new \SYSTEM\DB\Connection(); $con = new \SYSTEM\DB\Connection();
$result = ""; $result = "";
$query = 'SELECT '.$lang.' FROM `'.\SYSTEM\DBD\system_locale_string::NAME_MYS.'` WHERE id=\''.$id.'\' ORDER BY category ASC;'; $query = 'SELECT '.$lang.' FROM `'.\SYSTEM\DBD\system_locale_string::NAME_MYS.'` WHERE id=\''.$id.'\' ORDER BY category ASC;';
new \SYSTEM\LOG\WARNING($query); $res = $con->query($query);
$res = $con->query($query); $entries = '';
$entries = ''; $temparr = array();
$temparr = array(); while($r = $res->next()){
while($r = $res->next()){ $entries .= $r[$lang];}
$entries .= $r[$lang];
}
return $entries; return $entries;
} }

View File

@ -15,7 +15,9 @@ class RIGHTS {
const SYS_SAI_FILES = 15; const SYS_SAI_FILES = 15;
//Api Module //Api Module
const SYS_SAI_API = 20; const SYS_SAI_API = 20;
const SYS_SAI_API_EDIT = 21; //const SYS_SAI_API_EDIT = 21;
const SYS_SAI_CRON = 25;
//Reserve first 1000 ids. //Reserve first 1000 ids.
const RESERVED_SYS_0_999 = 999; const RESERVED_SYS_0_999 = 999;

View File

@ -27,6 +27,9 @@ class HEADER {
public static function GIF(){ public static function GIF(){
if(self::checkHeader()){ if(self::checkHeader()){
header('content-type:image/gif;');}} header('content-type:image/gif;');}}
public static function JS(){
if(self::checkHeader()){
header('content-type:application/javascript;');}}
public static function FILE($filename){ public static function FILE($filename){
header("Content-type: application/octet-stream"); header("Content-type: application/octet-stream");