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


PHP CustomVariables\CustomVariables类代码示例

本文整理汇总了PHP中Piwik\Plugins\CustomVariables\CustomVariables的典型用法代码示例。如果您正苦于以下问题:PHP CustomVariables类的具体用法?PHP CustomVariables怎么用?PHP CustomVariables使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: testGetMaxCustomVariables_ShouldReadFromCacheIfPossible

 public function testGetMaxCustomVariables_ShouldReadFromCacheIfPossible()
 {
     $cache = Cache::getCacheGeneral();
     $cache['CustomVariables.MaxNumCustomVariables'] = 10;
     Cache::setCacheGeneral($cache);
     $this->assertSame(10, CustomVariables::getMaxCustomVariables());
 }
开发者ID:carriercomm,项目名称:piwik,代码行数:7,代码来源:CustomVariablesTest.php

示例2: configureSegmentsFor

 protected function configureSegmentsFor($segmentNameSuffix)
 {
     $numCustomVariables = CustomVariables::getNumUsableCustomVariables();
     $segment = new Segment();
     $segment->setType('dimension');
     $segment->setSegment('customVariable' . $segmentNameSuffix);
     $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')');
     $segment->setUnionOfSegments($this->getSegmentColumns('customVariable' . $segmentNameSuffix, $numCustomVariables));
     $this->addSegment($segment);
     $segment = new Segment();
     $segment->setType('dimension');
     $segment->setSegment('customVariablePage' . $segmentNameSuffix);
     $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')');
     $segment->setUnionOfSegments($this->getSegmentColumns('customVariablePage' . $segmentNameSuffix, $numCustomVariables));
     $this->addSegment($segment);
     $segmentSuffix = 'v';
     if (strtolower($segmentNameSuffix) === 'name') {
         $segmentSuffix = 'k';
     }
     for ($i = 1; $i <= $numCustomVariables; $i++) {
         $segment = new Segment();
         $segment->setSegment('customVariable' . $segmentNameSuffix . $i);
         $segment->setSqlSegment('log_visit.custom_var_' . $segmentSuffix . $i);
         $segment->setName(Piwik::translate('CustomVariables_ColumnCustomVariable' . $segmentNameSuffix) . ' ' . $i . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')');
         $this->addSegment($segment);
         $segment = new Segment();
         $segment->setSegment('customVariablePage' . $segmentNameSuffix . $i);
         $segment->setSqlSegment('log_link_visit_action.custom_var_' . $segmentSuffix . $i);
         $segment->setName(Piwik::translate('CustomVariables_ColumnCustomVariable' . $segmentNameSuffix) . ' ' . $i . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')');
         $this->addSegment($segment);
     }
 }
开发者ID:piwik,项目名称:piwik,代码行数:32,代码来源:Base.php

示例3: test_getNumUsableCustomVariables_ShouldReturnMinVariables_IfOneTableHasLessEntriesThanOthers

 public function test_getNumUsableCustomVariables_ShouldReturnMinVariables_IfOneTableHasLessEntriesThanOthers()
 {
     $this->assertEquals(5, CustomVariables::getNumUsableCustomVariables());
     $scopes = Model::getScopes();
     // removing custom vars step by step... as soon as one custom var is removed,
     // it should return the min count of available variables
     for ($i = 4; $i != -1; $i--) {
         foreach ($scopes as $scope) {
             $this->dropCustomVar($scope);
             $this->assertSame($i, CustomVariables::getNumUsableCustomVariables());
         }
     }
     $this->assertEquals(0, CustomVariables::getNumUsableCustomVariables());
     // add custom var, only once all custom vars are written it should write return a higher custom var number
     for ($i = 1; $i != 7; $i++) {
         foreach ($scopes as $index => $scope) {
             $isLastIndex = $index === count($scopes) - 1;
             $this->addCustomVar($scope);
             if ($isLastIndex) {
                 $this->assertSame($i, CustomVariables::getNumUsableCustomVariables());
                 // all scopes have been added, it should consider all custom var counts
             } else {
                 $this->assertSame($i - 1, CustomVariables::getNumUsableCustomVariables());
                 // at least one scope is not added and should therefore return the old custom var count until all
                 // tables have been updated
             }
         }
     }
     $this->assertEquals(6, CustomVariables::getNumUsableCustomVariables());
 }
开发者ID:FluentDevelopment,项目名称:piwik,代码行数:30,代码来源:CustomVariablesTest.php

