public function afterSave() { /* выполняем уведомления */ if ($this->object->get('status') != $this->status) { $this->MlmSystem->Tools->sendNotice($this->object); } /* генерируем пути */ if ($this->object->get('parent') != $this->parent) { $this->MlmSystem->Paths->removePathItem($this->object->get('id')); $this->MlmSystem->Paths->GeneratePaths($this->object->get('id')); } return parent::afterSave(); }
/** {@inheritDoc} */ public function beforeSet() { if (!($beforeSet = parent::beforeSet())) { return $beforeSet; } $sum = $this->getProperty('change_balance_sum', 0); if (empty($sum)) { return $this->MlmSystem->lexicon('err_sum'); } $type = $this->getProperty('change_balance_type', 0); if (empty($type)) { return $this->MlmSystem->lexicon('err_type'); } switch ($type) { case '1': $this->object->takeSum($sum); break; case '2': $this->object->putSum($sum); break; default: return $this->MlmSystem->lexicon('err_correct_type'); break; } $this->properties = array(); $valid = $this->object->validate(); if (!$valid) { $validator = $this->object->getValidator(); if ($validator->hasMessages()) { foreach ($validator->getMessages() as $message) { if ($message['field'] == 'balance') { $this->addFieldError('change_balance_sum', $message['message']); } else { $this->addFieldError($message['field'], $this->modx->lexicon($message['message'])); } } } } return true; }
/** @inheritdoc} */ public function setDeposit(MlmSystemClient $client, $deposit = 0) { if (empty($deposit) or in_array($client->getOne('status'), array($client->getStatusRemoved()))) { return false; } $client->depositSum($deposit); return $client->save(); }
/** @inheritdoc} */ public function checkClientParent(MlmSystemClient $client, $parent = 0) { if (!$this->MlmSystem->Paths) { $this->MlmSystem->loadPaths(); } return $this->MlmSystem->Paths->checkParent($client->get('id'), $parent); }