You are here

function ARC_rdf_store_select_json_sub_handler::get_jsonc_result_vars in Taxonomy import/export via XML 5

Same name and namespace in other branches
  1. 5.2 arc/ARC_rdf_store_select_json_sub_handler.php \ARC_rdf_store_select_json_sub_handler::get_jsonc_result_vars()
  2. 6.2 arc/ARC_rdf_store_select_json_sub_handler.php \ARC_rdf_store_select_json_sub_handler::get_jsonc_result_vars()
  3. 6 arc/ARC_rdf_store_select_json_sub_handler.php \ARC_rdf_store_select_json_sub_handler::get_jsonc_result_vars()
2 calls to ARC_rdf_store_select_json_sub_handler::get_jsonc_result_vars()
ARC_rdf_store_select_json_sub_handler::get_json_result_body_bindings in arc/ARC_rdf_store_select_json_sub_handler.php
ARC_rdf_store_select_json_sub_handler::get_json_result_head in arc/ARC_rdf_store_select_json_sub_handler.php

File

arc/ARC_rdf_store_select_json_sub_handler.php, line 86

Class

ARC_rdf_store_select_json_sub_handler

Code

function get_jsonc_result_vars($t = "", $vars_only = false) {
  if (!preg_match("/^[0-9a-z _\\-\\(\\),]+\$/i", $t)) {
    return array(
      "",
    );
  }
  $t = str_replace(" ", "", $t);
  $t = str_replace("(", '"=>array(', $t);
  $t = str_replace(",", ',"', $t);
  $t = str_replace("(", '(', $t);
  $t = preg_replace("/([^)]),/", '\\1",', $t);
  $t = preg_replace("/([^)])\$/", '\\1"', $t);
  $t = '$t_struct=array("' . $t . ');';
  @eval($t);
  if (!is_array($t_struct)) {
    return array(
      "",
    );
  }
  $result = array();
  foreach ($t_struct as $k => $v) {
    $cur_var = is_array($v) ? $k : $v;
    $result[] = $vars_only ? $cur_var : array(
      "var" => $cur_var,
      "compact" => !is_array($v),
    );
  }
  return $result;
}