<?PHP // $Id$
/**
- * backup_authorize_info
+ * backup_enrol_info
*
* @param resource $bf
* @param object $prefs
* @return bool
*/
-function backup_authorize_info($bf, $prefs)
+function backup_enrol_info($bf, $prefs)
{
global $CFG;
$status = true;
- if ($orders = get_records("enrol_authorize", "courseid", $prefs->backup_course))
+ if ($orders = get_records_select('enrol_authorize', "courseid=$prefs->backup_course AND status!=0 AND transid!=0"))
{
fwrite($bf, start_tag("AUTHORIZEORDERS", 2 ,true));
foreach ($orders as $order) {
fwrite($bf, full_tag("SETTLETIME", 4, false, $order->settletime));
fwrite($bf, full_tag("AMOUNT", 4, false, $order->amount));
fwrite($bf, full_tag("CURRENCY", 4, false, $order->currency));
- if ($refunds = get_records("enrol_authorize_refunds", "orderid", $order->id)) {
+ if ($refunds = get_records_select("enrol_authorize_refunds", "orderid=$order->id AND status!=0 AND transid!=0")) {
fwrite($bf, start_tag("REFUNDS",4, true));
foreach ($refunds as $refund) {
fwrite($bf, start_tag("REFUND", 5, true));
}
+function restore_enrol_info($restore, $xml)
+{
+ global $CFG;
+
+ $orders = restore_read_xml($xml, "AUTHORIZEORDERS", $restore);
+
+ //print "******************";
+ //var_dump($xml);
+ //var_dump($orders);
+ //print "******************";
+
+ if ($orders && $orders !== true) {
+ foreach ($orders as $order) {
+
+
+ //print_r($order);
+
+ //We'll need this later!!
+ $olduserid = backup_todb($order['ORDER']['#']['USERID']['0']['#']); //To recode userid
+ $oldordid = backup_todb($order['ORDER']['#']['ID']['0']['#']); //To store order pairs to backup_ids
+
+ $ord = new stdClass();
+ $ord->courseid = $restore->course_id; //We get new course id from $restore
+
+ $ord->cclastfour = backup_todb($order['ORDER']['#']['CCLASTFOUR']['0']['#']);
+ $ord->ccname = backup_todb($order['ORDER']['#']['CCNAME']['0']['#']);
+ $ord->transid = backup_todb($order['ORDER']['#']['TRANSID']['0']['#']);
+ $ord->status = backup_todb($order['ORDER']['#']['STATUS']['0']['#']);
+ $ord->timecreated = backup_todb($order['ORDER']['#']['TIMECREATED']['0']['#']);
+ $ord->settletime = backup_todb($order['ORDER']['#']['SETTLETIME']['0']['#']);
+ $ord->amount = backup_todb($order['ORDER']['#']['AMOUNT']['0']['#']);
+ $ord->currency = backup_todb($order['ORDER']['#']['CURRENCY']['0']['#']);
+
+ //Now we recode userid looking in the backup_ids table
+ $user = backup_getid($restore->backup_unique_code, "user", $olduserid);
+ if ($user) {
+ $ord->userid = $user->new_id;
+ }
+
+ $newordid = insert_record("enrol_authorize", $ord);
+
+ //We put ordid pair (oldordid, newordid) to backup_ids. Refunds restore will need them.
+ if ($newordid) {
+ backup_putid($restore->backup_unique_code, "enrol_authorize", $oldordid, $newordid);
+ }
+
+ $refunds = $order['ORDER']['#']['REFUNDS']['0']['#']['REFUND'];
+
+ for($i = 0; $i < sizeof($refunds); $i++) {
+ $refund_info = $refunds[$i];
+
+ //We'll need this later
+ $oldordidid = backup_todb($refund_info['#']['ID']['0']['#']); //To recode orderid
+
+ $refund->status = backup_todb($refund_info['#']['STATUS']['0']['#']);
+ $refund->amount = backup_todb($refund_info['#']['AMOUNT']['0']['#']);
+ $refund->transid = backup_todb($refund_info['#']['TRANSID']['0']['#']);
+ $refund->settletime = backup_todb($refund_info['#']['SETTLETIME']['0']['#']);
+
+ //Now we recode userid looking in the backup_ids table
+ $order = backup_getid($restore->backup_unique_code,"enrol_authorize",$oldordidid);
+ if ($order) {
+ $refund->orderid = $order->new_id;
+ }
+
+ $newid = insert_record("enrol_authorize_refunds", $refund);
+
+ }
+ }
+ }
+}
?>