public static function load($id)
 {
     $json_data = NelioABBackend::remote_get(NELIOAB_BACKEND_URL . '/exp/post/' . $id);
     $json_data = json_decode($json_data['body']);
     $exp = new NelioABHeadlineAlternativeExperiment($json_data->key->id);
     $exp->set_name($json_data->name);
     if (isset($json_data->description)) {
         $exp->set_description($json_data->description);
     }
     $exp->set_type_using_text($json_data->kind);
     $exp->set_original($json_data->originalPost);
     $exp->set_status($json_data->status);
     $exp->set_finalization_mode($json_data->finalizationMode);
     if (isset($json_data->finalizationModeValue)) {
         $exp->set_finalization_value($json_data->finalizationModeValue);
     }
     $exp->track_heatmaps(false);
     if (isset($json_data->showHeatmap) && $json_data->showHeatmap) {
         $exp->track_heatmaps($json_data->showHeatmap);
     }
     if (isset($json_data->goals)) {
         NelioABExperiment::load_goals_from_json($exp, $json_data->goals);
     }
     $alternatives = array();
     if (isset($json_data->alternatives)) {
         foreach ($json_data->alternatives as $json_alt) {
             $alt = new NelioABHeadlineAlternative($json_alt->key->id);
             $alt->set_name($json_alt->name);
             $alt->set_value(json_decode($json_alt->value, true));
             array_push($alternatives, $alt);
         }
     }
     $exp->set_appspot_alternatives($alternatives);
     return $exp;
 }
コード例 #2
0
 /**
  * PHPDOC
  *
  * @param NelioABHeadlineAlternativeExperiment $exp PHPDOC
  * @param NelioABHeadlineAlternative           $alt PHPDOC
  *
  * @return array PHPDOC
  *
  * @since PHPDOC
  */
 private function add_active_headline_experiment($exp, $alt)
 {
     $exp_id = $exp->get_id();
     $aux = $alt->get_value();
     $alt_id = $aux['id'];
     foreach ($this->applied_headlines as $info) {
         if ($info['exp'] == $exp_id) {
             return;
         }
     }
     array_push($this->applied_headlines, array('exp' => $exp_id, 'alt' => $alt_id));
 }