示例#1
0
 /**
  * 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;
 }
示例#2
0
    /**
     * Sets up HTML to be injected into the form's bottom
     *
     * @param   object  $params     params
     * @param   object  $formModel  form model
     *
     * @return void
     */
    public function getBottomContent($params, $formModel)
    {
        if (!$this->show($params, $formModel)) {
            return;
        }
        $app = JFactory::getApplication();
        $formId = $formModel->getForm()->id;
        $mode = JString::strtolower(JRequest::getCmd('view'));
        $this->ids = $this->getNavIds($formModel);
        $linkStartPrev = $this->ids->index == 0 ? ' disabled' : '';
        $linkNextEnd = $this->ids->index == $this->ids->lastKey ? ' disabled' : '';
        if ($app->isAdmin()) {
            $url = 'index.php?option=com_fabrik&view=' . $mode . '&formid=' . $formId . '&rowid=';
        } else {
            $url = 'index.php?option=com_fabrik&view=' . $mode . '&formid=' . $formId . '&rowid=';
        }
        $ajax = (bool) $params->get('paginate_ajax', true);
        $firstLink = $linkStartPrev ? '<span>&lt;&lt;</span>' . JText::_('COM_FABRIK_START') : '<a href="' . JRoute::_($url . $this->ids->first) . '" class="pagenav paginateFirst ' . $linkStartPrev . '"><span>&lt;&lt;</span>' . JText::_('COM_FABRIK_START') . '</a>';
        $prevLink = $linkStartPrev ? '<span>&lt;</span>' . JText::_('COM_FABRIK_PREV') : '<a href="' . JRoute::_($url . $this->ids->prev) . '" class="pagenav paginatePrevious ' . $linkStartPrev . '"><span>&lt;</span>' . JText::_('COM_FABRIK_PREV') . '</a>';
        $nextLink = $linkNextEnd ? JText::_('COM_FABRIK_NEXT') . '<span>&gt;</span>' : '<a href="' . JRoute::_($url . $this->ids->next) . '" class="pagenav paginateNext' . $linkNextEnd . '">' . JText::_('COM_FABRIK_NEXT') . '<span>&gt;</span></a>';
        $endLink = $linkNextEnd ? JText::_('COM_FABRIK_END') . '<span>&gt;&gt;</span>' : '<a href="' . JRoute::_($url . $this->ids->last) . '" class="pagenav paginateLast' . $linkNextEnd . '">' . JText::_('COM_FABRIK_END') . '<span>&gt;&gt;</span></a>';
        $this->_data = '<ul id="fabrik-from-pagination" class="pagination">
				<li>' . $firstLink . '</li>
				<li>' . $prevLink . '</li>
				<li>' . $nextLink . '</li>
				<li>' . $endLink . '</li>
		</ul>';
        FabrikHelperHTML::stylesheet('plugins/fabrik_form/paginate/paginate.css');
        return true;
    }
示例#3
0
 /**
  * Draws the html form element
  *
  * @param   array  $data           to preopulate element with
  * @param   int    $repeatCounter  repeat group counter
  *
  * @return  string	elements html
  */
 public function render($data, $repeatCounter = 0)
 {
     FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'media/com_fabrik/css/slider.css');
     $name = $this->getHTMLName($repeatCounter);
     $id = $this->getHTMLId($repeatCounter);
     $params = $this->getParams();
     $width = (int) $params->get('slider_width', 250);
     $element = $this->getElement();
     $val = $this->getValue($data, $repeatCounter);
     if (!$this->isEditable()) {
         return $val;
     }
     $labels = array_filter(explode(',', $params->get('slider-labels')));
     $str = array();
     $str[] = '<div id="' . $id . '" class="fabrikSubElementContainer">';
     FabrikHelperHTML::addPath(COM_FABRIK_BASE . 'plugins/fabrik_element/slider/images/', 'image', 'form', false);
     $outsrc = FabrikHelperHTML::image('clear_rating_out.png', 'form', $this->tmpl, array(), true);
     if ($params->get('slider-shownone')) {
         $str[] = '<div class="clearslider_cont"><img src="' . $outsrc . '" style="cursor:pointer;padding:3px;" alt="' . JText::_('PLG_ELEMENT_SLIDER_CLEAR') . '" class="clearslider" /></div>';
     }
     $str[] = '<div class="slider_cont" style="width:' . $width . 'px;">';
     if (count($labels) > 0) {
         $spanwidth = floor(($width - 2 * count($labels)) / count($labels));
         $str[] = '<ul class="slider-labels" style="width:' . $width . 'px;">';
         for ($i = 0; $i < count($labels); $i++) {
             if ($i == ceil(floor($labels) / 2)) {
                 $align = 'center';
             }
             switch ($i) {
                 case 0:
                     $align = 'left';
                     break;
                 case 1:
                 default:
                     $align = 'center';
                     break;
                 case count($labels) - 1:
                     $align = 'right';
                     break;
             }
             $str[] = '<li style="width:' . $spanwidth . 'px;text-align:' . $align . ';">' . $labels[$i] . '</li>';
         }
         $str[] = '</ul>';
     }
     $str[] = '<div class="fabrikslider-line" style="width:' . $width . 'px">';
     $str[] = '<div class="knob"></div>';
     $str[] = '</div>';
     $str[] = '<input type="hidden" class="fabrikinput" name="' . $name . '" value="' . $val . '" />';
     $str[] = '<div class="slider_output">' . $val . '</div>';
     $str[] = '</div>';
     $str[] = '</div>';
     return implode("\n", $str);
 }
示例#4
0
文件: slider.php 项目: Jobar87/fabrik
	/**
	 * draws the form element
	 * @param array data to preopulate element with
	 * @param int repeat group counter
	 * @return string returns element html
	 */

	function render($data, $repeatCounter = 0)
	{
		FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE.'media/com_fabrik/css/slider.css');
		$name 			= $this->getHTMLName($repeatCounter);
		$id 				= $this->getHTMLId($repeatCounter);
		$params 		=& $this->getParams();
		$width = $params->get('slider_width', 250);
		$element 		= $this->getElement();
		$val 				= $this->getValue($data, $repeatCounter);
		if (!$this->_editable) {
			return $val;
		}
		$imagepath = COM_FABRIK_LIVESITE.'/plugins/fabrik_element/slider/images/';
		$labels = array_filter(explode(',', $params->get('slider-labels')));
		$str = "<div class=\"fabrikSubElementContainer\" id=\"$id\">";

		FabrikHelperHTML::addPath(JPATH_SITE.'/plugins/fabrik_element/slider/images/', 'image', 'form', false);
		$outsrc = FabrikHelperHTML::image('clear_rating_out.png', 'form', $this->tmpl, '', true);
		if ($params->get('slider-shownone')) {
			$str .= "<div class=\"clearslider_cont\"><img src=\"$outsrc\" style=\"cursor:pointer;padding:3px;\" alt=\"clear\" class=\"clearslider\" /></div>";
		}
		$str .="<div class=\"slider_cont\" style=\"width:{$width}px;\">\n";
		if (count($labels) > 0) {
			$spanwidth = floor(($width - (2 * count($labels))) /count($labels));
			$str .= "<ul class=\"slider-labels\" style=\"width:{$width}px;\">\n";
			for ($i=0; $i < count($labels); $i++) {
				if ($i == ceil(floor($labels)/2)) {
					$align = 'center';
				}
				switch($i) {
					case 0:
						$align = 'left';
						break;
					case 1:
					default:
						$align = 'center';
						break;
					case count($labels) -1:
						$align = 'right';
						break;
				}
				$str .= "<li style=\"width:{$spanwidth}px;text-align:$align;\">".$labels[$i]."</li>\n";
			}
			$str .= "</ul>\n";
		}
		$str .= "<div class=\"fabrikslider-line\" style=\"width:{$width}px\">\n<div class=\"knob\"></div>\n</div>\n";
		$str .= "<input type=\"hidden\" class=\"fabrikinput\"  name=\"$name\" value=\"$val\"/>\n";
		$str .= "<div class=\"slider_output\">$val</div>\n";
		$str .= "</div>";
		return $str;
	}
