-#! /usr/bin/php4 -f
+#! /usr/bin/php5
<?php
/**
* Copyright 1999-2001 (c) VA Linux Systems
- *
- * @version $Id$
+ * Copyright 2009, Roland Mas
*
* This file is part of GForge.
*
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
*/
-require ('squal_pre.php');
-require ('common/include/cron_utils.php');
+require (dirname(__FILE__).'/../www/env.inc.php');
+require $gfwww.'include/squal_pre.php';
+require $gfcommon.'include/cron_utils.php';
$err='';
-/*
-//FIRST TIME THIS SCRIPT IS RUN - YOU MAY NEED TO RUN THIS QUERY FIRST
-
-//nightly aggregation query
-DROP TABLE trove_agg;
-CREATE TABLE trove_agg AS
- SELECT tgl.trove_cat_id, g.group_id, g.group_name, g.unix_group_name,
- g.status, g.register_time, g.short_description,
- project_weekly_metric.percentile, project_weekly_metric.ranking
- FROM groups g
- LEFT JOIN project_weekly_metric USING (group_id) ,
- trove_group_link tgl
- WHERE
- tgl.group_id=g.group_id
- AND (g.is_public=1)
- AND (g.type=1)
- AND (g.status='A')
- ORDER BY trove_cat_id ASC, ranking ASC;
-
-CREATE INDEX troveagg_trovecatid ON trove_agg(trove_cat_id);
-create index troveagg_trovecatid_ranking ON trove_agg(trove_cat_id,ranking);
-
-DROP TABLE trove_treesums;
-CREATE TABLE "trove_treesums" (
- "trove_treesums_id" serial primary key,
- "trove_cat_id" integer DEFAULT '0' NOT NULL,
- "limit_1" integer DEFAULT '0' NOT NULL,
- "subprojects" integer DEFAULT '0' NOT NULL
-);
-
-*/
-
-/*if (!strstr($REMOTE_ADDR,$sys_internal_network)) {
- exit_permission_denied();
- }*/
-
/*
Rebuild the trove_agg table, which saves us
*/
-db_begin(SYS_DB_TROVE);
-
-db_query("DELETE FROM trove_agg;", -1, 0, SYS_DB_TROVE);
+db_begin();
-$sql="INSERT INTO trove_agg
- (SELECT tgl.trove_cat_id, g.group_id, g.group_name, g.unix_group_name, g.status, g.register_time, g.short_description, project_weekly_metric.percentile, project_weekly_metric.ranking
- FROM groups g
- LEFT JOIN project_weekly_metric USING (group_id), trove_group_link tgl
- WHERE tgl.group_id=g.group_id
- AND (g.is_public=1)
- AND (g.type_id=1)
- AND (g.status='A')
- ORDER BY trove_cat_id ASC, ranking ASC)";
+db_query_params ('DELETE FROM trove_agg',
+ array());
-db_query($sql, -1, 0, SYS_DB_TROVE);
-$err .= db_error(SYS_DB_TROVE);
+db_query_params ('INSERT INTO trove_agg
+(SELECT tgl.trove_cat_id, g.group_id, g.group_name, g.unix_group_name, g.status, g.register_time, g.short_description, project_weekly_metric.percentile, project_weekly_metric.ranking
+FROM groups g
+LEFT JOIN project_weekly_metric USING (group_id), trove_group_link tgl
+WHERE tgl.group_id=g.group_id
+AND g.is_public = 1
+AND g.type_id = 1
+AND g.status = $1
+ORDER BY trove_cat_id ASC, ranking ASC)',
+ array('A'));
+$err .= db_error();
-db_commit(SYS_DB_TROVE);
+db_commit();
/*
$cat_counts=array();
$parent_list=array();
-$q = "SELECT trove_cat.trove_cat_id,trove_cat.parent
- FROM trove_cat
- WHERE trove_cat.trove_cat_id!=0
- GROUP BY trove_cat.trove_cat_id,trove_cat.parent;" ;
-$res=db_query($q);
+$res = db_query_params ('SELECT trove_cat.trove_cat_id,trove_cat.parent
+FROM trove_cat
+WHERE trove_cat.trove_cat_id!=0
+GROUP BY trove_cat.trove_cat_id,trove_cat.parent',
+ array());
$rows=db_numrows($res);
for ($i=0; $i<$rows; $i++) {
$parent_list[db_result($res,$i,'parent')][]=db_result($res,$i,'trove_cat_id');
}
-$res=db_query("SELECT trove_cat.trove_cat_id,trove_cat.parent,count(groups.group_id) AS count
+$res = db_query_params ('SELECT trove_cat.trove_cat_id,trove_cat.parent,count(groups.group_id) AS count
FROM trove_cat LEFT JOIN trove_group_link ON
trove_cat.trove_cat_id=trove_group_link.trove_cat_id
LEFT JOIN groups ON
groups.group_id=trove_group_link.group_id
- WHERE (groups.status='A' OR groups.status IS NULL)
- AND ( groups.type_id='1' OR groups.status IS NULL)
- AND ( groups.is_public='1' OR groups.is_public IS NULL)
- GROUP BY trove_cat.trove_cat_id,trove_cat.parent", -1, 0, SYS_DB_TROVE);
+ WHERE (groups.status=$1 OR groups.status IS NULL)
+ AND (groups.type_id=1 OR groups.status IS NULL)
+ AND (groups.is_public=1 OR groups.is_public IS NULL)
+ GROUP BY trove_cat.trove_cat_id,trove_cat.parent',
+ array('A'));
$rows = db_numrows($res);
function get_trove_sub_projects($cat_id) {
global $cat_counts,$sum_totals,$parent_list;
- //number of groups that were in this trove_cat
- $count=$cat_counts[$cat_id][1];
- if ($count == '') { $count = 0 ; }
+ // Number of groups that were in this trove_cat
+ $count=isset($cat_counts[$cat_id][1]) ? $cat_counts[$cat_id][1] : 0;
//number of children of this trove_cat
$rows=count( @$parent_list[$cat_id] );
}
//start the recursive function at the top of the trove tree
-$res2=db_query("SELECT trove_cat_id FROM trove_cat WHERE parent=0", -1, 0, SYS_DB_TROVE);
+$res2 = db_query_params ('SELECT trove_cat_id FROM trove_cat WHERE parent=0',
+ array());
for ($i=0; $i< db_numrows($res2); $i++) {
get_trove_sub_projects( db_result($res2,$i,0) );
}
-db_begin(SYS_DB_TROVE);
-db_query("DELETE FROM trove_treesums", -1, 0, SYS_DB_TROVE);
-$err .= db_error(SYS_DB_TROVE);
+db_begin();
+db_query_params ('DELETE FROM trove_treesums',
+ array());
+$err .= db_error();
//$err .= "<table>";
while (list($k,$v) = each($sum_totals)) {
- $res = db_query("INSERT INTO trove_treesums (trove_cat_id,subprojects)
- VALUES ($k,$v)", -1, 0, SYS_DB_TROVE);
+ $res = db_query_params ('INSERT INTO trove_treesums (trove_cat_id,subprojects)
+ VALUES ($1,$2)',
+ array($k,
+ $v));
if (!$res || db_affected_rows($res)!=1) {
- $err .= db_error(SYS_DB_TROVE);
+ $err .= db_error();
}
// $err .= "<tr><td>$k</td><td>$v</td></tr>\n";
}
-//$err .= "</TABLE>";
+//$err .= "</table>";
-db_commit(SYS_DB_TROVE);
+db_commit();
-if (db_error(SYS_DB_TROVE)) {
- $err .= "Error: ".db_error(SYS_DB_TROVE);
+if (db_error()) {
+ $err .= "Error: ".db_error();
}
cron_entry(5,$err)