/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $params = $this->getParams(); $tz_offset = $params->get('gmt_or_local', '0') == '0'; $data = JHTML::_('date', $data, FText::_($params->get('timestamp_format', 'DATE_FORMAT_LC2')), $tz_offset); return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $params = $this->getParams(); $format = $params->get('text_format_string'); $format_blank = $params->get('field_format_string_blank', true); if ($format != '' && ($format_blank || $d != '')) { $str = sprintf($format, $data); // ToDo - No idea why eval is here but not in similar code in field.php (Sophist) $data = eval($str); } return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $data = FabrikWorker::JSONtoData($data, true); $params = $this->getParams(); foreach ($data as &$d) { $d = $this->format($d); $this->_guessLinkType($d, $thisRow); if ($params->get('render_as_qrcode', '0') === '1') { if (!empty($d)) { $d = $this->qrCodeLink($thisRow); } } } return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data elements data * @param stdClass &$thisRow all the data in the lists current row * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow) { $params = $this->getParams(); $data = FabrikWorker::JSONtoData($data, true); $format = $params->get('text_format_string'); foreach ($data as &$d) { $d = $this->numberFormat($d); if ($format != '') { $d = sprintf($format, $d); } if ($params->get('password') == "1") { $d = str_pad('', JString::strlen($d), '*'); } $this->_guessLinkType($d, $thisRow, 0); if ($params->get('render_as_qrcode', '0') === '1') { $d = $this->qrCodeLink($d, $thisRow); } } return parent::renderListData($data, $thisRow); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $listModel = $this->getlistModel(); $params = $this->getParams(); $target = $params->get('link_target', ''); $smart_link = $params->get('link_smart_link', false); if ($listModel->getOutPutFormat() != 'rss' && ($smart_link || $target == 'mediabox')) { FabrikHelperHTML::slimbox(); } $data = FabrikWorker::JSONtoData($data, true); if (!empty($data)) { if (array_key_exists('label', $data)) { $data = (array) $this->_renderListData($data, $thisRow); } else { for ($i = 0; $i < count($data); $i++) { $data[$i] = JArrayHelper::fromObject($data[$i]); $data[$i] = $this->_renderListData($data[$i], $thisRow); } } } $data = json_encode($data); return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { unset($this->default); $value = $this->getValue(ArrayHelper::fromObject($thisRow)); return parent::renderListData($value, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $data = FabrikWorker::JSONtoData($data, true); $params = $this->getParams(); $rendered = ''; static $id_num = 0; // $$$ hugh - have to run through rendering even if data is empty, in case default image is being used. if (empty($data)) { $data[0] = $this->_renderListData('', $thisRow, 0); } else { /** * 2 == 'slide-show' ('carousel'), so don't run individually through _renderListData(), instead * build whatever carousel the data type uses, which will depend on data type. Like simple image carousel, * or MP3 player with playlist, etc. */ if ($params->get('fu_show_image_in_table', '0') == '2') { $id = $this->getHTMLId($id_num) . '_' . $id_num; $id_num++; $rendered = $this->buildCarousel($id, $data, $params, $thisRow); } else { for ($i = 0; $i < count($data); $i++) { $data[$i] = $this->_renderListData($data[$i], $thisRow, $i); } } } if ($params->get('fu_show_image_in_table', '0') != '2') { $data = json_encode($data); $rendered = parent::renderListData($data, $thisRow, $opts); } return $rendered; }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $data = parent::renderListData($data, $thisRow, $opts); $params = $this->getParams(); if ($params->get('textarea-tagify') == true) { $data = $this->tagify($data); } // $$$rob don't strip slashes here - this is done when saving to db now if (!$this->useWysiwyg()) { if (is_array($data)) { for ($i = 0; $i < count($data); $i++) { $data[$i] = nl2br($data[$i]); } } else { if (is_object($data)) { $this->convertDataToString($data); } $data = nl2br($data); } } if (!$params->get('textarea-tagify') && $data !== '' && ((int) $params->get('textarea-truncate-where', 0) === 1 || (int) $params->get('textarea-truncate-where', 0) === 3)) { $opts = $this->truncateOpts(); $data = fabrikString::truncate($data, $opts); $listModel = $this->getListModel(); if (JArrayHelper::getValue($opts, 'link', 1)) { $data = $listModel->_addLink($data, $this, $thisRow); } } return $data; }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * * @return string Formatted value */ public function renderListData($data, stdClass &$thisRow) { $data = parent::renderListData($data, $thisRow); $params = $this->getParams(); if ($params->get('textarea-tagify') == true) { $data = $this->tagify($data); } // $$$rob don't strip slashes here - this is done when saving to db now if (!$this->useWysiwyg()) { if (is_array($data)) { for ($i = 0; $i < count($data); $i++) { $data[$i] = nl2br($data[$i]); } } else { if (is_object($data)) { $this->convertDataToString($data); } $data = nl2br($data); } } if (!$params->get('textarea-tagify') && $data !== '' && (int) $params->get('textarea-truncate', 0) !== 0) { $opts = array(); $opts['wordcount'] = (int) $params->get('textarea-truncate', 0); $opts['tip'] = $params->get('textarea-hover'); $opts['position'] = $params->get('textarea_hover_location', 'top'); $data = fabrikString::truncate($data, $opts); $listModel = $this->getListModel(); $data = $listModel->_addLink($data, $this, $thisRow); } return $data; }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $input = $this->app->input; $j3 = FabrikWorker::j3(); $params = $this->getParams(); $imagePath = COM_FABRIK_LIVESITE . 'plugins/fabrik_element/thumbs/images/'; $data = FabrikWorker::JSONtoData($data, true); $listId = $this->getlistModel()->getTable()->id; $formModel = $this->getFormModel(); $formId = $formModel->getId(); $rowId = $thisRow->__pk_val; if (empty($data)) { $data = array(0); } for ($i = 0; $i < count($data); $i++) { $input->set('rowid', $rowId); $myThumb = $this->getMyThumb($listId, $formId, $rowId); $imageFileUp = 'thumb_up_out.gif'; $imageFileDown = 'thumb_down_out.gif'; if ($myThumb == 'up') { $imageFileUp = 'thumb_up_in.gif'; $imageFileDown = 'thumb_down_out.gif'; } elseif ($myThumb == 'down') { $imageFileUp = 'thumb_up_out.gif'; $imageFileDown = 'thumb_down_in.gif'; } $count = $this->_renderListData($data[$i], $thisRow); $count = FabrikWorker::JSONtoData($count, true); $countUp = $count[0]; $countDown = $count[1]; $str = array(); $upActiveClass = $myThumb === 'up' ? ' btn-success' : ''; $downActiveClass = $myThumb === 'down' ? ' btn-danger' : ''; $commentData = 'data-fabrik-thumb-rowid="' . $rowId . '"'; if ($j3) { // @todo - JLayout this. $str[] = '<div class="btn-group">'; $str[] = '<button ' . $commentData . ' data-fabrik-thumb-formid="' . $formId . '" data-fabrik-thumb="up" class="btn btn-small thumb-up' . $upActiveClass . '">'; $str[] = '<span class="icon-thumbs-up"></span> <span class="thumb-count">' . $countUp . '</span></button>'; if ($params->get('show_down', 1)) { $str[] = '<button ' . $commentData . ' data-fabrik-thumb-formid="' . $formId . '" data-fabrik-thumb="down" class="btn btn-small thumb-down' . $downActiveClass . '">'; $str[] = '<span class="icon-thumbs-down"></span> <span class="thumb-count">' . $countDown . '</span></button>'; } $str[] = '</div>'; } else { $str[] = '<span style="color:#32d723;" id="count_thumbup' . $rowId . '">' . $countUp . '</span>'; $str[] = '<img src="' . $imagePath . $imageFileUp . '" style="padding:0px 5px 0 1px;" alt="UP" class="thumbup" id="thumbup' . $rowId . '"/>'; $str[] = '<span style="color:#f82516;" id="count_thumbdown' . $rowId . '">' . $countDown . '</span>'; $attributes = '" style="padding:0px 5px 0 1px;" alt="DOWN" class="thumbdown"'; $str[] = '<img src="' . $imagePath . $imageFileDown . $attributes . ' id="thumbdown' . $rowId . '"/>'; } $data[$i] = implode("\n", $str); } $data = json_encode($data); return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $options = $this->getOpts(); $text = ''; if ((string) $data !== '') { foreach ($options as $o) { if ($o->value == $data) { $text = JString::ltrim(str_replace('-', '', $o->text)); } } } $layoutData = new stdClass(); $layoutData->text = $text; return parent::renderListData($layoutData, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { static $range; static $fullName; if (!isset($range)) { $range = $this->getRange(); $fullName = $this->getDataElementFullName() . '_raw'; } $dataElement = $this->getDataElement(); $data = $thisRow->{$fullName}; if ($dataElement->getGroupModel()->canRepeat()) { $data = FabrikWorker::JSONtoData($data, true); foreach ($data as $i => &$d) { $d = $this->_renderListData($d, $range); } } else { $data = $this->_renderListData($data, $range); } return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $groupModel = $this->getGroup(); /** * Jaanus: json_decode replaced with FabrikWorker::JSONtoData that made visible also single data in repeated group * * Jaanus: removed condition canrepeat() from renderListData: weird result such as 05",null, * "1940.07.["1940 (2011) when not repeating but still join and merged. Using isJoin() instead */ $data = $groupModel->isJoin() ? FabrikWorker::JSONtoData($data, true) : array($data); $data = (array) $data; $format = array(); foreach ($data as $d) { $format[] = $this->listFormat($d); } $data = json_encode($format); return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $params = $this->getParams(); $formId = $this->getFormModel()->getId(); $listId = $this->getListModel()->getId(); $rowId = isset($thisRow->__pk_val) ? $thisRow->__pk_val : $thisRow->id; if ($params->get('rating-mode') !== 'creator-rating') { $d = $this->getListModel()->getData(); $ids = ArrayHelper::getColumn($d, '__pk_val'); list($data, $total) = $this->getRatingAverage($data, $listId, $formId, $rowId, $ids); } $data = FabrikWorker::JSONtoData($data, true); FabrikHelperHTML::addPath(COM_FABRIK_BASE . 'plugins/fabrik_element/rating/images/', 'image', 'list', false); $colData = $this->getListModel()->getData(); $ids = ArrayHelper::getColumn($colData, '__pk_val'); $canRate = $this->canRate($rowId, $ids); for ($i = 0; $i < count($data); $i++) { $avg = $this->_renderListData($data[$i], $thisRow); $atpl = ''; $a2 = ''; $str = array(); $str[] = '<div style="width:101px;position:relative;">'; for ($s = 0; $s < $avg; $s++) { $r = $s + 1; $a = str_replace('{r}', $r, $atpl); $imgOpts = array('icon-class' => 'starRating rate_' . $r); $imgOpts['data-fabrik-rating'] = $r; $img = FabrikHelperHTML::image("star.png", 'list', @$this->tmpl, $imgOpts); $str[] = $a . $img . $a2; } for ($s = $avg; $s < 5; $s++) { $r = $s + 1; $a = str_replace('{r}', $r, $atpl); $imgOpts = array('icon-class' => 'starRating rate_' . $r); $imgOpts['data-fabrik-rating'] = $r; $img = FabrikHelperHTML::image("star-empty.png", 'list', @$this->tmpl, $imgOpts); $str[] = $a . $img . $a2; } if ($params->get('rating-mode') != 'creator-rating') { $str[] = '<div class="ratingMessage">' . $avg . '</div>'; } $str[] = '</div>'; $data[$i] = implode("\n", $str); } $data = json_encode($data); return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $w = new FabrikWorker(); $data = FabrikWorker::JSONtoData($data, true); $params = $this->getParams(); $pathset = false; foreach ($data as $d) { if (strstr($d, '/')) { $pathset = true; break; } } if ($data === '' || empty($data) || !$pathset) { // No data so default to image (or simple image name stored). $iPath = $params->get('imagepath'); if (!strstr($iPath, '/')) { // Single file specified so find it in tmpl folder $data = (array) FabrikHelperHTML::image($iPath, 'list', @$this->tmpl, array(), true); } else { $data = (array) $iPath; } } $selectImage_root_folder = $this->rootFolder(); // $$$ hugh - tidy up a bit so we don't have so many ///'s in the URL's $selectImage_root_folder = JString::ltrim($selectImage_root_folder, '/'); $selectImage_root_folder = JString::rtrim($selectImage_root_folder, '/'); $selectImage_root_folder = $selectImage_root_folder === '' ? '' : $selectImage_root_folder . '/'; $showImage = $params->get('show_image_in_table', 0); $linkURL = $params->get('link_url', ''); if (empty($data) || $data[0] == '') { $data[] = $params->get('imagepath'); } for ($i = 0; $i < count($data); $i++) { if ($showImage) { // $$$ rob 30/06/2011 - say if we import via csv a url to the image check that and use that rather than the relative path if (JString::substr($data[$i], 0, 4) == 'http') { $src = $data[$i]; } else { $data[$i] = JString::ltrim($data[$i], '/'); $src = COM_FABRIK_LIVESITE . $selectImage_root_folder . $data[$i]; } $data[$i] = '<img src="' . $src . '" alt="' . $data[$i] . '" />'; } if ($linkURL) { $data[$i] = '<a href="' . $linkURL . '" target="_blank">' . $data[$i] . '</a>'; } $data[$i] = $w->parseMessageForPlaceHolder($data[$i], $thisRow); } $data = json_encode($data); return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { $params = $this->getParams(); $groupModel = $this->getGroup(); /* * Jaanus: removed condition canrepeat() from renderListData: * weird result such as ["00:03:45","00 when not repeating but still join and merged. Using isJoin() instead */ $data = $groupModel->isJoin() ? FabrikWorker::JSONtoData($data, true) : array($data); $data = (array) $data; $ft = $params->get('list_time_format', 'H:i:s'); $sep = $params->get('time_separatorlabel', FText::_(':')); $format = array(); foreach ($data as $d) { if ($d) { $bits = explode(':', $d); $hour = FArrayHelper::getValue($bits, 0, '00'); $min = FArrayHelper::getValue($bits, 1, '00'); $sec = FArrayHelper::getValue($bits, 2, '00'); $hms = $hour . $sep . $min . $sep . $sec; $hm = $hour . $sep . $min; $ms = $min . $sep . $sec; $timedisp = ''; if ($ft == "H:i:s") { list($hour, $min, $sec) = explode(':', $d); $timedisp = $hour . $sep . $min . $sep . $sec; } else { if ($ft == "H:i") { list($hour, $min) = explode(':', $d); $timedisp = $hour . $sep . $min; } if ($ft == "i:s") { list($min, $sec) = explode(':', $d); $timedisp = $min . $sep . $sec; } } $format[] = $timedisp; } else { $format[] = ''; } } $data = json_encode($format); return parent::renderListData($data, $thisRow, $opts); }
/** * Shows the data formatted for the list view * * @param string $data Elements data * @param stdClass &$thisRow All the data in the lists current row * @param array $opts Rendering options * * @return string formatted value */ public function renderListData($data, stdClass &$thisRow, $opts = array()) { if ($this->dataConsideredEmpty($data, 0)) { return ''; } $data = $this->toImage($thisRow->__pk_val); return parent::renderListData($data, $thisRow, $opts); }