function doAction()
 {
     global $xoopsUser;
     $this->_view_params['to_uid'] = $this->_formdata->getValue('post', 'to_uid', 'i', false);
     $item_ids_to_transfer = $this->remove_item_id($this->_formdata->getValue('post', 'item_id_to_unselect', 'i', false), $this->_formdata->getValueArray('post', 'item_ids_to_transfer', 'i', false));
     $this->_view_params['items_to_transfer'] = xoonips_transfer_get_transferrable_item_information($xoopsUser->getVar('uid'), $item_ids_to_transfer);
     $this->_view_params['to_user_options'] = xoonips_transfer_get_users_for_dropdown($xoopsUser->getVar('uid'));
     $this->_view_params['transfer_enable'] = $this->is_all_transferrable_items($xoopsUser->getVar('uid'), $item_ids_to_transfer);
 }
 function get_child_item_ids_to_transfer($from_uid, $item_id_to_transfer)
 {
     $items = xoonips_transfer_get_transferrable_item_information($from_uid, $item_id_to_transfer);
     $result = array();
     foreach ($items as $item) {
         $result[$item['item_id']] = array();
         foreach ($item['child_items'] as $child_item) {
             $result[$item['item_id']][] = $child_item['item_id'];
         }
     }
     return $result;
 }
 function doAction()
 {
     global $xoopsUser;
     $item_type_handler =& xoonips_getormhandler('xoonips', 'item_type');
     if ($item_type_handler->getCount() <= 1) {
         redirect_header(XOOPS_URL . '/modules/xoonips/', 3, _MD_XOONIPS_TRANSFER_USER_REQUEST_ERROR_NO_ITEMTYPE);
     }
     $this->_view_params['to_uid'] = $this->_formdata->getValue('post', 'to_uid', 'i', false);
     $item_ids_to_transfer = $this->_formdata->getValueArray('post', 'item_ids_to_transfer', 'i', false);
     $this->_view_params['items_to_transfer'] = xoonips_transfer_get_transferrable_item_information($xoopsUser->getVar('uid'), $item_ids_to_transfer);
     $this->_view_params['to_user_options'] = xoonips_transfer_get_users_for_dropdown($xoopsUser->getVar('uid'));
     if (empty($this->_view_params['to_user_options'])) {
         redirect_header(XOOPS_URL . '/modules/xoonips/', 3, _MD_XOONIPS_TRANSFER_USER_REQUEST_ERROR_NO_TRANSFEREE_USER);
     }
     $this->_view_params['transfer_enable'] = $this->is_all_transferrable_items($xoopsUser->getVar('uid'), $item_ids_to_transfer);
 }
 function doAction()
 {
     global $xoopsUser;
     $extra_params = xoonips_extra_param_restore();
     if (array_key_exists('to_uid', $extra_params)) {
         $this->_view_params['to_uid'] = $extra_params['to_uid'];
     }
     $item_ids_to_transfer = array();
     if ('add_selected_item' == $this->_formdata->getValue('post', 'op', 's', false)) {
         $item_ids_to_transfer = array_merge($this->get_selected(), $this->get_selected_hidden());
     } else {
         $item_ids_to_transfer = $this->_formdata->getValueArray('post', 'selected_original', 'i', false);
     }
     $item_ids_to_transfer = $this->sort_item_ids_by_title($item_ids_to_transfer);
     $this->_view_params['items_to_transfer'] = xoonips_transfer_get_transferrable_item_information($xoopsUser->getVar('uid'), $item_ids_to_transfer);
     $this->_view_params['to_user_options'] = xoonips_transfer_get_users_for_dropdown($xoopsUser->getVar('uid'));
     $this->_view_params['transfer_enable'] = $this->is_all_transferrable_items($xoopsUser->getVar('uid'), $item_ids_to_transfer);
 }
 function doAction()
 {
     global $xoopsUser;
     if (count($this->get_from_user_options()) == 1) {
         redirect_header(XOOPS_URL . '/modules/xoonips/admin/maintenance.php?page=item', 3, _AM_XOONIPS_MAINTENANCE_TRANSFER_ITEM_ERROR_ONLY_1_USER);
     }
     $this->_view_params['from_uid'] = $this->_formdata->getValue('post', 'from_uid', 'i', false);
     $this->_view_params['from_index_id'] = $this->_formdata->getValue('post', 'from_index_id', 'i', false);
     $this->_view_params['to_uid'] = $this->_formdata->getValue('post', 'to_uid', 'i', false);
     $this->_view_params['to_index_id'] = $this->_formdata->getValue('post', 'to_index_id', 'i', false);
     $tmp = $this->_formdata->getValueArray('post', 'checked_item_ids', 'i', false);
     $this->_view_params['selected_item_ids'] = !is_null($tmp) ? $tmp : array();
     $this->_view_params['page'] = $this->_formdata->getValue('post', 'page', 's', false);
     $this->_view_params['from_user_options'] = $this->get_from_user_options();
     switch ($this->_formdata->getValue('post', 'op', 's', false)) {
         case 'from_uid_changed':
             $this->_view_params['from_index_id'] = $this->get_private_index_id($this->_view_params['from_uid']);
             $this->_view_params['selected_item_ids'] = array();
             $this->_view_params['page'] = 1;
             break;
         case 'from_index_id_changed':
             $this->_view_params['selected_item_ids'] = array();
             $this->_view_params['page'] = 1;
             break;
         case 'to_uid_changed':
             $this->_view_params['to_index_id'] = $this->get_private_index_id($this->_view_params['to_uid']);
             break;
         case 'page_changed':
             break;
         default:
             $uids = array_keys($this->_view_params['from_user_options']);
             $this->_view_params['from_uid'] = $uids[0];
             $this->_view_params['from_index_id'] = $this->get_private_index_id($uids[0]);
             $this->_view_params['to_uid'] = $uids[1];
             $this->_view_params['to_index_id'] = $this->get_private_index_id($uids[1]);
             $this->_view_params['selected_item_ids'] = array();
             $this->_view_params['page'] = 1;
             break;
     }
     $this->_view_params['from_user_options'] = $this->get_from_user_options();
     $this->_view_params['from_index_options'] = $this->getIndexOptionsTemplateVar($this->get_private_index_id($this->_view_params['from_uid']));
     $this->_view_params['to_user_options'] = $this->get_to_user_options();
     $uids = array_keys($this->_view_params['to_user_options']);
     if (!in_array($this->_view_params['to_uid'], $uids)) {
         $this->_view_params['to_uid'] = $uids[0];
         $this->_view_params['to_index_id'] = $this->get_private_index_id($uids[0]);
     }
     $this->_view_params['to_index_options'] = $this->getIndexOptionsTemplateVar($this->get_private_index_id($this->_view_params['to_uid']));
     $this->_view_params['from_index_item_ids'] = $this->sort_item_ids_by_title($this->get_from_index_item_ids());
     $this->_view_params['can_not_transfer_items'] = $this->get_untransferrable_reasons_and_items($this->_view_params['from_uid'], $this->get_from_index_item_ids());
     $this->_view_params['child_items'] = array();
     foreach (xoonips_transfer_get_transferrable_item_information($this->_view_params['from_uid'], $this->get_from_index_item_ids()) as $info) {
         $this->_view_params['child_items'][$info['item_id']] = array();
         foreach ($info['child_items'] as $child_item) {
             $this->_view_params['child_items'][$info['item_id']][] = $child_item['item_id'];
         }
     }
 }
 /**
  * return true if all given items are transferrable.
  * @access protected
  * @param array $from_uid uid of transferer
  * @param array $item_ids 
  * @return bool 
  */
 function is_all_transferrable_items($from_uid, $item_ids)
 {
     $infos = xoonips_transfer_get_transferrable_item_information($from_uid, $item_ids);
     foreach ($infos as $info) {
         if (!$info['transfer_enable']) {
             return false;
         }
     }
     return true;
 }
 function get_cause_of_transfer_disable($from_uid, $item_ids)
 {
     $result = array();
     foreach (xoonips_transfer_get_transferrable_item_information($from_uid, $item_ids) as $info) {
         if (!$info['transfer_enable']) {
             $result[] = $info['item_id'];
         }
     }
     return $result;
 }