************************************************************************/
// Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) {
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
require($INC);
} elseif (!EXT_IS_ACTIVE("task")) {
- ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "task");
+ addFatalMessage(__FILE__, __LINE__, getMessage('EXTENSION_PROBLEM_EXT_INACTIVE'), "task");
return;
}
// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
+ADD_DESCR("admin", __FILE__);
$whereStatement = "";
-if (empty($_GET['type'])) $_GET['type'] = "your";
+if (!REQUEST_ISSET_GET(('type'))) REQUEST_SET_GET('type', "your");
-switch ($_GET['type'])
+switch (REQUEST_GET('type'))
{
case "your": // List only your own open (new) tasks
- $whereStatement = "assigned_admin='".GET_ADMIN_ID(get_session('admin_login'))."' AND status='NEW' AND task_type != 'EXTENSION_UPDATE'";
+ $whereStatement = "assigned_admin='".GET_CURRENT_ADMIN_ID()."' AND `status`='NEW' AND task_type != 'EXTENSION_UPDATE'";
break;
case "updates": // List only updates assigned to you
- $whereStatement = "assigned_admin='".GET_ADMIN_ID(get_session('admin_login'))."' AND status='NEW' AND task_type = 'EXTENSION_UPDATE'";
+ $whereStatement = "assigned_admin=".GET_CURRENT_ADMIN_ID()." AND `status`='NEW' AND task_type = 'EXTENSION_UPDATE'";
break;
case "solved": // List only solved tasks assigned to you
- $whereStatement = "assigned_admin='".GET_ADMIN_ID(get_session('admin_login'))."' AND status='SOLVED'";
+ $whereStatement = "assigned_admin=".GET_CURRENT_ADMIN_ID()." AND `status`='SOLVED'";
break;
case "unassigned": // List unassigned (but not deleted) tasks
break;
case "deleted": // List all deleted
- $whereStatement = "status='DELETED'";
+ $whereStatement = "`status`='DELETED'";
break;
case "closed": // List all closed
- $whereStatement = "assigned_admin='".GET_ADMIN_ID(get_session('admin_login'))."' AND status='CLOSED'";
+ $whereStatement = "assigned_admin=".GET_CURRENT_ADMIN_ID()." AND `status`='CLOSED'";
break;
default: // Unknown type
- LOAD_TEMPLATE("admin_settings_saved", false, TASK_ADMIN_UNKNOWN_MODE_1.$_GET['type'].TASK_ADMIN_UNKNOWN_MODE_2);
+ DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown task type %s detected.", REQUEST_GET('type')));
+ LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_TASK_UNKNOWN_MODE'), REQUEST_GET('type')));
break;
}
-if (!empty($whereStatement))
-{
+if (!empty($whereStatement)) {
$SEL = 0;
- if (isset($_POST['task'])) $SEL = SELECTION_COUNT($_POST['task']);
- if ((isset($_POST['assign'])) && ($SEL > 0))
- {
+ if (REQUEST_ISSET_POST(('task'))) $SEL = SELECTION_COUNT(REQUEST_POST('task'));
+
+ if ((REQUEST_ISSET_POST(('assign'))) && ($SEL > 0)) {
// Assign / do tasks
- require_once(PATH."inc/modules/admin/overview-inc.php");
+ LOAD_INC_ONCE("inc/modules/admin/overview-inc.php");
if (empty($dmy)) $dmy = "";
- OUTPUT_SELECTED_TASKS($_POST, $dmy);
- }
- else
- {
+ OUTPUT_SELECTED_TASKS(REQUEST_POST_ARRAY(), $dmy);
+ } else {
// Start listing tasks matching selected filter
$result_tasks = SQL_QUERY("SELECT id, assigned_admin, userid, task_type, subject, text, task_created
-FROM "._MYSQL_PREFIX."_task_system
+FROM `{!_MYSQL_PREFIX!}_task_system`
WHERE ".$whereStatement."
ORDER BY userid DESC, task_type DESC, subject, task_created DESC", __FILE__, __LINE__);
- if (($SEL > 0) && (!IS_DEMO()))
- {
+ if (($SEL > 0) && (!IS_DEMO())) {
// Only unassign / delete tasks when there are selected tasks posted
- if (isset($_POST['unassign']))
- {
+ if (REQUEST_ISSET_POST(('unassign'))) {
// Unassign from tasks
- foreach ($_POST['task'] as $id=>$sel)
- {
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET assigned_admin='0' WHERE id=%d AND assigned_admin='%s' LIMIT 1",
- array(bigintval($id), GET_ADMIN_ID(get_session('admin_login'))), __FILE__, __LINE__);
+ foreach (REQUEST_POST('task') as $id => $sel) {
+ SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_task_system` SET assigned_admin=0 WHERE id=%s AND assigned_admin=%s LIMIT 1",
+ array(bigintval($id), GET_CURRENT_ADMIN_ID()), __FILE__, __LINE__);
}
- }
- elseif (isset($_POST['del']))
- {
+ } elseif (REQUEST_ISSET_POST(('del'))) {
// Delete tasks
- foreach ($_POST['task'] as $id=>$sel)
- {
- if ($_GET['type'] == "deleted")
- {
+ foreach (REQUEST_POST('task') as $id => $sel) {
+ if (REQUEST_GET('type') == "deleted") {
// Delete task immediately
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_task_system WHERE id=%d LIMIT 1",
- array(bigintval($id)),__FILE__, __LINE__);
- }
- else
- {
+ SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_task_system` WHERE id=%s LIMIT 1",
+ array(bigintval($id)),__FILE__, __LINE__);
+ } else {
// Mark task as to be deleted (purged by autppurge extension)
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_task_system SET status='DELETED' WHERE id=%d LIMIT 1",
- array(bigintval($id)), __FILE__, __LINE__);
+ ADMIN_DELETE_TASK($id);
}
}
}
// Update query
- $result_tasks = SQL_QUERY("SELECT id, assigned_admin, userid, task_type, subject, text, task_created FROM "._MYSQL_PREFIX."_task_system WHERE ".$whereStatement." ORDER BY subject, task_created DESC", __FILE__, __LINE__);
+ $result_tasks = SQL_QUERY("SELECT id, assigned_admin, userid, task_type, subject, text, task_created FROM `{!_MYSQL_PREFIX!}_task_system` WHERE ".$whereStatement." ORDER BY subject, task_created DESC", __FILE__, __LINE__);
}
// There are uncompleted jobs!
- $eval = "\$type = ADMIN_OVERVIEW_TASK_".strtoupper($_GET['type'])."_TYPE;";
- eval($eval);
+ $type = constant('ADMIN_OVERVIEW_TASK_'.strtoupper(REQUEST_GET('type')).'_TYPE');
LOAD_TEMPLATE("admin_overview_header_task", false, array(
'message' => $type,
- 'type' => $_GET['type']
+ 'type' => REQUEST_GET('type')
));
$SW = 2;
- while (list($id, $admin, $uid, $type, $subj, $text, $created) = SQL_FETCHROW($result_tasks))
- {
+ while (list($id, $admin, $uid, $type, $subj, $text, $created) = SQL_FETCHROW($result_tasks)) {
+ // Init infos
$infos = "---";
- if ($admin == "0")
- {
- // No admin currently is assigned
- $admin = "<FONT class=\"admin_note\">".ADMIN_NO_ADMIN_ASSIGNED."</FONT>";
- }
- else
- {
- // Load admin's data
- $login = GET_ADMIN_LOGIN($admin);
- if ($login != "***")
- {
- // Admin found
- $admin = "<A href=\"".URL."/modules.php?module=admin&what=admins_contct&admin=".$admin."\">".$login."</A>";
- }
- else
- {
- // Maybe deleted?
- $admin = "<FONT class=\"admin_note\">".ADMIN_ID_404_1.$admin.ADMIN_ID_404_2."</FONT>";
- }
- }
- $evl = "\$type_out = ADMIN_TASK_IS_".strtoupper($type).";";
- eval($evl);
+
+ // Generate link
+ $admin = GENERATE_AID_LINK($admin);
+
+ // Get admin task
+ $type_out = constant('ADMIN_TASK_IS_'.strtoupper($type).'');
+
$type2 = substr($text, 0, strpos($text, ":"));
// Generate infos
switch ($type)
$infos = substr($subj, 1, strpos($subj, ":") - 1);
break;
}
- if ($uid > 0)
- {
+
+ // Member assigned with task?
+ if ($uid > 0) {
// Member found otherwise it's a system task
$uid = ADMIN_USER_PROFILE_LINK($uid);
+ } else {
+ // Is a system task!
+ $uid = "<em>".ADMIN_IS_SYSTEM_TASK."</em>";
}
- else
- {
- $uid = "<I>".ADMIN_IS_SYSTEM_TASK."</I>";
- }
+
+ // Prepare content
$content = array(
'sw' => $SW,
'id' => $id,
'type' => $type_out,
'created' => MAKE_DATETIME($created, "2")
);
- LOAD_TEMPLATE("admin_list_task_rows", false, $content);
+
+ // Do we have an extension task?
+ if (($type == "EXTENSION") && (GET_EXT_VERSION($infos) == "")) {
+ // Load extension row template
+ LOAD_TEMPLATE("admin_list_task_ext_rows", false, $content);
+ } else {
+ // Load default row template
+ LOAD_TEMPLATE("admin_list_task_rows", false, $content);
+ }
+
+ // Switch colors
$SW = 3 - $SW;
}
SQL_FREERESULT($result_tasks);
// Load footer template
- if ($_GET['type'] == "deleted")
+ if (REQUEST_GET('type') == "deleted")
{
// Delete now button
LOAD_TEMPLATE("admin_overview_footer_task");