diff --git a/app/conference_profiles/app_config.php b/app/conference_profiles/app_config.php new file mode 100644 index 0000000000..819eb5dbfb --- /dev/null +++ b/app/conference_profiles/app_config.php @@ -0,0 +1,123 @@ + \ No newline at end of file diff --git a/app/conference_profiles/app_languages.php b/app/conference_profiles/app_languages.php new file mode 100644 index 0000000000..5049114615 --- /dev/null +++ b/app/conference_profiles/app_languages.php @@ -0,0 +1,105 @@ + \ No newline at end of file diff --git a/app/conference_profiles/app_menu.php b/app/conference_profiles/app_menu.php new file mode 100644 index 0000000000..916074c4eb --- /dev/null +++ b/app/conference_profiles/app_menu.php @@ -0,0 +1,19 @@ + \ No newline at end of file diff --git a/app/conference_profiles/conference_profile_delete.php b/app/conference_profiles/conference_profile_delete.php new file mode 100644 index 0000000000..28af7911fe --- /dev/null +++ b/app/conference_profiles/conference_profile_delete.php @@ -0,0 +1,41 @@ +get(); + +//get the id + if (count($_GET)>0) { + $id = check_str($_GET["id"]); + } + +//delete the data + if (strlen($id)>0) { + //delete conference_profile + $sql = "delete from v_conference_profiles "; + $sql .= "where conference_profile_uuid = '$id' "; + $sql .= "and domain_uuid = '$domain_uuid' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + unset($sql); + } + +//redirect the user + $_SESSION['message'] = $text['message-delete']; + header('Location: conference_profiles.php'); + +?> \ No newline at end of file diff --git a/app/conference_profiles/conference_profile_edit.php b/app/conference_profiles/conference_profile_edit.php new file mode 100644 index 0000000000..752486885c --- /dev/null +++ b/app/conference_profiles/conference_profile_edit.php @@ -0,0 +1,203 @@ +get(); + +//action add or update + if (isset($_REQUEST["id"])) { + $action = "update"; + $conference_profile_uuid = check_str($_REQUEST["id"]); + } + else { + $action = "add"; + } + +//get http post variables and set them to php variables + if (count($_POST)>0) { + $profile_name = check_str($_POST["profile_name"]); + $profile_enabled = check_str($_POST["profile_enabled"]); + $profile_description = check_str($_POST["profile_description"]); + } + +if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { + + $msg = ''; + if ($action == "update") { + $conference_profile_uuid = check_str($_POST["conference_profile_uuid"]); + } + + //check for all required data + if (strlen($profile_name) == 0) { $msg .= $text['message-required']." ".$text['label-profile_name']."
\n"; } + if (strlen($profile_enabled) == 0) { $msg .= $text['message-required']." ".$text['label-profile_enabled']."
\n"; } + //if (strlen($profile_description) == 0) { $msg .= $text['message-required']." ".$text['label-profile_description']."
\n"; } + if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { + require_once "resources/header.php"; + require_once "resources/persist_form_var.php"; + echo "
\n"; + echo "
\n"; + echo $msg."
"; + echo "
\n"; + persistformvar($_POST); + echo "
\n"; + require_once "resources/footer.php"; + return; + } + + //add or update the database + if ($_POST["persistformvar"] != "true") { + if ($action == "add" && permission_exists('conference_profile_add')) { + $sql = "insert into v_conference_profiles "; + $sql .= "("; + $sql .= "domain_uuid, "; + $sql .= "conference_profile_uuid, "; + $sql .= "profile_name, "; + $sql .= "profile_enabled, "; + $sql .= "profile_description "; + $sql .= ")"; + $sql .= "values "; + $sql .= "("; + $sql .= "'$domain_uuid', "; + $sql .= "'".uuid()."', "; + $sql .= "'$profile_name', "; + $sql .= "'$profile_enabled', "; + $sql .= "'$profile_description' "; + $sql .= ")"; + $db->exec(check_sql($sql)); + unset($sql); + + $_SESSION["message"] = $text['message-add']; + header("Location: conference_profiles.php"); + return; + + } //if ($action == "add") + + if ($action == "update" && permission_exists('conference_profile_edit')) { + $sql = "update v_conference_profiles set "; + $sql .= "profile_name = '$profile_name', "; + $sql .= "profile_enabled = '$profile_enabled', "; + $sql .= "profile_description = '$profile_description' "; + $sql .= "where conference_profile_uuid = '$conference_profile_uuid'"; + $sql .= "and domain_uuid = '$domain_uuid' "; + $db->exec(check_sql($sql)); + unset($sql); + + $_SESSION["message"] = $text['message-update']; + header("Location: conference_profiles.php"); + return; + + } //if ($action == "update") + } //if ($_POST["persistformvar"] != "true") +} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) + +//pre-populate the form + if (count($_GET) > 0 && $_POST["persistformvar"] != "true") { + $conference_profile_uuid = check_str($_GET["id"]); + $sql = "select * from v_conference_profiles "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= "and conference_profile_uuid = '$conference_profile_uuid' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach ($result as &$row) { + $profile_name = $row["profile_name"]; + $profile_enabled = $row["profile_enabled"]; + $profile_description = $row["profile_description"]; + } + unset ($prep_statement); + } + +//show the header + require_once "resources/header.php"; + +//show the content + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo " \n"; + echo " "; + echo "
".$text['title-conference_profile']."

