本文整理汇总了PHP中Cx\Core\Setting\Controller\Setting::getCurrentSection方法的典型用法代码示例。如果您正苦于以下问题:PHP Setting::getCurrentSection方法的具体用法?PHP Setting::getCurrentSection怎么用?PHP Setting::getCurrentSection使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cx\Core\Setting\Controller\Setting
的用法示例。
在下文中一共展示了Setting::getCurrentSection方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setContactPersonProfile
/**
* Adding Crm Contact and link it with crm company if possible
*
* @param Array $arrFormData form data's
* @param int $userAccountId
* @param int $frontendLanguage
* @global <object> $objDatabase
* @global int $_LANGID
*
*/
function setContactPersonProfile($arrFormData = array(), $userAccountId = 0, $frontendLanguage)
{
global $objDatabase, $_LANGID;
$this->contact = new \Cx\Modules\Crm\Model\Entity\CrmContact();
if (!empty($userAccountId)) {
$userExists = $objDatabase->Execute("SELECT id FROM `" . DBPREFIX . "module_{$this->moduleNameLC}_contacts` WHERE user_account = {$userAccountId}");
if ($userExists && $userExists->RecordCount()) {
$id = (int) $userExists->fields['id'];
$this->contact->load($id);
$this->contact->customerName = !empty($arrFormData['firstname'][0]) ? contrexx_input2raw($arrFormData['firstname'][0]) : '';
$this->contact->family_name = !empty($arrFormData['lastname'][0]) ? contrexx_input2raw($arrFormData['lastname'][0]) : '';
$this->contact->contact_language = !empty($frontendLanguage) ? (int) $frontendLanguage : $_LANGID;
$this->contact->contact_gender = !empty($arrFormData['gender'][0]) ? $arrFormData['gender'][0] == 'gender_female' ? 1 : ($arrFormData['gender'][0] == 'gender_male' ? 2 : '') : '';
$this->contact->contactType = 2;
$this->contact->datasource = 2;
$this->contact->account_id = $userAccountId;
//set profile picture
if (!empty($arrFormData['picture'][0])) {
$picture = $arrFormData['picture'][0];
$cx = \Cx\Core\Core\Controller\Cx::instanciate();
if (!file_exists($cx->getWebsiteImagesCrmProfilePath() . '/' . $picture)) {
$file = $cx->getWebsiteImagesAccessProfilePath() . '/';
$newFile = $cx->getWebsiteImagesCrmProfilePath() . '/';
if (copy($file . $picture, $newFile . $picture)) {
if ($this->createThumbnailOfPicture($picture)) {
$this->contact->profile_picture = $picture;
}
}
}
} else {
$this->contact->profile_picture = 'profile_person_big.png';
}
// save current setting values, so we can switch back to them after we got our used settings out of database
$prevSection = \Cx\Core\Setting\Controller\Setting::getCurrentSection();
$prevGroup = \Cx\Core\Setting\Controller\Setting::getCurrentGroup();
$prevEngine = \Cx\Core\Setting\Controller\Setting::getCurrentEngine();
\Cx\Core\Setting\Controller\Setting::init('Crm', 'config');
if ($arrFormData["company"][0] != "") {
$crmCompany = new \Cx\Modules\Crm\Model\Entity\CrmContact();
if ($this->contact->contact_customer != 0) {
$crmCompany->load($this->contact->contact_customer);
}
$crmCompany->customerName = $arrFormData["company"][0];
$crmCompany->contactType = 1;
$customerType = $arrFormData[\Cx\Core\Setting\Controller\Setting::getValue('user_profile_attribute_customer_type', 'Crm')][0];
if ($customerType !== false) {
$crmCompany->customerType = $customerType;
}
$companySize = $arrFormData[\Cx\Core\Setting\Controller\Setting::getValue('user_profile_attribute_company_size', 'Crm')][0];
if ($companySize !== false) {
$crmCompany->companySize = $companySize;
}
$industryType = $arrFormData[\Cx\Core\Setting\Controller\Setting::getValue('user_profile_attribute_industry_type', 'Crm')][0];
if ($industryType !== false) {
$crmCompany->industryType = $industryType;
}
if (isset($arrFormData["phone_office"])) {
$crmCompany->phone = $arrFormData["phone_office"];
}
// store/update the company profile
$crmCompany->save();
// setting & storing the primary email address must be done after
// the company has been saved for the case where the company is
// being added as a new object without having an ID yet
if (empty($crmCompany->email)) {
$crmCompany->email = $this->contact->email;
$crmCompany->storeEMail();
}
$this->contact->contact_customer = $crmCompany->id;
}
if ($this->contact->save()) {
// insert website
if (!empty($arrFormData['website'][0])) {
$webExists = $objDatabase->SelectLimit("SELECT 1 FROM `" . DBPREFIX . "module_{$this->moduleNameLC}_customer_contact_websites` WHERE is_primary = '1' AND contact_id = '{$this->contact->id}'");
$fields = array('url' => $arrFormData['website'][0], 'url_profile' => '1', 'is_primary' => '1', 'contact_id' => $this->contact->id);
if ($webExists) {
$query = \SQL::update("module_{$this->moduleNameLC}_customer_contact_websites", $fields, array('escape' => true)) . " WHERE is_primary = '1' AND `contact_id` = {$this->contact->id}";
} else {
$query = \SQL::insert("module_{$this->moduleNameLC}_customer_contact_websites", $fields, array('escape' => true));
}
$db = $objDatabase->Execute($query);
}
//insert address
if (!empty($arrFormData['address'][0]) || !empty($arrFormData['city'][0]) || !empty($arrFormData['zip'][0]) || !empty($arrFormData['country'][0])) {
$addressExists = $objDatabase->SelectLimit("SELECT 1 FROM `" . DBPREFIX . "module_{$this->moduleNameLC}_customer_contact_address` WHERE is_primary = '1' AND contact_id = '{$this->contact->id}'");
$country = \Cx\Core\Country\Controller\Country::getById($arrFormData['country'][0]);
if ($addressExists && $addressExists->RecordCount()) {
$query = "UPDATE `" . DBPREFIX . "module_{$this->moduleNameLC}_customer_contact_address` SET\n address = '" . contrexx_input2db($arrFormData['address'][0]) . "',\n city = '" . contrexx_input2db($arrFormData['city'][0]) . "',\n zip = '" . contrexx_input2db($arrFormData['zip'][0]) . "',\n country = '" . $country['name'] . "',\n Address_Type = '2'\n WHERE is_primary = '1' AND contact_id = '{$this->contact->id}'";
} else {
$query = "INSERT INTO `" . DBPREFIX . "module_{$this->moduleNameLC}_customer_contact_address` SET\n address = '" . contrexx_input2db($arrFormData['address'][0]) . "',\n city = '" . contrexx_input2db($arrFormData['city'][0]) . "',\n state = '" . contrexx_input2db($arrFormData['city'][0]) . "',\n zip = '" . contrexx_input2db($arrFormData['zip'][0]) . "',\n country = '" . $country['name'] . "',\n Address_Type = '2',\n is_primary = '1',\n contact_id = '{$this->contact->id}'";
//.........这里部分代码省略.........
示例2: testGetAndSetSectionEngine
public function testGetAndSetSectionEngine()
{
\DBG::log('*** testGetAndSetSectionEngine ***');
Setting::init('MultiSiteTest', null, 'Database');
$oEngine = Setting::getSectionEngine();
$this->assertEquals('MultiSiteTest', Setting::getCurrentSection());
$this->assertEquals('Database', Setting::getCurrentEngine());
Setting::init('MultiSiteTest', null, 'Database');
Setting::setSectionEngine($oEngine, Setting::REPOPULATE);
$oTestEngine = Setting::getSectionEngine();
$this->assertEquals($oEngine, $oTestEngine);
}