diff --git a/files/sys/system.js b/files/sys/system.js index 1cbd474..eb92be7 100644 --- a/files/sys/system.js +++ b/files/sys/system.js @@ -200,7 +200,7 @@ SYSTEM.prototype.go_state = function(default_state,forced){ SYSTEM.prototype.back = function(){ window.history.back();}; -SYSTEM.prototype.forwad = function(){ +SYSTEM.prototype.forward = function(){ window.history.forward();}; SYSTEM.prototype.reload = function(href){ if('#!'+this.cur_state() === href){ diff --git a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT.php b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT.php index a356bcb..64d6038 100644 --- a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT.php +++ b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT.php @@ -3,11 +3,14 @@ namespace SYSTEM\DBD; class SYS_SAIMOD_TODO_COUNT extends \SYSTEM\DB\QP { public static function get_class(){return \get_class();} public static function mysql(){return -'SELECT COUNT(*) as count FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.' as todo'. +'SELECT COUNT(*) as count FROM('. +'SELECT todo.id FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.' as todo'. ' LEFT JOIN '.\SYSTEM\DBD\system_todo_assign::NAME_MYS.' as assign ON todo.'.\SYSTEM\DBD\system_todo::FIELD_ID.'=assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_TODO. ' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as creator ON todo.'.\SYSTEM\DBD\system_todo::FIELD_USER.'=creator.'.\SYSTEM\DBD\system_user::FIELD_ID. ' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as assignee ON assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_USER.'=assignee.'.\SYSTEM\DBD\system_user::FIELD_ID. ' WHERE '.\SYSTEM\DBD\system_todo::FIELD_STATE.'=?'. -' AND (todo.'.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.' LIKE ? OR creator.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ? OR assignee.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ?);'; +' AND (todo.'.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.' LIKE ? OR creator.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ? OR assignee.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ?)'. +' GROUP BY todo.id'. +') as a;'; } } \ No newline at end of file diff --git a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_FREE.php b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_FREE.php index d9899e6..84793c2 100644 --- a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_FREE.php +++ b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_FREE.php @@ -3,13 +3,15 @@ namespace SYSTEM\DBD; class SYS_SAIMOD_TODO_COUNT_FREE extends \SYSTEM\DB\QP { public static function get_class(){return \get_class();} public static function mysql(){return -'SELECT COUNT(*) as count'. -' FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.' as todo'. +'SELECT COUNT(*) as count FROM('. +'SELECT todo.id FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.' as todo'. ' LEFT JOIN '.\SYSTEM\DBD\system_todo_assign::NAME_MYS.' as assign ON todo.'.\SYSTEM\DBD\system_todo::FIELD_ID.'=assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_TODO. ' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as creator ON todo.'.\SYSTEM\DBD\system_todo::FIELD_USER.'=creator.'.\SYSTEM\DBD\system_user::FIELD_ID. ' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as assignee ON assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_USER.'=assignee.'.\SYSTEM\DBD\system_user::FIELD_ID. ' WHERE '.\SYSTEM\DBD\system_todo::FIELD_STATE.'=?'. ' AND assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_USER.' IS NULL'. -' AND (todo.'.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.' LIKE ? OR creator.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ? OR assignee.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ?);'; +' AND (todo.'.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.' LIKE ? OR creator.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ? OR assignee.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ?)'. +' GROUP BY todo.id'. +') as a;'; } } \ No newline at end of file diff --git a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_MINE.php b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_MINE.php index 2876a44..05fdb46 100644 --- a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_MINE.php +++ b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_COUNT_MINE.php @@ -3,13 +3,15 @@ namespace SYSTEM\DBD; class SYS_SAIMOD_TODO_COUNT_MINE extends \SYSTEM\DB\QP { public static function get_class(){return \get_class();} public static function mysql(){return -'SELECT COUNT(*) as count'. -' FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.' as todo'. +'SELECT COUNT(*) as count FROM('. +'SELECT todo.id FROM '.\SYSTEM\DBD\system_todo::NAME_MYS.' as todo'. ' LEFT JOIN '.\SYSTEM\DBD\system_todo_assign::NAME_MYS.' as assign ON todo.'.\SYSTEM\DBD\system_todo::FIELD_ID.'=assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_TODO. ' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as creator ON todo.'.\SYSTEM\DBD\system_todo::FIELD_USER.'=creator.'.\SYSTEM\DBD\system_user::FIELD_ID. ' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.' as assignee ON assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_USER.'=assignee.'.\SYSTEM\DBD\system_user::FIELD_ID. ' WHERE '.\SYSTEM\DBD\system_todo::FIELD_STATE.'=?'. ' AND assign.'.\SYSTEM\DBD\system_todo_assign::FIELD_USER.' = ?'. -' AND (todo.'.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.' LIKE ? OR creator.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ? OR assignee.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ?);'; +' AND (todo.'.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.' LIKE ? OR creator.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ? OR assignee.'.\SYSTEM\DBD\system_user::FIELD_USERNAME.' LIKE ?)'. +' GROUP BY todo.id'. +') as a;'; } } \ No newline at end of file diff --git a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_EDIT.php b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_EDIT.php index 7490a8c..28258b2 100644 --- a/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_EDIT.php +++ b/sai/modules/saimod_sys_todo/qq/SYS_SAIMOD_TODO_EDIT.php @@ -6,7 +6,7 @@ class SYS_SAIMOD_TODO_EDIT extends \SYSTEM\DB\QP { 'UPDATE '.\SYSTEM\DBD\system_todo::NAME_PG.' SET '.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.'= $1'. ' WHERE "'.\SYSTEM\DBD\system_todo::FIELD_ID.'"= $2;'; } - public static function pqsql(){return + public static function mysql(){return 'UPDATE '.\SYSTEM\DBD\system_todo::NAME_MYS.' SET '.\SYSTEM\DBD\system_todo::FIELD_MESSAGE.'= ?, ' .\SYSTEM\DBD\system_todo::FIELD_MESSAGE_HASH.'= SHA1(?)'. ' WHERE '.\SYSTEM\DBD\system_todo::FIELD_ID.'= ?;'; diff --git a/sai/modules/saimod_sys_todo/saimod_sys_todo.php b/sai/modules/saimod_sys_todo/saimod_sys_todo.php index 7562bd8..0f5b91e 100644 --- a/sai/modules/saimod_sys_todo/saimod_sys_todo.php +++ b/sai/modules/saimod_sys_todo/saimod_sys_todo.php @@ -157,7 +157,7 @@ class saimod_sys_todo extends \SYSTEM\SAI\SaiModule { $vars['userstats'] = ''; $userstats = \SYSTEM\DBD\SYS_SAIMOD_TODO_STATS_USERS::QQ(); while($stat = $userstats->next()){ - $stat['perc'] = round($stat['state_closed'] / ($stat['state_open']+$stat['state_closed']),2)*100; + $stat['perc'] = round(($stat['state_closed'] / ($stat['state_open']+$stat['state_closed']))*100,2); $vars['userstats'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_todo/tpl/todo_stats_users_entry.tpl'), $stat); } return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_todo/tpl/todo_stats.tpl'), $vars); diff --git a/sai/modules/saimod_sys_todo/tpl/saimod_sys_todo_todo.tpl b/sai/modules/saimod_sys_todo/tpl/saimod_sys_todo_todo.tpl index 0d4d774..3b59aaf 100644 --- a/sai/modules/saimod_sys_todo/tpl/saimod_sys_todo_todo.tpl +++ b/sai/modules/saimod_sys_todo/tpl/saimod_sys_todo_todo.tpl @@ -21,7 +21,7 @@