$group_id=getIntFromRequest('group_id');
$form_grp=getIntFromRequest('form_grp');
+
+$log_group=0;
+
if (isset($group_id) && is_numeric($group_id) && $group_id) {
$log_group=$group_id;
} elseif (isset($form_grp) && is_numeric($form_grp) && $form_grp) {
$group = group_get_object_by_name($group_name);
if ($group) {
$log_group=$group->getID();
- } else {
- $log_group=0;
}
} else {
//
$pathwithoutprefix = substr (getStringFromServer('REQUEST_URI'),
strlen (normalized_urlprefix ()) - 1);
}
+ $pathwithoutprefix_exploded = explode('?', $pathwithoutprefix);
+ $pathwithoutprefix = $pathwithoutprefix_exploded[0];
$expl_pathinfo = explode('/',$pathwithoutprefix);
if (($expl_pathinfo[1]=='foundry') || ($expl_pathinfo[1]=='projects')) {
- $group_name_exploded = explode('?', $expl_pathinfo[2]);
- $res_grp = db_query_params ('
- SELECT *
- FROM groups
- WHERE unix_group_name=$1
- AND status IN ($2,$3)',
- array ($group_name_exploded[0],
- 'A',
- 'H'));
-
- // store subpage id for analyzing later
- $subpage_exploded = explode('?', $expl_pathinfo[3]);
-
- // This will later be used in the www/projects for instance
- $subpage = isset($subpage_exploded[0])?$subpage_exploded[0]:'';
- $subpage2 = isset($expl_pathinfo[4]) ? $expl_pathinfo[4] : '';
-
- //set up the group_id
- $group_id=db_result($res_grp,0,'group_id');
- //set up a foundry object for reference all over the place
- if ($group_id) {
- $grp = group_get_object($group_id,$res_grp);
- if ($grp) {
- //this is a project - so set up the project var properly
- $project =& $grp;
- //echo "IS PROJECT: ".$group_id;
- $log_group=$group_id;
- } else {
- $log_group=0;
- }
-
+ $group_name = $expl_pathinfo[2];
+ if ($group_name) {
+ $res_grp = db_query_params ('
+ SELECT *
+ FROM groups
+ WHERE unix_group_name=$1
+ AND status IN ($2,$3)',
+ array ($group_name,
+ 'A',
+ 'H'));
+
+ // store subpage id for analyzing later
// This will later be used in the www/projects for instance
+ $subpage = isset($expl_pathinfo[3]) ? $expl_pathinfo[3] : '';
+ $subpage2 = isset($expl_pathinfo[4]) ? $expl_pathinfo[4] : '';
+
+
global $RESTPATH_PROJECTS_GROUP_ID;
- $RESTPATH_PROJECTS_GROUP_ID = $group_id;
global $RESTPATH_PROJECTS_PROJECT;
- $RESTPATH_PROJECTS_PROJECT = $project;
- global $RESTPATH_PROJECTS_SUBPAGE;
- $RESTPATH_PROJECTS_SUBPAGE = $subpage;
- global $RESTPATH_PROJECTS_SUBPAGE2;
- $RESTPATH_PROJECTS_SUBPAGE2 = $subpage2;
- } else {
- $log_group=0;
+
+ //set up the group_id
+ $group_id=db_result($res_grp,0,'group_id');
+
+ //set up a foundry object for reference all over the place
+ if ($group_id) {
+ $grp = group_get_object($group_id,$res_grp);
+ if ($grp) {
+ //this is a project - so set up the project var properly
+ $project =& $grp;
+ //echo "IS PROJECT: ".$group_id;
+ $log_group=$group_id;
+ }
+
+ // This will later be used in the www/projects for instance
+ $RESTPATH_PROJECTS_PROJECT = $project;
+ $RESTPATH_PROJECTS_GROUP_ID = $group_id;
+
+ global $RESTPATH_PROJECTS_SUBPAGE;
+ $RESTPATH_PROJECTS_SUBPAGE = $subpage;
+
+ global $RESTPATH_PROJECTS_SUBPAGE2;
+ $RESTPATH_PROJECTS_SUBPAGE2 = $subpage2;
+ }
+ else {
+ $RESTPATH_PROJECTS_GROUP_ID = -1;
+ }
}
}
$project =& $grp;
//echo "IS PROJECT: ".$group_id;
$log_group=$group_id;
- } else {
- $log_group=0;
}
- } else {
- $log_group=0;
}
}
- $log_group=0;
+
}
$res_logger = db_query_params ('INSERT INTO activity_log
//
-// IMPORTANT NOTE!!
-// Setting up the $project object is all being
-// handled in the logger now (see logger.php)
-// This was done so the logger would accurately record these pages
+// IMPORTANT NOTE!!
+// Setting up the $RESTPATH_PROJECTS_GROUP_ID and $RESTPATH_PROJECTS_PROJECT object is all being
+// handled in the logger now (see logger.php)
+// This was done so the logger would accurately record these pages
//
-// test to see if the logger was successful in setting up the objects
+// A valid project name gives a valid group_id and project object, whereas both unset means /projects
+// A group_id set to -1 means an unknown project
//
global $RESTPATH_PROJECTS_GROUP_ID;
$group_id = $RESTPATH_PROJECTS_GROUP_ID;
global $RESTPATH_PROJECTS_PROJECT;
$project = $RESTPATH_PROJECTS_PROJECT;
-if (!$group_id || !$project) {
+if (!isset($group_id) && !isset($project)) {
$script = 'projects_list';
} else {
- // reuse vars from logger.php too if not specified explicitely ?
- global $RESTPATH_PROJECTS_SUBPAGE;
- $subpage = getStringFromRequest('subpage');
- $subpage = isset($subpage)?$subpage:$RESTPATH_PROJECTS_SUBPAGE;
- global $RESTPATH_PROJECTS_SUBPAGE2;
- $subpage2 = getStringFromRequest('subpage2');
- $subpage2 = isset($subpage2)?$subpage2:$RESTPATH_PROJECTS_SUBPAGE2;
-
- if ($subpage == "admin") {
-
- session_redirect("/project/admin/?group_id=$group_id");
-
- } else if ($subpage == "files" || $subpage == "download" || $subpage == "dl") {
-
- if ($subpage2 == "release") {
- session_redirect("/frs/admin/qrs.php?group_id=$group_id");
- } else {
- session_redirect("/frs/?group_id=$group_id");
- }
+ if (isset($group_id) && isset($project)) {
+ // reuse vars from logger.php too if not specified explicitely ?
+ global $RESTPATH_PROJECTS_SUBPAGE;
+ $subpage = getStringFromRequest('subpage');
+ $subpage = isset($subpage)?$subpage:$RESTPATH_PROJECTS_SUBPAGE;
+ global $RESTPATH_PROJECTS_SUBPAGE2;
+ $subpage2 = getStringFromRequest('subpage2');
+ $subpage2 = isset($subpage2)?$subpage2:$RESTPATH_PROJECTS_SUBPAGE2;
- } else if ($subpage == "cvs") {
- header("Location: ".account_group_cvsweb_url($project->getUnixName()));
- exit();
-
- } else {
-
- $script='project_home';
+ if ($subpage == "admin") {
+
+ session_redirect("/project/admin/?group_id=$group_id");
+
+ } else if ($subpage == "files" || $subpage == "download" || $subpage == "dl") {
+
+ if ($subpage2 == "release") {
+ session_redirect("/frs/admin/qrs.php?group_id=$group_id");
+ } else {
+ session_redirect("/frs/?group_id=$group_id");
+ }
+
+ } else if ($subpage == "cvs") {
+ header("Location: ".account_group_cvsweb_url($project->getUnixName()));
+ exit();
- $accepted_type = util_negociate_alternate_content_types($script, $default_content_type, $forced_accept);
-
- // if a custom content-type is selected, then use plugin's/hooks rendering
- if($accepted_type != $default_content_type) {
-
- $hook_params = array();
- $hook_params['groupname'] = $project->getUnixName();
- $hook_params['group_id'] = $project->getID();
- $hook_params['return'] = '';
- $hook_params['content_type'] = '';
-
- display_content_negociated_hook('content_negociated_project_home', $hook_params, $accepted_type, $forced_content_type);
-
} else {
- // show the project summary page for HTML display
- include $gfwww.'include/project_home.php';
+
+ $script='project_home';
+
+ $accepted_type = util_negociate_alternate_content_types($script, $default_content_type, $forced_accept);
+
+ // if a custom content-type is selected, then use plugin's/hooks rendering
+ if($accepted_type != $default_content_type) {
+
+ $hook_params = array();
+ $hook_params['groupname'] = $project->getUnixName();
+ $hook_params['group_id'] = $project->getID();
+ $hook_params['return'] = '';
+ $hook_params['content_type'] = '';
+
+ display_content_negociated_hook('content_negociated_project_home', $hook_params, $accepted_type, $forced_content_type);
+
+ } else {
+ // show the project summary page for HTML display
+ include $gfwww.'include/project_home.php';
+ }
}
}
+ else {
+ header('HTTP/1.1 404 Not Found',true,404);
+ exit_error('HTTP/1.1 404 Not Found');
+ }
}
// Local Variables: