*/
extract(FormVariables::GetVariables(array('action', 'page', 'sort_column', 'sort_order', 'ids')));
URLBuilder::setURL($_SERVER['SCRIPT_NAME'], array('sort_column' => $sort_column, 'sort_order' => $sort_order, 'page' => $page));
$sort_array = NULL;
if ($sort_column != '') {
    $sort_array = array($sort_column => $sort_order);
}
Debug::Arr($ids, 'Selected Objects', __FILE__, __LINE__, __METHOD__, 10);
$action = Misc::findSubmitButton();
switch ($action) {
    case 'add':
        Redirect::Page(URLBuilder::getURL(NULL, 'EditPermissionControl.php', FALSE));
        break;
    case 'copy':
        $pclf = new PermissionControlListFactory();
        $pclf->StartTransaction();
        foreach ($ids as $id) {
            $pclf->getByIdAndCompanyId($id, $current_company->getId());
            foreach ($pclf as $pc_obj) {
                $permission_arr = $pc_obj->getPermission();
                $pc_obj->setId(FALSE);
                $pc_obj->setName(Misc::generateCopyName($pc_obj->getName()));
                if ($pc_obj->isValid()) {
                    $pc_obj->Save(FALSE);
                    $pc_obj->setPermission($permission_arr);
                }
                unset($pc_obj, $permission_arr);
            }
        }
        $pclf->CommitTransaction();
        Redirect::Page(URLBuilder::getURL(NULL, 'PermissionControlList.php'));