$p_status = $_REQUEST['ps']; $c_form = $_REQUEST['cf']; if ($p_user_id != '' && $part_id == '') { if (!CheckPartnerExist($p_user_id)) { $in_id = AddPartner($user_id, $p_user_id, $p_name, $pu_address, $pp_address, $p_data, $ps_number, $payer, $p_status, $c_form); $data = array('in_id' => $in_id); } else { $error = '"' . $p_user_id . '" უკვე არის სიაში!'; } } else { SavePartner($user_id, $part_id, $p_name, $pu_address, $pp_address, $p_data, $ps_number, $payer, $p_status, $c_form); } break; case 'disable': $part_id = $_REQUEST['id']; DeletePartner($part_id); break; default: $error = 'Action is Null'; } $data['error'] = $error; echo json_encode($data); /* ****************************** * Partner Functions * ****************************** */ function AddPartner($user_id, $p_user_id, $p_name, $pu_address, $pp_address, $p_data, $ps_number, $payer, $p_status, $c_form) { mysql_query("INSERT INTO `partniorebi`\r\n\t\t\t\t\t(`user_id`, `partn_daaxeleba`, `part_iur_statusi`, `partn_id_kodi`, `partn_iur_misamarti`, `partn_fiz_misamarti`, `partn_VAT_sertifikati`, `gadaxdis_met`, `vat_data`, `vat_num`) \r\n\t\t\t\t VALUES\r\n\t\t\t\t\t('{$user_id}', '{$p_name}', {$p_status}, '{$p_user_id}', '{$pu_address}', '{$pp_address}', {$payer}, {$c_form}, '{$p_data}', '{$ps_number}')"); return mysql_insert_id(); }
function txPartnerDeleteInactive() { global $DB, $C; VerifyPrivileges(P_PARTNER_REMOVE); $v = new Validator(); $v->Register($_REQUEST['inactive'], V_NUMERIC, 'Please enter the number of inactive days as a numeric value'); if (!$v->Validate()) { return $v->ValidationError('txShPartnerInactive'); } $result = $DB->Query('SELECT * FROM `tx_partners` WHERE `date_last_submit` <= DATE_SUB(?, INTERVAL ? DAY) OR (`date_last_submit` IS NULL AND `date_added` <= DATE_SUB(?, INTERVAL ? DAY))', array(MYSQL_NOW, $_REQUEST['inactive'], MYSQL_NOW, $_REQUEST['inactive'])); $removed = $DB->NumRows($result); while ($partner = $DB->NextRow($result)) { DeletePartner($partner['username'], $partner); } $DB->Free($result); $GLOBALS['message'] = "{$removed} inactive partner account" . ($removed == 1 ? ' has' : 's have') . " been deleted"; txShPartnerInactive(); }
function txPartnerDelete() { global $DB, $json, $C; VerifyPrivileges(P_PARTNER_REMOVE, TRUE); $result = GetWhichPartners(); $amount = $DB->NumRows($result); while ($partner = $DB->NextRow($result)) { DeletePartner($partner['username'], $partner); } $DB->Free($result); echo $json->encode(array('status' => JSON_SUCCESS, 'message' => "{$amount} partner" . ($amount == 1 ? ' has' : 's have') . " been deleted")); }
function DailyPartnerMaintenance() { global $DB, $C; $args = ParseCommandLine(); // Remove inactive partner accounts if (isset($args['remove-inactive']) && is_numeric($args['remove-inactive'])) { $min_last_submit = gmdate(DF_DATETIME, TimeWithTz() - $args['remove-inactive'] * 86400); $result = $DB->Query('SELECT * FROM `tx_partners` WHERE `date_last_submit` <= ? OR (`date_last_submit` IS NULL AND `date_added` <= ?)', array($min_last_submit, $min_last_submit)); while ($partner = $DB->NextRow($result)) { DeletePartner($partner['username'], $partner); } $DB->Free($result); } // Send an e-mail message to partner accounts that are inactive if (isset($args['email-inactive']) && is_numeric($args['email-inactive'])) { // Prepare the template $t = new Template(); $t->assign_by_ref('config', $C); $t->assign('inactive', $args['email-inactive']); // Determine the time range to select $start = gmdate(DF_DATE, strtotime('-' . $args['email-inactive'] . ' day', TimeWithTz())) . ' 00:00:00'; $end = gmdate(DF_DATE, strtotime('-' . $args['email-inactive'] . ' day', TimeWithTz())) . ' 23:59:59'; // Find matching partners $result = $DB->Query('SELECT * FROM `tx_partners` WHERE `date_last_submit` BETWEEN ? AND ? OR (`date_last_submit` IS NULL AND `date_added` BETWEEN ? AND ?)', array($start, $end, $start, $end)); while ($partner = $DB->NextRow($result)) { $t->assign_by_ref('partner', $partner); SendMail($partner['email'], 'email-partner-inactive.tpl', $t); } $DB->Free($result); } // Send an e-mail message to partner accounts that are expiring soon if (isset($args['email-expiring']) && is_numeric($args['email-expiring'])) { // Prepare the template $t = new Template(); $t->assign_by_ref('config', $C); // Determine the time range to select $start = gmdate(DF_DATE, strtotime('+' . $args['email-expiring'] . ' day', TimeWithTz())) . ' 00:00:00'; $end = gmdate(DF_DATE, strtotime('+' . $args['email-expiring'] . ' day', TimeWithTz())) . ' 23:59:59'; // Find matching partners $result = $DB->Query('SELECT * FROM `tx_partners` WHERE `date_end` BETWEEN ? AND ?', array($start, $end)); while ($partner = $DB->NextRow($result)) { $partner['date_end'] = strtotime($partner['date_end']); $t->assign_by_ref('partner', $partner); SendMail($partner['email'], 'email-partner-expiring.tpl', $t); } $DB->Free($result); } }