From: ethem Date: Thu, 4 May 2006 07:58:20 +0000 (+0000) Subject: First authorize restore library for version 1.7 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=669c58e1a5d44179468782e2fe264356e308e0fa;p=moodle.git First authorize restore library for version 1.7 --- diff --git a/enrol/authorize/lib.php b/enrol/authorize/lib.php index 8c699ed4a4..cfcc29b162 100644 --- a/enrol/authorize/lib.php +++ b/enrol/authorize/lib.php @@ -1,19 +1,19 @@ 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) { @@ -29,7 +29,7 @@ function backup_authorize_info($bf, $prefs) 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)); @@ -51,4 +51,75 @@ function backup_authorize_info($bf, $prefs) } +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); + + } + } + } +} ?>