示例#5
0
 /**
  * Draws the html form element
  *
  * @param   array  $data           To pre-populate element with
  * @param   int    $repeatCounter  Repeat group counter
  *
  * @return  string	elements html
  */
 public function render($data, $repeatCounter = 0)
 {
     FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'media/com_fabrik/css/slider.css');
     $params = $this->getParams();
     $width = (int) $params->get('slider_width', 250);
     $val = $this->getValue($data, $repeatCounter);
     if (!$this->isEditable()) {
         return $val;
     }
     $labels = explode(',', $params->get('slider-labels'));
     FabrikHelperHTML::addPath(COM_FABRIK_BASE . 'plugins/fabrik_element/slider/images/', 'image', 'form', false);
     $layout = $this->getLayout('form');
     $layoutData = new stdClass();
     $layoutData->id = $this->getHTMLId($repeatCounter);
     $layoutData->name = $this->getHTMLName($repeatCounter);
     $layoutData->value = $val;
     $layoutData->width = $width;
     $layoutData->j3 = FabrikWorker::j3();
     $layoutData->showNone = $params->get('slider-shownone');
     $layoutData->outSrc = FabrikHelperHTML::image('clear_rating_out.png', 'form', $this->tmpl, array(), true);
     $layoutData->labels = $labels;
     $layoutData->spanWidth = floor(($width - 2 * count($labels)) / count($labels));
     $layoutData->align = array();
     for ($i = 0; $i < count($labels); $i++) {
         switch ($i) {
             case 0:
                 $align = 'left';
                 break;
             case count($labels) - 1:
                 $align = 'right';
                 break;
             case 1:
             default:
                 $align = 'center';
                 break;
         }
         $layoutData->align[] = $align;
     }
     return $layout->render($layoutData);
 }
示例#6
0
 /**
  * Draws the html form element
  *
  * @param   array $data          To pre-populate element with
  * @param   int   $repeatCounter Repeat group counter
  *
  * @return  string    elements html
  */
 public function render($data, $repeatCounter = 0)
 {
     $values = $this->getSubOptionValues();
     $labels = $this->getSubOptionLabels();
     $selected = (array) $this->getValue($data, $repeatCounter);
     $i = 0;
     $to = array();
     $from = array();
     foreach ($values as $v) {
         if (!in_array($v, $selected)) {
             $from[$v] = $labels[$i];
         }
         $i++;
     }
     $i = 0;
     $lookup = array_flip($values);
     foreach ($selected as $v) {
         if ($v == '' || $v == '-' || $v == '[""]') {
             continue;
         }
         $k = FArrayHelper::getValue($lookup, $v);
         $tmpTxt = addslashes(htmlspecialchars(FArrayHelper::getValue($labels, $k)));
         $to[$v] = $tmpTxt;
         $i++;
     }
     if (!$this->isEditable()) {
         return implode(', ', $to);
     }
     FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'plugins/fabrik_element/picklist/picklist.css');
     $layout = $this->getLayout('form');
     $layoutData = new stdClass();
     $layoutData->id = $this->getHTMLId($repeatCounter);
     $layoutData->errorCSS = $this->elementError != '' ? ' elementErrorHighlight' : '';
     $layoutData->from = $from;
     $layoutData->to = $to;
     $layoutData->name = $this->getHTMLName($repeatCounter);
     $layoutData->value = json_encode($selected);
     $layoutData->addOptionsUi = $this->getAddOptionFields($repeatCounter);
     return $layout->render($layoutData);
 }
示例#7
0
 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;
 }
示例#8
0
 /**
  * check for a custom css file and include it if it exists
  * @param string $path NOT including JPATH_SITE (so relative too root dir
  * @return failse
  */
 function stylesheetFromPath($path)
 {
     if (JFile::exists(JPATH_SITE . DS . $path)) {
         $parts = explode(DS, $path);
         $file = array_pop($parts);
         $path = implode('/', $parts) . '/';
         FabrikHelperHTML::stylesheet($path . $file);
     }
 }
示例#9
0
 /**
  * Create the html for Ajax upload widget
  *
  * @param   array  $str            Current html output
  * @param   int    $repeatCounter  Repeat group counter
  * @param   array  $values         Existing files
  *
  * @return	array	Modified file-upload html
  */
 protected function plupload($str, $repeatCounter, $values)
 {
     FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'media/com_fabrik/css/slider.css');
     $params = $this->getParams();
     $w = (int) $params->get('ajax_dropbox_width', 0);
     $h = (int) $params->get('ajax_dropbox_height', 200);
     $dropBoxStyle = 'height:' . $h . 'px;';
     if ($w !== 0) {
         $dropBoxStyle .= 'width:' . $w . 'px;';
     }
     $layout = $this->getLayout('widget');
     $displayData = new stdClass();
     $displayData->id = $this->getHTMLId($repeatCounter);
     $displayData->winWidth = $params->get('win_width', 400);
     $displayData->winHeight = $params->get('win_height', 400);
     $displayData->canCrop = $this->canCrop();
     $displayData->canvasSupport = FabrikHelperHTML::canvasSupport();
     $displayData->dropBoxStyle = $dropBoxStyle;
     $displayData->field = implode("\n", $str);
     $displayData->j3 = FabrikWorker::j3();
     $str = (array) $layout->render($displayData);
     FabrikHelperHTML::jLayoutJs('fabrik-progress-bar', 'fabrik-progress-bar', (object) array('context' => '', 'animated' => true));
     FabrikHelperHTML::jLayoutJs('fabrik-progress-bar-success', 'fabrik-progress-bar', (object) array('context' => 'success', 'value' => 100));
     FabrikHelperHTML::jLayoutJs('fabrik-icon-delete', 'fabrik-icon', (object) array('icon' => 'delete'), array('debug' => true));
     return $str;
 }
示例#10
0
    /**
     * Sets up HTML to be injected into the form's bottom
     *
     * @return void
     */
    public function getBottomContent()
    {
        /** @var FabrikFEModelForm $formModel */
        $formModel = $this->getModel();
        if (!$this->show()) {
            $this->data = '';
            return;
        }
        $j3 = FabrikWorker::j3();
        $input = $this->app->input;
        $formId = $formModel->getForm()->id;
        $mode = JString::strtolower($input->get('view', 'form'));
        $this->ids = $this->getNavIds();
        $linkStartPrev = $this->ids->index == 0 ? ' disabled' : '';
        $linkNextEnd = $this->ids->index == $this->ids->lastKey ? ' disabled' : '';
        if ($this->app->isAdmin()) {
            $url = 'index.php?option=com_fabrik&task=' . $mode . '.view&formid=' . $formId . '&rowid=';
        } else {
            $url = 'index.php?option=com_' . $this->package . '&view=' . $mode . '&formid=' . $formId . '&rowid=';
        }
        $links = array();
        $links['first'] = JRoute::_($url . $this->ids->first);
        $links['first-active'] = $linkStartPrev;
        $links['last-active'] = $linkNextEnd;
        $links['prev'] = JRoute::_($url . $this->ids->prev);
        $links['next'] = JRoute::_($url . $this->ids->next);
        $links['last'] = JRoute::_($url . $this->ids->last);
        if ($j3) {
            $layout = new JLayoutFile('plugins.fabrik_form.paginate.layouts.default_paginate', JPATH_SITE);
            $this->data = $layout->render($links);
        } else {
            $firstLink = $linkStartPrev ? '<span>&lt;&lt;</span>' . FText::_('COM_FABRIK_START') : '<a href="' . $links['first'] . '" class="pagenav paginateFirst ' . $linkStartPrev . '"><span>&lt;&lt;</span>' . FText::_('COM_FABRIK_START') . '</a>';
            $prevLink = $linkStartPrev ? '<span>&lt;</span>' . FText::_('COM_FABRIK_PREV') : '<a href="' . $links['prev'] . '" class="pagenav paginatePrevious ' . $linkStartPrev . '"><span>&lt;</span>' . FText::_('COM_FABRIK_PREV') . '</a>';
            $nextLink = $linkNextEnd ? FText::_('COM_FABRIK_NEXT') . '<span>&gt;</span>' : '<a href="' . $links['next'] . '" class="pagenav paginateNext' . $linkNextEnd . '">' . FText::_('COM_FABRIK_NEXT') . '<span>&gt;</span></a>';
            $endLink = $linkNextEnd ? FText::_('COM_FABRIK_END') . '<span>&gt;&gt;</span>' : '<a href="' . $links['last'] . '" class="pagenav paginateLast' . $linkNextEnd . '">' . FText::_('COM_FABRIK_END') . '<span>&gt;&gt;</span></a>';
            $this->data = '<ul id="fabrik-from-pagination" class="pagination">
					<li>' . $firstLink . '</li>
					<li>' . $prevLink . '</li>
					<li>' . $nextLink . '</li>
					<li>' . $endLink . '</li>
			</ul>';
        }
        FabrikHelperHTML::stylesheet('plugins/fabrik_form/paginate/paginate.css');
    }
