コード例 #1
0
ファイル: timestamp.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }
コード例 #2
0
ファイル: jsperiodical.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }
コード例 #3
0
ファイル: field.php プロジェクト: glauberm/cinevi
 /**
  * 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);
 }
コード例 #4
0
ファイル: field.php プロジェクト: ppantilla/bbninja
 /**
  * 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);
 }
コード例 #5
0
ファイル: link.php プロジェクト: LGBGit/tierno
 /**
  * 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);
 }
コード例 #6
0
ファイル: display.php プロジェクト: glauberm/cinevi
 /**
  * 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);
 }
コード例 #7
0
ファイル: fileupload.php プロジェクト: LGBGit/tierno
 /**
  * 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;
 }
コード例 #8
0
ファイル: textarea.php プロジェクト: LGBGit/tierno
 /**
  * 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;
 }
コード例 #9
0
ファイル: textarea.php プロジェクト: ppantilla/bbninja
 /**
  * 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;
 }
コード例 #10
0
ファイル: thumbs.php プロジェクト: pascal26/fabrik
 /**
  * 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);
 }
コード例 #11
0
ファイル: access.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }
コード例 #12
0
ファイル: googleometer.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }
コード例 #13
0
ファイル: birthday.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }
コード例 #14
0
ファイル: rating.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }
コード例 #15
0
ファイル: image.php プロジェクト: LGBGit/tierno
 /**
  * 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);
 }
コード例 #16
0
ファイル: time.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }
コード例 #17
0
ファイル: digsig.php プロジェクト: jfquestiaux/fabrik
 /**
  * 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);
 }