WHERE
`id`=%s AND (`assigned_admin`=%s OR (`assigned_admin`=0 AND `status`='NEW'))
LIMIT 1",
- array(bigintval($id), getCurrentAdminId()), __FILE__, __LINE__);
+ array(
+ bigintval($id),
+ getCurrentAdminId()
+ ), __FILE__, __LINE__);
// Task is found?
if (SQL_NUMROWS($result_task) == 1) {
- // Task is valid...
- list($tid, $userid, $type, $subj, $text, $created, $status, $adminId) = SQL_FETCHROW($result_task);
+ // Task is valid so load it's data
+ $taskData = SQL_FETCHARRAY($result_task);
- if ($adminId == '0') {
+ if ($taskData['assigned_admin'] == '0') {
// Assgin current admin to unassgigned task
SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_task_system` SET `assigned_admin`=%s WHERE `id`=%s AND `assigned_admin`=0 LIMIT 1",
array(
getCurrentAdminId(),
- bigintval($tid)
+ bigintval($taskData['id'])
), __FILE__, __LINE__);
} // END - if
$add = '';
// @TODO Rewrite this to a filter
- if ($type == 'SUPPORT_MEMBER') {
- $mode = substr($text, 0, strpos($text, ':'));
- $text = substr($text, strpos($text, ':') + 1);
+ if ($taskData['task_type'] == 'SUPPORT_MEMBER') {
+ $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>";
} // END - if
// Is a userid assign?
- if ($userid > 0) {
+ if ($taskData['userid'] > 0) {
// Then load his data!
- if (fetchUserData($userid)) {
+ if (fetchUserData($taskData['userid'])) {
// Fetch row
$content = getUserDataArray();
// Generate HTML list entry
- $add = "<li>{--ADMIN_MEMBER_UID--}: <strong>".generateUserProfileLink($userid, 'user_data')." (<a href=\"".generateEmailLink($content['email'], 'user_data')."\">".translateGender($content['gender']) . ' ' . $content['surname'] . ' ' . $content['family']."</a>)</strong></li>";
+ $add = "<li>{--ADMIN_MEMBER_UID--}: <strong>".generateUserProfileLink($taskData['userid'], 'user_data')." (<a href=\"".generateEmailLink($content['email'], 'user_data')."\">".translateGender($content['gender']) . ' ' . $content['surname'] . ' ' . $content['family']."</a>)</strong></li>";
} else {
// Invalid userid, so log and zero it
- logDebugMessage(__FUNCTION__, __LINE__, 'Invalid userid=' . $userid . ' -> not found!');
- $userid = '0';
+ logDebugMessage(__FUNCTION__, __LINE__, 'Invalid userid=' . $taskData['userid'] . ' -> not found!');
+ $taskData['userid'] = '0';
}
} // END - if
// Decode entities of the text
- $text = decodeEntities($text);
+ $taskData['text'] = decodeEntities($taskData['text']);
// Compile and insert text from task into table template
- $text = loadTemplate('admin_extensions_text', true, $text);
+ $taskData['text'] = loadTemplate('admin_extensions_text', true, $taskData['text']);
// Initialize variables (no title for SQL commands by default)
$ext_name = ''; $ext_ver = '';
// Shall I list SQL commands assigned to an extension installation or update task?
if ((getConfig('verbose_sql') == 'Y')) {
// Extract extension name from subject
- $ext_name = substr($subj, 1, strpos($subj, ':') - 1);
+ $ext_name = substr($taskData['subject'], 1, strpos($taskData['subject'], ':') - 1);
// Update task or extension task?
- if (($type == 'EXTENSION') && (!isExtensionInstalled($ext_name))) {
+ if (($taskData['task_type'] == 'EXTENSION') && (!isExtensionInstalled($ext_name))) {
// Load SQL commands for registering in dry-run
registerExtension($ext_name, $id, true);
// Is this non-productive?
if (isExtensionProductive() === false) {
// Issue warning
- $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));
} // END - if
// Set current extension name
setCurrentExtensionName($ext_name);
// Add notes to text
- $text .= getExtensionNotes();
+ $taskData['text'] .= getExtensionNotes();
// Set title
$title = getMessage('ADMIN_SQLS_EXECUTED_ON_REGISTER');
- } elseif ($type == 'EXTENSION_UPDATE') {
+ } elseif ($taskData['task_type'] == 'EXTENSION_UPDATE') {
// Prepare extension name and version
$ext_name = substr($ext_name, 7);
$ext_name = substr($ext_name, 0, strpos($ext_name, '-'));
$test = '[UPDATE-' . $ext_name . '-';
- $ext_ver = substr($subj, strlen($test));
+ $ext_ver = substr($taskData['subject'], strlen($test));
$ext_ver = substr($ext_ver, 0, strpos($ext_ver, ':'));
// Load SQLs from file
setCurrentExtensionName($ext_name);
// Add notes to text
- $text .= getExtensionNotes();
+ $taskData['text'] .= getExtensionNotes();
// Set title
$title = getMessage('ADMIN_SQLS_EXECUTED_ON_UPDATE');
// Add SQLs to a table
if ((!empty($ext_name)) && (isExtensionInstalled('sql_patches')) && (getConfig('verbose_sql') == 'Y')) {
// Add verbose SQL table
- $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 />\n";
} // END - if
} elseif ((!empty($ext_name)) && (!empty($ext_ver))) {
// Run SQL commands in dry mode but only return the notes
setCurrentExtensionName($ext_name);
// Get notes
- $text .= getExtensionNotes();
+ $taskData['text'] .= getExtensionNotes();
} else {
// This should not normally happen!
debug_report_bug('ext_name(' . $ext_name . ') or ext_ver(' . $ext_ver . ') is empty! sql_patches=' . getExtensionVersion('sql_patches') . '/verbose_sql=' . getConfig('verbose_sql'));
// Prepare array for the template
$content = array(
'sw' => $SW,
- 'subject' => $subj,
+ 'subject' => $taskData['subject'],
'add' => $add,
- 'text' => $text,
- 'created' => generateDateTime($created, 1),
+ 'text' => $taskData['text'],
+ 'created' => generateDateTime($taskData['task_created'], 1),
'extension' => $ext_name
);
// Which task do we actually have here?
// @TODO Rewrite this to something with include files and/or filter
- switch ($type) {
+ switch ($taskData['task_type']) {
case 'EXTENSION': // Install new extensions
- $ext_name = substr($subj, 1, strpos($subj, ':') - 1);
+ $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);
$OUT .= '<div class="admin_failed">{--ADMIN_EXT_ALREADY_REGISTERED--}</div>';
// Close task but not already closed, solved, deleted or update tasks
- if ((!in_array($status, array('CLOSED','DELETED','SOLVED'))) && ($type != 'EXTENSION_UPDATE')) {
+ if ((!in_array($taskData['status'], array('CLOSED','DELETED','SOLVED'))) && ($taskData['task_type'] != 'EXTENSION_UPDATE')) {
// Solve the task
- runFilterChain('solve_task', $tid);
+ runFilterChain('solve_task', $taskData['id']);
} // END - if
}
break;
$OUT .= '<div class="admin_failed medium">{--ADMIN_EXTENSION_UPDATED--}</div>';
// Close task
- if (($status != 'CLOSED') && ($status != 'DELETED')) {
+ if (!in_array($taskData['status'], array('CLOSED', 'DELETED'))) {
// Solve the task
- runFilterChain('solve_task', $tid);
+ runFilterChain('solve_task', $taskData['id']);
} // END - if
break;
if (isExtensionActive('payout')) {
// Extension is installed so let him send a notification to the user
$result_pay = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_payouts` WHERE `userid`=%s AND `payout_timestamp`=%s LIMIT 1",
- array(bigintval($userid), bigintval($created)), __FILE__, __LINE__);
+ array(bigintval($taskData['userid']), bigintval($taskData['task_created'])), __FILE__, __LINE__);
list($pid) = SQL_FETCHROW($result_pay);
SQL_FREERESULT($result_pay);
// Payout id can be obtained
$content = array(
'pid' => $pid,
- 'tid' => $tid,
+ 'tid' => $taskData['id'],
);
// Load template
if (isExtensionActive('wernis')) {
// Extension is installed so let him send a notification to the user
$result_pay = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_user_wernis` WHERE `userid`=%s AND wernis_timestamp=%s LIMIT 1",
- array(bigintval($userid), bigintval($created)), __FILE__, __LINE__);
+ array(bigintval($taskData['userid']), bigintval($taskData['task_created'])), __FILE__, __LINE__);
list($pid) = SQL_FETCHROW($result_pay);
SQL_FREERESULT($result_pay);
// Payout id can be obtained
$content = array(
'pid' => $pid,
- 'tid' => $tid,
+ 'tid' => $taskData['id'],
);
$OUT .= loadTemplate('admin_wernis_overview_form', true, $content);
} else {
break;
case 'HOLIDAY_REQUEST': // Holiday requests
- $OUT .= loadTemplate('admin_task_holiday', true, $userid);
+ $OUT .= loadTemplate('admin_task_holiday', true, $taskData['userid']);
break;
case 'MEMBER_ORDER': // Member mail orders
break;
default: // Unknown task type
- logDebugMessage(__FILE__, __LINE__, sprintf("Unknown task type %s detected.", $type));
- $OUT .= '<div class="admin_failed medium">' . sprintf(getMessage('ADMIN_UNKNOWN_TASK_TYPE'), $type, $id) . '</div>';
+ 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>';
break;
}
$OUT .= '