Пример #1
0
 private function randomQuotes($number)
 {
     require_once CRM_MODULE_INCLUDE_DIRECTORY . 'RandomStringGenerator.php';
     $random = new \creamy\RandomStringGenerator();
     $quotes = array();
     for ($i = 0; $i < $number; $i++) {
         $rnd = $random->getRandomInteger(1, 10);
         $author = $this->lh()->translationFor("author_" . $rnd);
         $quote = $this->lh()->translationFor("quote_" . $rnd);
         $quotes[] = array("quote" => $quote, "author" => $author, "author_number" => $rnd);
     }
     return $quotes;
 }
Пример #2
0
 protected function mergeHookResultsWithStrategy($results, $mergeStrategy)
 {
     switch ($mergeStrategy) {
         case CRM_MODULE_MERGING_STRATEGY_APPEND:
             $appended = "";
             foreach ($results as $result) {
                 if (is_string($result)) {
                     $appended .= $result;
                 } else {
                     $appended .= var_export($result, true);
                 }
             }
             return $appended;
             break;
         case CRM_MODULE_MERGING_STRATEGY_SUM:
             $sum = 0.0;
             foreach ($results as $result) {
                 $sum += floatval($result);
             }
             return $sum;
             break;
         case CRM_MODULE_MERGING_STRATEGY_JOIN:
             $joined = array();
             foreach ($results as $result) {
                 $joined = array_merge($joined, $result);
             }
             return $joined;
             break;
         case CRM_MODULE_MERGING_STRATEGY_AND:
             $andResult = true;
             foreach ($results as $result) {
                 $andResult = $andResult and (bool) $result;
             }
             return $andResult;
             break;
         case CRM_MODULE_MERGING_STRATEGY_OR:
             $oredResult = true;
             foreach ($results as $result) {
                 $oredResult = $oredResult or (bool) $result;
             }
             return $oredResult;
             break;
         case CRM_MODULE_MERGING_STRATEGY_FIRST:
             if (is_array($results) && count($results) > 0) {
                 return reset($results);
             } else {
                 return $results;
             }
             break;
         case CRM_MODULE_MERGING_STRATEGY_LAST:
             if (is_array($results) && count($results) > 0) {
                 return end($results);
             } else {
                 return $results;
             }
             break;
         case CRM_MODULE_MERGING_STRATEGY_RANDOM:
             if (is_array($results) && count($results) > 0) {
                 require_once 'RandomStringGenerator.php';
                 $rnd = new \creamy\RandomStringGenerator();
                 $nmb = $rnd->getRandomInteger(0, count($results) - 1);
                 return array_values($results)[$nmb];
             } else {
                 return $results;
             }
             break;
     }
 }