示例#11
0
文件: list.php 项目: rw1/fabrik
 /**
  * @since 3.0 loads lists's css files
  * Checks : J template html override css file then fabrik list tmpl template css file. Including them if found
  */
 public function getListCss()
 {
     $tmpl = $this->getTmpl();
     $app = JFactory::getApplication();
     /* check for a form template file (code moved from view) */
     if ($tmpl != '') {
         $qs = '?c=' . $this->getRenderContext();
         $qs .= '&amp;buttoncount=' . $this->rowActionCount;
         if (JFile::exists(JPATH_THEMES . '/' . $app->getTemplate() . '/html/com_fabrik/list/' . $tmpl . '/template_css.php')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'templates/' . $app->getTemplate() . '/html/com_fabrik/list/' . $tmpl . '/template_css.php' . $qs);
         } else {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'components/com_fabrik/views/list/tmpl/' . $tmpl . '/template_css.php' . $qs);
         }
     }
 }
示例#12
0
文件: form.php 项目: rogeriocc/fabrik
 /**
  * CCK - not used atm
  *
  * @return void
  */
 public function cck()
 {
     $catid = JRequest::getInt('catid');
     $db = JFactory::getDBO();
     $db->setQuery('SELECT id FROM #__fabrik_forms WHERE params LIKE \'%"cck_category":"' . $catid . '"%\'');
     $id = $db->loadResult();
     if (!$id) {
         FabrikHelperHTML::stylesheet('system.css', 'administrator/templates/system/css/');
         echo "<a target=\"_blank\" href=\"index.php?option=com_fabrik&c=form\">" . JText::_('VIEW_FORMS') . "</a>";
         return JError::raiseNotice(500, JText::_('SET_FORM_CCK_CATEGORY'));
     }
     JRequest::setVar('formid', $id);
     // Tell fabrik to load js scripts normally
     JRequest::setVar('iframe', 1);
     $this->view();
 }
示例#13
0
 /**
  * Build the radius search HTML
  *
  * @param   array  &$args  Plugin args
  *
  * @return  void
  */
 public function onMakeFilters(&$args)
 {
     if (!is_object($this->getMapElement())) {
         return;
     }
     $model = $this->getModel();
     $params = $this->getParams();
     $f = new stdClass();
     $f->label = FText::_($params->get('radius_label', 'Radius search'));
     FabrikHelperHTML::stylesheet('plugins/fabrik_list/radius_search/radius_search.css');
     $layoutData = new stdClass();
     $layoutData->renderOrder = $this->renderOrder;
     $layoutData->baseContext = $this->getSessionContext();
     $layoutData->defaultSearch = $params->get('default_search', 'mylocation');
     $layoutData->geocodeDefault = $params->get('geocode_default', '');
     $layoutData->unit = $this->getParams()->get('radius_unit', 'km');
     $layoutData->distance = $this->getValue();
     $layoutData->startActive = $params->get('start_active', 0);
     $typeKey = $layoutData->baseContext . 'radius_search_type' . $this->renderOrder;
     $type = $this->app->getUserStateFromRequest($typeKey, 'radius_search_type' . $this->renderOrder, array($layoutData->defaultSearch));
     $layoutData->select = $this->searchSelectList($type);
     $layoutData->type = $type[0];
     list($layoutData->searchLatitude, $layoutData->searchLongitude) = $this->getSearchLatLon();
     $layoutData->geocodeAsYouType = $params->get('geocode_as_type', 1);
     $layoutData->hasGeocode = $params->get('geocode', 1) == 1;
     $layoutData->address = $address = $this->app->getUserStateFromRequest($layoutData->baseContext . 'geocode' . $this->renderOrder, 'radius_search_geocode_field' . $this->renderOrder);
     $lat = $this->app->getUserStateFromRequest($layoutData->baseContext . 'lat' . $this->renderOrder, 'radius_search_lat' . $this->renderOrder);
     $lon = $this->app->getUserStateFromRequest($layoutData->baseContext . 'lon' . $this->renderOrder, 'radius_search_lon' . $this->renderOrder);
     $o = FabrikString::mapStrToCoords($layoutData->geocodeDefault);
     $layoutData->defaultLat = $lat ? $lat : (double) $o->lat;
     $layoutData->defaultLon = $lon ? $lon : (double) $o->long;
     $layoutData->defaultZoom = (int) $o->zoom === 0 ? 7 : (int) $o->zoom;
     $layoutData->lat = $lat;
     $layoutData->lon = $lon;
     $active = $this->app->getUserStateFromRequest($layoutData->baseContext . 'radius_search_active', 'radius_search_active' . $this->renderOrder, array($layoutData->startActive));
     $layoutData->active = $active[0];
     $layout = $this->getLayout('filters');
     $str = $layout->render($layoutData);
     $f->element = $str;
     $f->required = '';
     if ($this->app->input->get('format') !== 'raw') {
         FabrikHelperHTML::addStyleDeclaration("table.radius_table{border-collapse:collapse;border:0;}\n\t\t\ttable.radius_table td{border:0;}");
     }
     JText::script('PLG_VIEW_RADIUS_NO_GEOLOCATION_AVAILABLE');
     JText::script('COM_FABRIK_SEARCH');
     JText::script('PLG_LIST_RADIUS_SEARCH');
     JText::script('PLG_LIST_RADIUS_SEARCH_BUTTON');
     $mapElement = $this->getMapElement();
     $mapName = $mapElement->getFullName(true, false);
     $model->viewfilters[$mapName] = $f;
 }
示例#14
0
 /**
  * @since 3.0 loads lists's css files
  * Checks : J template html override css file then fabrik list tmpl template css file. Including them if found
  */
 public function getListCss()
 {
     $tmpl = $this->getTmpl();
     $app = JFactory::getApplication();
     /* check for a form template file (code moved from view) */
     if ($tmpl != '') {
         if (JFile::exists(JPATH_THEMES . '/' . $app->getTemplate() . '/html/com_fabrik/list/' . $tmpl . '/template_css.php')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'templates/' . $app->getTemplate() . '/html/com_fabrik/list/' . $tmpl . '/template_css.php?c=' . $this->getId());
         } else {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . "components/com_fabrik/views/list/tmpl/" . $tmpl . "/template_css.php?c=" . $this->getId());
         }
     }
 }