\n"; + echo " "; + echo " "; + echo "
\n"; + echo " ".$text['label-profile_name']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-profile_name']."\n"; + echo "
\n"; + echo " ".$text['label-profile_enabled']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-profile_enabled']."\n"; + echo "
\n"; + echo " ".$text['label-profile_description']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-profile_description']."\n"; + echo "
\n"; + if ($action == "update") { + echo " \n"; + } + echo " \n"; + echo "
"; + echo "
"; + echo "

"; + + if ($action == "update") { + require "conference_profile_params.php"; + } + +//include the footer + require_once "resources/footer.php"; + +?> \ No newline at end of file diff --git a/app/conference_profiles/conference_profile_param_delete.php b/app/conference_profiles/conference_profile_param_delete.php new file mode 100644 index 0000000000..56453cb05c --- /dev/null +++ b/app/conference_profiles/conference_profile_param_delete.php @@ -0,0 +1,42 @@ +get(); + +//get the id + if (count($_GET)>0) { + $id = check_str($_GET["id"]); + $conference_profile_uuid = check_str($_GET["conference_profile_uuid"]); + } + +//delete the data + if (strlen($id)>0) { + //delete conference_profile_param + $sql = "delete from v_conference_profile_params "; + $sql .= "where conference_profile_param_uuid = '$id' "; + $sql .= "and domain_uuid = '$domain_uuid' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + unset($sql); + } + +//redirect the user + $_SESSION['message'] = $text['message-delete']; + header('Location: conference_profile_param_edit.php?id='.$conference_profile_uuid); + +?> \ No newline at end of file diff --git a/app/conference_profiles/conference_profile_param_edit.php b/app/conference_profiles/conference_profile_param_edit.php new file mode 100644 index 0000000000..10e966095b --- /dev/null +++ b/app/conference_profiles/conference_profile_param_edit.php @@ -0,0 +1,225 @@ +get(); + +//action add or update + if (isset($_REQUEST["id"])) { + $action = "update"; + $conference_profile_param_uuid = check_str($_REQUEST["id"]); + } + else { + $action = "add"; + } + +//set the parent uuid + if (strlen($_GET["conference_profile_uuid"]) > 0) { + $conference_profile_uuid = check_str($_GET["conference_profile_uuid"]); + } + +//get http post variables and set them to php variables + if (count($_POST)>0) { + $profile_param_name = check_str($_POST["profile_param_name"]); + $profile_param_value = check_str($_POST["profile_param_value"]); + $profile_param_enabled = check_str($_POST["profile_param_enabled"]); + $profile_param_description = check_str($_POST["profile_param_description"]); + } + +if (count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) { + + $msg = ''; + if ($action == "update") { + $conference_profile_param_uuid = check_str($_POST["conference_profile_param_uuid"]); + } + + //check for all required data + if (strlen($profile_param_name) == 0) { $msg .= $text['message-required']." ".$text['label-profile_param_name']."
\n"; } + if (strlen($profile_param_value) == 0) { $msg .= $text['message-required']." ".$text['label-profile_param_value']."
\n"; } + if (strlen($profile_param_enabled) == 0) { $msg .= $text['message-required']." ".$text['label-profile_param_enabled']."
\n"; } + //if (strlen($profile_param_description) == 0) { $msg .= $text['message-required']." ".$text['label-profile_param_description']."
\n"; } + if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { + require_once "resources/header.php"; + require_once "resources/persist_form_var.php"; + echo "
\n"; + echo "
\n"; + echo $msg."
"; + echo "
\n"; + persistformvar($_POST); + echo "
\n"; + require_once "resources/footer.php"; + return; + } + + //add or update the database + if ($_POST["persistformvar"] != "true") { + if ($action == "add" && permission_exists('conference_profile_param_add')) { + $sql = "insert into v_conference_profile_params "; + $sql .= "("; + $sql .= "domain_uuid, "; + $sql .= "conference_profile_param_uuid, "; + $sql .= "conference_profile_uuid, "; + $sql .= "profile_param_name, "; + $sql .= "profile_param_value, "; + $sql .= "profile_param_enabled, "; + $sql .= "profile_param_description "; + $sql .= ")"; + $sql .= "values "; + $sql .= "("; + $sql .= "'$domain_uuid', "; + $sql .= "'".uuid()."', "; + $sql .= "'$conference_profile_uuid', "; + $sql .= "'$profile_param_name', "; + $sql .= "'$profile_param_value', "; + $sql .= "'$profile_param_enabled', "; + $sql .= "'$profile_param_description' "; + $sql .= ")"; + $db->exec(check_sql($sql)); + unset($sql); + + $_SESSION["message"] = $text['message-add']; + header('Location: conference_profile_edit.php?id='.$conference_profile_uuid); + return; + + } //if ($action == "add") + + if ($action == "update" && permission_exists('conference_profile_param_edit')) { + $sql = "update v_conference_profile_params set "; + $sql .= "conference_profile_uuid = '$conference_profile_uuid', "; + $sql .= "profile_param_name = '$profile_param_name', "; + $sql .= "profile_param_value = '$profile_param_value', "; + $sql .= "profile_param_enabled = '$profile_param_enabled', "; + $sql .= "profile_param_description = '$profile_param_description' "; + $sql .= "where conference_profile_param_uuid = '$conference_profile_param_uuid'"; + $sql .= "and domain_uuid = '$domain_uuid' "; + $db->exec(check_sql($sql)); + unset($sql); + + $_SESSION["message"] = $text['message-update']; + header('Location: conference_profile_edit.php?id='.$conference_profile_uuid); + return; + + } //if ($action == "update") + } //if ($_POST["persistformvar"] != "true") +} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0) + +//pre-populate the form + if (count($_GET) > 0 && $_POST["persistformvar"] != "true") { + $conference_profile_param_uuid = check_str($_GET["id"]); + $sql = "select * from v_conference_profile_params "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= "and conference_profile_param_uuid = '$conference_profile_param_uuid' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach ($result as &$row) { + $profile_param_name = $row["profile_param_name"]; + $profile_param_value = $row["profile_param_value"]; + $profile_param_enabled = $row["profile_param_enabled"]; + $profile_param_description = $row["profile_param_description"]; + } + unset ($prep_statement); + } + +//show the header + require_once "resources/header.php"; + +//show the content + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo " \n"; + echo " \n"; + echo " "; + echo "
".$text['title-conference_profile_param']."

