function add_library_hf($options) { global $u; global $library_messages; global $APP; if (!isset($options['id_user'])) { echo "library add id_user not found!"; exit; } if (!isset($options['hf_name'])) { echo "library add hf_name not found!"; exit; } if (!isset($options['hf_expression'])) { echo "library add hf_expression not found!"; exit; } if (!isset($options['inheritable'])) { echo "library add inheritable not found!"; exit; } if (!isset($options['sys_kinds'])) { echo "library add sys_kinds not found!"; exit; } if (!isset($options['resources'])) { echo "library add resources not found!"; exit; } if (!isset($options['hf_parameters'])) { echo "library add hf_parameters not found!"; exit; } $id_user = $options['id_user']; $hf_name = $options['hf_name']; $hf_expression = $options['hf_expression']; $inheritable = $options['inheritable']; $sys_kinds = $options['sys_kinds']; $resources = $options['resources']; $hf_parameters = $options['hf_parameters']; $inherit_from = ""; if (isset($options['inherit_from'])) { $inherit_from = $options['inherit_from']; } $id_mime_type = "undefined"; if (isset($options['mime'])) { $id_mime_type = $options['mime']; } $retval = ""; $props = array(); $props['id_user'] = $id_user; $props['id'] = sha1(microtime() . $hf_name . rand(1, 20)); $retval = $props['id']; $props['name'] = $hf_name; $props['str_expression'] = $hf_expression; // CREATE HIS FUNCTION $props['id_condition'] = "perfectly"; $props['str_cache_out_xml'] = "undefined"; $props['str_cache_out_cxml'] = "undefined"; $props['str_cache_approved'] = 'undefined'; $props['str_cache_latest'] = 'undefined'; $props['id_mime_type'] = $id_mime_type; $props['int_ws'] = "0"; $props['int_wait'] = "0"; $props['int_maxruntime'] = "0"; $props['int_delay'] = "10"; $new_hf = new hf_id_user(); $new_hf->create($props); // CREATE SYSTEM KINDS foreach ($sys_kinds as $hf_sys_kind) { echo " "; $system_kind_current_id = ""; // GET THIS SYS KIND FROM USER_SYSTEM_KINDS foreach ($u->obj_system_kinds as $user_system_kind) { if ($user_system_kind->name == $hf_sys_kind) { $system_kind_current_id = $user_system_kind->id; } } // end foreach (system kind name) if ($hf_sys_kind == "any") { $system_kind_current_id = "any"; } if (strlen($system_kind_current_id) > 0) { $props = array(); $props['id_hf'] = $new_hf->id; $props['id'] = sha1(microtime() . $system_kind_current_id . rand(1, 20)); $props['id_sk'] = $system_kind_current_id; $new_hf_sk = new hf_system_kind(); $new_hf_sk->create($props); } else { $library_message .= "Unable to find sys kind: {$hf_sys_kind} for function {$hf_name}.\n"; } } // end foreach (system kind) foreach ($resources as $hf_resource) { echo " "; // CREATE RESOURCE $props = array(); $props['id_hf'] = $new_hf->id; $props['id'] = sha1(microtime() . $hf_resource['content'] . rand(1, 20)); $props['str_location'] = $hf_resource['content']; $props['str_filename'] = $hf_resource['filename']; $new_hf_resource = new hf_resource(); $new_hf_resource->create($props); echo " "; if (isset($hf_resource['system_kinds'])) { foreach ($hf_resource['system_kinds'] as $hfr_system_kind) { echo " "; $system_kind_current_id = ""; // GET THIS SYS KIND FROM USER_SYSTEM_KINDS foreach ($u->obj_system_kinds as $user_system_kind) { if ($user_system_kind->name == $hfr_system_kind) { $system_kind_current_id = $user_system_kind->id; } } // end foreach (system kind name) if ($hfr_system_kind == "any") { $system_kind_current_id = "any"; } if (strlen($system_kind_current_id) > 0) { $new_hfrsk = new hfr_system_kind(); $props = array(); $props['id_resource'] = $new_hf_resource->id; $props['id'] = sha1(microtime() . rand(1, 20) . $system_kind_current_id); $props['id_sk'] = $system_kind_current_id; $new_hfrsk->create($props); } else { echo "<pre>"; print_r($u); echo "LIBRARY ERROR: UNABLE TO FIND SYSTEM KIND ({$hfr_system_kind})"; exit; } } // end foreach (system kind) } // end if (system kinds is set) } // end if (resource) if (strlen($inherit_from) > 0) { $props = array(); $props['id_hf'] = $new_hf->id; $props['id'] = sha1(microtime() . rand(1, 20) . rand(2, 30)); $props['id_inherit'] = $inherit_from; $new_hf_inherit = new hf_inherit(); $new_hf_inherit->create($props); } // this part makes the function inherit from other functions if ($inheritable) { $props = array(); $props['id_user'] = $id_user; $props['id_hf'] = $new_hf->id; $new_user_inherit = new user_inherit(); $new_user_inherit->create($props); } foreach ($hf_parameters as $hf_parameter) { echo " "; $props = array(); $props['id_hf'] = $new_hf->id; $props['id'] = sha1(microtime() . rand(1, 20) . $hf_parameter['keyword'] . $hf_parameter['parameter_name']); $props['keyword'] = $hf_parameter['keyword']; $props['parameter_name'] = $hf_parameter['parameter_name']; $props['str_default_value'] = $hf_parameter['default_value']; $props['int_preserve_encode'] = "0"; if (isset($hf_parameter['int_preserve_encode'])) { if (strtolower($hf_parameter['int_preserve_encode']) == "true") { $props['int_preserve_encode'] = "1"; } } $new_hf_parameter = new hf_parameter(); $new_hf_parameter->create($props); if (isset($hf_parameter['constraints'])) { foreach ($hf_parameter['constraints'] as $hfp_constraint) { echo " "; $props = array(); $props['id_hf_parameter'] = $new_hf_parameter->id; $props['id'] = sha1(microtime() . rand(1, 20) . $hfp_constraint['constraint_type'] . $hfp_constraint['constraint_text']); $props['id_constraint_type'] = $hfp_constraint['constraint_type']; $props['str_constraint_text'] = $hfp_constraint['constraint_text']; $new_hfp_vcs = new hfp_vcs(); $new_hfp_vcs->create($props); //usleep(10); } // end foreach } //usleep(10); } // end foreach usleep(10); return $retval; }
public function build($obj_build_exclude = array()) { if ($this->obj_debug) { echo "build()"; } parent::build($obj_build_exclude); $this->obj_hfs = array(); if (!in_array("obj_hfs", $obj_build_exclude)) { $user_hfs = new hf_id_user(); $all_user_hfs = $user_hfs->get_from_hashrange($this->id_user); if ($all_user_hfs) { foreach ($all_user_hfs as $each_user_hf) { $a_user_hf = new hf_id_user(); $a_user_hf->set($each_user_hf); //$a_user_hf->build(); $this->obj_hfs[] = $a_user_hf; } } } $this->obj_servers = array(); if (!in_array("obj_servers", $obj_build_exclude)) { $user_server = new user_server(); $all_user_servers = $user_server->get_from_hashrange($this->id_user); if ($all_user_servers) { foreach ($all_user_servers as $each_user_server) { $a_user_server = new user_server(); $a_user_server->set($each_user_server); //$a_user_server->build(); $this->obj_servers[] = $a_user_server; } } } $this->obj_system_kinds = array(); if (!in_array("obj_system_kinds", $obj_build_exclude)) { $user_system_kind = new user_system_kind(); $all_user_system_kinds = $user_system_kind->get_from_hashrange($this->id_user); if ($all_user_system_kinds) { foreach ($all_user_system_kinds as $each_user_system_kind) { $a_user_system_kind = new user_system_kind(); $a_user_system_kind->set($each_user_system_kind); //$a_user_system_kind->build(); $this->obj_system_kinds[] = $a_user_system_kind; } } } $this->obj_inherits = array(); if (!in_array("obj_inherits", $obj_build_exclude)) { $user_inherit = new user_inherit(); $all_user_inherits = $user_inherit->get_from_hashrange($this->id_user); if ($all_user_inherits) { foreach ($all_user_inherits as $each_user_inherit) { $a_user_inherit = new user_inherit(); $a_user_inherit->set($each_user_inherit); //$a_user_inherit->build(); $this->obj_inherits[] = $a_user_inherit; } // END FOREACH } // END IF } // END IF }
// main page - add a hf if (isset($_GET['action'])) { if ($_GET['action'] == 'update-inheritance') { //print_r($_POST); if (isset($_POST['btnInheritanceOn'])) { $props = array(); $props['id_user'] = $u->id_user; $props['id_hf'] = $_GET['q']; $new_user_inherit = new user_inherit(); $new_user_inherit->get_from_hashrange($props['id_user'], $props['id_hf']); if ($new_user_inherit->id_user == "undefined") { $new_user_inherit->create($props); } } if (isset($_POST['btnInheritanceOff'])) { $new_user_inherit = new user_inherit(); $new_user_inherit->get_from_hashrange($u->id_user, $_GET['q']); if ($new_user_inherit->id_user != "undefined") { $new_user_inherit->delete(); } } } } // main page - add a hf if (isset($_GET['action'])) { if ($_GET['action'] == 'delete-hf-inherit') { if (isset($_POST['id'])) { $this_hf_inherit = new hf_inherit(); $this_hf_inherit->get_from_hashrange($_GET['q'], $_POST['id']); $this_hf_inherit->delete(); }