function preAction() { xoonips_allow_post_method(); if (!$GLOBALS['xoopsGTicket']->check(true, 'xoonips_transfer_admin_list_item', false)) { die('ticket error'); } global $xoopsUser; $from_uid = $this->_formdata->getValue('post', 'from_uid', 'i', true); $to_uid = $this->_formdata->getValue('post', 'to_uid', 'i', true); $to_index_id = $this->_formdata->getValue('post', 'to_index_id', 'i', true); $transfer_item_ids = array_merge($this->get_item_ids_to_transfer(), $this->get_child_item_ids_to_transfer()); if (!xoonips_transfer_is_transferrable($from_uid, $to_uid, $transfer_item_ids)) { redirect_header(XOOPS_URL . '/modules/xoonips/admin/maintenance.php?' . 'page=item&action=transfer_admin_initialize', 3, _AM_XOONIPS_MAINTENANCE_TRANSFER_ITEM_ERROR); } if (xoonips_transfer_is_private_item_number_exceeds_if_transfer($to_uid, $transfer_item_ids)) { redirect_header(XOOPS_URL . '/modules/xoonips/admin/maintenance.php?' . 'page=item&action=transfer_admin_initialize', 3, _AM_XOONIPS_MAINTENANCE_TRANSFER_ITEM_ERROR_ITEM_NUMBER_EXCEEDS); } if (xoonips_transfer_is_private_item_storage_exceeds_if_transfer($to_uid, $transfer_item_ids)) { redirect_header(XOOPS_URL . '/modules/xoonips/admin/maintenance.php?' . 'page=item&action=transfer_admin_initialize', 3, _AM_XOONIPS_MAINTENANCE_TRANSFER_ITEM_ERROR_ITEM_STORAGE_EXCEEDS); } if (!$this->is_equals_group_ids(xoonips_transfer_get_group_ids_of_items($transfer_item_ids), $this->_formdata->getValueArray('post', 'group_ids_to_subscribe', 'i', false))) { redirect_header(XOOPS_URL . '/modules/xoonips/admin/maintenance.php' . '?page=item', 3, _AM_XOONIPS_MAINTENANCE_TRANSFER_ITEM_ERROR_BAD_SUBSCRIBE_GROUP); } $this->_params[] = $transfer_item_ids; $this->_params[] = $from_uid; $this->_params[] = $to_uid; $this->_params[] = $to_index_id; $this->_params[] = xoonips_transfer_get_group_ids_of_items($transfer_item_ids); }
/** * return true if number or storage size of item exceed */ function get_limit_check_result($to_uid, $transfer_item_ids) { return xoonips_transfer_is_private_item_number_exceeds_if_transfer($to_uid, $transfer_item_ids) || xoonips_transfer_is_private_item_storage_exceeds_if_transfer($to_uid, $transfer_item_ids); }