\n"; + echo " "; + echo " "; + echo "
\n"; + echo " ".$text['label-profile_param_name']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-profile_param_name']."\n"; + echo "
\n"; + echo " ".$text['label-profile_param_value']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-profile_param_value']."\n"; + echo "
\n"; + echo " ".$text['label-profile_param_enabled']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-profile_param_enabled']."\n"; + echo "
\n"; + echo " ".$text['label-profile_param_description']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-profile_param_description']."\n"; + echo "
\n"; + echo " \n"; + if ($action == "update") { + echo " \n"; + } + echo " \n"; + echo "
"; + echo "
"; + echo "

"; + +//include the footer + require_once "resources/footer.php"; + +?> \ No newline at end of file diff --git a/app/conference_profiles/conference_profile_params.php b/app/conference_profiles/conference_profile_params.php new file mode 100644 index 0000000000..055349b8de --- /dev/null +++ b/app/conference_profiles/conference_profile_params.php @@ -0,0 +1,164 @@ +get(); + +//get variables used to control the order + $order_by = check_str($_GET["order_by"]); + $order = check_str($_GET["order"]); + +//add the search term + $search = check_str($_GET["search"]); + if (strlen($search) > 0) { + $sql_search = "and ("; + $sql_search .= "profile_param_name like '%".$search."%'"; + $sql_search .= "or profile_param_value like '%".$search."%'"; + $sql_search .= "or profile_param_enabled like '%".$search."%'"; + $sql_search .= "or profile_param_description like '%".$search."%'"; + $sql_search .= ")"; + } +//additional includes + require_once "resources/header.php"; + require_once "resources/paging.php"; + +//prepare to page the results + $sql = "select count(*) as num_rows from v_conference_profile_params "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= $sql_search; + $sql .= "and conference_profile_uuid = '$conference_profile_uuid' "; + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] > 0) { + $num_rows = $row['num_rows']; + } + else { + $num_rows = '0'; + } + } + +//prepare to page the results + $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; + $param = ""; + $page = $_GET['page']; + if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } + list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page); + $offset = $rows_per_page * $page; + +//get the list + $sql = "select * from v_conference_profile_params "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= $sql_search; + $sql .= "and conference_profile_uuid = '$conference_profile_uuid' "; + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $sql .= "limit $rows_per_page offset $offset "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + unset ($prep_statement, $sql); + +//alternate the row style + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; + +//show the content + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
".$text['title-conference_profile_params']."
\n"; + echo " \n"; + echo " \n"; + echo "
\n"; + echo " ".$text['title_description-conference_profile_param']."