示例#15
0
 protected function getManagementJS($data = array())
 {
     global $Itemid;
     // $$$ rob ALWAYS load the calendar (so its avaible in ajax forms)
     FabrikHelperHTML::loadcalendar();
     $app =& JFactory::getApplication();
     $model =& $this->getModel();
     $table =& $model->getTable();
     $formModel =& $model->getForm();
     $elementsNotInTable =& $formModel->getElementsNotInTable();
     $keys = array('id' => '', 'name' => '', 'label' => '');
     foreach ($elementsNotInTable as &$i) {
         if (is_a($i, 'TableElement')) {
             $i = array_intersect_key($i->getPublicProperties(), $keys);
         }
     }
     FabrikHelperHTML::packageJS();
     $document =& JFactory::getDocument();
     if ($model->requiresSlimbox()) {
         FabrikHelperHTML::slimbox();
     }
     if ($model->requiresMocha()) {
         FabrikHelperHTML::mocha();
     }
     FabrikHelperHTML::script('table.js', 'media/com_fabrik/js/', true);
     $tmpl = $this->getTmpl();
     FabrikHelperHTML::stylesheet('table.css', 'media/com_fabrik/css/');
     // check for a custom css file and include it if it exists
     FabrikHelperHTML::stylesheetFromPath("components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "template.css");
     //check and add a general fabrik custom css file overrides template css and generic table css
     FabrikHelperHTML::stylesheetFromPath("media" . DS . "com_fabrik" . DS . "css" . DS . "custom.css");
     //check and add a specific table template css file overrides template css generic table css and generic custom css
     FabrikHelperHTML::stylesheetFromPath("components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "custom.css");
     // check for a custom js file and include it if it exists
     $aJsPath = JPATH_SITE . DS . "components" . DS . "com_fabrik" . DS . "views" . DS . "table" . DS . "tmpl" . DS . $tmpl . DS . "javascript.js";
     if (JFile::exists($aJsPath)) {
         FabrikHelperHTML::script("javascript.js", 'components/com_fabrik/views/table/tmpl/' . $tmpl . '/', true);
     }
     $origRows = $this->rows;
     $this->rows = array(array());
     $tmpItemid = !isset($Itemid) ? 0 : $Itemid;
     $this->_c = 0;
     $this->_row = new stdClass();
     $script = '';
     // $$$ rob done in HTMLHelper
     //$script = "/* <![CDATA[ */ \n";
     static $tableini;
     if (!$tableini) {
         $tableini = true;
         $script .= "var oTables = \$H();\n";
     }
     $opts = new stdClass();
     $opts->admin = $app->isAdmin();
     $opts->postMethod = $model->getPostMethod();
     $opts->filterMethod = $this->filter_action;
     $opts->form = 'tableform_' . $model->_id;
     $opts->headings = $model->_jsonHeadings();
     $labels = $this->headings;
     foreach ($labels as &$l) {
         $l = strip_tags($l);
     }
     $opts->labels = $labels;
     $opts->primaryKey = $table->db_primary_key;
     $opts->Itemid = $tmpItemid;
     $opts->formid = $model->_oForm->getId();
     $opts->canEdit = $model->canEdit() ? "1" : "0";
     $opts->canView = $model->canView() ? "1" : "0";
     $opts->page = JRoute::_('index.php');
     $opts->isGrouped = $this->isGrouped;
     $opts->mooversion = FabrikWorker::getMooVersion() == 1 ? 1.2 : 1.1;
     if (FabrikWorker::nativeMootools12()) {
         $opts->mooversion = 1.24;
     }
     $opts->formels = $elementsNotInTable;
     //if table data starts as empty then we need the html from the row
     // template otherwise we can't add a row to the table
     if ($model->_postMethod == 'ajax') {
         ob_start();
         $this->_row = new stdClass();
         $this->_row->id = '';
         $this->_row->class = 'fabrik_row';
         require COM_FABRIK_FRONTEND . DS . 'views' . DS . 'table' . DS . 'tmpl' . DS . 'default' . DS . 'default_row.php';
         $opts->rowtemplate = ob_get_contents();
         ob_end_clean();
     }
     //$$$rob if you are loading a table in a window from a form db join select record option
     // then we want to know the id of the window so we can set its showSpinner() method
     $opts->winid = JRequest::getVar('winid', '');
     $opts->ajaxEditViewLink = $model->ajaxEditViewLink() ? 1 : 0;
     $opts = json_encode($opts);
     $lang = new stdClass();
     $lang->select_rows = JText::_('SELECT SOME ROWS FOR DELETION');
     $lang->yes = JText::_('Yes');
     $lang->no = JText::_('No');
     $lang->select_colums_to_export = JText::_('SELECT_COLUMNS_TO_EXPORT');
     $lang->include_filters = JText::_('INCLUDE_FILTERS');
     $lang->include_data = JText::_('INCLUDE_DATA');
     $lang->inlcude_raw_data = JText::_('INCLUDE_RAW_DATA');
     $lang->include_calculations = JText::_('INLCUDE_CALCULATIONS');
     $lang->export = JText::_('EXPORT');
     $lang->loading = JText::_('loading');
     $lang->savingto = JText::_('Saving to');
     $lang->confirmDelete = JText::_('CONFIRMDELETE');
     $lang->csv_downloading = JText::_('COM_FABRIK_CSV_DOWNLOADING');
     $lang->download_here = JText::_('COM_FABRIK_DOWNLOAD_HERE');
     $lang->csv_complete = JText::_('COM_FABRIK_CSV_COMPLETE');
     $lang = json_encode($lang);
     $script .= "\n" . "var oTable{$model->_id} = new fabrikTable({$model->_id},";
     $script .= $opts . "," . $lang;
     $script .= "\n" . ");";
     $script .= "\n" . "oTable{$model->_id}.addListenTo('form_{$model->_oForm->_id}');";
     $script .= "\n" . "oTable{$model->_id}.addListenTo('table_{$model->_id}');";
     $script .= "\n" . "oPackage.addBlock('table_{$model->_id}', oTable{$model->_id});";
     //add in plugin objects
     $plugins = $this->get('PluginJsObjects');
     $script .= "\noTable{$model->_id}.addPlugins([\n";
     $script .= "  " . implode(",\n  ", $plugins);
     $script .= "]\n);\n";
     $script .= "oTables.set({$model->_id}, oTable{$model->_id});\n";
     FabrikHelperHTML::addScriptDeclaration($script);
     $this->getElementJs();
     //reset data back to original settings
     $this->rows = $origRows;
     $this->get('CustomJsAction');
 }
示例#16
0
 /**
  * Get the class to manage the form element
  * to ensure that the file is loaded only once
  *
  * @param   array  &$srcs  Scripts previously loaded
  * @param   string $script Script to load once class has loaded
  * @param   array  &$shim  Dependant class names to load before loading the class - put in requirejs.config shim
  *
  * @return void
  */
 public function formJavascriptClass(&$srcs, $script = '', &$shim = array())
 {
     $key = FabrikHelperHTML::isDebug() ? 'element/digsig/digsig' : 'element/digsig/digsig-min';
     $s = new stdClass();
     $s->deps = array();
     $folder = 'element/digsig/libs/signature-pad/';
     $digsigShim = new stdClass();
     $digsigShim->deps = array($folder . 'jquery.signaturepad');
     $s->deps[] = $folder . 'jquery.signaturepad';
     $s->deps[] = $folder . 'flashcanvas';
     $shim[$folder . 'flashcanvas'] = $digsigShim;
     $s->deps[] = $folder . 'json2';
     $shim[$folder . 'json2'] = $digsigShim;
     $shim[$key] = $s;
     FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'plugins/fabrik_element/digsig/libs/signature-pad/jquery.signaturepad.css');
     parent::formJavascriptClass($srcs, $script, $shim);
     // $$$ hugh - added this, and some logic in the view, so we will get called on a per-element basis
     return false;
 }
示例#17
0
 /**
  * loads form's css files
  * Checks : custom css file, template css file. Including them if found
  */
 function getFormCss()
 {
     $tmpl = $this->getForm()->form_template;
     /* check for a custom css file */
     if (JRequest::getVar('incformcss', 1) == 1) {
         FabrikHelperHTML::stylesheet('form.css', 'media/com_fabrik/css/');
     }
     //check and add a general fabrik custom css file overrides generic form css
     FabrikHelperHTML::stylesheetFromPath("media" . DS . "com_fabrik" . DS . "css" . DS . "custom.css");
     FabrikHelperHTML::stylesheetFromPath("components" . DS . "com_fabrik" . DS . "css" . DS . $this->getId() . ".css");
     /* check for a form template file (code moved from view) */
     if ($tmpl != '') {
         FabrikHelperHTML::stylesheetFromPath("components" . DS . "com_fabrik" . DS . 'views' . DS . 'form' . DS . 'tmpl' . DS . $tmpl . DS . "template.css");
         //check and add a custom form template css
         FabrikHelperHTML::stylesheetFromPath("components" . DS . "com_fabrik" . DS . 'views' . DS . 'form' . DS . 'tmpl' . DS . $tmpl . DS . "custom.css");
     }
     $app =& JFactory::getApplication();
     if ($app->isAdmin() && JRequest::getVar('tmpl') === 'components') {
         FabrikHelperHTML::stylesheet('system.css', 'administrator/templates/system/css/');
     }
 }
示例#18
0
 /**
  * Create the html for Ajax upload widget
  *
  * @param   array  $str            Current html output
  * @param   int    $repeatCounter  Repeat group counter
  * @param   array  $values         Existing files
  *
  * @return	array	Modified fileupload html
  */
 protected function plupload($str, $repeatCounter, $values)
 {
     FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'media/com_fabrik/css/slider.css');
     $id = $this->getHTMLId($repeatCounter);
     $j3 = FabrikWorker::j3();
     $params = $this->getParams();
     $winWidth = $params->get('win_width', 400);
     $winHeight = $params->get('win_height', 400);
     $runtimes = $params->get('ajax_runtime', 'html5,html4');
     $w = (int) $params->get('ajax_dropbox_width', 0);
     $h = (int) $params->get('ajax_dropbox_hight', 200);
     $dropBoxStyle = 'height:' . $h . 'px';
     if ($w !== 0) {
         $dropBoxStyle .= 'width:' . $w . 'px;';
     }
     // Add span with id so that element fxs work.
     $pstr = array();
     $pstr[] = '<span id="' . $id . '"></span>';
     $pstr[] = '<div id="' . $id . '-widgetcontainer">';
     $pstr[] = '<canvas id="' . $id . '-widget" width="' . $winWidth . '" height="' . $winHeight . '"></canvas>';
     if ($this->canCrop()) {
         $pstr[] = '<div class="zoom" style="float:left;margin-top:10px;padding-right:10x;width:180px">';
         $pstr[] = '	zoom:';
         $pstr[] = '	<div class="fabrikslider-line" style="width: 100px;float:left;">';
         $pstr[] = '		<div class="knob"></div>';
         $pstr[] = '	</div>';
         $pstr[] = '	<input name="zoom-val" value="" size="3"  class="input-mini"/>';
         $pstr[] = '</div>';
         $pstr[] = '<div class="rotate" style="float:left;margin-top:10px;width:180px">' . JText::_('PLG_ELEMENT_FILEUPLOAD_ROTATE') . ':';
         $pstr[] = '	<div class="fabrikslider-line" style="width: 100px;float:left;">';
         $pstr[] = '		<div class="knob"></div>';
         $pstr[] = '	</div>';
         $pstr[] = '	<input name="rotate-val" value="" size="3"  class="input-mini"/>';
         $pstr[] = '</div>';
     }
     if (FabrikHelperHTML::canvasSupport()) {
         $pstr[] = '<div style="text-align: right;float:right;margin:10px 0; width: 205px">';
         $pstr[] = '<input type="button" class="button btn btn-primary" name="close-crop" value="' . JText::_('CLOSE') . '" />';
         $pstr[] = '</div>';
     }
     $pstr[] = '</div>';
     $pstr[] = '<div class="plupload_container fabrikHide" id="' . $id . '_container" style="' . $dropBoxStyle . '">';
     $pstr[] = '<div class="plupload" id="' . $id . '_dropList_container">';
     if ($j3) {
         $pstr[] = '	<table class="table table-striped table-condensed">';
         $pstr[] = '		<thead style="display:none"><tr>';
         $pstr[] = '			<th class="span4">' . JText::_('PLG_ELEMENT_FILEUPLOAD_FILENAME') . '</th>';
         $pstr[] = '			<th class="span1 plupload_crop">&nbsp;</th>';
         $pstr[] = '			<th class="span5 plupload_file_status"></th>';
         $pstr[] = '			<th class="span1 plupload_file_action">&nbsp;</th>';
         $pstr[] = '		</tr></thead>';
         $pstr[] = '		<tbody class="plupload_filelist" id="' . $id . '_dropList">';
         $pstr[] = ' </tbody>';
         $pstr[] = ' <tfoot><tr><td colspan="4">';
         $pstr[] = '				<a id="' . $id . '_browseButton" class="btn btn-mini" href="#"><i class="icon-plus-sign icon-plus"></i>' . JText::_('PLG_ELEMENT_FILEUPLOAD_ADD_FILES') . '</a>';
         $pstr[] = '				<a class="btn btn-mini disabled" data-action="plupload_start" href="#"><i class="icon-upload"></i>' . JText::_('PLG_ELEMENT_FILEUPLOAD_START_UPLOAD') . '</a>';
         $pstr[] = '			<span class="plupload_upload_status"></span>';
         $pstr[] = '</td></tr></tfoot>';
         $pstr[] = '	</table>';
     } else {
         $pstr[] = '	<div class="plupload_header">';
         $pstr[] = '		<div class="plupload_header_content">';
         $pstr[] = '			<div class="plupload_header_title">' . JText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_HEADING') . '</div>';
         $pstr[] = '			<div class="plupload_header_text">' . JText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_SUB_HEADING') . '</div>';
         $pstr[] = '		</div>';
         $pstr[] = '	</div>';
         $pstr[] = '	<div class="plupload_content">';
         $pstr[] = '		<div class="plupload_filelist_header">';
         $pstr[] = '			<div class="plupload_file_name">' . JText::_('PLG_ELEMENT_FILEUPLOAD_FILENAME') . '</div>';
         $pstr[] = '			<div class="plupload_file_action">&nbsp;</div>';
         $pstr[] = '			<div class="plupload_file_status"><span>' . JText::_('PLG_ELEMENT_FILEUPLOAD_STATUS') . '</span></div>';
         $pstr[] = '			<div class="plupload_file_size">' . JText::_('PLG_ELEMENT_FILEUPLOAD_SIZE') . '</div>';
         $pstr[] = '			<div class="plupload_clearer">&nbsp;</div>';
         $pstr[] = '		</div>';
         $pstr[] = '		<ul class="plupload_filelist" id="' . $id . '_dropList">';
         $pstr[] = '		</ul>';
         $pstr[] = '		<div class="plupload_filelist_footer">';
         $pstr[] = '		<div class="plupload_file_name">';
         $pstr[] = '			<div class="plupload_buttons">';
         $pstr[] = '				<a id="' . $id . '_browseButton" class="plupload_button plupload_add" href="#">' . JText::_('PLG_ELEMENT_FILEUPLOAD_ADD_FILES') . '</a>';
         $pstr[] = '				<a class="plupload_button plupload_start plupload_disabled" href="#">' . JText::_('PLG_ELEMENT_FILEUPLOAD_START_UPLOAD') . '</a>';
         $pstr[] = '			</div>';
         $pstr[] = '			<span class="plupload_upload_status"></span>';
         $pstr[] = '		</div>';
         $pstr[] = '		<div class="plupload_file_action"></div>';
         $pstr[] = '			<div class="plupload_file_status">';
         $pstr[] = '				<span class="plupload_total_status"></span>';
         $pstr[] = '			</div>';
         $pstr[] = '		<div class="plupload_file_size">';
         $pstr[] = '			<span class="plupload_total_file_size"></span>';
         $pstr[] = '		</div>';
         $pstr[] = '		<div class="plupload_progress">';
         $pstr[] = '			<div class="plupload_progress_container">';
         $pstr[] = '			<div class="plupload_progress_bar"></div>';
         $pstr[] = '		</div>';
         $pstr[] = '	</div>';
         $pstr[] = '	<div class="plupload_clearer">&nbsp;</div>';
         $pstr[] = '	</div>';
         FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'plugins/fabrik_element/fileupload/lib/plupload/css/plupload.queue.css');
     }
     $pstr[] = '	</div>';
     $pstr[] = '</div>';
     $pstr[] = '<!-- FALLBACK; SHOULD LOADING OF PLUPLOAD FAIL -->';
     $pstr[] = '<div class="plupload_fallback">' . JText::_('PLG_ELEMENT_FILEUPLOAD_FALLBACK_MESSAGE');
     $pstr[] = '<br />';
     array_merge($pstr, $str);
     $pstr[] = '</div>';
     return $pstr;
 }
