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; }