\n"; + echo "
\n"; + + echo "\n"; + echo "\n"; + echo th_order_by('profile_param_name', $text['label-profile_param_name'], $order_by, $order); + echo th_order_by('profile_param_value', $text['label-profile_param_value'], $order_by, $order); + echo th_order_by('profile_param_enabled', $text['label-profile_param_enabled'], $order_by, $order); + echo th_order_by('profile_param_description', $text['label-profile_param_description'], $order_by, $order); + echo "\n"; + echo "\n"; + + if (is_array($result)) { + foreach($result as $row) { + if (permission_exists('conference_profile_param_edit')) { + $tr_link = "href='conference_profile_param_edit.php?conference_profile_uuid=".$row['conference_profile_uuid']."&id=".$row['conference_profile_param_uuid']."'"; + } + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + if ($c==0) { $c=1; } else { $c=0; } + } //end foreach + unset($sql, $result, $row_count); + } //end if results + + echo "\n"; + echo "\n"; + echo "\n"; + echo "
"; + if (permission_exists('conference_profile_param_add')) { + echo "$v_link_label_add"; + } + else { + echo " \n"; + } + echo "
".$row['profile_param_name']." ".$row['profile_param_value']." ".$row['profile_param_enabled']." ".$row['profile_param_description']." "; + if (permission_exists('conference_profile_param_edit')) { + echo "$v_link_label_edit"; + } + if (permission_exists('conference_profile_param_delete')) { + echo "$v_link_label_delete"; + } + echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
 $paging_controls"; + if (permission_exists('conference_profile_param_add')) { + echo "$v_link_label_add"; + } + else { + echo " "; + } + echo "
\n"; + echo "
"; + echo "

