function portal_get_module_fields($session, $module_name) { global $beanList, $beanFiles, $portal_modules, $valid_modules_for_contact; $error = new SoapError(); $module_fields = array(); if (!portal_validate_authenticated($session)) { $error->set_error('invalid_session'); $error->description .= $session; return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } if ($_SESSION['type'] == 'lead' && $module_name != 'Leads') { $error->set_error('no_access'); return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } if (empty($beanList[$module_name])) { $error->set_error('no_module'); return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } if (($_SESSION['type'] == 'portal' || $_SESSION['type'] == 'contact') && !key_exists($module_name, $valid_modules_for_contact)) { $error->set_error('no_module'); return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } $class_name = $beanList[$module_name]; require_once $beanFiles[$class_name]; $seed = new $class_name(); $seed->fill_in_additional_detail_fields(); $returnFields = get_return_module_fields($seed, $module_name, $error->get_soap_array(), true); if (is_subclass_of($seed, 'Person')) { $returnFields['module_fields']['email1'] = array('name' => 'email1', 'type' => 'email', 'required' => 0, 'label' => translate('LBL_EMAIL_ADDRESS', $seed->module_dir)); $returnFields['module_fields']['email_opt_out'] = array('name' => 'email_opt_out', 'type' => 'bool', 'required' => 0, 'label' => translate('LBL_EMAIL_OPT_OUT', $seed->module_dir), 'options' => array()); } //if return $returnFields; }
/** * Retrieve vardef information on the fields of the specified bean. * * @param String $session -- Session ID returned by a previous call to login. * @param String $module_name -- The name of the module to return records from. This name should be the name the module was developed under (changing a tab name is studio does not affect the name that should be passed into this method).. * @return Array 'module_fields' -- The vardef information on the selected fields. * 'error' -- The SOAP error, if any */ function get_module_fields($session, $module_name) { global $beanList, $beanFiles; $error = new SoapError(); $module_fields = array(); if (!validate_authenticated($session)) { $error->set_error('invalid_session'); return array('module_fields' => $module_fields, 'error' => $error->get_soap_array()); } if (empty($beanList[$module_name])) { $error->set_error('no_module'); return array('module_fields' => $module_fields, 'error' => $error->get_soap_array()); } global $current_user; if (!check_modules_access($current_user, $module_name, 'read')) { $error->set_error('no_access'); return array('module_fields' => $module_fields, 'error' => $error->get_soap_array()); } $class_name = $beanList[$module_name]; if (empty($beanFiles[$class_name])) { $error->set_error('no_file'); return array('module_fields' => $module_fields, 'error' => $error->get_soap_array()); } require_once $beanFiles[$class_name]; $seed = new $class_name(); if ($seed->ACLAccess('ListView', true) || $seed->ACLAccess('DetailView', true) || $seed->ACLAccess('EditView', true)) { return get_return_module_fields($seed, $module_name, $error); } else { $error->set_error('no_access'); return array('module_fields' => $module_fields, 'error' => $error->get_soap_array()); } }
function portal_get_module_fields($session, $module_name) { global $beanList, $beanFiles, $portal_modules, $valid_modules_for_contact; $error = new SoapError(); $module_fields = array(); if (!portal_validate_authenticated($session)) { $error->set_error('invalid_session'); $error->description .= $session; return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } if ($_SESSION['type'] == 'lead' && $module_name != 'Leads') { $error->set_error('no_access'); return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } if (empty($beanList[$module_name])) { $error->set_error('no_module'); return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } if (($_SESSION['type'] == 'portal' || $_SESSION['type'] == 'contact') && !key_exists($module_name, $valid_modules_for_contact)) { $error->set_error('no_module'); return array('module_name' => $module_name, 'module_fields' => $module_fields, 'error' => $error->get_soap_array()); } $class_name = $beanList[$module_name]; require_once $beanFiles[$class_name]; $seed = new $class_name(); $seed->fill_in_additional_detail_fields(); return get_return_module_fields($seed, $module_name, $error->get_soap_array()); }