예제 #1
0
파일: contacts.php 프로젝트: Hildy/cerb5
 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();
 }
예제 #2
0
 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;
 }
예제 #3
0
파일: App.php 프로젝트: joegeck/cerb4
 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));
 }