示例4: queryActionsForVisit

 /**
  * @param $idVisit
  * @param $actionsLimit
  * @return array
  * @throws \Exception
  */
 public function queryActionsForVisit($idVisit, $actionsLimit)
 {
     $maxCustomVariables = CustomVariables::getNumUsableCustomVariables();
     $sqlCustomVariables = '';
     for ($i = 1; $i <= $maxCustomVariables; $i++) {
         $sqlCustomVariables .= ', custom_var_k' . $i . ', custom_var_v' . $i;
     }
     // The second join is a LEFT join to allow returning records that don't have a matching page title
     // eg. Downloads, Outlinks. For these, idaction_name is set to 0
     $sql = "\n\t\t\t\tSELECT\n\t\t\t\t\tCOALESCE(log_action_event_category.type, log_action.type, log_action_title.type) AS type,\n\t\t\t\t\tlog_action.name AS url,\n\t\t\t\t\tlog_action.url_prefix,\n\t\t\t\t\tlog_action_title.name AS pageTitle,\n\t\t\t\t\tlog_action.idaction AS pageIdAction,\n\t\t\t\t\tlog_link_visit_action.idlink_va,\n\t\t\t\t\tlog_link_visit_action.server_time as serverTimePretty,\n\t\t\t\t\tlog_link_visit_action.time_spent_ref_action as timeSpentRef,\n\t\t\t\t\tlog_link_visit_action.idlink_va AS pageId,\n\t\t\t\t\tlog_link_visit_action.custom_float,\n\t\t\t\t\tlog_link_visit_action.interaction_position\n\t\t\t\t\t" . $sqlCustomVariables . ",\n\t\t\t\t\tlog_action_event_category.name AS eventCategory,\n\t\t\t\t\tlog_action_event_action.name as eventAction\n\t\t\t\tFROM " . Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action\n\t\t\t\t\tON  log_link_visit_action.idaction_url = log_action.idaction\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_title\n\t\t\t\t\tON  log_link_visit_action.idaction_name = log_action_title.idaction\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_event_category\n\t\t\t\t\tON  log_link_visit_action.idaction_event_category = log_action_event_category.idaction\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_event_action\n\t\t\t\t\tON  log_link_visit_action.idaction_event_action = log_action_event_action.idaction\n\t\t\t\tWHERE log_link_visit_action.idvisit = ?\n\t\t\t\tORDER BY server_time ASC\n\t\t\t\tLIMIT 0, {$actionsLimit}\n\t\t\t\t ";
     $actionDetails = Db::fetchAll($sql, array($idVisit));
     return $actionDetails;
 }
开发者ID:piwik,项目名称:piwik,代码行数:19,代码来源:Model.php

示例5: aggregateDayReport

 public function aggregateDayReport()
 {
     $this->dataArray = new DataArray();
     $maxCustomVariables = CustomVariables::getMaxCustomVariables();
     for ($i = 1; $i <= $maxCustomVariables; $i++) {
         $this->aggregateCustomVariable($i);
     }
     $this->removeVisitsMetricsFromActionsAggregate();
     $this->dataArray->enrichMetricsWithConversions();
     $table = $this->dataArray->asDataTable();
     $blob = $table->getSerialized($this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, $columnToSort = Metrics::INDEX_NB_VISITS);
     $this->getProcessor()->insertBlobRecord(self::CUSTOM_VARIABLE_RECORD_NAME, $blob);
 }
开发者ID:TensorWrenchOSS,项目名称:piwik,代码行数:13,代码来源:Archiver.php

