Example #1
0
 public function setDestinationTarget($dst_idx)
 {
     if (!isset($dst_idx) || !is_numeric($dst_idx)) {
         static::raiseError(__METHOD__ . '(), $dst_idx parameter is invalid!');
         return false;
     }
     if (!empty($dst_idx) && !\MasterShaper\Models\TargetModel::exists(array(FIELD_IDX => $dst_idx))) {
         static::raiseError(__METHOD__ . '(), provided target does not exist!');
         return false;
     }
     if (!$this->setFieldValue('dst_target', $dst_idx)) {
         static::raiseError(__CLASS__ . '::setFieldValue() returned false!');
         return false;
     }
     return true;
 }
Example #2
0
 public function setMembers($members)
 {
     global $ms, $cache;
     if (!isset($members) || !empty($members) && !is_string($members)) {
         static::raiseError(__METHOD__ . '(), $members parameter is invalid!');
         return false;
     }
     if (!empty($members) && ($pairs = explode(',', $members)) === false) {
         static::raiseError(__METHOD__ . '(), explode() returned false!');
         return false;
     }
     if (!empty($members) && (!isset($pairs) || !is_array($pairs))) {
         static::raiseError(__METHOD__ . '(), explode() returned invalid data!');
         return false;
     }
     if (!$cache->has("atgs_" . $this->getIdx())) {
         try {
             $atgs = new \MasterShaper\Models\AssignTargetToGroupsModel(array('group_idx' => $this->getIdx()));
         } catch (\Exception $e) {
             static::raiseError(__METHOD__ . '(), failed to load AssignTargetToGroupsModel!', false, $e);
             return false;
         }
         if (!$cache->add($atgs, true)) {
             static::raiseError(get_class($cache) . '::add() returned false!');
             return false;
         }
     } else {
         if (($sl = $cache->get("atgs_" . $this->getIdx())) === false) {
             static::raiseError(get_class($cache) . '::get() returned false!');
             return false;
         }
         if (!$sl->resetFields()) {
             static::raiseError(get_class($sl) . '::resetFields() returned false!');
             return false;
         }
     }
     if (!$atgs->delete()) {
         static::raiseError(get_class($atgs) . '::delete() returned false!');
         return false;
     }
     if (empty($members)) {
         return true;
     }
     foreach ($pairs as $pair) {
         if (!isset($pair) || empty($pair) || !is_string($pair)) {
             static::raiseError(__METHOD__ . '(), received an invalid pair!');
             return false;
         }
         if ((list($idx, $guid) = explode(':', $pair)) === false) {
             static::raiseError(__METHOD__ . '(), explode() returned false!');
             return false;
         }
         if (!isset($idx) || empty($idx) || !is_numeric($idx) || !$ms->isValidId($idx) || !isset($guid) || empty($guid) || !is_string($guid) || !$ms->isValidGuidSyntax($guid)) {
             static::raiseError(__METHOD__ . '(), explode() returned invalid data!');
             return false;
         }
         if ($idx === $this->getIdx()) {
             static::raiseError(__METHOD__ . '(), target can not be its own group member!');
             return false;
         }
         if (!\MasterShaper\Models\TargetModel::exists(array('idx' => $idx, 'guid' => $guid))) {
             static::raiseError(__METHOD__ . '(), no such target model exists!');
             return false;
         }
         try {
             $atg = new \MasterShaper\Models\AssignTargetToGroupModel();
         } catch (\Exception $e) {
             static::raiseError(__METHOD__ . '(), failed to load AssignTargetToGroupModel!');
             return false;
         }
         if (!$atg->setGroup($this->getIdx())) {
             static::raiseError(get_class($atg) . '::setGroup() returned false!');
             return false;
         }
         if (!$atg->setTarget($idx)) {
             static::raiseError(get_class($atg) . '::setTarget() returned false!');
             return false;
         }
         if (!$atg->save()) {
             static::raiseError(get_class($atg) . '::save() returned false!');
             return false;
         }
     }
     return true;
 }