public static function remove_term_from_Delivery($Delivery_UID, $term_UID, $link_type, $user) { if (Lock::is_locked_by_user($Delivery_UID, 'DELIVERY_BASE', $user) == false) { debugLog::log("<i>[delivery.php:remove_term_from_Delivery]</i> Delivery (" . $Delivery_UID . ") is not locked by the user (" . $user . ")"); return false; } O2TRelation::remove_O2T_relation(array("column_name" => 'DELIVERY_BASE_ID', "value" => $Delivery_UID), $term_UID, $link_type, 'R_LD2T', 'user'); return true; }
/** * connect term to object (add relation) * @param {array} $object_UID array of type array("column_name"=>'DELIVERY_BASE_ID', "value"=>5) * @param {int} $term_UID term UID * @param {string} $link_type The link type * @param {int} $user user's id that is performing the operation * @param {string} $tableName Table name of the relation which depends on object type, e.g. R_LD2T, R_LK2T. * @param {string} $database_name database name e.g. 'content', 'user' * @return {O2TRelation} The relation that was just created */ public static function add_O2T_relation($object_UID, $term_UID, $link_type, $user, $tableName, $database_name) { $database_name = dbAPI::get_db_name($database_name); // disable old relation O2TRelation::remove_O2T_relation($object_UID, $term_UID, $link_type, $tableName, $database_name); // get latest revision number $dbObj = new dbAPI(); // where statement $object_column_name = $object_UID["column_name"]; $object_UID_value = $object_UID["value"]; if ($object_column_name == null || $object_column_name == '') { debugLog::log("<i>[relations.php:add_O2T_relation]</i> Column name was not specified."); return null; } $where_sttmnt = " (" . $object_column_name . " = " . $object_UID_value . " AND TERM_ID = " . $term_UID . " AND LINK_TYPE = '" . $link_type . "')"; $old_rev = $dbObj->get_latest_Rivision_ID($database_name, $database_name . '.' . $tableName, $where_sttmnt); if ($old_rev == null) { $old_rev = 0; } // add new relation $query = "INSERT INTO " . $tableName . " (REVISION, " . $object_column_name . ", TERM_ID, LINK_TYPE, ENABLED, USER_ID, CREATION_DATE) VALUES (" . ($old_rev + 1) . ", " . $object_UID_value . ", " . $term_UID . ", '" . $link_type . "', 1, " . $user . ",'" . date("Y-m-d H:i:s") . "')"; $dbObj->run_query($database_name, $query); // return recently created relation return O2TRelation::get_O2T_relation($object_UID, $term_UID, $link_type, $tableName, $database_name); }
public static function remove_term_from_Kbit($Kbit_UID, $term_UID, $link_type, $user) { if (Lock::is_locked_by_user($Kbit_UID, 'KBIT_BASE', $user) == false) { debugLog::log("<i>[Kbits.php:remove_term_from_Kbit]</i> Kbit (" . $Kbit_UID . ") is not locked by the user (" . $user . ")"); return false; } O2TRelation::remove_O2T_relation(array("column_name" => 'KBIT_BASE_ID', "value" => $Kbit_UID), $term_UID, $link_type, 'R_LK2T', 'user'); return true; }