/** * @see ItemListenerInterface::clone_item() * @param integer $item_id * @return integer */ public static function clone_item($item_id) { global $user; if (is_numeric($item_id)) { $equipment_id = self::get_entry_by_item_id($item_id); $current_equipment = new Equipment($equipment_id); $new_equipment = new Equipment(null); if ($new_equipment->create($current_equipment->get_type_id(), $user->get_user_id()) != null) { return $new_equipment->get_item_id(); } else { return null; } } else { return null; } }
/** * @param array $get_array * @param integer $type_id */ public static function add_as_item($get_array, $type_id) { global $user, $transaction; if ($get_array and is_numeric($type_id)) { $transaction_id = $transaction->begin(); $equipment = new Equipment(null); $equipment_add_successful = $equipment->create($type_id, $user->get_user_id()); if ($equipment_add_successful) { $item_id = $equipment->get_item_id(); $item_add_event = new ItemAddEvent($item_id, unserialize($get_array), null); $event_handler = new EventHandler($item_add_event); if ($event_handler->get_success() == true) { if ($transaction_id != null) { $transaction->commit($transaction_id); } return "1"; } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } throw new EquipmentCreateException(); } } else { if ($transaction_id != null) { $transaction->rollback($transaction_id); } throw new EquipmentCreateException(); } } else { throw new EquipmentIDMissingException(); } }