private function loadFiles($dir, $sub_dir = '') { $array_files = array(); $array_files["Page classes"] = array(); $array_files["DefinedZone classes"] = array(); $files = scandir($dir . $sub_dir, 0); for ($i = 0; $i < sizeof($files); $i++) { $file = $files[$i]; if (is_file($dir . $sub_dir . $file) && substr($file, strlen($file) - 4, strlen($file)) == ".php") { $is_page = false; $is_defined_zone = false; $f = new File($dir . $sub_dir . $file); while (($line = $f->read_line()) != false) { if (find($line, "class ") > 0 && (find($line, " extends Page") > 0 || find($line, " extends DefinedZone") > 0)) { $is_page = true; if (find($line, " extends DefinedZone") > 0) { $is_defined_zone = true; } break; } } $f->close(); if ($is_page) { $key = "Page classes"; if ($is_defined_zone) { $key = "DefinedZone classes"; } $array_files[$key][] = $sub_dir . $file; } } else { if (is_dir($dir . $sub_dir . $file) && $file != "." && $file != ".." && $file != ".svn") { $array_forbidden_folder = array("error", "wsp-admin"); if (!in_array($sub_dir . $file, $array_forbidden_folder)) { $tmp_array_files = $this->loadFiles($dir, $sub_dir . $file . "/"); $array_files["Page classes"] = array_merge($array_files["Page classes"], $tmp_array_files["Page classes"]); $array_files["DefinedZone classes"] = array_merge($array_files["DefinedZone classes"], $tmp_array_files["DefinedZone classes"]); } } } } return $array_files; }
// Move wsp-admin folder to the define folder on the file wsp/config/config_admin.inc.php include_once $base_dir . "/wsp/config/config_admin.inc.php"; if (WSP_ADMIN_URL != "wsp-admin") { $script_log_file->write("[" . date("Y-m-d H:i:s") . "] Start wsp-admin folder move ...\n"); copy($base_dir . "/pages/" . WSP_ADMIN_URL . "/.passwd", $base_dir . "/pages/wsp-admin/.passwd"); rrmdir($base_dir . "/pages/" . WSP_ADMIN_URL); rename($base_dir . "/pages/wsp-admin", $base_dir . "/pages/" . WSP_ADMIN_URL); $script_log_file->write("[" . date("Y-m-d H:i:s") . "] End wsp-admin folder move\n"); } // Update: .htaccess if (file_exists($base_dir . "/update.htaccess")) { $script_log_file->write("[" . date("Y-m-d H:i:s") . "] Start update .htaccess ...\n"); $htaccess_data = ""; if (file_exists($base_dir . "/.htaccess")) { $ht_file = new File($base_dir . "/.htaccess"); while (($line = $ht_file->read_line()) != false) { if (find($line, "# End zone for your URL rewriting") > 0) { break; } $htaccess_data .= $line; } $ht_file->close(); } else { $htaccess_data = "# Rule file .htaccess\r\nRewriteEngine on\r\nOptions +FollowSymLinks\r\nOptions -indexes\r\nAddDefaultCharset utf-8\r\n\r\n<IfModule mod_rewrite.c>\r\n\t# Redirecting www\r\n\t# Configure if you want redirect url http://example.com to http://www.example.com\r\n\tRewriteCond %{HTTP_HOST} ^mydomain\\.com\$ [NC]\r\n\tRewriteRule ^(.*)\$ http://www.mydomain.com/\$1 [R=301,L] \r\n\t\r\n\t# Alias: If you have configured an alias in the httpd.conf of Apache\r\n\t# Uncomment this line and configure the name of your alias.\r\n\t# If you are not sure don't change this line.\r\n\t#RewriteBase /myAliasName/\r\n\t\r\n\t# Zone to define your URL rewriting\r\n\t# Exemple 1: \r\n\t# Create an URL with 1 virtual folder (myfolder)\r\n\t# RewriteRule ^myfolder/(.+)\\.html\$ index.php?p=\$1&l=en&%{QUERY_STRING} [L]\r\n\t# In this case the first parameter is the language (ie: en, fr, de, ...) \r\n\t# RewriteRule ^([a-z]{2})/myfolder/(.+)\\.html\$ index.php?p=\$2&l=\$1&%{QUERY_STRING} [L] \r\n\t# \r\n\t# Exemple 2: \r\n\t# Create an URL with 2 virtuals folders (myfolder and myfolder2)\r\n\t# RewriteRule ^myfolder/myfolder2/(.+)\\.html\$ index.php?p=\$1&l=en&%{QUERY_STRING} [L] \r\n\t# RewriteRule ^([a-z]{2})/myfolder/myfolder2/(.+)\\.html\$ index.php?p=\$2&l=\$1&%{QUERY_STRING} [L] \r\n\t# \r\n\t# Exemple 3: \r\n\t# Create an URL with 1 variable virtual folder\r\n\t# The 2nd parameter exclude the folders ajax (use by the ajax pages of the framework) and wsp-admin (admin part of WSP)\r\n\t# RewriteRule ^([a-z]{2})/((?!(ajax|wsp\\-admin)).+)/(.+)\\.html\$ index.php?p=my_page&l=\$1¶m1=\$2¶m2=\$3&%{QUERY_STRING} [L]\r\n\t# \r\n\t# Warning: Create your rules only if the framework can't support your special URL => virtual folder (the framework manages the real folders)\r\n\t#\r\n\t\n"; } $htaccess_data = $htaccess_data . file_get_contents($base_dir . "/update.htaccess"); $ht_file = new File($base_dir . "/.htaccess", false, true); $ht_file->write($htaccess_data); $ht_file->close(); unlink($base_dir . "/update.htaccess"); $script_log_file->write("[" . date("Y-m-d H:i:s") . "] End update .htaccess\n");
public function onChangeModule($sender, $moved_object, $from_object, $to_object, $position) { if ($from_object->getId() != $to_object->getId()) { $new_conf_module_data = ""; $module_file = new File(dirname(__FILE__) . "/../../../wsp/config/modules.cnf"); if ($this->list_modules_obj->getId() == $to_object->getId()) { // remove while (($line = $module_file->read_line()) != false) { if (trim($line) != "" && trim($line) != str_replace("_", "-", str_replace("wsp_object_module_", "", $moved_object->getId()))) { $new_conf_module_data .= trim($line) . "\n"; } } } else { if ($this->list_install_modules_obj->getId() == $to_object->getId()) { // add while (($line = $module_file->read_line()) != false) { if (trim($line) != "") { $new_conf_module_data .= trim($line) . "\n"; } } $new_conf_module_data .= str_replace("_", "-", str_replace("wsp_object_module_", "", $moved_object->getId())) . "\n"; } } $module_file->close(); if ($new_conf_module_data != "") { $module_file = new File(dirname(__FILE__) . "/../../../wsp/config/modules.cnf", false, true); $module_file->write($new_conf_module_data); $module_file->close(); } } }
function getAllWspUsers() { $passwd_file = new File(dirname(__FILE__) . "/../.passwd"); $i = 0; $array_users = array(); $line = $passwd_file->read_line(); while ($line != null) { if (find($line, "login:"******"login:"******"", $line)); $line = $passwd_file->read_line(); $line = $passwd_file->read_line(); $array_users[$i]['rights'] = trim(str_replace("rights:", "", $line)); $i++; } $line = $passwd_file->read_line(); } return $array_users; }