/** * Returns account by user or create and save * * @param RM_User_Object $obUser * @return RM_Points_Account */ public function loadAccountByUserOrCreate(RM_User_Object $obUser) { if (isNull($obAccount = $this->_storages['account']->loadObjectByKey('user_id', $obUser->id()))) { $obAccount = M('Points')->createAccount(array('user_id' => $obUser->id())); $obAccount->save(); } return $obAccount; }
protected function _setStatus(RM_User_Object $user, $skipped, $create = FALSE) { $query = M('Db')->createQuery('rm_diary_alarm')->set('last_show', M('Date')->dbDate())->set('skipped', $skipped); if ($create) { $query->command('insert'); $query->set('user_id', $user->id()); } else { $query->command('update'); $query->where('user_id=?', $user->id()); } $query->execute(); }
/** * Enter description here... * * @param RM_User_Object $obUser * @param array $data * @return RM_User_Family_Decorator_Pet | TRUE */ public function editPet(RM_User_Object $obUser, &$data) { if (isNull($obPet = M('User')->loadPetById(@$data['id']))) { $obPet = M('User')->createPet(array()); $obPet->user_id = $obUser->id(); } try { if ($data['animal_type'] == 'other') { $obPet->setAvailableFieldsForOtherPets(); $obPet->animal_type = M('User')->getAnimalTypeByPetName($data['animal_type']); // 3 unset($data['id'], $data['animal_type']); $obPet->animal_descr = serialize(@$data); $n = 0; foreach ($data as $value) { if (empty($value)) { $n++; } } if ($n == count($data)) { $obPet->delete(); } } else { $data['sex'] = @$data['sex'] ? $data['sex'] : NULL; $data['birthday'] = M('Date')->dbDate(@$data['birthday_year'] . '-' . @$data['birthday_month'] . date('-d')); $data['animal_certificate'] = @$data['animal_certificate'] ? 1 : 0; $data['animal_castrated'] = @$data['animal_castrated'] ? 1 : 0; $data['animal_type'] = M('User')->getAnimalTypeByPetName($data['animal_type']); unset($data['birthday_month'], $data['birthday_year']); foreach ($data as $name => $value) { $obPet->{$name} = trim($value); } } $user = $obPet->user(); $obPet->save(); MC('Anketa')->clearAlertCache($user); return TRUE; } catch (RM_Validator_Exception $e) { $err = iterFirst($e->getResult()->getErrors()); error(L('user.field') . ' "' . L('user._' . $err['place']) . '" ' . L('user.' . $err['code'])); return $obPet; } }
/** * Получить информацию о данном панелисте из отчета о панелистах * * @param RM_User_Object $obUser * @return array **/ protected function _getInfo(RM_User_Object $obUser) { $result = array(); $query = M('Db')->createQuery($this->_table)->where('user_id = ?', $obUser->id()); foreach ($query->execute() as $result) { break; } return $result; }
/** * Retrievs list of shop links by user * * @param RM_User_Object $user * * @return RM_Store_iRequest<RM_Shop_Link> */ public function getLinksByUser(RM_User_Object $user) { return $this->_mapper->_storage('link')->getObjectList()->filter('user_id = ?', $user->id()); }
public function getPurchaseListForDiary(RM_User_Object $user, $date) { return $this->_mapper->storage('purchase')->getObjectList()->filter('user_id=? and bdate=? and is_deleted=0', $user->id(), M('Date')->dbDate($date)); }
public function clearAlertCache(RM_User_Object $obUser) { M('Cache')->put($this->_alertCacheNs(), 'anketa-' . $obUser->id(), null); M('Cache')->put($this->_alertCacheNs(), 'pets-' . $obUser->id(), null); }
public function canChangeBarcode(RM_User_Object $obUser) { return $obUser->isUserInGroup(array('super-coder'), FALSE); }
protected function _setAction(RM_User_Object $obUser, $bdate, $number) { $params = array('user_id' => $obUser->id(), 'date' => $bdate, 'number' => $number); $this->addToQueue($params); }
/** * Checks does user belong to group or not. * * @param RM_User_Object $user User for checking * @param string $alias Group alias * @param bool $ssl_check Do we need to check if user logged by ssl or not * @return bool */ public function checkUserGroup(RM_User_Object $user, $alias, $ssl_check) { static $query = NULL, $i = 0; if (!$alias) { return FALSE; } if (!$query) { $query = M('Db')->createQuery($this->table('user2group') . ' u2r')->join('u2r', 'LEFT JOIN ' . $this->table('group') . ' g on g.id=u2r.role_id'); } $query->where()->reset(); $query->where('user_id=?', $user->id)->where('alias=?', $alias); if ($ssl_check && !$user->loggedBySsl()) { $query->where('ssl_only=0'); } foreach ($query->execute() as $tmp) { return TRUE; } return FALSE; }
public function prepareBeforeFillForm(RM_User_Object $obUser) { $data = $obUser->props(); if (!$data['equipment']) { $data['equipment'] = 0; } if (!$data['equipment_removed']) { $data['equipment_removed'] = 0; } $data['panel_access'] = (int) (!$data['diary_access_disabled']); if ($data['payment_method'] == 4) { $data['payment_info_4'] = @unserialize($data['payment_info']); } else { $data['payment_info_' . $data['payment_method']] = $data['payment_info']; } if ($data['compensation_method'] == 4) { $data['compensation_info_4'] = @unserialize($data['compensation_info']); } else { $data['compensation_info_' . $data['compensation_method']] = $data['compensation_info']; } $data['new_groups'] = array(); foreach ($obUser->getUserGroups()->sort('weight', 'DESC') as $obGroup) { $data['new_groups'][$obGroup->id()] = 1; } /* print '<pre>'; print_r($data); exit;*/ return $data; }
public function addPurchasesMovementToLog($source, RM_Barcode_Object $obDestination, RM_User_Object $obUser) { $query = M('Db')->createQuery($this->_mapper->table('move_log'), 'insert')->set('barcode_source = ?', $source)->set('barcode_destination = ?', $obDestination->value)->set('coder_id = ?', $obUser->id())->set('coded_date = NOW()'); $query->execute(); }
/** * Enter description here... * * @param RM_User_Object $obUser * @return RM_Presents_Cart */ public function getCartByUserOrCreate(RM_User_Object $obUser) { if (isNull($obCart = $this->_loadByKey('cart', 'user_id', $obUser->id()))) { $obCart = $this->createObject('cart', array('user_id' => $obUser->id())); $obCart->save(); } return $obCart; }
/** * Description... * * @return void **/ public function getUserShopList(RM_User_Object $user) { $q = $this->_storage('link')->createQuery('l'); $q->what()->reset(); $q->what('s.id as id, l.name as name, l.street as street, l.bld as bld, s.longitude as lon, s.latitude as lat, l.shop_type as type')->join('l', 'LEFT JOIN panelie_shop s on s.id=l.shop_id')->where('l.user_id=? and s.id is not null', $user->id()); return M('Store')->requestQuery(M('Store')->factoryObject(), $q, qw2('id>s.id name>l.name street>l.street bld>l.bld lon>s.longitude lat>s.latitude type>l.shop_type')); }
/** * Enter description here... * * @param RM_User_Object $obUser */ public function getPersonalHolderByUser(RM_User_Object $obUser) { return iterFirst($this->getHolderList()->filter('is_personal = 1 AND user_id = ?', $obUser->id())); }
public function canSendBarcodeToRefresh(RM_User_Object $obUser) { if ($obUser->isUserInGroup(array('super-admin', 'super-coder', 'advanced-coder'))) { return TRUE; } return FALSE; }