/** * @see ProjectItemInterface::set_class() * @param string $class_name * @return bool */ public function set_class($class_name) { global $user, $transaction; if ($this->item_id) { $transaction_id = $transaction->begin(); if (($item_class_id = $this->exist_class($class_name)) == null) { $item_class = new ItemClass(null); if (($item_class_id = $item_class->create($class_name, $user->get_user_id())) == null) { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } } else { $item_class = new ItemClass($item_class_id); } $this->item_class_id = $item_class_id; if ($item_class->link_item($this->item_id) == true) { if ($transaction_id != null) { $transaction->commit($transaction_id); } return true; } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } return false; } } else { return false; } }
/** * @see ItemInterface::get_class_ids() * @return integer */ public final function get_class_ids() { if ($this->item_id) { $item_class_array = ItemClass::list_classes_by_item_id($this->item_id); if (is_array($item_class_array) and count($item_class_array) >= 1) { return $item_class_array; } else { return null; } } else { return null; } }