Source for file tangra_module_release_category_dbc.class.php
Documentation is available at tangra_module_release_category_dbc.class.php
* Contains class Tangra_Module_Release_Category_DBC
* @subpackage modules_manager
require_once(TANGRA_MAIN_DIR. 'interfaces/i_db_storable.class.php');
require_once('tangra_module_release_category.class.php');
require_once('tangra_module_category_dbc.class.php');
* Release - module category link DBC
* @subpackage modules_manager
* @param DB_Connection $dbc
* @return integer On success returns module ID, on failure - false
public function save(DB_Connection $dbc) {
* @param DB_Connection $dbc
* @return integer On success returns module ID, on failure - false
public function load_by_id(DB_Connection $dbc, $id) {
$sql = "select module_release, ".
"from tmod_release_categories ".
$rez = $dbc->execute($sql);
$rez_obj = $rez->fetch_object();
* @param DB_Connection $dbc
* @return integer On success returns module ID, on failure - false
protected function insert(DB_Connection $dbc) {
$id = $dbc->generate_id('tmod_release_categories_seq');
$sql = "insert into tmod_release_categories (id, ".
throw new TE_Exception('ID not generated - tmod_release_categories_seq');
* Updates existing record
* @param DB_Connection $dbc
* @return integer On success returns module ID, on failure - false
protected function update(DB_Connection $dbc) {
$sql = "update tmod_release_categories set ".
"module_release = $module_release, ".
* @param integer $mod_rel_id ID of module release
* @return string SQL statement
"from tmod_release_categories rc, ".
"where rc.module_release = $mod_rel_id and rc.category = c.id ".
* Gets count SQL for grid
* @param integer $mod_rel_id
* @return string SQL statement
$sql = "select count(rc.id) as total_rows ".
"from tmod_release_categories rc, ".
"where rc.module_release = $mod_rel_id and rc.category = c.id ".
* Loads categories options-labels map for form_field_select
* @param DB_Connection $dbc
* @param integer $module_release ID of module release
$sql = "select c.id, c.name from tmod_categories c where c.id not in (select rc.category from tmod_release_categories rc where rc.module_release = $module_release) order by c.hid asc";
$rez = $dbc->execute($sql);
while($rez_obj = $rez->fetch_object()) {
$ret['ol_map'][$rez_obj->ID] = $rez_obj->NAME;
* Loads categories for release
* @param DB_Connection $dbc
* @param integer $module_release
* @return array Array of Tangra_Module_Category_DBC objects
$sql = "select c.id as id from tmod_categories c, tmod_release_categories rc where rc.module_release = $module_release and rc.category = c.id";
$rez = $dbc->execute($sql);
while ($rez_obj = $rez->fetch_object()) {
$tmp->load_by_id($dbc, $rez_obj->ID);
* @param DB_Connection $dbc
* @param integer $cat_id ID of the link
public static function delete(DB_Connection $dbc, $cat_id) {
$sql = "delete from tmod_release_categories where id = $cat_id";
* Deletes all links for release
* @param DB_Connection $dbc
* @param integer $module_release_id Release ID
$sql = "delete from tmod_release_categories where module_release = $module_release_id";
* Copy categories from one release to another
* @param DB_Connection $dbc
* @param integer $from_id ID of source release
* @param integer $to_id ID of target release
public static function copy_categories(DB_Connection $dbc, $from_id, $to_id) {
$sql = "select id from tmod_release_categories where module_release = $from_id";
$rez = $dbc->execute($sql);
while ($rez_obj = $rez->fetch_object()) {
$tmp_from->load_by_id($dbc, $rez_obj->ID);
$tmp_from->set_module_release($to_id);
|