示例6: recognize

 /**
  * This methods tries to see if the visitor has visited the website before.
  *
  * We have to split the visitor into one of the category
  * - Known visitor
  * - New visitor
  */
 public function recognize()
 {
     $this->setIsVisitorKnown(false);
     $configId = $this->configId;
     $idSite = $this->request->getIdSite();
     $idVisitor = $this->request->getVisitorId();
     $isVisitorIdToLookup = !empty($idVisitor);
     if ($isVisitorIdToLookup) {
         $this->visitorInfo['idvisitor'] = $idVisitor;
         Common::printDebug("Matching visitors with: visitorId=" . bin2hex($idVisitor) . " OR configId=" . bin2hex($configId));
     } else {
         Common::printDebug("Visitor doesn't have the piwik cookie...");
     }
     $numCustomVarsToRead = 0;
     if (!$this->customVariables) {
         // No custom var were found in the request, so let's copy the previous one in a potential conversion later
         $numCustomVarsToRead = CustomVariables::getMaxCustomVariables();
     }
     $persistedVisitAttributes = $this->getVisitFieldsPersist();
     $shouldMatchOneFieldOnly = $this->shouldLookupOneVisitorFieldOnly($isVisitorIdToLookup);
     list($timeLookBack, $timeLookAhead) = $this->getWindowLookupThisVisit();
     $model = $this->getModel();
     $visitRow = $model->findVisitor($idSite, $configId, $idVisitor, $persistedVisitAttributes, $numCustomVarsToRead, $shouldMatchOneFieldOnly, $isVisitorIdToLookup, $timeLookBack, $timeLookAhead);
     $isNewVisitForced = $this->request->getParam('new_visit');
     $isNewVisitForced = !empty($isNewVisitForced);
     $enforceNewVisit = $isNewVisitForced || Config::getInstance()->Debug['tracker_always_new_visitor'];
     if (!$enforceNewVisit && $visitRow && count($visitRow) > 0) {
         // These values will be used throughout the request
         foreach ($persistedVisitAttributes as $field) {
             $this->visitorInfo[$field] = $visitRow[$field];
         }
         $this->visitorInfo['visit_last_action_time'] = strtotime($visitRow['visit_last_action_time']);
         $this->visitorInfo['visit_first_action_time'] = strtotime($visitRow['visit_first_action_time']);
         // Custom Variables copied from Visit in potential later conversion
         if (!empty($numCustomVarsToRead)) {
             for ($i = 1; $i <= $numCustomVarsToRead; $i++) {
                 if (isset($visitRow['custom_var_k' . $i]) && strlen($visitRow['custom_var_k' . $i])) {
                     $this->visitorInfo['custom_var_k' . $i] = $visitRow['custom_var_k' . $i];
                 }
                 if (isset($visitRow['custom_var_v' . $i]) && strlen($visitRow['custom_var_v' . $i])) {
                     $this->visitorInfo['custom_var_v' . $i] = $visitRow['custom_var_v' . $i];
                 }
             }
         }
         $this->setIsVisitorKnown(true);
         Common::printDebug("The visitor is known (idvisitor = " . bin2hex($this->visitorInfo['idvisitor']) . ",\n                    config_id = " . bin2hex($configId) . ",\n                    idvisit = {$this->visitorInfo['idvisit']},\n                    last action = " . date("r", $this->visitorInfo['visit_last_action_time']) . ",\n                    first action = " . date("r", $this->visitorInfo['visit_first_action_time']) . ",\n                    visit_goal_buyer' = " . $this->visitorInfo['visit_goal_buyer'] . ")");
     } else {
         Common::printDebug("The visitor was not matched with an existing visitor...");
     }
 }
开发者ID:bossrabbit,项目名称:piwik,代码行数:57,代码来源:Visitor.php

示例7: execute

 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $maxVars = CustomVariables::getMaxCustomVariables();
     if ($this->hasEverywhereSameAmountOfVariables()) {
         $this->writeSuccessMessage($output, array('Your Piwik is configured for ' . $maxVars . ' custom variables.'));
         return;
     }
     $output->writeln('<error>There is a problem with your custom variables configuration:</error>');
     $output->writeln('<error>Some database tables miss custom variables columns.</error>');
     $output->writeln('');
     $output->writeln('Your Piwik seems to be configured for ' . $maxVars . ' custom variables.');
     $output->writeln('Executing "<comment>./console customvariables:set-max-custom-variables ' . $maxVars . '</comment>" might fix this issue.');
     $output->writeln('If not check the following tables whether they have the same columns starting with <comment>custom_var_</comment>: ');
     foreach (Model::getScopes() as $scope) {
         $output->writeln(Common::prefixTable($scope));
     }
 }
开发者ID:carriercomm,项目名称:piwik,代码行数:17,代码来源:Info.php

