1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
<?php
/**
* Copyright (c) Xerox Corporation, Codendi Team, 2001-2009. All rights reserved
*
* This file is a part of Fusionforge.
*
* Fusionforge is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* Fusionforge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Fusionforge. If not, see <http://www.gnu.org/licenses/>.
*/
require_once 'common/dao/include/DataAccessObject.class.php';
/**
* Data Access Object for PluginHudsonJob
*/
class PluginHudsonJobDao extends DataAccessObject {
/**
* Constructs the PluginHudsonJobDao
* @param $da instance of the DataAccess class
*/
function PluginHudsonJobDao( $da ) {
DataAccessObject::DataAccessObject($da);
}
/**
* Gets all jobs in the db
* @return DataAccessResult
*/
function & searchAll() {
$sql = "SELECT * FROM plugin_hudson_job";
return $this->retrieve($sql, array());
}
/**
* Searches PluginHudsonJob by Codendi group ID
* @return DataAccessResult
*/
function & searchByGroupID($group_id) {
$sql = "SELECT *
FROM plugin_hudson_job
WHERE group_id = $1";
$group_id = $this->da->quoteSmart($group_id);
return $this->retrieve($sql,array($group_id));
}
/**
* Searches PluginHudsonJob by job ID
* @return DataAccessResult
*/
function & searchByJobID($job_id) {
$sql = "SELECT *
FROM plugin_hudson_job
WHERE job_id = $1";
$job_id = $this->da->quoteSmart($job_id);
return $this->retrieve($sql,array($job_id));
}
/**
* Searches PluginHudsonJob by job name
* @return DataAccessResult
*/
function & searchByJobName($job_name) {
$sql = "SELECT *
FROM plugin_hudson_job
WHERE name = $1";
$job_name = $this->da->quoteSmart($job_name);
return $this->retrieve($sql,array($job_name));
}
/**
* Searches PluginHudsonJob by user ID
* means "all the jobs of all projects the user is member of"
* @return DataAccessResult
*/
function & searchByUserID($user_id) {
$u = user_get_object($user_id);
$gl = $u->getGroups();
$gids = array();
foreach ($gl as $g) {
$gids[] = $g->getID();
}
$sql = "SELECT * FROM plugin_hudson_job WHERE group_id=ANY($1)";
$garray = db_int_array_to_any_clause($gids);
return $this->retrieve($sql,array($garray));
}
/**
* create a row in the table plugin_hudson_job
* @return true if there is no error
*/
function createHudsonJob($group_id, $hudson_job_url, $job_name, $use_svn_trigger = false, $use_cvs_trigger = false, $token = null) {
$sql = "INSERT INTO plugin_hudson_job (group_id, job_url, name, use_svn_trigger, use_cvs_trigger, token) VALUES ($1, $2, $3, $4, $5, $6)";
$group_id = $this->da->quoteSmart($group_id);
$hudson_job_url = $this->da->quoteSmart($hudson_job_url);
$job_name = $this->da->quoteSmart($job_name);
$use_svn_trigger = ($use_svn_trigger?1:0);
$use_cvs_trigger = ($use_cvs_trigger?1:0);
$token = (($token !== null)?$this->da->quoteSmart($token):$this->da->quoteSmart(''));
$ok = $this->update($sql,array($group_id, $hudson_job_url, $job_name , $use_svn_trigger, $use_cvs_trigger,$token));
return $ok;
}
function updateHudsonJob($job_id, $hudson_job_url, $job_name, $use_svn_trigger = false, $use_cvs_trigger = false, $token = null) {
$sql = "UPDATE plugin_hudson_job SET job_url = $1, name = $2, use_svn_trigger = $3, use_cvs_trigger = $4, token = $5 WHERE job_id = $6";
$hudson_job_url = $this->da->quoteSmart($hudson_job_url);
$job_name = $this->da->quoteSmart($job_name);
$use_svn_trigger = ($use_svn_trigger?1:0);
$use_cvs_trigger = ($use_cvs_trigger?1:0);
$token = (($token !== null)?$this->da->quoteSmart($token):$this->da->quoteSmart(''));
$job_id=$this->da->quoteSmart($job_id);
$ok = $this->update($sql,array($hudson_job_url, $job_name , $use_svn_trigger, $use_cvs_trigger,$token, $job_id));
return $ok;
}
function deleteHudsonJob($job_id) {
$sql = "DELETE FROM plugin_hudson_job WHERE job_id = $1";
$job_id=$this->da->quoteSmart($job_id);
$updated = $this->update($sql,array($job_id));
return $updated;
}
function deleteHudsonJobsByGroupID($group_id) {
$sql = "DELETE FROM plugin_hudson_job WHERE group_id = $1";
$group_id = $this->da->quoteSmart($group_id);
$updated = $this->update($sql,array($group_id));
return $updated;
}
}
|