uawdijnntqw1x1x1
IP : 216.73.216.183
Hostname : webm007.cluster114.gra.hosting.ovh.net
Kernel : Linux webm007.cluster114.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
locationbo
/
www
/
cli
/
..
/
libraries
/
foxcontact
/
struct
/
..
/
form
/
form.php
/
/
<?php defined('_JEXEC') or die(file_get_contents('index.html')); /** * @package Fox Contact for Joomla * @copyright Copyright (c) 2010 - 2015 Demis Palma. All rights reserved. * @license Distributed under the terms of the GNU General Public License GNU/GPL v3 http://www.gnu.org/licenses/gpl-3.0.html * @see Documentation: http://www.fox.ra.it/forum/2-documentation.html */ jimport('foxcontact.design.root'); jimport('foxcontact.form.board'); jimport('foxcontact.html.resource'); jimport('foxcontact.action.target'); jimport('foxcontact.message.render'); jimport('foxcontact.document.loader'); class FoxFormForm { private static $action_names = array('jmessenger', 'database', 'newsletter', 'email_admin', 'email_user', 'onscreen'); private static $resources = array(); private $scope, $id, $uid, $params, $version, $design; private $iid; private $data, $board; private $actions, $render; public function __construct($scope, $id, $params, $version) { $this->scope = $scope; $this->id = $id; $this->uid = substr($scope, 0, 1) . $id; $this->params = $params; $this->version = $version; $this->design = FoxDesignRoot::parse($params->get('design')); $default_data = array('hash' => $this->design->getHash()); $saved_data = JFactory::getSession()->get("form_{$this->uid}", $default_data, 'com_foxcontact'); $this->iid = !isset($saved_data['iid']) ? uniqid('F', true) : $saved_data['iid']; if (!isset($saved_data['hash']) || $saved_data['hash'] !== $this->design->getHash()) { $this->delete(); $saved_data = $default_data; } $this->data = isset($saved_data['data']) ? $saved_data['data'] : array(); $this->board = new FoxFormBoard(isset($saved_data['board']) ? $saved_data['board'] : array()); $this->design->setFormInfo($this->uid, $this->data); } public function getScope() { return $this->scope; } public function getId() { return $this->id; } public function getUid() { return $this->uid; } public function getParams() { return $this->params; } public function getVersion() { return $this->version; } public function getDesign() { return $this->design; } public function getInstanceId() { return $this->iid; } public function &getData() { return $this->data; } public function getName() { $name = $this->getDesign()->getFoxDesignItemByType('name'); return !is_null($name) ? $name->getValue() : ''; } public function getEmail() { $email = $this->getDesign()->getFoxDesignItemByType('email'); return !is_null($email) ? $email->getValue() : ''; } public function getBoard() { return $this->board; } public function update(array $post_data) { foreach ($this->getDesign()->getItems() as $item) { $item->update($post_data); } } public function onBeforeRender() { $this->addSystemResources(); $this->addFormResources(); foreach ($this->getDesign()->getItems() as $item) { $this->addItemResources($item); $item->onBeforeRender($this); } if (strpos($this->version, 'beta')) { $this->getBoard()->add(JText::_('COM_FOXCONTACT_WARNING_BETA_VERSION'), FoxFormBoard::info, true); } $this->board->onBeforeRender(); } private function addSystemResources() { if (!isset(self::$resources['form'])) { JHtml::_('jquery.framework'); JHtml::_('bootstrap.framework'); JHtml::_('behavior.keepalive'); FoxDocumentLoader::getInstance($this->getUid())->addResource(array('root' => 'components', 'name' => 'foxtext', 'type' => 'js')); self::$resources['form'] = true; } } private function addFormResources() { $fox_document_loader = FoxDocumentLoader::getInstance($this->getUid()); $fox_document_loader->addResource(array('root' => 'media', 'name' => 'foxcontact', 'type' => 'css')); $stylesheet = $this->getDesign()->get('option.form.style', 'bootstrap.css'); $stylesheet = preg_replace('/\\.[^.\\s]{3,4}$/', '', $stylesheet); if (!empty($stylesheet)) { $fox_document_loader->addResource(array('root' => 'components', 'name' => $stylesheet, 'type' => 'css')); } } private function addItemResources($item) { if (!isset(self::$resources[$item->getType()])) { $item->addResources(JFactory::getDocument()); self::$resources[$item->getType()] = true; } } public function onAfterRender() { foreach ($this->getDesign()->getItems() as $item) { $item->onAfterRender(); } $this->board->onAfterRender(); if ($this->board->getDeleteFormStateAfterRender()) { $this->delete(); } else { if ($this->board->isValidated() || !empty($this->data)) { $this->save(); } } } public function validate(&$messages) { $messages = array(); foreach ($this->getDesign()->getItems() as $item) { $item->validate($messages); } return count($messages) === 0; } public function process($target) { foreach ($this->getDesign()->getItems() as $item) { if (method_exists($item, 'onBeforeProcess')) { $item->onBeforeProcess($target); } } foreach ($this->getActions() as $action) { if (!$action->process($target)) { return false; } } foreach ($this->getDesign()->getItems() as $item) { if (method_exists($item, 'onAfterProcess')) { $item->onAfterProcess($target); } } return true; } private function getActions() { if (is_null($this->actions)) { $this->actions = array(); foreach (self::$action_names as $action_name) { jimport("foxcontact.action.{$action_name}"); $class_name = 'FoxAction' . str_replace('_', '', $action_name); $this->actions[] = new $class_name($this, $this->params); } } return $this->actions; } public function getMessageRender($render_is_for_user = true) { if (is_null($this->render)) { $this->render = new FoxMessageRender($this); } $this->render->setRenderIsForUser($render_is_for_user); return $this->render; } public function save() { JFactory::getSession()->set("form_{$this->uid}", array('iid' => $this->iid, 'hash' => $this->design->getHash(), 'data' => $this->getData(), 'board' => $this->board->getData()), 'com_foxcontact'); } public function delete() { JFactory::getSession()->clear("form_{$this->uid}", 'com_foxcontact'); } }
/home/locationbo/www/cli/../libraries/foxcontact/struct/../form/form.php