示例#19
0
    /**
     * Create the html plupload widget plus css
     * @param string current html output
     * @param int repeat group counter
     * @param array existing files
     * @return modified fileupload html
     */
    protected function plupload($str, $repeatCounter, $values)
    {
        FabrikHelperHTML::stylesheet('fabrikslider.css', 'media/com_fabrik/css/');
        $id = $this->getHTMLId($repeatCounter);
        $params =& $this->getParams();
        $runtimes = $params->get('ajax_runtime', 'html5');
        $this->pluploadLRuntimes($runtimes);
        $document =& JFactory::getDocument();
        $pstr = $str . '<!-- UPLOAD CONTAINER -->
		<div id="' . $id . '-widgetcontainer">';
        if ($params->get('fileupload_crop', 0)) {
            $pstr .= '
		<canvas id="' . $id . '-widget" width="400" height="400"></canvas>
<div class="zoom" style="float:left;margin-top:10px;">
zoom:
	<div class="fabrikslider-line" style="width: 100px;float:left;">
		<div class="knob"></div>
	</div>
	<input name="zoom-val" value="" size="3" />
</div>
<div class="rotate" style="float:left;clear:left;margin-top:10px;">' . JText::_('PLG_ELEMENT_FILEUPLOAD_ROTATE') . ':
	<div class="fabrikslider-line" style="width: 100px;float:left;">
		<div class="knob"></div>
	</div>
	<input name="rotate-val" value="" size="3" />
</div>
<div style="text-align: right;float:right; width: 205px">
	<input type="button" class="button" name="close-crop" value="' . JText::_('CLOSE') . '" />
	</div>
</div>';
        }
        $pstr .= '

		<div class="plupload_container" id="' . $id . '_container">
			<div class="plupload">
				<div class="plupload_header">
					<div class="plupload_header_content">
						<div class="plupload_header_title">' . JText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_HEADING') . '</div>
						<div class="plupload_header_text">' . JText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_SUB_HEADING') . '</div>
					</div>
				</div>
				<div class="plupload_content">
					<div class="plupload_filelist_header">
						<div class="plupload_file_name">' . JText::_('PLG_ELEMENT_FILEUPLOAD_FILENAME') . '</div>
					<div class="plupload_file_action">&nbsp;</div>
					<div class="plupload_file_status"><span>' . JText::_('PLG_ELEMENT_FILEUPLOAD_STATUS') . '</span></div>
					<div class="plupload_file_size">' . JText::_('PLG_ELEMENT_FILEUPLOAD_SIZE') . '</div>
					<div class="plupload_clearer">&nbsp;</div>
				</div>
				<ul class="plupload_filelist" id="' . $id . '_dropList">

				</ul>
				<div class="plupload_filelist_footer">
					<div class="plupload_file_name">
						<div class="plupload_buttons">
							<a id="' . $id . '_browseButton" class="plupload_button plupload_add" href="#">' . JText::_('PLG_ELEMENT_FILEUPLOAD_ADD_FILES') . '</a>
							<a class="plupload_button plupload_start plupload_disabled" href="#">' . JText::_('PLG_ELEMENT_FILEUPLOAD_START_UPLOAD') . '</a>
						</div>
						<span class="plupload_upload_status"></span>
					</div>
					<div class="plupload_file_action"></div>
					<div class="plupload_file_status">
						<span class="plupload_total_status">0%</span>
					</div>
					<div class="plupload_file_size">
						<span class="plupload_total_file_size">0 b</span>
					</div>
					<div class="plupload_progress">
						<div class="plupload_progress_container">
							<div class="plupload_progress_bar"></div>
						</div>
					</div>
					<div class="plupload_clearer">&nbsp;</div>
				</div>
			</div>
		</div>
		</div>

