function testProcessSalsaData() { echo "Supporter: Should successfully process data from source fields\n"; global $dia; $dia->returns('get', array('Reference_Name' => 'RFP: Murdoc and Harpercollins'), array('action', '3614')); $s = new Supporter(array('Source' => 'Web', 'Source_Details' => 'http://act.ran.org/p/dia/action/public/?action_KEY=3614&track=sierramag')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Action'); $this->assertEqual($s->data['source_referral'], 'sierramag'); $this->assertEqual($s->data['source_key'], '3614'); $this->assertEqual($s->data['source_campaign'], 'RFP'); $this->assertEqual($s->data['source_type_note'], 'Murdoc and Harpercollins'); $dia->returns('get', array('Reference_Name' => 'RAG: WOA 3: Stage 1'), array('signup_page', '3597')); $s = new Supporter(array('Source' => 'Web', 'Source_Details' => 'http://act.ran.org/p/salsa/web/common/public/signup?signup_page_KEY=3597&Email=jrferraiuolo@bellsouth.net&key=45329141')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Web'); $this->assertEqual($s->data['source_key'], '3597'); $this->assertEqual($s->data['source_campaign'], 'RAG'); $this->assertEqual($s->data['source_type_note'], 'WOA 3: Stage 1'); $dia->returns('get', array('Reference_Name' => 'Campaign: 2011: EOY Email 3/4 MD STRING'), array('donate_page', '7630')); $s = new Supporter(array('Source' => 'Web Donation', 'Source_Details' => 'https://salsa.wiredforchange.com/o/6022/t/6444/p/d/rd_ran/donations/public/ran_donate_custom.sjs?donate_page_KEY=7630&track=fb')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Donation'); $this->assertEqual($s->data['source_key'], '7630'); $this->assertEqual($s->data['source_referral'], 'fb'); $this->assertEqual($s->data['source_type_note'], 'Campaign: 2011: EOY Email 3/4 MD STRING'); $s = new Supporter(array('Source' => 'Web', 'Source_Details' => 'http://rainforestheroes.ran.org/teachers-and-families/')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Web'); $this->assertEqual($s->data['source_type_note'], 'rainforestheroes.ran'); $this->assertFalse($s->data['source_key']); $s = new Supporter(array('Source' => 'Web', 'Source_Details' => 'http://www.ran.org/search/node?keys=interdependence&key=0')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Web'); $this->assertEqual($s->data['source_type_note'], 'ran'); $this->assertFalse($s->data['source_key']); $s = new Supporter(array('Source' => 'Web', 'Source_Details' => 'http://www3.ran.org/search/node?keys=interdependence&key=0')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Web'); $this->assertEqual($s->data['source_type_note'], 'ran'); $this->assertFalse($s->data['source_key']); $s = new Supporter(array('Source' => 'Web', 'Source_Details' => 'http://act.ran.org/action/emailmrpage')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Action'); $this->assertEqual($s->data['source_type_note'], 'emailmrpage'); $this->assertFalse($s->data['source_key']); $s = new Supporter(array('Source' => 'Web', 'Source_Details' => 'http://act.ran.org/signup_page/heroupdates')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Web'); $this->assertEqual($s->data['source_type_note'], 'heroupdates'); $this->assertFalse($s->data['source_key']); $s = new Supporter(array('Source' => 'Web Donation', 'Source_Details' => 'https://salsa.wiredforchange.com/o/6022/donate_page/fall2010member')); $s->process(); $this->assertEqual($s->data['source_type_category'], 'Donation'); $this->assertEqual($s->data['source_type_note'], 'fall2010member'); $this->assertFalse($s->data['source_key']); }
<?php require '../../boot.php'; list($cmd, $supporter_KEY) = $argv; #$supporter_KEY = 48965489; $supporter_query = $db->query("SELECT * FROM supporter WHERE supporter_KEY=" . $supporter_KEY); if ($supporter_query->num_rows > 0) { while ($supporter_arr = $supporter_query->fetch_assoc()) { $supporter = new Supporter($supporter_arr); $supporter->process(); #$supporter->geovalidate(); $supporter->updateDonationCounts(); $supporter->updateActionCounts(); $supporter->updateEmailCounts(); $supporter->updateUnsubscribeInfo(); $supporter->updateSupporterTypes(); //$supporter->db_update(); $supporter->data['key'] = $supporter->data['supporter_KEY']; //$dia->save('supporter', $supporter->data); } } echo '<pre>' . print_r($supporter) . '</pre>';