当前位置: 首页>>代码示例>>PHP>>正文


PHP FabrikWorker::replaceWithUserData方法代码示例

本文整理汇总了PHP中FabrikWorker::replaceWithUserData方法的典型用法代码示例。如果您正苦于以下问题:PHP FabrikWorker::replaceWithUserData方法的具体用法?PHP FabrikWorker::replaceWithUserData怎么用?PHP FabrikWorker::replaceWithUserData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在FabrikWorker的用法示例。


在下文中一共展示了FabrikWorker::replaceWithUserData方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getFusionchart

 /**
  * Load the Fusion chart lib
  *
  * @return  string
  */
 public function getFusionchart()
 {
     $this->cantTrendLine = array();
     $document = JFactory::getDocument();
     $params = $this->getParams();
     $worker = new FabrikWorker();
     $fc_version = $params->get('fusionchart_version', 'free_old');
     $free22 = $this->pathBase . 'fusionchart/libs/FusionChartsFree/Code/PHPClass/Includes/FusionCharts_Gen.php';
     $pro30 = $this->pathBase . 'fusionchart/libs/FusionCharts/Code/PHPClass/Includes/FusionCharts_Gen.php';
     if ($fc_version == 'free_22' && JFile::exists($free22)) {
         require_once $free22;
         $document->addScript($this->srcBase . "fusionchart/libs/FusionChartsFree/JSClass/FusionCharts.js");
         $fc_swf_path = COM_FABRIK_LIVESITE . $this->srcBase . "fusionchart/libs/FusionChartsFree/Charts/";
     } elseif ($fc_version == 'pro_30' && JFile::exists($pro30)) {
         require_once $pro30;
         $document->addScript($this->srcBase . "fusionchart/libs/FusionCharts/Charts/FusionCharts.js");
         $fc_swf_path = COM_FABRIK_LIVESITE . $this->srcBase . "fusionchart/libs/FusionCharts/Charts/";
     } else {
         require_once $this->pathBase . 'fusionchart/libs/FCclass/FusionCharts_Gen.php';
         $document->addScript($this->srcBase . "fusionchart/libs/FCcharts/FusionCharts.js");
         $fc_swf_path = COM_FABRIK_LIVESITE . $this->srcBase . "fusionchart/libs/FCcharts/";
     }
     $calc_prefixes = array('sum___', 'avg___', 'med___', 'cnt___');
     $calc_prefixmap = array('sum___' => 'sums', 'avg___' => 'avgs', 'med___' => 'medians', 'cnt___' => 'count');
     $w = $params->get('fusionchart_width');
     $h = $params->get('fusionchart_height');
     $chartType = $params->get('fusionchart_type', '');
     if ($chartType == '') {
         throw new InvalidArgumentException('Not chart type selected');
     }
     // Create new chart
     $this->FC = new FusionCharts($chartType, $w, $h);
     // If we are pro lets use the new JavaScript Library
     if ($fc_version === 'pro_30') {
         $this->FC->setRenderer('javascript');
     }
     // Define path to FC's SWF
     $this->FC->setSWFPath($fc_swf_path);
     $this->setChartMessages();
     // Setting Param string
     $strParam = $this->getChartParams();
     $label_step_ratios = (array) $params->get('fusion_label_step_ratio');
     $x_axis_label = (array) $params->get('fusion_x_axis_label');
     $chartElements = (array) $params->get('fusionchart_elementList');
     $chartColours = (array) $params->get('fusionchart_elcolour');
     $listid = (array) $params->get('fusionchart_table');
     $chartCumulatives = (array) $params->get('fusionchart_cumulative');
     $elTypes = (array) $params->get('fusionchart_element_type');
     $this->setAxisLabels();
     $dual_y_parents = $params->get('fusionchart_dual_y_parent');
     $chartWheres = (array) $params->get('fusionchart_where');
     $limits = (array) $params->get('fusionchart_limit');
     $this->c = 0;
     $gdata = array();
     $glabels = array();
     $gcolours = array();
     $gfills = array();
     $this->max = array();
     $this->min = array();
     $calculationLabels = array();
     $calculationData = array();
     $calcfound = false;
     $tmodels = array();
     $labelStep = 0;
     foreach ($listid as $tid) {
         $this->min[$this->c] = 0;
         $this->max[$this->c] = 0;
         if (!array_key_exists($tid, $tmodels)) {
             $listModel = null;
             $listModel = JModelLegacy::getInstance('list', 'FabrikFEModel');
             $listModel->setId($tid);
             $tmodels[$tid] = $listModel;
         } else {
             $listModel = $tmodels[$tid];
         }
         $table = $listModel->getTable();
         $form = $listModel->getForm();
         // $$$ hugh - adding plugin query, 2012-02-08
         if (array_key_exists($this->c, $chartWheres) && !empty($chartWheres[$this->c])) {
             $chartWhere = $this->_replaceRequest($chartWheres[$this->c]);
             $chartWhere = $worker->replaceWithUserData($chartWhere);
             $listModel->setPluginQueryWhere('fusionchart', $chartWhere);
         } else {
             // If no where clause, explicitly clear any previously set clause
             $listModel->unsetPluginQueryWhere('fusionchart');
         }
         /* $$$ hugh - remove pagination BEFORE calling render().  Otherwise render() applies
          * session state/defaults when it calls getPagination, which is then returned as a cached
          * object if we call getPagination after render().  So call it first, then render() will
          * get our cached pagination, rather than vice versa.
          */
         $limit = (int) FArrayHelper::getValue($limits, $this->c, 0);
         $listModel->setLimits(0, $limit);
         $nav = $listModel->getPagination(0, 0, $limit);
         $listModel->render();
//.........这里部分代码省略.........
开发者ID:jfquestiaux,项目名称:fabrik,代码行数:101,代码来源:fusionchart.php

示例2: parseMessageForPlaceHolder

 /**
  * iterates through string to replace every
  * {placeholder} with posted data
  * @param string text to parse
  * @param array data to search for placeholders (default $_REQUEST)
  * @param bool if no data found for the place holder do we keep the {...} string in the message
  * @param bool add slashed to the text?
  * @param object user to use in replaceWithUserData (defaults to logged in user)
  */
 public function parseMessageForPlaceHolder($msg, $searchData = null, $keepPlaceholders = true, $addslashes = false, $theirUser = null)
 {
     $this->_parseAddSlases = $addslashes;
     if ($msg == '' || is_array($msg) || strpos($msg, '{') === false) {
         return $msg;
     }
     $msg = str_replace(array('%7B', '%7D'), array('{', '}'), $msg);
     if (is_object($searchData)) {
         $searchData = JArrayHelper::fromObject($searchData);
     }
     //$post	= JRequest::get('post');
     //$$$ rob changed to allow request variables to be parsed as well. I have a sneaky feeling this
     // was set to post for a good reason, but I can't see why now.
     // $$$ hugh - for reasons I don't understand, merging request just doesn't seem to work
     // in some situations, so I'm adding a replaceRequest call here as a bandaid.
     // @TODO $$$ rob can you remember what those situations where? Because doing this is messing up form plugins (e.g redirect) when they do replace on getEmailData()
     // as having the line below commented in causes the request to be used before searchData.
     // FabrikWorker::replaceRequest($msg);
     $post = JRequest::get('request');
     $this->_searchData = is_null($searchData) ? $post : array_merge($post, $searchData);
     $this->_searchData['JUtility::getToken'] = JUtility::getToken();
     $msg = FabrikWorker::replaceWithUserData($msg);
     if (!is_null($theirUser)) {
         $msg = FabrikWorker::replaceWithUserData($msg, $theirUser, 'your');
     }
     $msg = FabrikWorker::replaceWithGlobals($msg);
     $msg = preg_replace("/{}/", "", $msg);
     /* replace {element name} with form data */
     $msg = preg_replace_callback("/{[^}\\s]+}/i", array($this, 'replaceWithFormData'), $msg);
     if (!$keepPlaceholders) {
         $msg = preg_replace("/{[^}\\s]+}/i", '', $msg);
     }
     return $msg;
 }
开发者ID:romuland,项目名称:khparts,代码行数:43,代码来源:parent.php

示例3: parseMessageForRowHolder

 /**
  * Iterates through string to replace every
  * {placeholder} with row data
  * (added by hugh, does the same thing as parseMessageForPlaceHolder in parent
  * class, but for rows instead of forms)
  *
  * NOTE - I can't remember why I added this way back when in 2.x, instead of using the helper function,
  * I just know there was a good reason, to do with the helper func making assumptions about something
  * (I think to do with how form data is formatted) which weren't true when rendering list data.  I have
  * a suspicion that in the intervening years, the helper func and the way we format data may now be
  * copacetic, and we could do away with this separation, and just use the normal helper func.  Might be
  * worth testing, as this code looks like it has suffered bitrot, and doesn't do a number of things the main
  * helper func now does.
  *
  * @param   string  $msg         text to parse
  * @param   array   &$row        of row data
  * @param   bool    $addSlashes  add slashes to the replaced data (default = false) set to true in fabrikcalc element
  *
  * @return  string  parsed message
  */
 public function parseMessageForRowHolder($msg, &$row, $addSlashes = false)
 {
     $this->aRow = $row;
     if (!strstr($msg, '{')) {
         return $msg;
     }
     $this->parseAddSlases = $addSlashes;
     $msg = FabrikWorker::replaceWithUserData($msg);
     $msg = FabrikWorker::replaceWithGlobals($msg);
     $msg = preg_replace("/{}/", "", $msg);
     $this->rowIdentifierAdded = false;
     /* replace {element name} with form data */
     /* $$$ hugh - testing changing the regex so we don't blow away PHP structures!  Added the \s so
      * we only match non-space chars in {}'s.  So unless you have some code like "if (blah) {foo;}", PHP
      * block level {}'s should remain unmolested.
      */
     $msg = preg_replace_callback("/{[^}\\s]+}/i", array($this, 'replaceWithRowData'), $msg);
     $lang = $this->lang->getTag();
     $lang = str_replace('-', '_', $lang);
     $msg = str_replace('{lang}', $lang, $msg);
     return $msg;
 }
开发者ID:pascal26,项目名称:fabrik,代码行数:42,代码来源:list.php


注:本文中的FabrikWorker::replaceWithUserData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。