function saveOrgPeekAction() { $active_worker = CerberusApplication::getActiveWorker(); @($id = DevblocksPlatform::importGPC($_REQUEST['id'], 'integer', 0)); @($view_id = DevblocksPlatform::importGPC($_REQUEST['view_id'], 'string', '')); @($org_name = DevblocksPlatform::importGPC($_REQUEST['org_name'], 'string', '')); @($street = DevblocksPlatform::importGPC($_REQUEST['street'], 'string', '')); @($city = DevblocksPlatform::importGPC($_REQUEST['city'], 'string', '')); @($province = DevblocksPlatform::importGPC($_REQUEST['province'], 'string', '')); @($postal = DevblocksPlatform::importGPC($_REQUEST['postal'], 'string', '')); @($country = DevblocksPlatform::importGPC($_REQUEST['country'], 'string', '')); @($phone = DevblocksPlatform::importGPC($_REQUEST['phone'], 'string', '')); @($website = DevblocksPlatform::importGPC($_REQUEST['website'], 'string', '')); @($delete = DevblocksPlatform::importGPC($_REQUEST['do_delete'], 'integer', 0)); if (!empty($id) && !empty($delete)) { // delete if ($active_worker->hasPriv('core.addybook.org.actions.delete')) { DAO_ContactOrg::delete($id); } } else { // create/edit if ($active_worker->hasPriv('core.addybook.org.actions.update')) { $fields = array(DAO_ContactOrg::NAME => $org_name, DAO_ContactOrg::STREET => $street, DAO_ContactOrg::CITY => $city, DAO_ContactOrg::PROVINCE => $province, DAO_ContactOrg::POSTAL => $postal, DAO_ContactOrg::COUNTRY => $country, DAO_ContactOrg::PHONE => $phone, DAO_ContactOrg::WEBSITE => $website); if ($id == 0) { $id = DAO_ContactOrg::create($fields); } else { DAO_ContactOrg::update($id, $fields); } // Custom field saves @($field_ids = DevblocksPlatform::importGPC($_POST['field_ids'], 'array', array())); DAO_CustomFieldValue::handleFormPost(ChCustomFieldSource_Org::ID, $id, $field_ids); } } $view = C4_AbstractViewLoader::getView($view_id); $view->render(); }
private function _handleImportOrg($xml) { $settings = CerberusSettings::getInstance(); $logger = DevblocksPlatform::getConsoleLog(); $sName = (string) $xml->name; $sStreet = (string) $xml->street; $sCity = (string) $xml->city; $sProvince = (string) $xml->province; $sPostal = (string) $xml->postal; $sCountry = (string) $xml->country; $sPhone = (string) $xml->phone; $sWebsite = (string) $xml->website; // Dupe check org if (null != ($org_id = DAO_ContactOrg::lookup($sName))) { $logger->info('[Importer] Avoiding creating duplicate org #' . $org_id . ' (' . $sName . ')'); return true; } $fields = array(DAO_ContactOrg::NAME => $sName, DAO_ContactOrg::STREET => $sStreet, DAO_ContactOrg::CITY => $sCity, DAO_ContactOrg::PROVINCE => $sProvince, DAO_ContactOrg::POSTAL => $sPostal, DAO_ContactOrg::COUNTRY => $sCountry, DAO_ContactOrg::PHONE => $sPhone, DAO_ContactOrg::WEBSITE => $sWebsite); $org_id = DAO_ContactOrg::create($fields); $logger->info('[Importer] Imported org #' . $org_id . ' (' . $sName . ')'); return true; }
private function _postCreateAction($path) { $xmlstr = $this->getPayload(); $xml_in = simplexml_load_string($xmlstr); $fields = array(); $flds = DAO_ContactOrg::getFields(); unset($flds[DAO_ContactOrg::ID]); foreach ($flds as $idx => $f) { $idx_name = $this->translate($idx, true); if ($idx_name == null) { continue; } @($value = DevblocksPlatform::importGPC($xml_in->{$idx_name}, 'string')); if ($this->isValid($idx_name, $value)) { $fields[$idx] = $value; } } if (empty($fields[DAO_ContactOrg::NAME])) { $this->_error("All required fields were not provided."); } $id = DAO_ContactOrg::create($fields); // Render $this->_getIdAction(array($id)); }