';
        $w = (int) $params->get('ajax_dropbox_width', 300);
        $h = (int) $params->get('ajax_dropbox_hight', 200);
        FabrikHelperHTML::stylesheet('plupload.queue.css', 'components/com_fabrik/plugins/element/fabrikfileupload/plupload/css/');
        $document->addStyleDeclaration(".dropList{background:#aaa; width:" . $w . "px; height:" . $h . "px;}");
        return $pstr;
    }
示例#20
0
文件: list.php 项目: romuland/khparts
 /**
  * @since 3.0 loads lists's css files
  * Checks : J template html override css file then fabrik list tmpl template css file. Including them if found
  */
 public function getListCss()
 {
     $tmpl = $this->getTmpl();
     $app = JFactory::getApplication();
     /* check for a form template file (code moved from view) */
     if ($tmpl != '') {
         $qs = '?c=' . $this->getRenderContext();
         $qs .= '&buttoncount=' . $this->rowActionCount;
         if (JFile::exists(JPATH_THEMES . '/' . $app->getTemplate() . '/html/com_fabrik/list/' . $tmpl . '/template_css.php')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'templates/' . $app->getTemplate() . '/html/com_fabrik/list/' . $tmpl . '/template_css.php' . $qs);
         } else {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'components/com_fabrik/views/list/tmpl/' . $tmpl . '/template_css.php' . $qs);
         }
         // $$$ hugh - as per Skype convos with Rob, decided to re-instate the custom.css convention.  So I'm adding two files:
         // custom.css - for backward compat with existing 2.x custom.css
         // custom_css.php - what we'll recommend people use for custom css moving foward.
         if (JFile::exists(COM_FABRIK_BASE . '/components/com_fabrik/views/list/tmpl/' . $tmpl . '/custom.css')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . "components/com_fabrik/views/list/tmpl/" . $tmpl . "/custom.css");
         }
         if (JFile::exists(COM_FABRIK_BASE . '/components/com_fabrik/views/list/tmpl/' . $tmpl . '/custom_css.php')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . "components/com_fabrik/views/list/tmpl/" . $tmpl . "/custom_css.php" . $qs);
         }
     }
 }
_startButton" class="btn btn-mini disabled plupload_start" data-action="plupload_start" href="#">
								<?php 
    echo FabrikHelperHTML::icon('icon-upload');
    ?>
						<?php 
    echo FText::_('PLG_ELEMENT_FILEUPLOAD_START_UPLOAD');
    ?>
</a>
							<span class="plupload_upload_status"></span>
					</td>
				</tr>
			</tfoot>
		</table>
<?php 
} else {
    FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'plugins/fabrik_element/fileupload/lib/plupload/css/plupload.queue.css');
    ?>
		<div class="plupload_header">
			<div class="plupload_header_content">
				<div class="plupload_header_title"><?php 
    echo FText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_HEADING');
    ?>
</div>
				<div class="plupload_header_text"><?php 
    echo FText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_SUB_HEADING');
    ?>
</div>
			</div>
		</div>
		<div class="plupload_content">
			<div class="plupload_filelist_header">
示例#22
0
文件: form.php 项目: rw1/fabrik
 /**
  * loads form's css files
  * Checks : custom css file, template css file. Including them if found
  */
 public function getFormCss()
 {
     $app = JFactory::getApplication();
     $tmpl = $this->getTmpl();
     $v = $this->_editable ? 'form' : 'details';
     /* check for a form template file (code moved from view) */
     if ($tmpl != '') {
         if (JFile::exists(JPATH_THEMES . '/' . $app->getTemplate() . '/html/com_fabrik/form/' . $tmpl . '/template_css.php')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'templates/' . $app->getTemplate() . '/html/com_fabrik/form/' . $tmpl . '/template_css.php?c=' . $this->getId() . '&amp;view=' . $v);
         } else {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . "components/com_fabrik/views/form/tmpl/" . $tmpl . "/template_css.php?c=" . $this->getId() . '&amp;view=' . $v);
         }
     }
     if ($app->isAdmin() && JRequest::getVar('tmpl') === 'components') {
         FabrikHelperHTML::stylesheet('administrator/templates/system/css/system.css');
     }
 }
