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; }
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; }