示例8: configureSegmentsFor

 protected function configureSegmentsFor($segmentNameSuffix)
 {
     $numCustomVariables = CustomVariables::getNumUsableCustomVariables();
     $segment = new Segment();
     $segment->setType('dimension');
     $segment->setSegment('customVariable' . $segmentNameSuffix);
     $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')');
     $segment->setCategory('CustomVariables_CustomVariables');
     $segment->setUnionOfSegments($this->getSegmentColumns('customVariable' . $segmentNameSuffix, $numCustomVariables));
     $this->addSegment($segment);
     $segment = new Segment();
     $segment->setType('dimension');
     $segment->setSegment('customVariablePage' . $segmentNameSuffix);
     $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')');
     $segment->setCategory('CustomVariables_CustomVariables');
     $segment->setUnionOfSegments($this->getSegmentColumns('customVariablePage' . $segmentNameSuffix, $numCustomVariables));
     $this->addSegment($segment);
 }
开发者ID:dorelljames,项目名称:piwik,代码行数:18,代码来源:Base.php

示例9: aggregateDayReport

 public function aggregateDayReport()
 {
     $this->dataArray = new DataArray();
     $maxCustomVariables = CustomVariables::getNumUsableCustomVariables();
     for ($i = 1; $i <= $maxCustomVariables; $i++) {
         $this->aggregateCustomVariable($i);
     }
     $this->removeVisitsMetricsFromActionsAggregate();
     $this->dataArray->enrichMetricsWithConversions();
     $table = $this->dataArray->asDataTable();
     foreach ($table->getRows() as $row) {
         $label = $row->getColumn('label');
         if (!empty($this->metadata[$label])) {
             foreach ($this->metadata[$label] as $name => $value) {
                 $row->addMetadata($name, $value);
             }
         }
     }
     $blob = $table->getSerialized($this->maximumRowsInDataTableLevelZero, $this->maximumRowsInSubDataTable, $columnToSort = Metrics::INDEX_NB_VISITS);
     $this->getProcessor()->insertBlobRecord(self::CUSTOM_VARIABLE_RECORD_NAME, $blob);
 }
开发者ID:diosmosis,项目名称:piwik,代码行数:21,代码来源:Archiver.php

示例10: configureSegmentsFor

 protected function configureSegmentsFor($fieldPrefix, $segmentNameSuffix)
 {
     $numCustomVariables = CustomVariables::getNumUsableCustomVariables();
     $segment = new Segment();
     $segment->setType('dimension');
     $segment->setSegment('customVariable' . $segmentNameSuffix);
     $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')');
     $segment->setCategory('CustomVariables_CustomVariables');
     $segment->setSqlSegment($this->getSegmentColumns('log_visit.' . $fieldPrefix, $numCustomVariables));
     $segment->setSuggestedValuesCallback(function ($idSite, $ignore, DataTable $table) use($segmentNameSuffix) {
         return $table->getColumnsStartingWith('customVariable' . $segmentNameSuffix);
     });
     $this->addSegment($segment);
     $segment = new Segment();
     $segment->setType('dimension');
     $segment->setSegment('customVariablePage' . $segmentNameSuffix);
     $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')');
     $segment->setCategory('CustomVariables_CustomVariables');
     $segment->setSqlSegment($this->getSegmentColumns('log_link_visit_action.' . $fieldPrefix, $numCustomVariables));
     $segment->setSuggestedValuesCallback(function ($idSite, $ignore, DataTable $table) use($segmentNameSuffix) {
         return $table->getColumnsStartingWith('customVariablePage' . $segmentNameSuffix);
     });
     $this->addSegment($segment);
 }
开发者ID:drabberhorizon,项目名称:ActiveNative,代码行数:24,代码来源:Base.php

示例11: test_getCustomVariablesInPageScope_ShouldTruncateValuesIfTheyAreTooLong

 public function test_getCustomVariablesInPageScope_ShouldTruncateValuesIfTheyAreTooLong()
 {
     $maxLen = CustomVariables::getMaxLengthCustomVariables();
     $customVars = $this->buildCustomVars(array('mykey' => 'myval', 'test' => str_pad('test', $maxLen + 5, 't')));
     $expected = $this->buildExpectedCustomVars(array('mykey' => 'myval', 'test' => str_pad('test', $maxLen, 't')));
     $this->assertCustomVariablesInPageScope($expected, $customVars);
 }
开发者ID:dorelljames,项目名称:piwik,代码行数:7,代码来源:RequestTest.php

