public function work() { $username = $this->args[0]; $package_name = $this->args[1]; $this->out(sprintf('Verifying package uniqueness %s/%s', $username, $package_name)); $maintainer = $this->getMaintainer($username); if (!$maintainer) { return false; } $existing = $this->getExisting($maintainer['Maintainer']['id'], $package_name); if ($existing) { return false; } $packageData = new PackageData($username, $package_name, $this->Github); $data = $packageData->retrieve(); if ($data === false) { return; } $data['maintainer_id'] = $maintainer['Maintainer']['id']; $this->out('Saving package'); $this->Maintainer->Package->create(); $saved = $this->Maintainer->Package->save(array('Package' => $data)); if (!$saved) { return $this->out('Package not saved'); } $this->out('Package saved'); }
public function setData($data) { $this->setname($data->ServiceName); $this->setDescription($data->ServiceDesc); $this->setClassName($data->ServClassName); $this->setType($data->ServiceType); $this->setUnits($data->Units); $this->setRate($data->Rate); $this->setRateOverride($data->RateOverride); $this->setMinimumServiceDate($data->MinServiceDate); if (!empty($data->PackageList->PkgContClass)) { $packageList = array(); foreach ($data->PackageList->PkgContClass as $p) { $package = new PackageData(); $package->setData($p); $packageList[] = $package; } $this->packageList = $packageList; } else { if (!empty($data->PkgContentList->PkgContent)) { /* * This handles the fact that subscriber packages dont come listed * in their classes. */ // First we organize the content into package classes $t_packages_by_class = array(); foreach ($data->PkgContentList->PkgContent as $pc) { $packageContent = new PackageContentData(); $packageContent->setData($pc); $packageContent->setProvisioned(true); $t_packages_by_class[$pc->ContClassName][] = $packageContent; unset($packageContent); } // Now we can add the packages properly $packageList = array(); foreach ($t_packages_by_class as $class => $content) { $package = new PackageData(); $package->setContentClassName($class); $package->setPackageContentList($content); $packageList[] = $package; } $this->packageList = $packageList; } } }
/** * Update Attributes from Github * * @param array $package * @return array */ public function updateAttributes($package, $packageData = null) { if (!$this->Github) { $this->Github = ClassRegistry::init('Github'); } if ($packageData === null) { $packageData = new PackageData($package['Maintainer']['username'], $package[$this->alias]['name'], $this->Github); } $data = $packageData->retrieve(); if ($data === false) { return; } foreach ($data as $key => $value) { if ($value !== null) { $package[$this->alias][$key] = $value; } } $packageData = $package[$this->alias]; unset($packageData['modified']); $this->create(); return $this->save($packageData); }
public function __construct($vals = null) { if (!isset(self::$_TSPEC)) { self::$_TSPEC = array(1 => array('var' => 'pid', 'type' => TType::I32), 2 => array('var' => 'name', 'type' => TType::STRING), 3 => array('var' => 'folder', 'type' => TType::STRING), 4 => array('var' => 'site', 'type' => TType::STRING), 5 => array('var' => 'password', 'type' => TType::STRING), 6 => array('var' => 'dest', 'type' => TType::I32), 7 => array('var' => 'order', 'type' => TType::I16), 8 => array('var' => 'priority', 'type' => TType::BYTE), 9 => array('var' => 'links', 'type' => TType::LST, 'etype' => TType::STRUCT, 'elem' => array('type' => TType::STRUCT, 'class' => 'FileData'))); } if (is_array($vals)) { if (isset($vals['pid'])) { $this->pid = $vals['pid']; } if (isset($vals['name'])) { $this->name = $vals['name']; } if (isset($vals['folder'])) { $this->folder = $vals['folder']; } if (isset($vals['site'])) { $this->site = $vals['site']; } if (isset($vals['password'])) { $this->password = $vals['password']; } if (isset($vals['dest'])) { $this->dest = $vals['dest']; } if (isset($vals['order'])) { $this->order = $vals['order']; } if (isset($vals['priority'])) { $this->priority = $vals['priority']; } if (isset($vals['links'])) { $this->links = $vals['links']; } } }
public function read($input) { $xfer = 0; $fname = null; $ftype = 0; $fid = 0; $xfer += $input->readStructBegin($fname); while (true) { $xfer += $input->readFieldBegin($fname, $ftype, $fid); if ($ftype == TType::STOP) { break; } switch ($fid) { case 0: if ($ftype == TType::LST) { $this->success = array(); $_size125 = 0; $_etype128 = 0; $xfer += $input->readListBegin($_etype128, $_size125); for ($_i129 = 0; $_i129 < $_size125; ++$_i129) { $elem130 = null; $elem130 = new PackageData(); $xfer += $elem130->read($input); $this->success[] = $elem130; } $xfer += $input->readListEnd(); } else { $xfer += $input->skip($ftype); } break; default: $xfer += $input->skip($ftype); break; } $xfer += $input->readFieldEnd(); } $xfer += $input->readStructEnd(); return $xfer; }