/** * Display the view */ public function display($tpl = null) { // Initialiase variables. $this->form = $this->get('Form'); $this->item = $this->get('Item'); $this->state = $this->get('State'); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $this->addToolbar(); $canvas = JArrayHelper::getValue($this->item->params, 'canvas', array()); $blocks = new stdClass(); $b = JArrayHelper::getValue($canvas, 'blocks', array()); $blocks->form = JArrayHelper::getValue($b, 'form', array()); $blocks->list = JArrayHelper::getValue($b, 'list', array()); $blocks->visualization = JArrayHelper::getValue($b, 'visualization', array()); $opts = JArrayHelper::getvalue($canvas, 'options', array()); $tabs = JArrayHelper::getValue($canvas, 'tabs', array('Page 1')); $tabs = $tabs; $d = new stdClass(); $layout = JArrayHelper::getValue($canvas, 'layout', $d); $document = JFactory::getDocument(); $opts = new stdClass(); $opts->tabs = $tabs; $opts->blocks = $blocks; $opts->tabelement = 'packagemenu'; $opts->pagecontainer = 'packagepages'; $opts->layout = $layout; $opts = json_encode($opts); $script = "head.ready(function() {\n\tPackageCanvas = new AdminPackage({$opts})\n});"; $document->addScriptDeclaration($script); parent::display($tpl); }
/** * Display * * @param string $tpl Template * * @return void */ public function display($tpl = null) { FabrikHelperHTML::framework(); $app = JFactory::getApplication(); $input = $app->input; $state = $this->get('State'); $item = $this->get('Item'); $document = JFactory::getDocument(); $srcs = array('media/com_fabrik/js/icons.js', 'media/com_fabrik/js/icongen.js', 'media/com_fabrik/js/canvas.js', 'media/com_fabrik/js/history.js', 'media/com_fabrik/js/keynav.js', 'media/com_fabrik/js/tabs.js', 'media/com_fabrik/js/pages.js', 'media/com_fabrik/js/frontpackage.js'); FabrikHelperHTML::script($srcs); FabrikHelperHTML::stylesheet('media/com_fabrik/css/package.css'); $canvas = $item->params->get('canvas'); // $$$ rob 08/11/2011 test if component name set but still rendering // in option=com_fabrik then we should use fabrik as the package if ($input->get('option') === 'com_fabrik') { $item->component_name = 'fabrik'; } $opts = JArrayHelper::getvalue($canvas, 'options', array()); $tabs = JArrayHelper::getValue($canvas, 'tabs', array('Page 1')); $tabs = json_encode($tabs); $d = new stdClass(); $layout = JArrayHelper::getValue($canvas, 'layout', $d); $layout = json_encode(JArrayHelper::getValue($canvas, 'layout', $d)); $id = $this->get('State')->get('package.id'); $script = "window.addEvent('fabrik.loaded', function() {\n\t\t\tnew FrontPackage({\n\t\ttabs : {$tabs},\n\t\ttabelement : 'packagemenu',\n\t\tpagecontainer : 'packagepages',\n\t\tlayout: {$layout},\n\t\t'packageId': {$id},\n\t\t'package':'{$item->component_name}'\n\t});\n\t\t});"; FabrikHelperHTML::addScriptDeclaration($script); // Force front end templates $this->_basePath = COM_FABRIK_FRONTEND . '/views'; $tmpl = !isset($item->template) ? 'default' : $item->template; $this->addTemplatePath($this->_basePath . '/' . $this->_name . '/tmpl/' . $tmpl); $text = $this->loadTemplate(); FabrikHelperHTML::runConentPlugins($text); echo $text; }
/** * Display the view * * @param string $tpl Template * * @return void */ public function display($tpl = null) { // Initialise variables. JHtml::_('behavior.modal', 'a.modal'); $model = $this->getModel(); $this->form = $this->get('Form'); $this->item = $this->get('Item'); $this->state = $this->get('State'); $this->listform = $this->get('PackageListForm'); // Check for errors. if (count($errors = $this->get('Errors'))) { throw new RuntimeException(implode("\n", $errors), 500); } $this->addToolbar(); $canvas = FArrayHelper::getValue($this->item->params, 'canvas', array()); $blocks = new stdClass(); $b = FArrayHelper::getValue($canvas, 'blocks', array()); $blocks->form = FArrayHelper::getValue($b, 'form', array()); $blocks->list = FArrayHelper::getValue($b, 'list', array()); $blocks->visualization = FArrayHelper::getValue($b, 'visualization', array()); $opts = JArrayHelper::getvalue($canvas, 'options', array()); $d = new stdClass(); $layout = FArrayHelper::getValue($canvas, 'layout', $d); $document = JFactory::getDocument(); $opts = new stdClass(); $opts->blocks = $blocks; $opts->layout = $layout; $opts = json_encode($opts); $this->js = "PackageCanvas = new AdminPackage({$opts});"; $srcs[] = 'administrator/components/com_fabrik/views/package/adminpackage.js'; FabrikHelperHTML::iniRequireJS(); FabrikHelperHTML::script($srcs, $this->js); // Simple layout $this->listOpts = $model->getListOpts(); $this->formOpts = $model->getFormOpts(); $this->selFormOpts = $model->getSelFormOpts(); $this->selListOpts = $model->getSelListOpts(); FabrikAdminHelper::setViewLayout($this); parent::display($tpl); }
function display($tpl = null) { FabrikHelperHTML::framework(); $state = $this->get('State'); $item = $this->get('Item'); $document = JFactory::getDocument(); FabrikHelperHTML::script('media/com_fabrik/js/icons.js', true); FabrikHelperHTML::script('media/com_fabrik/js/icongen.js', true); FabrikHelperHTML::script('media/com_fabrik/js/canvas.js', true); FabrikHelperHTML::script('media/com_fabrik/js/history.js', true); FabrikHelperHTML::script('media/com_fabrik/js/keynav.js', true); FabrikHelperHTML::script('media/com_fabrik/js/tabs.js', true); FabrikHelperHTML::script('media/com_fabrik/js/pages.js', true); FabrikHelperHTML::script('media/com_fabrik/js/frontpackage.js', true); FabrikHelperHTML::stylesheet('media/com_fabrik/css/package.css'); $canvas = $item->params->get('canvas'); $opts = JArrayHelper::getvalue($canvas, 'options', array()); $tabs = JArrayHelper::getValue($canvas, 'tabs', array('Page 1')); $tabs = json_encode($tabs); $d = new stdClass(); $layout = JArrayHelper::getValue($canvas, 'layout', $d); $layout = json_encode(JArrayHelper::getValue($canvas, 'layout', $d)); $id = $this->get('State')->get('package.id'); $script = "head.ready(function() {\r\n\t\t\tnew FrontPackage({\r\n\t\ttabs : {$tabs},\r\n\t\ttabelement : 'packagemenu',\r\n\t\tpagecontainer : 'packagepages',\r\n\t\tlayout: {$layout},\r\n\t\t'packageid':{$id},\r\n\t\t'package':'{$item->component_name}'\r\n\t});\r\n\t\t});"; $document->addScriptDeclaration($script); //force front end templates $this->_basePath = COM_FABRIK_FRONTEND . DS . 'views'; $tmpl = !isset($item->template) ? 'default' : $item->template; $this->addTemplatePath($this->_basePath . DS . $this->_name . DS . 'tmpl' . DS . $tmpl); $text = $this->loadTemplate(); $opt = JRequest::getVar('option'); JRequest::setVar('option', 'com_content'); jimport('joomla.html.html.content'); $text .= '{emailcloak=off}'; $text = JHTML::_('content.prepare', $text); $text = preg_replace('/\\{emailcloak\\=off\\}/', '', $text); JRequest::setVar('option', $opt); echo $text; }
/** * Display the view */ public function display($tpl = null) { // Initialiase variables. JHtml::_('behavior.modal', 'a.modal'); $this->form = $this->get('Form'); $this->item = $this->get('Item'); $this->state = $this->get('State'); $this->listform = $this->get('PackageListForm'); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $this->addToolbar(); $canvas = JArrayHelper::getValue($this->item->params, 'canvas', array()); $blocks = new stdClass(); $b = JArrayHelper::getValue($canvas, 'blocks', array()); $blocks->form = JArrayHelper::getValue($b, 'form', array()); $blocks->list = JArrayHelper::getValue($b, 'list', array()); $blocks->visualization = JArrayHelper::getValue($b, 'visualization', array()); $opts = JArrayHelper::getvalue($canvas, 'options', array()); $tabs = JArrayHelper::getValue($canvas, 'tabs', array('Page 1')); $tabs = $tabs; $d = new stdClass(); $layout = JArrayHelper::getValue($canvas, 'layout', $d); $document = JFactory::getDocument(); $opts = new stdClass(); $opts->tabs = $tabs; $opts->blocks = $blocks; $opts->tabelement = 'packagemenu'; $opts->pagecontainer = 'packagepages'; $opts->layout = $layout; $opts = json_encode($opts); $this->js = "PackageCanvas = new AdminPackage({$opts});\n\t\tnew inline('#packagemenu li span');"; parent::display($tpl); }
/** * generic function to redirect * @param string redirection message to show */ function makeRedirect($msg = null, &$model) { $app = JFactory::getApplication(); if (is_null($msg)) { $msg = JText::_('COM_FABRIK_RECORD_ADDED_UPDATED'); } if ($app->isAdmin()) { if (array_key_exists('apply', $model->_formData)) { $url = "index.php?option=com_fabrik&c=form&task=form&formid=" . JRequest::getInt('formid') . "&listid=" . JRequest::getInt('listid') . "&rowid=" . JRequest::getInt('rowid'); } else { $url = "index.php?option=com_fabrik&c=table&task=viewTable&cid[]=" . $model->_table->id; } $this->setRedirect($url, $msg); } else { if (array_key_exists('apply', $model->_formData)) { $url = "index.php?option=com_fabrik&c=form&view=form&formid=" . JRequest::getInt('formid') . "&rowid=" . JRequest::getInt('rowid') . "&listid=" . JRequest::getInt('listid'); } else { if ($this->isMambot) { //return to the same page //$$$ hugh - this doesn't seem to work if SEF is NOT enabled, just goes to index.php. //$url = JArrayHelper::getValue($_SERVER, 'REQUEST_URI', 'index.php'); $url = JArrayHelper::getvalue($_SERVER, 'HTTP_REFERER', 'index.php'); } else { //return to the page that called the form $url = urldecode(JRequest::getVar('fabrik_referrer', 'index.php', 'post')); } $Itemid = $app->getMenu('site')->getActive()->id; if ($url == '') { $url = "index.php?option=com_fabrik&Itemid={$Itemid}"; } } $config = JFactory::getConfig(); if ($config->get('sef')) { $url = JRoute::_($url); } $this->setRedirect($url, $msg); } }
/** * generic function to redirect * @param string redirection message to show */ function makeRedirect($msg = null, &$model) { $app =& JFactory::getApplication(); if (is_null($msg)) { $msg = JText::_('RECORD ADDED/UPDATED'); } if ($app->isAdmin()) { if (array_key_exists('apply', $model->_formData)) { $url = "index.php?option=com_fabrik&c=form&task=form&fabrik=" . JRequest::getInt('fabrik') . "&tableid=" . JRequest::getInt('tableid') . "&rowid=" . JRequest::getInt('rowid'); } else { $url = "index.php?option=com_fabrik&c=table&task=viewTable&cid[]=" . $model->_table->id; } $this->setRedirect($url, $msg); } else { if (array_key_exists('apply', $model->_formData)) { $url = "index.php?option=com_fabrik&c=form&view=form&fabrik=" . JRequest::getInt('fabrik') . "&rowid=" . JRequest::getInt('rowid') . "&tableid=" . JRequest::getInt('tableid') . '&Itemid=' . JRequest::getInt('Itemid'); // $$$ hugh - Seems to be causing 404's when SEF'ing. Temporarily commenting it out. //$url .= "&fabrik_referrer=".urlencode(JRequest::getVar('fabrik_referrer')); } else { if ($this->_isMambot) { //return to the same page //$$$ hugh - this doesn't seem to work if SEF is NOT enabled, just goes to index.php. //$url = JArrayHelper::getValue($_SERVER, 'REQUEST_URI', 'index.php'); $url = JArrayHelper::getvalue($_SERVER, 'HTTP_REFERER', 'index.php'); } else { //return to the page that called the form $url = urldecode(JRequest::getVar('fabrik_referrer', 'index.php', 'post')); } global $Itemid; if ($url == '') { $url = "index.php?option=com_fabrik&Itemid={$Itemid}"; } } $config =& JFactory::getConfig(); if ($config->getValue('sef')) { $url = JRoute::_($url); } $this->setRedirect($url, $msg); } }
/** * since 3.0 * Enter description here ... * @param object $model */ protected function getRedirectURL($model, $incSession = true) { $app = JFactory::getApplication(); if ($app->isAdmin()) { if (array_key_exists('apply', $model->_formData)) { $url = "index.php?option=com_fabrik&c=form&task=form&formid=".JRequest::getInt('formid')."&listid=".JRequest::getInt('listid')."&rowid=".JRequest::getInt('rowid'); } else { $url = "index.php?option=com_fabrik&c=table&task=viewTable&cid[]=".$model->_table->id; } } else { if (array_key_exists('apply', $model->_formData)) { $url = "index.php?option=com_fabrik&view=form&formid=".JRequest::getInt('formid')."&rowid=".JRequest::getInt('rowid')."&listid=".JRequest::getInt('listid'); } else { if ($this->isMambot) { //return to the same page $url = JArrayHelper::getvalue($_SERVER, 'HTTP_REFERER', 'index.php'); } else { //return to the page that called the form $url = urldecode(JRequest::getVar('fabrik_referrer', 'index.php', 'post')); } $Itemid = $app->getMenu('site')->getActive()->id; if ($url == '') { $url = "index.php?option=com_fabrik&Itemid=$Itemid"; } } $config = JFactory::getConfig(); if ($config->get('sef')) { $url = JRoute::_($url); } } //3.0 need to distinguish between the default redirect and redirect plugin $this->baseRedirect = true; if (!$incSession) { return $url; } $session = JFactory::getSession(); $formdata = $session->get('com_fabrik.form.data'); $context = 'com_fabrik.form.'.$formdata['formid'].'.redirect.'; //if the redirect plug-in has set a url use that in preference to the default url //$surl = $session->get($context.'url', array($url)); $surl = $session->get($context.'url', array()); if (!empty($surl)) { $this->baseRedirect = false; } if (!is_array($surl)) { $surl = array($surl); } if (empty($surl)) { $surl[] = $url; } // $$$ hugh - hmmm, array_shift re-orders array keys, which will screw up plugin ordering? $url = array_shift($surl); $session->set($context.'url', $surl); return $url; }
/** * generic function to redirect * * @param object &$model form model * @param string $msg redirection message to show * * @return null */ protected function makeRedirect(&$model, $msg = null) { $app = JFactory::getApplication(); $package = $app->getUserState('com_fabrik.package', 'fabrik'); $input = $app->input; $formId = $input->getInt('formid'); $listId = $input->getInt('listid'); $rowId = $input->getString('rowid'); if (is_null($msg)) { $msg = FText::_('COM_FABRIK_RECORD_ADDED_UPDATED'); } if ($app->isAdmin()) { // Admin links use com_fabrik over package option if (array_key_exists('apply', $model->formData)) { $url = 'index.php?option=com_fabrik&c=form&task=form&formid=' . $formId . '&listid=' . $listId . '&rowid=' . $rowId; } else { $url = 'index.php?option=com_fabrik&c=table&task=viewTable&cid[]=' . $model->getTable()->id; } $this->setRedirect($url, $msg); } else { if (array_key_exists('apply', $model->formData)) { $url = 'index.php?option=com_' . $package . '&c=form&view=form&formid=' . $formId . '&rowid=' . $rowId . '&listid=' . $listId; } else { if ($this->isMambot) { // Return to the same page $url = JArrayHelper::getvalue($_SERVER, 'HTTP_REFERER', 'index.php'); } else { // Return to the page that called the form $url = urldecode($input->post->get('fabrik_referrer', 'index.php', 'string')); } $Itemid = FabrikWorker::itemId(); if ($url == '') { $url = 'index.php?option=com_' . $package . '&Itemid=' . $Itemid; } } $config = JFactory::getConfig(); if ($config->get('sef')) { $url = JRoute::_($url); } $this->setRedirect($url, $msg); } }
/** * Gets a populated instance of the \JSolr\Apache\Solr\Document class containing * indexable information about a single bitstream. * * @param stdClass $record The bitstream information. * * @return \JSolr\Apache\Solr\Document A populated instance of the * \JSolr\Apache\Solr\Document class containing indexable information about * the single bitstream. */ private function getBitstreamDocument($record) { $doc = new \JSolr\Apache\Solr\Document(); // Make the first language available the bitstream's language. $lang = explode('-', JArrayHelper::getValue($record->lang, 0)); $lang = JArrayHelper::getvalue($lang, 0); $doc->addField('id', $record->id); $doc->addField('context', $this->get('assetContext')); for ($i = 0; $i < count($record->lang); $i++) { if ($i == 0) { if ($this->get('params')->get('ignore_language', 1)) { $doc->addField('lang', '*'); } else { $doc->addField('lang', JArrayHelper::getValue($record->lang, $i)); } } else { $doc->addField('lang_alt', JArrayHelper::getValue($record->lang, $i)); } } $doc->addField('key', $this->get('assetContext') . '.' . $record->id); if (isset($record->author)) { $doc->addField('author', $record->author); $doc->addField('author_' . $lang, $record->author); } $doc->addField('title', $record->name); $doc->addField('title_' . $lang, $record->name); $doc->addField('type_s', $record->type); if (isset($record->body)) { if (strip_tags($record->body)) { $doc->addField("body_{$lang}", strip_tags($record->body)); } } foreach ($record->metadata->toArray() as $key => $value) { $metakey = $this->cleanBitstreamMetadataKey($key); if (is_float($value)) { $doc->addField($metakey . '_tfm', $value); } elseif (is_int($value)) { // handle solr int/long differentiation. if ((int) $value > 2147483647 || (int) $value < -2147483648) { $doc->addField($metakey . '_tlm', $value); } else { $doc->addField($metakey . '_tim', $value); } } else { $doc->addField($metakey . '_sm', $value); } } return $doc; }
/** * Get the map icons * * @return array */ public function getJSIcons() { $app = JFactory::getApplication(); $input = $app->input; $icons = array(); $w = new FabrikWorker(); $uri = JURI::getInstance(); $params = $this->getParams(); $templates = (array) $params->get('fb_gm_detailtemplate'); $templates_nl2br = (array) $params->get('fb_gm_detailtemplate_nl2br'); $listids = (array) $params->get('googlemap_table'); // Images for file system $aIconImgs = (array) $params->get('fb_gm_iconimage'); // Image from marker data $markerImages = (array) $params->get('fb_gm_iconimage2'); // Specified letter $letters = (array) $params->get('fb_gm_icon_letter'); $aFirstIcons = (array) $params->get('fb_gm_first_iconimage'); $aLastIcons = (array) $params->get('fb_gm_last_iconimage'); $titleElements = (array) $params->get('fb_gm_title_element'); $radiusElements = (array) $params->get('fb_gm_radius_element'); $radiusDefaults = (array) $params->get('fb_gm_radius_default'); $radiusUnits = (array) $params->get('fb_gm_radius_unit'); $groupClass = (array) $params->get('fb_gm_group_class'); $c = 0; $this->recordCount = 0; $maxMarkers = $params->get('fb_gm_markermax', 0); $recLimit = count($listids) == 1 ? $maxMarkers : 0; $limitMessageShown = false; $limitMessage = $params->get('fb_gm_markermax_message'); $groupedIcons = array(); $lc = 0; foreach ($listids as $listid) { $listModel = $this->getlistModel($listid); $template = JArrayHelper::getValue($templates, $c, ''); /** * One day we should get smarter about how we decide which elements to render * but for now all we can do is set formatAll(), in case they use an element * which isn't set for list display, which then wouldn't get rendered unless we do this. */ if (FabrikString::usesElementPlaceholders($template)) { $listModel->formatAll(true); } $template_nl2br = JArrayHelper::getValue($templates_nl2br, $c, '1') == '1'; $table = $listModel->getTable(); $mapsElements = FabrikHelperList::getElements($listModel, array('plugin' => 'googlemap', 'published' => 1)); $coordColumn = $mapsElements[0]->getFullName(true, false) . "_raw"; // Are we using random start location for icons? $listModel->_randomRecords = $params->get('fb_gm_random_marker') == 1 && $recLimit != 0 ? true : false; // Used in list model setLimits $input->set('limit' . $listid, $recLimit); $listModel->setLimits(); $nav = $listModel->getPagination(0, 0, $recLimit); $data = $listModel->getData(); $this->txt = array(); $k = 0; foreach ($data as $groupKey => $group) { foreach ($group as $row) { $customimagefound = false; $iconImg = JArrayHelper::getValue($aIconImgs, $c, ''); if ($k == 0) { $firstIcon = JArrayHelper::getValue($aFirstIcons, $c, $iconImg); if ($firstIcon !== '') { $iconImg = $firstIcon; } } $v = $this->getCordsFromData($row->{$coordColumn}); if ($v == array(0, 0)) { // Don't show icons with no data continue; } $rowdata = JArrayHelper::fromObject($row); $rowdata['rowid'] = $rowdata['__pk_val']; $html = $w->parseMessageForPlaceHolder($template, $rowdata); $titleElement = JArrayHelper::getValue($titleElements, $c, ''); $title = $titleElement == '' ? '' : strip_tags($row->{$titleElement}); /* $$$ hugh - if they provided a template, lets assume they will handle the link themselves. * http://fabrikar.com/forums/showthread.php?p=41550#post41550 * $$$ hugh - at some point the fabrik_view / fabrik_edit links became optional */ if (empty($html) && (array_key_exists('fabrik_view', $rowdata) || array_key_exists('fabrik_edit', $rowdata))) { // Don't insert line break in empty bubble without links $html .= "<br />"; // Use edit link by preference if (array_key_exists('fabrik_edit', $rowdata)) { if ($rowdata['fabrik_edit'] != '') { $html .= "<br />"; } $html .= $rowdata['fabrik_edit']; } else { if ($rowdata['fabrik_view'] != '') { $html .= "<br />"; } $html .= $rowdata['fabrik_view']; } } if ($template_nl2br) { /* * $$$ hugh - not sure why we were doing this rather than nl2br? If there was a reason, this is still broken, as it ends up inserting two breaks. So if we can't use nl2br ... I need fix this before using it again! $html = str_replace(array("\n\r"), "<br />", $html); $html = str_replace(array("\r\n"), "<br />", $html); $html = str_replace(array("\n", "\r"), "<br />", $html); */ $html = nl2br($html); } $html = str_replace("'", '"', $html); $this->txt[] = $html; if ($iconImg == '') { $iconImg = JArrayHelper::getValue($markerImages, $c, ''); if ($iconImg != '') { $iconImg = JArrayHelper::getValue($rowdata, $iconImg, ''); // Get the src preg_match('/src=["|\'](.*?)["|\']/', $iconImg, $matches); if (array_key_exists(1, $matches)) { $iconImg = $matches[1]; // Check file exists $path = str_replace(COM_FABRIK_LIVESITE, '', $iconImg); if (JFile::exists(JPATH_BASE . $path)) { $customimagefound = true; } } } if ($iconImg != '') { list($width, $height) = $this->markerSize($iconImg); } else { // Standard google map icon size $width = 20; $height = 34; } } else { // Standard google map icon size list($width, $height) = $this->markerSize(JPATH_SITE . '/images/stories/' . $iconImg); } $gClass = JArrayHelper::getValue($groupClass, 0, ''); if (!empty($gClass)) { $gClass .= '_raw'; $gClass = isset($row->{$gClass}) ? $row->{$gClass} : ''; } if (array_key_exists($v[0] . $v[1], $icons)) { $existingIcon = $icons[$v[0] . $v[1]]; if ($existingIcon['groupkey'] == $groupKey) { /* $$$ hugh - this inserts label between multiple record $html, but not at the top. * If they want to insert label, they can do it themselves in the template. * $icons[$v[0].$v[1]][2] = $icons[$v[0].$v[1]][2] . "<h6>$table->label</h6>" . $html; * Don't insert linebreaks in empty bubble */ if ($html != '') { $html = "<br />" . $html; } $icons[$v[0] . $v[1]][2] = $icons[$v[0] . $v[1]][2] . $html; if ($customimagefound) { $icons[$v[0] . $v[1]][3] = $iconImg; } } else { $groupedIcons[] = array($v[0], $v[1], $html, $iconImg, $width, $height, 'groupkey' => $groupKey, 'listid' => $listid, 'title' => $title, 'groupClass' => 'type' . $gClass); } } else { // Default icon - lets see if we need to use a letter icon instead if (JArrayHelper::getValue($letters, $c, '') != '') { $iconImg = $uri->getScheme() . '://www.google.com/mapfiles/marker' . JString::strtoupper($letters[$c]) . '.png'; } $icons[$v[0] . $v[1]] = array($v[0], $v[1], $html, $iconImg, $width, $height, 'groupkey' => $groupKey, 'listid' => $listid, 'title' => $title, 'groupClass' => 'type' . $gClass); } if ($params->get('fb_gm_use_radius', '0') == '1') { $radiusElement = JArrayHelper::getValue($radiusElements, $c, ''); $radiusUnits = JArrayHelper::getValue($radiusUnits, $c, 'k'); $radiusMeters = $radiusUnits == 'k' ? 1000 : 1609.34; if (!empty($radiusElement)) { $radius = (double) $row->{$radiusElement}; $radius *= $radiusMeters; $icons[$v[0] . $v[1]]['radius'] = $radius; } else { $default = (double) JArrayHelper::getvalue($radiusDefaults, $c, 50); $default *= $radiusMeters; $icons[$v[0] . $v[1]]['radius'] = $default; } } $icons[$v[0] . $v[1]]['c'] = $c; $this->recordCount++; $k++; } } // Replace last icon? $iconImg = JArrayHelper::getValue($aLastIcons, $c, ''); if ($iconImg != '') { list($width, $height) = $this->markerSize(JPATH_SITE . '/media/com_fabrik/images/' . $iconImg); $icons[$v[0] . $v[1]][3] = $iconImg; $icons[$v[0] . $v[1]][4] = $width; $icons[$v[0] . $v[1]][5] = $height; } $c++; } // Replace coord keys with numeric keys $icons = array_values($icons); $icons = array_merge($icons, $groupedIcons); if ($maxMarkers != 0 && $maxMarkers < count($icons)) { $icons = array_slice($icons, -$maxMarkers); } $limitMessageShown = !($k >= $recLimit); if (!$limitMessageShown && $recLimit !== 0 && $limitMessage != '') { $app->enqueueMessage($limitMessage); } FabrikHelperHTML::debug($icons, 'map'); return $icons; }
/** * Get redirect URL * * @param bool $incSession set url in session? * @param bool $isMambot is Mambot * * @return array url: string redirect url, baseRedirect (True: default redirect, False: plugin redirect) * * @since 3.0.6 (was in form controller) */ public function getRedirectURL($incSession = true, $isMambot = false) { $app = JFactory::getApplication(); if ($app->isAdmin()) { if (array_key_exists('apply', $this->_formData)) { $url = 'index.php?option=com_fabrik&task=form.view&formid=' . JRequest::getInt('formid') . '&rowid=' . JRequest::getInt('rowid'); } else { $url = 'index.php?option=com_fabrik&task=list.view&listid=' . $this->getListModel()->getId(); } } else { if (array_key_exists('apply', $this->_formData)) { $url = 'index.php?option=com_fabrik&view=form&formid=' . JRequest::getInt('formid') . '&rowid=' . JRequest::getInt('rowid') . '&listid=' . JRequest::getInt('listid'); } else { if ($isMambot) { // Return to the same page $url = JArrayHelper::getvalue($_SERVER, 'HTTP_REFERER', 'index.php'); } else { // Return to the page that called the form $url = urldecode(JRequest::getVar('fabrik_referrer', 'index.php', 'post')); } $Itemid = (int) @$app->getMenu('site')->getActive()->id; if ($url == '') { if ($Itemid !== 0) { $url = 'index.php?' . http_build_query($app->getMenu('site')->getActive()->query) . '&Itemid=' . $Itemid; } else { // No menu link so redirect back to list view $url = 'index.php?option=com_fabrik&view=list&listid=' . JRequest::getInt('listid'); } } } $config = JFactory::getConfig(); if ($config->get('sef')) { $url = JRoute::_($url); } } // 3.0 need to distinguish between the default redirect and redirect plugin $baseRedirect = true; if (!$incSession) { return $url; } $session = JFactory::getSession(); $formdata = $session->get('com_fabrik.form.data'); $context = $this->getRedirectContext(); // If the redirect plug-in has set a url use that in preference to the default url $surl = $session->get($context . 'url', array()); if (!empty($surl)) { $baseRedirect = false; } if (!is_array($surl)) { $surl = array($surl); } if (empty($surl)) { $surl[] = $url; } // $$$ hugh - hmmm, array_shift re-orders array keys, which will screw up plugin ordering? $url = array_shift($surl); $session->set($context . 'url', $surl); return array('url' => $url, 'baseRedirect' => $baseRedirect); }