`task_created` DESC",
array(getCurrentAdminId()), __FILE__, __LINE__);
- if (SQL_NUMROWS($result_tasks) > 0) {
+ if (!SQL_HASZERONUMS($result_tasks)) {
// New jobs found!
$jobsDone = false;
} // END - if
function outputSeletectedTasks ($postData, $result_tasks) {
if ((isset($postData['assign'])) && (count($postData['sel']) > 0)) {
// Assign / do tasks
- $OUT = ''; $SW = 2;
- foreach ($postData['sel'] as $id => $sel) {
+ $OUT = '';
+ foreach ($postData['sel'] as $taskId => $sel) {
$result_task = SQL_QUERY_ESC("SELECT
`id`, `userid`, `task_type`, `subject`, `text`, `task_created`, `status`, `assigned_admin`
FROM
`id`=%s AND (`assigned_admin`=%s OR (`assigned_admin`=0 AND `status`='NEW'))
LIMIT 1",
array(
- bigintval($id),
+ bigintval($taskId),
getCurrentAdminId()
), __FILE__, __LINE__);
$add = '';
// @TODO Rewrite this to a filter
- if ($taskData['task_type'] == 'SUPPORT_MEMBER') {
+ if ($taskData['task_type'] == 'MEMBER_SUPPORT') {
$mode = substr($taskData['text'], 0, strpos($taskData['text'], ':'));
$taskData['text'] = substr($taskData['text'], strpos($taskData['text'], ':') + 1);
$add = '<li>{--ADMIN_TASK_SUPPORT_MODE--}: <strong>' . $mode . '</strong></li>';
// Initialize variables (no title for SQL commands by default)
$ext_name = ''; $ext_ver = '';
- $title = '{--TASK_NO_TITLE--}';
+ $title = '{--ADMIN_TASK_NO_SQL_TITLE--}';
// Shall I list SQL commands assigned to an extension installation or update task?
- if ((getConfig('verbose_sql') == 'Y')) {
+ if ((isVerboseSqlEnabled()) || (!isExtensionInstalled('sql_patches'))) {
// Extract extension name from subject
$ext_name = substr($taskData['subject'], 1, strpos($taskData['subject'], ':') - 1);
// Update task or extension task?
if (($taskData['task_type'] == 'EXTENSION') && (!isExtensionInstalled($ext_name))) {
// Load SQL commands for registering in dry-run
- registerExtension($ext_name, $id, true);
+ registerExtension($ext_name, $taskId, true);
// Is this non-productive?
if (isExtensionProductive() === false) {
// Issue warning
- $taskData['text'] .= loadTemplate('admin_settings_saved', true, getMaskedMessage('ADMIN_EXTENSION_IS_NON_PRODUCTIVE', $ext_name));
+ $taskData['text'] = loadTemplate('admin_settings_saved', true, getMaskedMessage('ADMIN_EXTENSION_IS_NON_PRODUCTIVE', $ext_name)) . $taskData['text'];
} // END - if
// Set current extension name
}
// Add SQLs to a table
- if ((!empty($ext_name)) && (isExtensionInstalled('sql_patches')) && (getConfig('verbose_sql') == 'Y')) {
+ if ((!empty($ext_name)) && (isVerboseSqlEnabled())) {
// Add verbose SQL table
- $taskData['text'] .= addExtensionVerboseSqlTable($title, ' class="admin_table top left right"', true, '100%') . "<br />\n";
+ $taskData['text'] .= addExtensionVerboseSqlTable($title, ' class="admin_table top left right"', true, '100%') . '<br />';
} // END - if
} elseif ((!empty($ext_name)) && (!empty($ext_ver))) {
// Run SQL commands in dry mode but only return the notes
$taskData['text'] .= getExtensionNotes();
} else {
// This should not normally happen!
- debug_report_bug(__FILE__, __LINE__, 'ext_name(' . $ext_name . ') or ext_ver(' . $ext_ver . ') is empty! sql_patches=' . getExtensionVersion('sql_patches') . '/verbose_sql=' . getConfig('verbose_sql'));
+ debug_report_bug(__FILE__, __LINE__, 'ext_name(' . $ext_name . ') or ext_ver(' . $ext_ver . ') is empty! isVerboseSqlEnabled=' . intval(isVerboseSqlEnabled()));
}
// Prepare array for the template
$content = array(
- 'sw' => $SW,
- 'subject' => $taskData['subject'],
- 'add' => $add,
- 'text' => $taskData['text'],
- 'created' => generateDateTime($taskData['task_created'], 1),
- 'extension' => $ext_name
+ 'subject' => $taskData['subject'],
+ 'add' => $add,
+ 'text' => $taskData['text'],
+ 'task_created' => generateDateTime($taskData['task_created'], 1),
+ 'extension' => $ext_name
);
// Load template
switch ($taskData['task_type']) {
case 'EXTENSION': // Install new extensions
$ext_name = substr($taskData['subject'], 1, strpos($taskData['subject'], ':') - 1);
- $result_lines = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_extensions` WHERE `ext_name`='%s' LIMIT 1",
- array($ext_name), __FILE__, __LINE__);
- $lines = SQL_NUMROWS($result_lines);
- SQL_FREERESULT($result_lines);
- if ($lines == '0') {
- // New extension found
- $OUT .= loadTemplate('admin_ext_reg_form', true, array(
- 'id' => bigintval($id),
+ if (!isExtensionInstalled($ext_name)) {
+ // New (not yet installed) extension found
+ $OUT .= loadTemplate('admin_extension_reg_form', true, array(
+ 'id' => bigintval($taskId),
'ext_name' => $ext_name
));
} else {
- // Task is closed so nothing is todo
+ // Extension is already installed
$OUT .= '<div class="admin_failed">{--ADMIN_EXTENSION_ALREADY_REGISTERED--}</div>';
// Close task but not already closed, solved, deleted or update tasks
} // END - if
break;
- case 'SUPPORT_MEMBER': // Assign on member's support request
+ case 'MEMBER_SUPPORT': // Assign on member's support request
// @TODO This may also be rewritten to include files
switch ($mode) {
default: // @TODO Unknown support mode
break;
case 'MEMBER_ORDER': // Member mail orders
- $OUT .= loadTemplate('admin_task_order', true, $id);
+ $OUT .= loadTemplate('admin_task_order', true, $taskId);
break;
default: // Unknown task type
logDebugMessage(__FILE__, __LINE__, sprintf("Unknown task type %s detected.", $taskData['task_type']));
- $OUT .= '<div class="admin_failed medium">' . sprintf(getMessage('ADMIN_UNKNOWN_TASK_TYPE'), $taskData['task_type'], $id) . '</div>';
+ $OUT .= '<div class="admin_failed medium">' . sprintf(getMessage('ADMIN_UNKNOWN_TASK_TYPE'), $taskData['task_type'], $taskId) . '</div>';
break;
}
$OUT .= '
// Free result
SQL_FREERESULT($result_task);
-
- // Switch colors
- $SW = 3 - $SW;
} // END - foreach
// Load final template
// Only unassign / delete tasks when there are selected tasks posted
if (!empty($postData['unassign'])) {
// Unassign from tasks
- foreach ($postData['sel'] as $id => $sel) {
+ foreach ($postData['sel'] as $taskId => $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), getCurrentAdminId()), __FILE__, __LINE__);
+ array(bigintval($taskId), getCurrentAdminId()), __FILE__, __LINE__);
}
} elseif (isset($postData['del'])) {
// Delete tasks
- foreach ($postData['sel'] as $id => $sel) {
+ foreach ($postData['sel'] as $taskId => $sel) {
SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_task_system` WHERE `id`=%s AND `assigned_admin` IN (%s,0) LIMIT 1",
- array(bigintval($id), getCurrentAdminId()), __FILE__, __LINE__);
+ array(bigintval($taskId), getCurrentAdminId()), __FILE__, __LINE__);
}
} else {
// Unknown action
} // END - if
// There are uncompleted jobs!
- $OUT = ''; $SW = 2;
+ $OUT = '';
while ($content = SQL_FETCHARRAY($result_tasks)) {
// Init infos
$content['infos'] = '';
- // Generate assign link
- $content['assigned_admin'] = generateAdminLink($content['assigned_admin']);
-
// Generate infos
// @TODO Try to move this in includes
switch ($content['task_type']) {
$content['userid'] = '<em>{--ADMIN_IS_SYSTEM_TASK--}</em>';
}
- // Prepare content
- $content = merge_array($content, array(
- 'sw' => $SW,
- 'assigned_admin' => $content['assigned_admin'],
- 'userid' => $content['userid'],
- 'task_type_msg' => $content['task_type_msg'],
- 'created' => generateDateTime($content['task_created'], 2)
- ));
+ // Add/translate some content
+ $content['task_created'] = generateDateTime($content['task_created'], 2);
// Do we have extension task?
- if (($content['task_type'] == 'EXTENSION') && (isExtensionNameValid($content['infos'])) && (!isExtensionInstalled($content['infos']))) {
+ if (isExtensionTask($content)) {
// Load extension row template
$OUT .= loadTemplate('admin_overview_list_ext_rows', true, $content);
} else {
// Load default row template
$OUT .= loadTemplate('admin_overview_list_rows', true, $content);
}
-
- // Switch color
- $SW = 3 - $SW;
} // END - while
// Free memory