Пример #1
0
 /**
  * @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;
     }
 }
Пример #2
0
 /**
  * @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();
     }
 }