"; + +//include the footer + require_once "resources/footer.php"; + +?> \ No newline at end of file diff --git a/app/conference_profiles/conference_profiles.php b/app/conference_profiles/conference_profiles.php new file mode 100644 index 0000000000..084174d619 --- /dev/null +++ b/app/conference_profiles/conference_profiles.php @@ -0,0 +1,159 @@ +get(); + +//get variables used to control the order + $order_by = check_str($_GET["order_by"]); + $order = check_str($_GET["order"]); + +//add the search term + $search = check_str($_GET["search"]); + if (strlen($search) > 0) { + $sql_search = "and ("; + $sql_search .= "profile_name like '%".$search."%'"; + $sql_search .= "or profile_enabled like '%".$search."%'"; + $sql_search .= "or profile_description like '%".$search."%'"; + $sql_search .= ")"; + } +//additional includes + require_once "resources/header.php"; + require_once "resources/paging.php"; + +//prepare to page the results + $sql = "select count(*) as num_rows from v_conference_profiles "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= $sql_search; + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $prep_statement = $db->prepare($sql); + if ($prep_statement) { + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['num_rows'] > 0) { + $num_rows = $row['num_rows']; + } + else { + $num_rows = '0'; + } + } + +//prepare to page the results + $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50; + $param = ""; + $page = $_GET['page']; + if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; } + list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page); + $offset = $rows_per_page * $page; + +//get the list + $sql = "select * from v_conference_profiles "; + $sql .= "where domain_uuid = '$domain_uuid' "; + $sql .= $sql_search; + if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; } + $sql .= "limit $rows_per_page offset $offset "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + unset ($prep_statement, $sql); + +//alternate the row style + $c = 0; + $row_style["0"] = "row_style0"; + $row_style["1"] = "row_style1"; + +//show the content + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
".$text['title-conference_profiles']."
\n"; + echo " \n"; + echo " \n"; + echo "
\n"; + echo " ".$text['title_description-conference_profile']."

\n"; + echo "
\n"; + + echo "\n"; + echo "\n"; + echo th_order_by('profile_name', $text['label-profile_name'], $order_by, $order); + echo th_order_by('profile_enabled', $text['label-profile_enabled'], $order_by, $order); + echo th_order_by('profile_description', $text['label-profile_description'], $order_by, $order); + echo "\n"; + echo "\n"; + + if (is_array($result)) { + foreach($result as $row) { + if (permission_exists('conference_profile_edit')) { + $tr_link = "href='conference_profile_edit.php?id=".$row['conference_profile_uuid']."'"; + } + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + if ($c==0) { $c=1; } else { $c=0; } + } //end foreach + unset($sql, $result, $row_count); + } //end if results + + echo "\n"; + echo "\n"; + echo "\n"; + echo "
"; + if (permission_exists('conference_profile_add')) { + echo "$v_link_label_add"; + } + else { + echo " \n"; + } + echo "
".$row['profile_name']." ".$row['profile_enabled']." ".$row['profile_description']." "; + if (permission_exists('conference_profile_edit')) { + echo "$v_link_label_edit"; + } + if (permission_exists('conference_profile_delete')) { + echo "$v_link_label_delete"; + } + echo "
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
 $paging_controls"; + if (permission_exists('conference_profile_add')) { + echo "$v_link_label_add"; + } + else { + echo " "; + } + echo "
\n"; + echo "
"; + echo "

"; + +//include the footer + require_once "resources/footer.php"; + +?> \ No newline at end of file diff --git a/app/conference_profiles/root.php b/app/conference_profiles/root.php new file mode 100644 index 0000000000..6fdf32f37b --- /dev/null +++ b/app/conference_profiles/root.php @@ -0,0 +1,90 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2012 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ + +// make sure the PATH_SEPARATOR is defined + umask(2); + if (!defined("PATH_SEPARATOR")) { + if (strpos($_ENV["OS"], "Win") !== false) { + define("PATH_SEPARATOR", ";"); + } else { + define("PATH_SEPARATOR", ":"); + } + } + + if (!isset($output_format)) $output_format = (PHP_SAPI == 'cli') ? 'text' : 'html'; + + // make sure the document_root is set + $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + chdir(pathinfo(realpath($_SERVER["PHP_SELF"]), PATHINFO_DIRNAME)); + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/project_root.php')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/project_root.php')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } + $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); +// try to detect if a project path is being used + if (!defined('PROJECT_PATH')) { + if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { + define('PROJECT_PATH', '/fusionpbx'); + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/project_root.php')) { + define('PROJECT_PATH', ''); + } else { + $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); + $i = 1; + $path = $_SERVER["DOCUMENT_ROOT"]; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/project_root.php')) { + break; + } + $i++; + } + if(!file_exists($path. '/project_root.php')){ + die("Failed to locate the Project Root by searching for project_root.php please contact support for assistance"); + } + $project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path); + define('PROJECT_PATH', $project_path); + } + $_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH); + set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]); + } + +?> \ No newline at end of file