/** * Processes the request. * * @param object $page CRM_Core_Form the current form-page * @param string $actionName Current action name, as one Action object can serve multiple actions * * @return void * @access public */ function perform(&$page, $actionName) { $pageName = $page->getAttribute('id'); // If the original action was 'display' and we have values in container then we load them // BTW, if the page was invalid, we should later call validate() to get the errors list(, $oldName) = $page->controller->getActionName(); if ('display' == $oldName) { // If the controller is "modal" we should not allow direct access to a page // unless all previous pages are valid (see also bug #2323) if ($page->controller->isModal() && !$page->controller->isValid($page->getAttribute('id'))) { $target =& $page->controller->getPage($page->controller->findInvalid()); return $target->handle('jump'); } $data =& $page->controller->container(); if (!empty($data['values'][$pageName])) { $page->loadValues($data['values'][$pageName]); $validate = FALSE === $data['valid'][$pageName]; } } // set "common" defaults and constants $page->controller->applyDefaults($pageName); $page->isFormBuilt() or $page->buildForm(); // if we had errors we should show them again if (isset($validate) && $validate) { $page->validate(); } //will this work generally as TRUE (i.e., return output) //was default, i.e., FALSE return $this->renderForm($page); }
/** * Check the PDO driver * * @param string $name * @param bool $exception * * @return bool */ protected function checkPdoDriver($name = false, $exception = false) { if ($name === false) { $name = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME); } if (array_search($name, $this->pdo->getAvailableDrivers()) === false) { if ($exception) { throw new PDOException("PDO does not support any driver."); } return false; } return true; }
/** * reWriteURL - can using the config option 'url_rewrite' * format "from:to,from:to" * only handle left rewrite. * so * "/images:/myroot/images" * would change * /images/xyz.gif to /myroot/images/xyz.gif * /images/stylesheet/imagestyles.css to /myroot/images/stylesheet/imagestyles.css * note /imagestyles did not get altered. * will only work on strings (forget about doing /images/{someimage} * * * @param string attribute to rewrite * @return none * @access public */ function reWriteURL($which) { global $_HTML_TEMPLATE_FLEXY; if (!is_string($original = $this->element->getAttribute($which))) { return; } if ($original == '') { return; } if (empty($_HTML_TEMPLATE_FLEXY['currentOptions']['url_rewrite'])) { return; } $bits = explode(",", $_HTML_TEMPLATE_FLEXY['currentOptions']['url_rewrite']); $new = $original; foreach ($bits as $bit) { if (!strlen(trim($bit))) { continue; } $parts = explode(':', $bit); if (!isset($parts[1])) { return HTML_Template_Flexy::staticRaiseError('HTML_Template_Flexy: url_rewrite syntax incorrect' . print_r(array($bits, $bits), true), null, HTML_TEMPLATE_FLEXY_ERROR_DIE); } $new = preg_replace('#^' . $parts[0] . '#', $parts[1], $new); } if ($original == $new) { return; } $this->element->ucAttributes[$which] = '"' . $new . '"'; }
/** * Construct * * @param string $type the crud type * @param object $db the sql object */ public function __construct($type, $db) { $this->db = $db; //get a new factory $factory = new QueryFactory($db->getAttribute(PDO::ATTR_DRIVER_NAME)); $this->query = call_user_func([$factory, 'new' . ucfirst($type)]); }
/** * Called by HTML_QuickForm whenever form event is made on this element * * @param string $event Name of event * @param mixed $arg event arguments * @param object $caller calling object * @since 1.0 * @access public * @return void */ function onQuickFormEvent($event, $arg, &$caller) { switch ($event) { case 'createElement': $this->_formid = $caller->getAttribute('id'); break; } return parent::onQuickFormEvent($event, $arg, $caller); }
/** * Processes the request. * * @param object $page CRM_Core_Form the current form-page * @param string $actionName Current action name, as one Action object can serve multiple actions * * @return void * @access public */ function perform(&$page, $actionName) { // save the form values and validation status to the session $page->isFormBuilt() or $page->buildForm(); $pageName = $page->getAttribute('name'); $data =& $page->controller->container(); $data['values'][$pageName] = $page->exportValues(); return $page->handle('display'); }
/** * Normalizes an object into a set of arrays/scalars * * @param object $object object to normalize * @param string $format format the normalization result will be encoded as * @param array $context Context options for the normalizer * * @return array|scalar */ public function normalize($object, $format = null, array $context = []) { $attributeCode = strtolower($context['attributeCodeMapping']->getTarget($object->getAttribute()->getCode())); if ($this->isValueNormalizable($object, $context['identifier'], $attributeCode, $context['scopeCode'], $context['localeCode'], $context['onlyLocalized'])) { return $this->getNormalizedValue($object, $attributeCode, $context['magentoAttributes'], $context['magentoAttributesOptions'], $context['attributeCodeMapping'], $context['currencyCode']); } else { return null; } }
/** * @param object $attributeOption * @param Constraint $constraint */ public function validate($attributeOption, Constraint $constraint) { /** @var AttributeOptionInterface */ if ($attributeOption instanceof AttributeOptionInterface) { $attribute = $attributeOption->getAttribute(); $authorizedTypes = [AttributeTypes::OPTION_SIMPLE_SELECT, AttributeTypes::OPTION_MULTI_SELECT]; if (!in_array($attribute->getAttributeType(), $authorizedTypes)) { $this->addInvalidAttributeViolation($constraint, $attributeOption); } } }
/** * Method to display details about the target server's database connected * * @access public static * @param void * @return void */ public static function showServerInfo() { try { if (self::$instance instanceof \PDO) { $driver = self::getDriver(); $info = $driver == 'sqlite' || $driver == 'mssql' ? 'not available' : self::$instance->getAttribute(\PDO::ATTR_SERVER_INFO); echo '<h7>Server Information - ', is_array($info) ? implode(', ', $info) : $info, '</h7>'; } else { throw new \PDOException(self::$exception['no-instance']); } } catch (\PDOException $e) { self::stackTrace($e); } }
/** * 构造方法 * * 用于初始化运行环境,或对基本变量进行赋值 * * @access public * * @param array $params 数据库连接参数,如主机名,数据库用户名,密码等 * * @return boolean */ public function __construct($params = array()) { //参数分析 if (!$params['dsn']) { Controller::halt('database config params error!', 'Normal'); } $params += $this->_defaultConfig; //数据库连接 try { $flags = array(PDO::ATTR_PERSISTENT => $params['persistency'], PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION); //实例化数据库连接 $this->_dbLink = new PDO($params['dsn'], $params['username'], $params['password'], $flags); } catch (PDOException $exception) { //当调试模式关闭时 if (DOIT_DEBUG === false) { //记录错误日志 Log::write("Database server connect error! Error Code:{$exception->getCode()} Error Message:{$exception->getMessage()}", 'Warning'); //提示错误信息 Controller::showMsg('数据库连接失败!'); } //抛出异常信息 throw new DoitException('Database connect error!<br/>' . $exception->getMessage(), $exception->getCode()); } //设置数据编码 $driverName = $this->_dbLink->getAttribute(PDO::ATTR_DRIVER_NAME); switch ($driverName) { case 'mysql': case 'pgsql': $this->_dbLink->exec("SET NAMES {$params['charset']}"); break; case 'sqlsrv': $this->_dbLink->setAttribute(PDO::SQLSRV_ATTR_ENCODING, $params['charset']); break; } return true; }
/** * @param object $productValue * @param Constraint $constraint */ public function validate($productValue, Constraint $constraint) { /** @var ProductValueInterface */ if ($productValue instanceof ProductValueInterface) { $isLocalizable = $productValue->getAttribute()->isLocalizable(); $localeCode = $productValue->getLocale(); if ($isLocalizable && null === $localeCode) { $this->addExpectedLocaleViolation($constraint, $productValue); } elseif ($isLocalizable && !$this->doesLocaleExist($localeCode)) { $this->addUnexistingLocaleViolation($constraint, $productValue, $localeCode); } elseif (!$isLocalizable && null !== $localeCode) { $this->addUnexpectedLocaleViolation($constraint, $productValue); } } }
/** * Processes the request. * * @param object $page CRM_Core_Form the current form-page * @param string $actionName Current action name, as one Action object can serve multiple actions * * @return void * @access public */ function perform(&$page, $actionName) { $page->isFormBuilt() or $page->buildForm(); $pageName = $page->getAttribute('name'); $data =& $page->controller->container(); $data['values'][$pageName] = $page->exportValues(); $data['valid'][$pageName] = $page->validate(); // Modal form and page is invalid: don't go further if ($page->controller->isModal() && !$data['valid'][$pageName]) { return $page->handle('display'); } // the page is valid, process it before we jump to the next state $page->mainProcess(); return $page->handle('display'); }
/** * @param object $productValue * @param Constraint $constraint */ public function validate($productValue, Constraint $constraint) { /** @var ProductValueInterface */ if ($productValue instanceof ProductValueInterface) { $isScopable = $productValue->getAttribute()->isScopable(); $channelCode = $productValue->getScope(); if ($isScopable && null === $channelCode) { $this->addExpectedScopeViolation($constraint, $productValue); } elseif ($isScopable && !$this->doesChannelExist($channelCode)) { $this->addUnexistingScopeViolation($constraint, $productValue, $channelCode); } elseif (!$isScopable && null !== $channelCode) { $this->addUnexpectedScopeViolation($constraint, $productValue); } } }
/** * Processes the request. * this is basically a self submit, so validate the page * and if success, call post process * when done processing pop to user context * * @param object $page CRM_Core_Form the current form-page * @param string $actionName Current action name, as one Action object can serve multiple actions * * @return void * @access public */ function perform(&$page, $actionName) { $page->isFormBuilt() or $page->buildForm(); $pageName = $page->getAttribute('name'); $data =& $page->controller->container(); $data['values'][$pageName] = $page->exportValues(); $data['valid'][$pageName] = $page->validate(); // Modal form and page is invalid: don't go further if ($page->controller->isModal() && !$data['valid'][$pageName]) { return $page->handle('display'); } // the page is valid, process it before we jump to the next state $page->mainProcess(); // ok so we are done now, pop stack and jump back to where we came from // we do not reset the context because u can achieve that affect using next // use Done when u want to pop back to the same context without a reset $this->popUserContext(); }
/** * Processes the request. * * @param object $page CRM_Core_Form the current form-page * @param string $actionName Current action name, as one Action object can serve multiple actions * * @return void * @access public */ function perform(&$page, $actionName) { // check whether the page is valid before trying to go to it if ($page->controller->isModal()) { // we check whether *all* pages up to current are valid // if there is an invalid page we go to it, instead of the // requested one $pageName = $page->getAttribute('id'); if (!$page->controller->isValid($pageName)) { $pageName = $page->controller->findInvalid(); } $current =& $page->controller->getPage($pageName); } else { $current =& $page; } // generate the URL for the page 'display' event and redirect to it $action = $current->getAttribute('action'); $url = $action . (FALSE === strpos($action, '?') ? '?' : '&') . $current->getButtonName('display') . '=true' . '&qfKey=' . $page->get('qfKey'); CRM_Utils_System::redirect($url); }
/** * Processes the request. * * @param object $page CRM_Core_Form the current form-page * @param string $actionName Current action name, as one Action object can serve multiple actions * * @return void * @access public */ function perform(&$page, $actionName) { $page->isFormBuilt() or $page->buildForm(); $pageName = $page->getAttribute('name'); $data =& $page->controller->container(); $data['values'][$pageName] = $page->exportValues(); $data['valid'][$pageName] = $page->validate(); // Modal form and page is invalid: don't go further if ($page->controller->isModal() && !$data['valid'][$pageName]) { return $page->handle('display'); } // the page is valid, process it before we jump to the next state $page->mainProcess(); // check if destination is set, if so goto destination $destination = $this->_stateMachine->getDestination(); if ($destination) { $destination = urldecode($destination); CRM_Utils_System::redirect($destination); } else { return $page->handle('display'); } }
private function filter($table, $info) { $driver = $this->db->getAttribute(\PDO::ATTR_DRIVER_NAME); if ($driver == 'sqlite') { $sql = "PRAGMA table_info('" . $table . "');"; $key = "name"; } elseif ($driver == 'mysql') { $sql = "DESCRIBE " . $table . ";"; $key = "Field"; } else { $sql = "SELECT column_name FROM information_schema.columns WHERE table_name = '" . $table . "';"; $key = "column_name"; } if (false !== ($list = $this->init($sql))) { $fields = array(); foreach ($list as $record) { $fields[] = $record[$key]; } return array_values(array_intersect($fields, array_keys($info))); } return array(); }
/** * testLoadConfig method * * @return void */ public function testLoadConfig() { $path = CAKE . 'Test' . DS . 'test_app' . DS . 'Config' . DS; $result = $this->Html->loadConfig('htmlhelper_tags', $path); $expected = array('tags' => array('form' => 'start form', 'formend' => 'finish form')); $this->assertEquals($expected, $result); $tags = $this->Html->getAttribute('_tags'); $this->assertEquals('start form', $tags['form']); $this->assertEquals('finish form', $tags['formend']); $this->assertEquals('</select>', $tags['selectend']); $result = $this->Html->loadConfig(array('htmlhelper_minimized.ini', 'ini'), $path); $expected = array('minimizedAttributeFormat' => 'format'); $this->assertEquals($expected, $result); $this->assertEquals('format', $this->Html->getAttribute('_minimizedAttributeFormat')); }
/** * @param object $element * @param mixed $required * @param mixed $error */ function renderElement(&$element, $required, $error) { //manipulate id of all elements before rendering if (!is_null($element->getAttribute('id'))) { $id = $element->getAttribute('id'); } else { $id = $element->getName(); } //strip qf_ prefix and replace '[' with '_' and strip ']' $id = preg_replace(array('/^qf_|\\]/', '/\\[/'), array('', '_'), $id); if (strpos($id, 'id_') !== 0) { $element->updateAttributes(array('id' => 'id_' . $id)); } //adding stuff to place holders in template //check if this is a group element first if ($this->_inGroup and !empty($this->_groupElementTemplate)) { // so it gets substitutions for *each* element $html = $this->_groupElementTemplate; } elseif (method_exists($element, 'getElementTemplateType')) { $html = $this->_elementTemplates[$element->getElementTemplateType()]; } else { $html = $this->_elementTemplates['default']; } if ($this->_showAdvanced) { $advclass = ' advanced'; } else { $advclass = ' advanced hide'; } if (isset($this->_advancedElements[$element->getName()])) { $html = str_replace(' {advanced}', $advclass, $html); } else { $html = str_replace(' {advanced}', '', $html); } if (isset($this->_advancedElements[$element->getName()]) || $element->getName() == 'mform_showadvanced') { $html = str_replace('{advancedimg}', $this->_advancedHTML, $html); } else { $html = str_replace('{advancedimg}', '', $html); } $html = str_replace('{type}', 'f' . $element->getType(), $html); $html = str_replace('{name}', $element->getName(), $html); if (method_exists($element, 'getHelpButton')) { $html = str_replace('{help}', $element->getHelpButton(), $html); } else { $html = str_replace('{help}', '', $html); } if ($this->_inGroup and !empty($this->_groupElementTemplate)) { $this->_groupElementTemplate = $html; } elseif (!isset($this->_templates[$element->getName()])) { $this->_templates[$element->getName()] = $html; } parent::renderElement($element, $required, $error); }
/** * get page's action button * * @author youzhao.zxw<*****@*****.**> * @param string $infoType bug,case or result * @param string $actionType page's action now * @param object $model basic info attributes * @return string button list html str */ public static function getButtonList($infoType, $actionType, $model) { $listStr = ''; $infoStatus = $model->getAttribute($infoType . '_status'); $needToConfirmStr = '$needToConfirm = false;'; if ('view' == $actionType) { $preId = ''; $nextId = ''; $preDisabled = 'disabled'; $nextDisabled = 'disabled'; $listStr .= '<span id="preNextSpan">'; $listStr .= CHtml::button(Yii::t('Common', 'Previous') . '(P)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'id' => $preId)) . '"', 'class' => 'btn', 'disabled' => $preDisabled, 'accesskey' => 'P')); $listStr .= CHtml::button(Yii::t('Common', 'Next') . '(N)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'id' => $nextId)) . '"', 'class' => 'btn', 'disabled' => $nextDisabled, 'accesskey' => 'N')); $listStr .= '</span>'; $listStr .= ' '; if (Info::TYPE_BUG == $infoType) { if (BugInfo::STATUS_ACTIVE == $infoStatus) { $listStr .= CHtml::button(Yii::t('BugInfo', 'opened_edit') . '(E)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'action' => BugInfo::ACTION_OPEN_EDIT, 'id' => $model->id)) . '"', 'class' => 'btn', 'accesskey' => 'E')); } else { $listStr .= CHtml::button(Yii::t('BugInfo', strtolower($infoStatus) . '_edit') . '(E)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'action' => strtolower($infoStatus) . '_edit', 'id' => $model->id)) . '"', 'class' => 'btn', 'accesskey' => 'E')); } } else { $listStr .= CHtml::button(Yii::t('BugInfo', 'opened_edit') . '(E)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'action' => BugInfo::ACTION_OPEN_EDIT, 'id' => $model->id)) . '"', 'class' => 'btn', 'accesskey' => 'E')); } if (Info::TYPE_RESULT != $infoType) { $listStr .= CHtml::button(Yii::t('Common', 'Copy') . '(C)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'action' => BugInfo::ACTION_OPEN, 'source_id' => $model->id)) . '"', 'class' => 'btn', 'accesskey' => 'C')); } if (Info::TYPE_BUG == $infoType) { $listStr .= CHtml::button(Yii::t('BugInfo', BugInfo::ACTION_NEW_CASE) . '(S)', array('onclick' => $needToConfirmStr . 'openWindow("' . Yii::app()->createUrl('info/edit', array('type' => Info::TYPE_CASE, 'action' => CaseInfo::ACTION_OPEN, 'bug_id' => $model->id)) . '","_blank")', 'class' => 'btn', 'accesskey' => 'S')); $disableResolve = 'disabled'; if (BugInfo::STATUS_ACTIVE == $infoStatus && 'view' == $actionType) { $disableResolve = ''; } $listStr .= CHtml::button(Yii::t('BugInfo', BugInfo::ACTION_RESOLVE) . '(R)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'action' => BugInfo::ACTION_RESOLVE, 'id' => $model->id)) . '"', 'class' => 'btn', 'disabled' => $disableResolve, 'accesskey' => 'R')); $disableClose = 'disabled'; if (BugInfo::STATUS_RESOLVED == $infoStatus && 'view' == $actionType) { $disableClose = ''; } $listStr .= CHtml::button(Yii::t('BugInfo', BugInfo::ACTION_CLOSE) . '(L)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'action' => BugInfo::ACTION_CLOSE, 'id' => $model->id)) . '"', 'class' => 'btn', 'disabled' => $disableClose, 'accesskey' => 'L')); $disableActive = 'disabled'; if ((BugInfo::STATUS_CLOSED == $infoStatus || BugInfo::STATUS_RESOLVED == $infoStatus) && 'view' == $actionType) { $disableActive = ''; } $listStr .= CHtml::button(Yii::t('BugInfo', BugInfo::ACTION_ACTIVATE) . '(A)', array('onclick' => $needToConfirmStr . 'location.href="' . Yii::app()->createUrl('info/edit', array('type' => $infoType, 'action' => BugInfo::ACTION_ACTIVATE, 'id' => $model->id)) . '"', 'class' => 'btn', 'disabled' => $disableActive, 'accesskey' => 'A')); } elseif (Info::TYPE_CASE == $infoType) { $listStr .= CHtml::button(Yii::t('CaseInfo', CaseInfo::ACTION_RUN) . '(R)', array('onclick' => $needToConfirmStr . 'openWindow("' . Yii::app()->createUrl('info/edit', array('type' => Info::TYPE_RESULT, 'action' => ResultInfo::ACTION_OPEN, 'case_id' => $model->id)) . '","_blank")', 'class' => 'btn', 'accesskey' => 'R')); $listStr .= CHtml::button(Yii::t('CaseInfo', CaseInfo::ACTION_STEP_RUN) . '(S)', array('onclick' => $needToConfirmStr . 'openWindow("' . Yii::app()->createUrl('info/edit', array('type' => Info::TYPE_RESULT, 'action' => ResultInfo::ACTION_OPEN, 'case_id' => $model->id, 'step_run' => 1)) . '","_blank")', 'class' => 'btn', 'accesskey' => 'S')); } elseif (Info::TYPE_RESULT == $infoType) { $listStr .= CHtml::button(Yii::t('ResultInfo', ResultInfo::ACTION_OPEN) . '(B)', array('onclick' => $needToConfirmStr . 'openWindow("' . Yii::app()->createUrl('info/edit', array('type' => Info::TYPE_BUG, 'action' => BugInfo::ACTION_OPEN, 'result_id' => $model->id)) . '","_blank")', 'class' => 'btn', 'accesskey' => 'B')); } } else { $listStr = CHtml::button(Yii::t('Common', 'Save') . '(S)', array('onclick' => $needToConfirmStr . 'submitForm();', 'class' => 'btn', 'accesskey' => 'S')); if ('result' != $infoType) { $listStr .= ' '; $listStr .= CHtml::button(Yii::t('Common', 'Save as template') . '(T)', array('onclick' => $needToConfirmStr . '$("#template_dialog").dialog("open"); return false;', 'class' => 'btn', 'style' => 'width:120px;', 'accesskey' => 'T')); } } return $listStr; }
/** * Add from a node. * * @param object $phar The Phar class. * @param object $node The node to add. * @param string $prefix The prefix of the structure. * * @return void */ function buildFromNode(&$phar, $node, $prefix = '') { $nodeName = $node->nodeName; if ($nodeName !== 'dir' && $nodeName !== 'file') { // Invalid node. return; } $path = $prefix . $node->getAttribute('name'); if ($node->getAttribute('role') === 'php' || $node->getAttribute('role') === 'data') { $path = ltrim($path, '/'); $phar->addFile(realpath(__DIR__ . '/../' . $path), $path); $phar[$path]->compress(Phar::GZ); } if ($nodeName === 'dir') { // Descend into the depths. $path = rtrim($path, '/') . '/'; $children = $node->childNodes; $childLn = $children->length; for ($c = 0; $c < $childLn; $c++) { $child = $children->item($c); buildFromNode($phar, $child, $path); } } }
/** * get or create attribute data for given object * * @param object $object * @return \Shopware\Models\Attribute\OrderDetail * @throws Exception */ public function getOrCreateAttribute($object) { if ($attribute = $object->getAttribute()) { return $attribute; } if ($object instanceof Shopware\Models\Order\Order) { if (!($attribute = Shopware()->Models()->getRepository('Shopware\\Models\\Attribute\\Order')->findOneBy(array('orderId' => $object->getId())))) { $attribute = new Shopware\Models\Attribute\Order(); } } elseif ($object instanceof Shopware\Models\Order\Detail) { if (!($attribute = Shopware()->Models()->getRepository('Shopware\\Models\\Attribute\\OrderDetail')->findOneBy(array('orderDetailId' => $object->getId())))) { $attribute = new Shopware\Models\Attribute\OrderDetail(); } } else { throw new Exception('Unknown attribute base class'); } $object->setAttribute($attribute); return $attribute; }
/** * do a state transition jump. Currently only supported types are * Next and Back. The other actions (Cancel, Done, Submit etc) do * not need the state machine to figure out where to go * * @param object $page CRM_Core_Form the current form-page * @param string $actionName Current action name, as one Action object can serve multiple actions * @param string $type The type of transition being requested (Next or Back) * * @return void * @access public */ function perform(&$page, $actionName, $type = 'Next') { // save the form values and validation status to the session $page->isFormBuilt() or $page->buildForm(); $pageName = $page->getAttribute('name'); $data =& $page->controller->container(); $data['values'][$pageName] = $page->exportValues(); $data['valid'][$pageName] = $page->validate(); // if we are going to the next state // Modal form and page is invalid: don't go further if ($type == 'Next' && !$data['valid'][$pageName]) { return $page->handle('display'); } $state =& $this->_states[$pageName]; // dont know how or why we landed here so abort and display // current page if (empty($state)) { return $page->handle('display'); } // the page is valid, process it if we are jumping to the next state if ($type == 'Next') { $page->mainProcess(); // we get the state again, since postProcess might have changed it // this bug took me forever to find :) Lobo $state =& $this->_states[$pageName]; $state->handleNextState($page); } else { $state->handleBackState($page); } }
/** * Get 'content', depending on the type * * @param array &$args the array to which the content is to be appended * @param object $atom_doc current DOMDocument * @param object $node the 'content' node * @todo I guess we could at least support 'text/plain', 'text/html', etc. */ function WS_getContent(&$args, $atom_doc, $node) { $type = (string) $node->getAttribute('type'); if (empty($type)) { $type = 'text'; } switch ($type) { case 'text': case 'text/plain': $args['content'] = (string) $node->nodeValue; $args['content_type'] = 'text'; break; case 'html': case 'text/html': $args['content'] = (string) $node->nodeValue; $args['content_type'] = 'html'; break; case 'xhtml': /* The XHTML div element itself MUST NOT be considered part of the * content. -- RFC 4287, 3.1.1.3. XHTML */ $div = $node->firstChild; if ($div->nodeName == 'div' || $div->nodeName == 'xhtml:div') { $args['content'] = ''; foreach ($div->childNodes as $item) { $args['content'] .= $atom_doc->saveXML($item); } $args['content_type'] = 'html'; // it's all the same to us ... } elseif ($div->nodeType == XML_TEXT_NODE) { // hack for Yulup which sometimes sends Text nodes within the XHTML $args['content'] = trim((string) $node->nodeValue); $args['content_type'] = 'html'; } break; default: // we can't handle any other types yet break; } }
/** * Deal with XUL tags * * @return string | false = html output or ignore (just output the tag) * @access public */ function parseXulTag() { // does it contain any flexy tags?? if ($this->elementUsesDynamic($this->element)) { return false; } return $this->compiler->appendPhp($this->getElementPhp($this->element->getAttribute('ID'))); }
/** * Return a selected attribute * * @param constant The attribute to check. * @return string The value of the attribute. */ function get_attribute($attribute) { $attribute = $this->db->getAttribute(constant("PDO::" . $attribute . "")); return $attribute; }
/** * Set identifier from user object. * * @param \Illuminate\Database\Eloquent\Model|object $user * @param string $attribute * * @return $this */ public function setIdentifierFromUser($user, $attribute = 'email') { return $this->setIdentifier($user->getAttribute($attribute)); }
/** * Get the users current expiration time, OR current timestamp OR future expiration time * * @version 0.6.5 * @since 0.6.5 * @param object $param_data * @return integer $return_data */ private static function getCurrentExpiration($param_data) { $prev_expiration = Device::find()->where(['user_id' => $param_data['user_id']])->one(); // calculate the new expiration time $return_data = isset($prev_expiration) && count($prev_expiration) > 0 ? $prev_expiration->getAttribute('expiration') : time(); // if the form wants to set a new expiratin time if ($param_data->getAttribute('time_amount_id') !== null) { $return_data = $return_data + TimeAmountOptions::find()->where(['id' => $param_data->getAttribute('time_amount_id')])->one()->getAttribute('value'); } return $return_data; }
/** * Update template attribute if it exists, works on already added attributes * * @param object $templateEntity * @param object $attribute * @param object $values */ protected function updateTemplateAttribute($templateEntity, $attribute, $values = []) { if ($attributeEntity = $templateEntity->getAttribute($attribute)) { if ($attributeEntity->getId()) { foreach ($values as $key => $value) { $update = 'set' . ucfirst($key); $attributeEntity->{$update}($value); } $this->entityManager->persist($attributeEntity); } else { $templateEntity->removeAttribute($attributeEntity); } } }
/** * Get attribute from request object * * @param object $request Request object * @param string $name string Name of the attribute * @return string Attribute for $name */ protected function getRequestAttribute($request, $name) { return $request->getAttribute($name); }