コード例 #1
0
ファイル: scenario.class.php プロジェクト: GaelGRIFFON/core
 public static function byUsedCommand($_cmd_id, $_variable = false)
 {
     $scenarios = null;
     if ($_variable) {
         $return = array();
         $expressions = array_merge(scenarioExpression::searchExpression('variable(' . $_cmd_id . ')'), scenarioExpression::searchExpression('variable', $_cmd_id, true));
     } else {
         $return = self::byTrigger($_cmd_id);
         $expressions = scenarioExpression::searchExpression('#' . $_cmd_id . '#', '#' . $_cmd_id . '#', false);
     }
     if (is_array($expressions)) {
         foreach ($expressions as $expression) {
             $scenarios[] = $expression->getSubElement()->getElement()->getScenario();
         }
     }
     if (is_array($scenarios)) {
         foreach ($scenarios as $scenario) {
             if (is_object($scenario)) {
                 $find = false;
                 foreach ($return as $existScenario) {
                     if ($scenario->getId() == $existScenario->getId()) {
                         $find = true;
                         break;
                     }
                 }
                 if (!$find) {
                     $return[] = $scenario;
                 }
             }
         }
     }
     return $return;
 }