/** * Test properties. */ public function testProperties() { $obj = new ZMObject(); $obj->set('foo', 'bar'); $obj->set('deng', 'poh'); // custom only $this->assertEquals(array('foo' => 'bar', 'deng' => 'poh'), $obj->getProperties()); }
/** * Create the model from the current request. * * @return ZMObject The model. */ protected function createModel($parameterBag) { $model = new ZMObject(); $model->set('type', $parameterBag->get('type')); $model->set('orderId', $parameterBag->get('orderId')); $model->set('message', $parameterBag->get('message')); $model->set('types', $this->getPlugin()->getRequestTypes()); return $model; }
/** * Test obj2map. */ public function testObj2map() { // get all properties $expectAll = array('foo' => 'bar', 'doh' => 'nut', 'properties' => array('foo' => 'bar', 'doh' => 'nut'), 'propertyNames' => array('foo', 'doh'), 'attachedMethods' => array()); $obj = new ZMObject(); $obj->set('foo', 'bar'); $obj->set('doh', 'nut'); $map = Beans::obj2map($obj); $this->assertEquals($expectAll, $map); // get subset of properties $expectSpecific = array('foo' => 'bar', 'doh' => 'nut'); $map = Beans::obj2map($obj, array_keys($expectSpecific)); $this->assertEquals($expectSpecific, $map); // get subset of array $arr = array_merge($expectSpecific, array('some' => 'other')); $map = Beans::obj2map($arr, array_keys($expectSpecific)); $this->assertEquals($expectSpecific, $map); }
/** * Finalise a coupon. * * @param int couponId The coupon id. * @param int accountId The redeeming account id. * @param string remoteIP The redeeming IP addres; default is an empty string. */ public function finaliseCoupon($couponId, $accountId, $remoteIP = '') { $tracker = new ZMObject(); $tracker->set('couponId', $couponId); $tracker->set('accountId', $accountId); $tracker->set('redeemDate', new \DateTime()); $tracker->set('redeemIp', $remoteIP); $tracker->set('orderId', 0); \ZMRuntime::getDatabase()->createModel('coupon_redeem_track', $tracker); $sql = "UPDATE %table.coupons%\n SET coupon_active = :active\n WHERE coupon_id = :id"; $args = array('id' => $couponId, 'active' => Coupon::FLAG_WAITING); \ZMRuntime::getDatabase()->updateObj($sql, $args, 'coupons'); }