示例#23
0
文件: form.php 项目: glauberm/cinevi
 /**
  * loads form's css files
  * Checks : custom css file, template css file. Including them if found
  *
  * @return  void
  */
 public function getFormCss()
 {
     $input = $this->app->input;
     $jTmplFolder = FabrikWorker::j3() ? 'tmpl' : 'tmpl25';
     $tmpl = $this->getTmpl();
     $v = $this->isEditable() ? 'form' : 'details';
     // Check for a form template file (code moved from view)
     if ($tmpl != '') {
         $qs = '?c=' . $this->getId();
         $qs .= '&amp;rowid=' . $this->getRowId();
         /* $$$ need &amp; for pdf output which is parsed through xml parser otherwise fails
          * If FabrikHelperHTML::styleSheetajax loaded then don't do &amp;
          */
         $view = $this->isEditable() ? 'form' : 'details';
         if (FabrikHelperHTML::cssAsAsset()) {
             $qs .= '&view=' . $v;
             $qs .= '&rowid=' . $this->getRowId();
         } else {
             $qs .= '&amp;view=' . $v;
             $qs .= '&amp;rowid=' . $this->getRowId();
         }
         $tmplPath = 'templates/' . $this->app->getTemplate() . '/html/com_fabrik/' . $view . '/' . $tmpl . '/template_css.php' . $qs;
         if (!FabrikHelperHTML::stylesheetFromPath($tmplPath)) {
             FabrikHelperHTML::stylesheetFromPath('components/com_fabrik/views/' . $view . '/' . $jTmplFolder . '/' . $tmpl . '/template_css.php' . $qs);
         }
         /* $$$ hugh - as per Skype convos with Rob, decided to re-instate the custom.css convention.  So I'm adding two files:
          * custom.css - for backward compat with existing 2.x custom.css
          * custom_css.php - what we'll recommend people use for custom css moving forward.
          */
         if (!FabrikHelperHTML::stylesheetFromPath('templates/' . $this->app->getTemplate() . '/html/com_fabrik/' . $view . '/' . $tmpl . '/custom.css' . $qs)) {
             FabrikHelperHTML::stylesheetFromPath('components/com_fabrik/views/' . $view . '/' . $jTmplFolder . '/' . $tmpl . '/custom.css' . $qs);
         }
         $path = 'templates/' . $this->app->getTemplate() . '/html/com_fabrik/' . $view . '/' . $tmpl . '/custom_css.php' . $qs;
         if (!FabrikHelperHTML::stylesheetFromPath($path)) {
             $displayData = new stdClass();
             $displayData->view = $view;
             $displayData->tmpl = $tmpl;
             $displayData->qs = $qs;
             $displayData->jTmplFolder = $jTmplFolder;
             $displayData->formModel = $this;
             $layout = $this->getLayout('form.fabrik-custom-css-qs');
             $path = $layout->render($displayData);
             FabrikHelperHTML::stylesheetFromPath($path);
         }
     }
     if ($this->app->isAdmin() && $input->get('tmpl') === 'components') {
         FabrikHelperHTML::stylesheet('administrator/templates/system/css/system.css');
     }
 }
示例#24
0
文件: html.php 项目: romuland/khparts
 /**
  * check for a custom css file and include it if it exists
  * @param string $path NOT including JPATH_SITE (so relative too root dir
  * @return false
  */
 public static function stylesheetFromPath($path)
 {
     if (JFile::exists(JPATH_SITE . '/' . $path)) {
         FabrikHelperHTML::stylesheet($path);
     }
 }
示例#25
0
文件: form.php 项目: rhotog/fabrik
 /**
  * loads form's css files
  * Checks : custom css file, template css file. Including them if found
  */
 public function getFormCss()
 {
     $app = JFactory::getApplication();
     $tmpl = $this->getTmpl();
     $v = $this->_editable ? 'form' : 'details';
     /* check for a form template file (code moved from view) */
     if ($tmpl != '') {
         if (JFile::exists(JPATH_THEMES . '/' . $app->getTemplate() . '/html/com_fabrik/form/' . $tmpl . '/template_css.php')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'templates/' . $app->getTemplate() . '/html/com_fabrik/form/' . $tmpl . '/template_css.php?c=' . $this->getId() . '&amp;view=' . $v);
         } else {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . "components/com_fabrik/views/form/tmpl/" . $tmpl . "/template_css.php?c=" . $this->getId() . '&amp;view=' . $v);
         }
         // $$$ hugh - as per Skype convos with Rob, decided to re-instate the custom.css convention.  So I'm adding two files:
         // custom.css - for backward compat with existing 2.x custom.css
         // custom_css.php - what we'll recommend people use for custom css moving foward.
         if (JFile::exists(COM_FABRIK_BASE . '/components/com_fabrik/views/form/tmpl/' . $tmpl . '/custom.css')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . "components/com_fabrik/views/form/tmpl/" . $tmpl . "/custom.css");
         }
         if (JFile::exists(COM_FABRIK_BASE . '/components/com_fabrik/views/form/tmpl/' . $tmpl . '/custom_css.php')) {
             FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . "components/com_fabrik/views/form/tmpl/" . $tmpl . "/custom_css.php?c=" . $this->getId() . '&amp;view=' . $v);
         }
     }
     if ($app->isAdmin() && JRequest::getVar('tmpl') === 'components') {
         FabrikHelperHTML::stylesheet('administrator/templates/system/css/system.css');
     }
 }
示例#26
0
 private function _render($watch, $data = array(), $format = 'table', $repeatCounter = 0)
 {
     // http://www.google.com/ig/api?weather=,,,34739300,-86624100
     $id = $this->getHTMLId($repeatCounter);
     $params =& $this->getParams();
     $watch_type = $params->get('fabrikweather_watch_type', 'map');
     $temp_scale = $params->get('fabrikweather_temp_scale', 'f');
     $w = new FabrikWorker();
     $city = $params->get('fabrikweather_city', '');
     $city = $w->parseMessageForPlaceholder($city, $data);
     $language = $params->get('fabrikweather_language', 'en');
     $is_night = false;
     if ($watch_type == 'map') {
         $o = $this->_strToCoords($watch);
         $lat = (double) trim($o->coords[0]);
         $glat = sprintf("%8d", $lat * 1000000);
         $lon = (double) trim($o->coords[1]);
         $glon = sprintf("%8d", $lon * 1000000);
         $weather = "{$glat},{$glon}";
         $is_night = $this->_isNight($lat, $lon);
     } else {
         $weather = $city;
     }
     $custom_slug = $params->get('fabrikweather_class_prefix', 'fabrikweather');
     if (!empty($custom_slug) && JFile::exists(COM_FABRIK_FRONTEND . DS . 'components/com_fabrik/plugins/element/fabrikweather/assets/' . $custom_slug . '/weather.css')) {
         FabrikHelperHTML::stylesheet('weather.css', 'components/com_fabrik/plugins/element/fabrikweather/assets/' . $custom_slug . '/');
     } else {
         FabrikHelperHTML::stylesheet('weather.css', 'components/com_fabrik/plugins/element/fabrikweather/assets/fabrikweather/');
     }
     if (!empty($custom_slug) && JFile::exists(COM_FABRIK_FRONTEND . DS . 'plugins/element/fabrikweather/assets/' . $custom_slug . '/render.php')) {
         require_once COM_FABRIK_FRONTEND . DS . 'plugins/element/fabrikweather/assets/' . $custom_slug . '/render.php';
     } else {
         require_once COM_FABRIK_FRONTEND . DS . 'plugins/element/fabrikweather/assets/fabrikweather/render.php';
     }
     $render = new fabrikWeatherRender();
     $render->setIsNight($is_night);
     $render->setTempScale($temp_scale);
     if (!empty($custom_slug) && JFolder::exists(COM_FABRIK_FRONTEND . DS . 'plugins/element/fabrikweather/assets/' . $custom_slug . '/icons')) {
         $render->setIconPath('plugins/element/fabrikweather/assets/' . $custom_slug . '/icons');
     } else {
         $render->setIconPath('plugins/element/fabrikweather/assets/fabrikweather/icons');
     }
     if (!$render->getWeatherXml($weather, $watch_type, $language)) {
         return JText::_(PLG_ELEMENT_FABRIKWEATHER_NO_GOOGLE_DATA);
     }
     if ($format == 'table') {
         $html = $render->getTableHtml($id, $city);
     } else {
         $html = $render->getFormHtml($id, $city);
     }
     return $html;
 }
示例#27
0
 private function slider()
 {
     $v = $this->getValue();
     FabrikHelperHTML::stylesheet('radius_search.css', 'components/com_fabrik/plugins/table/radius_search/');
     $str = "<div class=\"slider_cont\" style=\"width:200px;\">\n";
     $str .= "<div class=\"fabrikslider-line\" style=\"width:200px\">";
     $str .= "\n<div class=\"knob\"></div>\n";
     $str .= "</div>\n";
     $str .= "<input type=\"hidden\" class=\"radius_search_distance\" name=\"radius_search_distance\" value=\"{$v}\"/>\n";
     $str .= "<div class=\"slider_output\">{$v}" . $this->getParams()->get('radius_unit', 'km') . "</div>\n";
     $str .= "</div>";
     return $str;
 }
