You are here

function ARC_rdf_store_keeper::consolidate_resources in Taxonomy import/export via XML 6

Same name and namespace in other branches
  1. 5.2 arc/ARC_rdf_store_keeper.php \ARC_rdf_store_keeper::consolidate_resources()
  2. 5 arc/ARC_rdf_store_keeper.php \ARC_rdf_store_keeper::consolidate_resources()
  3. 6.2 arc/ARC_rdf_store_keeper.php \ARC_rdf_store_keeper::consolidate_resources()

File

arc/ARC_rdf_store_keeper.php, line 378

Class

ARC_rdf_store_keeper

Code

function consolidate_resources($args = "") {
  $tmp = $this->api
    ->create_split_merge_tables();
  $tmp1 = $tmp2 = $tmp3 = $tmp4 = false;
  if (isset($args["ifp"]) && ($ifp = $args["ifp"])) {
    $tmp1 = $this
      ->consolidate_resources_on_ifp($ifp);
  }
  if (isset($args["ifps"]) && ($ifps = $args["ifps"])) {
    $tmp2 = $this
      ->consolidate_resources_on_ifp($ifps);
  }
  if (isset($args["fp"]) && ($fp = $args["fp"])) {
    $tmp3 = $this
      ->consolidate_resources_on_fp($fp);
  }
  if (isset($args["fps"]) && ($fps = $args["fps"])) {
    $tmp4 = $this
      ->consolidate_resources_on_fp($fps);
  }
  if (!is_array($tmp1) && !is_array($tmp2) && !is_array($tmp3) && !is_array($tmp4)) {
    return array(
      "error" => "missing_parameter (ifp, ifps, fp, or fps)",
    );
  }
  $result = array(
    "error" => "",
    "subject_count" => 0,
    "object_count" => 0,
    "processing_time" => 0,
    "index_update_time" => 0,
  );
  for ($i = 1; $i <= 4; $i++) {
    $cur_tmp = ${"tmp" . $i};
    if (is_array($cur_tmp)) {
      foreach ($cur_tmp as $k => $v) {
        if (!is_numeric($k) && isset($result[$k])) {
          if (is_numeric($v)) {
            $result[$k] += $v;
          }
          else {
            $result[$k] .= $v;
          }
        }
      }
    }
  }
  return $result;
}