示例12: enrichVisitorArrayWithActions

 /**
  * @param $visitorDetailsArray
  * @param $actionsLimit
  * @param $timezone
  * @return array
  */
 public static function enrichVisitorArrayWithActions($visitorDetailsArray, $actionsLimit, $timezone)
 {
     $idVisit = $visitorDetailsArray['idVisit'];
     $maxCustomVariables = CustomVariables::getMaxCustomVariables();
     $sqlCustomVariables = '';
     for ($i = 1; $i <= $maxCustomVariables; $i++) {
         $sqlCustomVariables .= ', custom_var_k' . $i . ', custom_var_v' . $i;
     }
     // The second join is a LEFT join to allow returning records that don't have a matching page title
     // eg. Downloads, Outlinks. For these, idaction_name is set to 0
     $sql = "\n\t\t\t\tSELECT\n\t\t\t\t\tCOALESCE(log_action_event_category.type, log_action.type, log_action_title.type) AS type,\n\t\t\t\t\tlog_action.name AS url,\n\t\t\t\t\tlog_action.url_prefix,\n\t\t\t\t\tlog_action_title.name AS pageTitle,\n\t\t\t\t\tlog_action.idaction AS pageIdAction,\n\t\t\t\t\tlog_link_visit_action.server_time as serverTimePretty,\n\t\t\t\t\tlog_link_visit_action.time_spent_ref_action as timeSpentRef,\n\t\t\t\t\tlog_link_visit_action.idlink_va AS pageId,\n\t\t\t\t\tlog_link_visit_action.custom_float\n\t\t\t\t\t" . $sqlCustomVariables . ",\n\t\t\t\t\tlog_action_event_category.name AS eventCategory,\n\t\t\t\t\tlog_action_event_action.name as eventAction\n\t\t\t\tFROM " . Common::prefixTable('log_link_visit_action') . " AS log_link_visit_action\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action\n\t\t\t\t\tON  log_link_visit_action.idaction_url = log_action.idaction\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_title\n\t\t\t\t\tON  log_link_visit_action.idaction_name = log_action_title.idaction\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_event_category\n\t\t\t\t\tON  log_link_visit_action.idaction_event_category = log_action_event_category.idaction\n\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_event_action\n\t\t\t\t\tON  log_link_visit_action.idaction_event_action = log_action_event_action.idaction\n\t\t\t\tWHERE log_link_visit_action.idvisit = ?\n\t\t\t\tORDER BY server_time ASC\n\t\t\t\tLIMIT 0, {$actionsLimit}\n\t\t\t\t ";
     $actionDetails = Db::fetchAll($sql, array($idVisit));
     foreach ($actionDetails as $actionIdx => &$actionDetail) {
         $actionDetail =& $actionDetails[$actionIdx];
         $customVariablesPage = array();
         for ($i = 1; $i <= $maxCustomVariables; $i++) {
             if (!empty($actionDetail['custom_var_k' . $i])) {
                 $cvarKey = $actionDetail['custom_var_k' . $i];
                 $cvarKey = static::getCustomVariablePrettyKey($cvarKey);
                 $customVariablesPage[$i] = array('customVariablePageName' . $i => $cvarKey, 'customVariablePageValue' . $i => $actionDetail['custom_var_v' . $i]);
             }
             unset($actionDetail['custom_var_k' . $i]);
             unset($actionDetail['custom_var_v' . $i]);
         }
         if (!empty($customVariablesPage)) {
             $actionDetail['customVariables'] = $customVariablesPage;
         }
         if ($actionDetail['type'] == Action::TYPE_CONTENT) {
             unset($actionDetails[$actionIdx]);
             continue;
         } elseif ($actionDetail['type'] == Action::TYPE_EVENT_CATEGORY) {
             // Handle Event
             if (strlen($actionDetail['pageTitle']) > 0) {
                 $actionDetail['eventName'] = $actionDetail['pageTitle'];
             }
             unset($actionDetail['pageTitle']);
         } else {
             if ($actionDetail['type'] == Action::TYPE_SITE_SEARCH) {
                 // Handle Site Search
                 $actionDetail['siteSearchKeyword'] = $actionDetail['pageTitle'];
                 unset($actionDetail['pageTitle']);
             }
         }
         // Event value / Generation time
         if ($actionDetail['type'] == Action::TYPE_EVENT_CATEGORY) {
             if (strlen($actionDetail['custom_float']) > 0) {
                 $actionDetail['eventValue'] = round($actionDetail['custom_float'], self::EVENT_VALUE_PRECISION);
             }
         } elseif ($actionDetail['custom_float'] > 0) {
             $actionDetail['generationTime'] = \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($actionDetail['custom_float'] / 1000);
         }
         unset($actionDetail['custom_float']);
         if ($actionDetail['type'] != Action::TYPE_EVENT_CATEGORY) {
             unset($actionDetail['eventCategory']);
             unset($actionDetail['eventAction']);
         }
         // Reconstruct url from prefix
         $actionDetail['url'] = Tracker\PageUrl::reconstructNormalizedUrl($actionDetail['url'], $actionDetail['url_prefix']);
         unset($actionDetail['url_prefix']);
         // Set the time spent for this action (which is the timeSpentRef of the next action)
         if (isset($actionDetails[$actionIdx + 1])) {
             $actionDetail['timeSpent'] = $actionDetails[$actionIdx + 1]['timeSpentRef'];
             $actionDetail['timeSpentPretty'] = \Piwik\MetricsFormatter::getPrettyTimeFromSeconds($actionDetail['timeSpent']);
         }
         unset($actionDetails[$actionIdx]['timeSpentRef']);
         // not needed after timeSpent is added
     }
     // If the visitor converted a goal, we shall select all Goals
     $sql = "\n\t\t\t\tSELECT\n\t\t\t\t\t\t'goal' as type,\n\t\t\t\t\t\tgoal.name as goalName,\n\t\t\t\t\t\tgoal.idgoal as goalId,\n\t\t\t\t\t\tgoal.revenue as revenue,\n\t\t\t\t\t\tlog_conversion.idlink_va as goalPageId,\n\t\t\t\t\t\tlog_conversion.server_time as serverTimePretty,\n\t\t\t\t\t\tlog_conversion.url as url\n\t\t\t\tFROM " . Common::prefixTable('log_conversion') . " AS log_conversion\n\t\t\t\tLEFT JOIN " . Common::prefixTable('goal') . " AS goal\n\t\t\t\t\tON (goal.idsite = log_conversion.idsite\n\t\t\t\t\t\tAND\n\t\t\t\t\t\tgoal.idgoal = log_conversion.idgoal)\n\t\t\t\t\tAND goal.deleted = 0\n\t\t\t\tWHERE log_conversion.idvisit = ?\n\t\t\t\t\tAND log_conversion.idgoal > 0\n                ORDER BY server_time ASC\n\t\t\t\tLIMIT 0, {$actionsLimit}\n\t\t\t";
     $goalDetails = Db::fetchAll($sql, array($idVisit));
     $sql = "SELECT\n\t\t\t\t\t\tcase idgoal when " . GoalManager::IDGOAL_CART . " then '" . Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART . "' else '" . Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER . "' end as type,\n\t\t\t\t\t\tidorder as orderId,\n\t\t\t\t\t\t" . LogAggregator::getSqlRevenue('revenue') . " as revenue,\n\t\t\t\t\t\t" . LogAggregator::getSqlRevenue('revenue_subtotal') . " as revenueSubTotal,\n\t\t\t\t\t\t" . LogAggregator::getSqlRevenue('revenue_tax') . " as revenueTax,\n\t\t\t\t\t\t" . LogAggregator::getSqlRevenue('revenue_shipping') . " as revenueShipping,\n\t\t\t\t\t\t" . LogAggregator::getSqlRevenue('revenue_discount') . " as revenueDiscount,\n\t\t\t\t\t\titems as items,\n\n\t\t\t\t\t\tlog_conversion.server_time as serverTimePretty\n\t\t\t\t\tFROM " . Common::prefixTable('log_conversion') . " AS log_conversion\n\t\t\t\t\tWHERE idvisit = ?\n\t\t\t\t\t\tAND idgoal <= " . GoalManager::IDGOAL_ORDER . "\n\t\t\t\t\tORDER BY server_time ASC\n\t\t\t\t\tLIMIT 0, {$actionsLimit}";
     $ecommerceDetails = Db::fetchAll($sql, array($idVisit));
     foreach ($ecommerceDetails as &$ecommerceDetail) {
         if ($ecommerceDetail['type'] == Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_CART) {
             unset($ecommerceDetail['orderId']);
             unset($ecommerceDetail['revenueSubTotal']);
             unset($ecommerceDetail['revenueTax']);
             unset($ecommerceDetail['revenueShipping']);
             unset($ecommerceDetail['revenueDiscount']);
         }
         // 25.00 => 25
         foreach ($ecommerceDetail as $column => $value) {
             if (strpos($column, 'revenue') !== false) {
                 if ($value == round($value)) {
                     $ecommerceDetail[$column] = round($value);
                 }
             }
         }
     }
     // Enrich ecommerce carts/orders with the list of products
     usort($ecommerceDetails, array('static', 'sortByServerTime'));
     foreach ($ecommerceDetails as &$ecommerceConversion) {
         $sql = "SELECT\n\t\t\t\t\t\t\tlog_action_sku.name as itemSKU,\n\t\t\t\t\t\t\tlog_action_name.name as itemName,\n\t\t\t\t\t\t\tlog_action_category.name as itemCategory,\n\t\t\t\t\t\t\t" . LogAggregator::getSqlRevenue('price') . " as price,\n\t\t\t\t\t\t\tquantity as quantity\n\t\t\t\t\t\tFROM " . Common::prefixTable('log_conversion_item') . "\n\t\t\t\t\t\t\tINNER JOIN " . Common::prefixTable('log_action') . " AS log_action_sku\n\t\t\t\t\t\t\tON  idaction_sku = log_action_sku.idaction\n\t\t\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_name\n\t\t\t\t\t\t\tON  idaction_name = log_action_name.idaction\n\t\t\t\t\t\t\tLEFT JOIN " . Common::prefixTable('log_action') . " AS log_action_category\n\t\t\t\t\t\t\tON idaction_category = log_action_category.idaction\n\t\t\t\t\t\tWHERE idvisit = ?\n\t\t\t\t\t\t\tAND idorder = ?\n\t\t\t\t\t\t\tAND deleted = 0\n\t\t\t\t\t\tLIMIT 0, {$actionsLimit}\n\t\t\t\t";
         $bind = array($idVisit, isset($ecommerceConversion['orderId']) ? $ecommerceConversion['orderId'] : GoalManager::ITEM_IDORDER_ABANDONED_CART);
//.........这里部分代码省略.........
开发者ID:KingNoosh,项目名称:Teknik,代码行数:101,代码来源:Visitor.php

示例13: test_truncateCustomVariable_shouldActuallyTruncateTheValue

 public function test_truncateCustomVariable_shouldActuallyTruncateTheValue()
 {
     $len = CustomVariables::getMaxLengthCustomVariables();
     $input = str_pad('test', $len + 2, 't');
     $this->assertGreaterThan(100, $len);
     $truncated = Request::truncateCustomVariable($input);
     $this->assertEquals(str_pad('test', $len, 't'), $truncated);
 }
开发者ID:dorelljames,项目名称:piwik,代码行数:8,代码来源:RequestTest.php

示例14: truncateCustomVariable

 public static function truncateCustomVariable($input)
 {
     return substr(trim($input), 0, CustomVariables::getMaxLengthCustomVariables());
 }
开发者ID:normimuc,项目名称:piwik,代码行数:4,代码来源:Request.php

示例15: recordGoals

 /**
  * Records one or several goals matched in this request.
  *
  * @param Visitor $visitor
  * @param array $visitorInformation
  * @param array $visitCustomVariables
  * @param Action $action
  */
 public function recordGoals(Visitor $visitor, $visitorInformation, $visitCustomVariables, $action)
 {
     $goal = $this->getGoalFromVisitor($visitor, $visitorInformation, $action);
     // Copy Custom Variables from Visit row to the Goal conversion
     // Otherwise, set the Custom Variables found in the cookie sent with this request
     $goal += $visitCustomVariables;
     $maxCustomVariables = CustomVariables::getMaxCustomVariables();
     for ($i = 1; $i <= $maxCustomVariables; $i++) {
         if (isset($visitorInformation['custom_var_k' . $i]) && strlen($visitorInformation['custom_var_k' . $i])) {
             $goal['custom_var_k' . $i] = $visitorInformation['custom_var_k' . $i];
         }
         if (isset($visitorInformation['custom_var_v' . $i]) && strlen($visitorInformation['custom_var_v' . $i])) {
             $goal['custom_var_v' . $i] = $visitorInformation['custom_var_v' . $i];
         }
     }
     // some goals are converted, so must be ecommerce Order or Cart Update
     if ($this->requestIsEcommerce) {
         $this->recordEcommerceGoal($goal, $visitor, $action, $visitorInformation);
     } else {
         $this->recordStandardGoals($goal, $visitor, $action, $visitorInformation);
     }
 }
开发者ID:huycao,项目名称:yodelivery,代码行数:30,代码来源:GoalManager.php


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