示例#28
0
    /**
     * Create the html plupload widget plus css
     * @param string current html output
     * @param int repeat group counter
     * @param array existing files
     * @return modified fileupload html
     */
    protected function plupload($str, $repeatCounter, $values)
    {
        FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'media/com_fabrik/css/slider.css');
        $id = $this->getHTMLId($repeatCounter);
        $params = $this->getParams();
        $runtimes = $params->get('ajax_runtime', 'html5');
        $w = (int) $params->get('ajax_dropbox_width', 300);
        $h = (int) $params->get('ajax_dropbox_hight', 200);
        //add span with id so that element fxs work.
        $pstr = '<!-- UPLOAD CONTAINER -->
		<span id="' . $id . '"></span>
		<div id="' . $id . '-widgetcontainer">';
        $pstr .= '
		<canvas id="' . $id . '-widget" width="400" height="400"></canvas>';
        if ($params->get('fileupload_crop', 0)) {
            $pstr .= '
<div class="zoom" style="float:left;margin-top:10px;padding-right:10x;width:200px">
zoom:
	<div class="fabrikslider-line" style="width: 100px;float:left;">
		<div class="knob"></div>
	</div>
	<input name="zoom-val" value="" size="3" />
</div>
<div class="rotate" style="float:left;margin-top:10px;width:200px">' . JText::_('PLG_ELEMENT_FILEUPLOAD_ROTATE') . ':
	<div class="fabrikslider-line" style="width: 100px;float:left;">
		<div class="knob"></div>
	</div>
	<input name="rotate-val" value="" size="3" />

</div>';
        }
        $pstr .= '
<div  style="text-align: right;float:right;margin-top:10px; width: 205px">
	<input type="button" class="button" name="close-crop" value="' . JText::_('CLOSE') . '" />
	</div>
</div>';
        $pstr .= '

		<div class="plupload_container fabrikHide" id="' . $id . '_container" style="width:' . $w . 'px;height:' . $h . 'px">
			<div class="plupload">
				<div class="plupload_header">
					<div class="plupload_header_content">
						<div class="plupload_header_title">' . JText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_HEADING') . '</div>
						<div class="plupload_header_text">' . JText::_('PLG_ELEMENT_FILEUPLOAD_PLUP_SUB_HEADING') . '</div>
					</div>
				</div>
				<div class="plupload_content">
					<div class="plupload_filelist_header">
						<div class="plupload_file_name">' . JText::_('PLG_ELEMENT_FILEUPLOAD_FILENAME') . '</div>
					<div class="plupload_file_action">&nbsp;</div>
					<div class="plupload_file_status"><span>' . JText::_('PLG_ELEMENT_FILEUPLOAD_STATUS') . '</span></div>
					<div class="plupload_file_size">' . JText::_('PLG_ELEMENT_FILEUPLOAD_SIZE') . '</div>
					<div class="plupload_clearer">&nbsp;</div>
				</div>
				<ul class="plupload_filelist" id="' . $id . '_dropList">

				</ul>
				<div class="plupload_filelist_footer">
					<div class="plupload_file_name">
						<div class="plupload_buttons">
							<a id="' . $id . '_browseButton" class="plupload_button plupload_add" href="#">' . JText::_('PLG_ELEMENT_FILEUPLOAD_ADD_FILES') . '</a>
							<a class="plupload_button plupload_start plupload_disabled" href="#">' . JText::_('PLG_ELEMENT_FILEUPLOAD_START_UPLOAD') . '</a>
						</div>
						<span class="plupload_upload_status"></span>
					</div>
					<div class="plupload_file_action"></div>
					<div class="plupload_file_status">
						<span class="plupload_total_status"></span>
					</div>
					<div class="plupload_file_size">
						<span class="plupload_total_file_size"></span>
					</div>
					<div class="plupload_progress">
						<div class="plupload_progress_container">
							<div class="plupload_progress_bar"></div>
						</div>
					</div>
					<div class="plupload_clearer">&nbsp;</div>
				</div>
			</div>
		</div>
		</div>

<!-- FALLBACK; SHOULD LOADING OF PLUPLOAD FAIL -->
<div class="plupload_fallback">' . JText::_('PLG_ELEMENT_FILEUPLOAD_FALLBACK_MESSAGE') . '
   <br />
   ' . $str . '
</div>';
        FabrikHelperHTML::stylesheet(COM_FABRIK_LIVESITE . 'plugins/fabrik_element/fileupload/lib/plupload/css/plupload.queue.css');
        //FabrikHelperHTML::addStyleDeclaration(".dropList{background:#aaa; width:".$w."px; height:".$h."px;}");
        return $pstr;
    }
示例#29
0
 public static function atWho($selector, $placeHolders = array())
 {
     array_filter($placeHolders);
     $key = $selector . implode('.', $placeHolders);
     if (!array_key_exists($key, self::$atWho)) {
         $replacements = FabrikWorker::globalReplacements();
         $replacements = array_keys($replacements);
         $replacements = array_map(function ($v) {
             $v = str_replace(array('{', '}'), array('', ''), $v);
             return $v;
         }, $replacements);
         $placeHolders = array_merge($placeHolders, $replacements);
         $placeHolders = json_encode($placeHolders);
         $script[] = "jQuery('{$selector}').atwho({\r\n\t\t\t\t'at': '{',\r\n\t\t\t\t'insertTpl' : '\${atwho-at}\${name}}',\r\n\t\t\t\tdata: {$placeHolders},\r\n\t\t\t\t limit: 5,\r\n            });";
         self::$atWho[$key] = true;
         $css = self::isDebug() ? 'jquery.atwho.css' : 'jquery.atwho.min.css';
         FabrikHelperHTML::stylesheet('media/com_fabrik/js/lib/at/' . $css);
         $needed[] = self::isDebug() ? '\'lib/caret/caret\'' : '\'lib/caret/caret-min\'';
         $needed[] = self::isDebug() ? '\'lib/at/atwho\'' : '\'lib/at/atwho-min\'';
         $needed = implode(", ", $needed);
         $script = implode("\n", $script);
         self::addScriptDeclaration("requirejs([{$needed}], function (j, f) {\r\n\t{$script}\r\n});");
     }
 }
示例#30
0
文件: form.php 项目: rogeriocc/fabrik
 /**
  * loads form's css files
  * Checks : custom css file, template css file. Including them if found
  *
  * @return  void
  */
 public function getFormCss()
 {
     $app = JFactory::getApplication();
     $tmpl = $this->getTmpl();
     $v = $this->isEditable() ? 'form' : 'details';
     // Check for a form template file (code moved from view)
     if ($tmpl != '') {
         $qs = '?c=' . $this->getId();
         /* $$$ need &amp; for pdf output which is parsed through xml parser otherwise fails
          * If FabrikHelperHTML::styleSheetajax loaded then dont do &amp;
          */
         $qs .= FabrikHelperHTML::cssAsAsset() ? '&view=' . $v : '&amp;view=' . $v;
         $tmplPath = 'templates/' . $app->getTemplate() . '/html/com_fabrik/form/' . $tmpl . '/template_css.php' . $qs;
         if (!FabrikHelperHTML::stylesheetFromPath($tmplPath)) {
             FabrikHelperHTML::stylesheetFromPath('components/com_fabrik/views/form/tmpl/' . $tmpl . '/template_css.php' . $qs);
         }
         /* $$$ hugh - as per Skype convos with Rob, decided to re-instate the custom.css convention.  So I'm adding two files:
          * custom.css - for backward compat with existing 2.x custom.css
          * custom_css.php - what we'll recommend people use for custom css moving foward.
          */
         if (!FabrikHelperHTML::stylesheetFromPath('templates/' . $app->getTemplate() . '/html/com_fabrik/form/' . $tmpl . '/custom.css' . $qs)) {
             FabrikHelperHTML::stylesheetFromPath('components/com_fabrik/views/form/tmpl/' . $tmpl . '/custom.css' . $qs);
         }
         if (!FabrikHelperHTML::stylesheetFromPath('templates/' . $app->getTemplate() . '/html/com_fabrik/form/' . $tmpl . '/custom_css.php' . $qs)) {
             FabrikHelperHTML::stylesheetFromPath('components/com_fabrik/views/form/tmpl/' . $tmpl . '/custom_css.php' . $qs);
         }
     }
     if ($app->isAdmin() && JRequest::getVar('tmpl') === 'components') {
         FabrikHelperHTML::stylesheet('administrator/templates/system/css/system.css');
     }
 }