Example #1
0
 public function testStringArrayParam()
 {
     $this->assertSame(Request::getArray('null'), array());
     $this->assertSame(Request::getArray('b'), array());
     $this->assertSame(Request::getArray('v1'), array('1', '2.4', '3,7'));
     $this->assertSame(Request::getArray('v2'), array('on\'e', 'two', 'thr33'));
     $this->assertSame(Request::quotedArray('null'), array());
     $this->assertSame(Request::quotedArray('b'), array());
     $this->assertSame(Request::quotedArray('v1'), array('1', '2.4', '3,7'));
     $this->assertSame(Request::quotedArray('v2'), array('on\\\'e', 'two', 'thr33'));
 }
Example #2
0
        if (sizeof($_SESSION['resources_data']["requests_open"]) == 0) {
            $_SESSION['resources_data']["view"] = "requests_start";
            $view = "requests_start";
            Request::set('save_state', 1);
        } else  {
            if ($_SESSION['resources_data']["requests_working_pos"] == sizeof($_SESSION['resources_data']["requests_working_on"])-1) {
                $auto_dec = TRUE;
            } else {
                $auto_inc = TRUE;
            }
        }
    }
}

if (Request::submitted('do_delete_requests') && get_config('RESOURCES_ALLOW_DELETE_REQUESTS') && getGlobalPerms($GLOBALS['user']->id) == 'admin'){
    $requests_marked_to_kill = Request::quotedArray('requests_marked_to_kill');
    if (is_array($requests_marked_to_kill)){
        foreach($requests_marked_to_kill as $rid){
            $req_obj = new RoomRequest($rid);
            $count += ($req_obj->delete() != 0);
            unset($_SESSION['resources_data']["requests_open"][$rid]);
            foreach($_SESSION['resources_data']['requests_working_on'] as $number => $rwo){
                if ($rwo['request_id'] == $rid){
                    unset($_SESSION['resources_data']['requests_working_on'][$number]);
                    break;
                }
            }
        }
        $_SESSION['resources_data']['requests_working_pos'] = 0;
        $_SESSION['resources_data']['requests_working_on'] = array_values($_SESSION['resources_data']['requests_working_on']);
        $msg->addMsg(45, array($count));
Example #3
0
/**
 * checkMandatoryItems:
 * put IDs of mandatory questions into global array $mandatories
 *  (or, if the user has voted, the IDs of the mandatory questions, which he did not answer to)
 *
 * @param object  the Evaluation object (when called externally).
 */
function checkMandatoryItems($item)
{
    global $mandatories;
    if ($children = $item->getChildren()) {
        foreach ($children as $child) {
            checkMandatoryItems($child);
        }
    }
    if ($item->x_instanceof() == INSTANCEOF_EVALQUESTION) {
        $group = $item->getParentObject();
        $answers = Request::quotedArray('answers');
        $freetexts = Request::quotedArray('freetexts');
        if ($group->isMandatory() && (!is_array($answers) || is_array($answers) && !in_array($item->getObjectID(), array_keys($answers))) && trim($freetexts[$item->getObjectID()]) == '') {
            $mandatories[] = $item->getObjectID();
        }
    }
    return $mandatories;
}
Example #4
0
    }
}

PageLayout::setTitle(_("Archivieren von Veranstaltungen"));

//Change header_line if open object
if ($SessSemName[1]) {
    PageLayout::setTitle(getHeaderLine($SessSemName[1]) . " - " . PageLayout::getTitle());
}
// single delete (a Veranstaltung is open)
if ($SessSemName[1]) {
    $archiv_sem[] = "_id_" . $SessSemName[1];
    $archiv_sem[] = "on";
}
if (!is_array($archiv_sem)) {
    $archiv_sem = Request::quotedArray('archiv_sem');
}
// Handlings....
// Kill current list and stuff

if (Request::option('new_session'))
    $_SESSION['archiv_assi_data'] = array();

// A list was sent
if (is_array($archiv_sem) && !Request::option('archive_kill') && !Request::option('inc') && !Request::option('dec')) {
    $_SESSION['archiv_assi_data']['sems'] = array();
    $_SESSION['archiv_assi_data']['sem_check'] = array();
    $_SESSION['archiv_assi_data']['pos'] = 0;
    foreach ($archiv_sem as $key => $val) {
        if ((substr($val, 0, 4) == "_id_") && (substr($$archiv_sem[$key + 1], 0, 4) != "_id_"))
            if ($archiv_sem[$key + 1] == "on") {
Example #5
0
if ($search_obj->search_done) {
    if ($search_obj->search_result->numRows > 50) {
        $_msg = "error§" . _("Es wurden mehr als 50 Veranstaltungen gefunden! Bitte schränken Sie Ihre Suche weiter ein.");
    } elseif ($search_obj->search_result->numRows > 0) {
        $_msg = "msg§" . sprintf(_("Es wurden %s Veranstaltungen gefunden, und in Ihre Merkliste eingefügt"), $search_obj->search_result->numRows);
        if (is_array($_SESSION['_marked_sem']) && count($_SESSION['_marked_sem'])) {
            $_SESSION['_marked_sem'] = array_merge((array) $_SESSION['_marked_sem'], (array) $search_obj->search_result->getDistinctRows("seminar_id"));
        } else {
            $_SESSION['_marked_sem'] = $search_obj->search_result->getDistinctRows("seminar_id");
        }
    } else {
        $_msg = "info§" . _("Es wurden keine Veranstaltungen gefunden, auf die Ihre Suchkriterien zutreffen.");
    }
}
if (Request::option('cmd') == "MarkList") {
    $sem_mark_list = Request::quotedArray('sem_mark_list');
    if ($sem_mark_list) {
        if (Request::quoted('mark_list_aktion') == "del") {
            $count_del = 0;
            for ($i = 0; $i < count($sem_mark_list); ++$i) {
                if (isset($_SESSION['_marked_sem'][$sem_mark_list[$i]])) {
                    ++$count_del;
                    unset($_SESSION['_marked_sem'][$sem_mark_list[$i]]);
                }
            }
            $_msg .= "msg§" . sprintf(_("%s Veranstaltung(en) wurde(n) aus Ihrer Merkliste entfernt."), $count_del);
        } else {
            $tmp = explode("_", Request::quoted('mark_list_aktion'));
            $item_ids[0] = $tmp[1];
            if ($item_ids[0] == "all") {
                $item_ids = array();
Example #6
0
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/
require '../lib/bootstrap.php';
ob_start();
page_open(array("sess" => "Seminar_Session", "auth" => "Seminar_Auth", "perm" => "Seminar_Perm", "user" => "Seminar_User"));
$perm->check('admin');
include 'lib/seminar_open.php';
// initialise Stud.IP-Session
$element = new StudipLitCatElement();
if (Request::quotedArray('_lit_data')) {
    $_SESSION['_lit_data'] = Request::quotedArray('_lit_data');
}
$header = get_object_name($_inst_id, 'inst');
?>
<h1>
<?php 
echo htmlReady(sprintf(_("Literaturliste %s"), $header['type'] . ": " . $header['name']));
?>
</h1>
<?
if (is_array($_SESSION['_lit_data'])){
    foreach ($_SESSION['_lit_data'] as $cid => $data){
        $element->setValues($data);
        if ($element->getValue('catalog_id')){
            $titel = htmlReady($element->getShortName());
            echo "\n<table width=\"99%\" cellpadding=\"0\" cellspacing=\"4\" border=\"0\" align=\"center\"><tr>";
    function execCommandMarkSem(){
        $item_id = Request::option('item_id');
        $marked_sem_array =  Request::quotedArray('marked_sem');
        $marked_sem = array_values(array_unique($marked_sem_array));
        $sem_aktion = explode("_",Request::quoted('sem_aktion'));
        if (($sem_aktion[0] == 'mark' || $sem_aktion[1] == 'mark') && count($marked_sem)){
            $count_mark = 0;
            for ($i = 0; $i < count($marked_sem); ++$i){
                if (!isset($this->marked_sem[$marked_sem[$i]])){
                    ++$count_mark;
                    $this->marked_sem[$marked_sem[$i]] = true;
                }
            }
            if ($count_mark){
                $this->msg[$item_id] = "msg§" . sprintf(_("Es wurde(n) %s Veranstaltung(en) der Merkliste hinzugefügt."),$count_mark);
            }
        }
        if ($this->isItemAdmin($item_id)){
            if (($sem_aktion[0] == 'del' || $sem_aktion[1] == 'del') && count($marked_sem)){
                $not_deleted = array();
                foreach($marked_sem as $key => $seminar_id){
                    $seminar = new Seminar($seminar_id);
                    if(count($seminar->getStudyAreas()) == 1){
                        $not_deleted[] = $seminar->getName();
                        unset($marked_sem[$key]);
                    }
                }
                if ($this->msg[$item_id]){
                    $this->msg[$item_id] .= "<br>";
                } else {
                    $this->msg[$item_id] = "msg§";
                }
                if(count($marked_sem)){
                    $count_del = $this->tree->DeleteSemEntries($item_id, $marked_sem);
                    $this->msg[$item_id] .= sprintf(_("%s Veranstaltungszuordnung(en) wurde(n) aufgehoben."),$count_del);
                }
                if(count($not_deleted)){
                    $this->msg[$item_id] .= '<br>'
                                         . sprintf(_("Für folgende Veranstaltungen wurde die Zuordnung nicht aufgehoben, da es die einzige Zuordnung ist: %s")
, '<br>'.htmlready(join(', ', $not_deleted)));
                }
            }
            $this->anchor = $item_id;
            $this->open_items[$item_id] = true;
            return true;
        }
        return false;
    }
 function insertSelectedRanges($selected = null)
 {
     if (!$selected) {
         $val = $this->form_name . "_chooser";
         ${$val} = Request::quotedArray($this->form_name . "_chooser");
         for ($i = 0; $i < count(${$val}); ++$i) {
             if (${$val}[$i]) {
                 $selected[] = ${$val}[$i];
             }
         }
     }
     if (is_array($selected)) {
         $count_intersect = count(array_intersect($selected, array_keys($this->selected)));
         if (count($this->selected) != $count_intersect || count($selected) != $count_intersect) {
             $count_del = count($this->selected) ? $this->tree->DeleteSemEntries(array_keys($this->selected), $this->seminar_id) : 0;
             for ($i = 0; $i < count($selected); ++$i) {
                 $new_selected[$selected[$i]] = true;
                 $count_ins += $this->tree->InsertSemEntry($selected[$i], $this->seminar_id);
             }
             $this->num_inserted = $count_ins - $count_intersect;
             $this->num_deleted = $count_del - $count_intersect;
             $this->selected = $new_selected;
         }
     }
     return;
 }
Example #9
0
 function checkData()
 {
     global $invalidEntries;
     // check the standard role data
     if (!Request::get('new_name') && Request::get('presetName') != 'none') {
         $this->name = remove_magic_quotes(Request::get('presetName'));
     } else {
         $this->name = remove_magic_quotes(Request::get('new_name'));
     }
     $this->size = (int) Request::int('new_size');
     // check if we have to remove the self_assign_exclusive-flag
     $this->selfassign = SetSelfAssign($this->statusgruppe_id, Request::quoted('new_selfassign') ? 1 : 0);
     /*if (Request::quoted('new_selfassign')) {
           if ($this->selfassign == 0) {
               $this->selfassign = 1;
           }
       } else {
           if ($this->selfassign == 2) {
               if ($GLOBALS['SessSemName']) {
                   SetSelfAssignExclusive($GLOBALS['SessSemName'][1], false);
               }
           }
           $this->selfassign = 0;
       }*/
     if (Request::get('groupfolder')) {
         // check if there already exists a folder
         $stmt = DBManager::get()->prepare("SELECT COUNT(*) as c FROM folder WHERE range_id = ?");
         $stmt->execute(array($this->statusgruppe_id));
         if ($folder = $stmt->fetch(PDO::FETCH_ASSOC)) {
             if ($folder['c'] == 0) {
                 // if no folder exists, we create one
                 $title = _("Dateiordner der Gruppe:") . ' ' . $this->name;
                 $description = _("Ablage für Ordner und Dokumente dieser Gruppe");
                 $permission = 15;
                 create_folder(addslashes($title), $description, $this->statusgruppe_id, $permission);
                 $this->messages['msg'][] = _("Es wurde ein Gruppenordner angelegt.");
             }
         }
     }
     if (!$this->isSeminar()) {
         // check the datafields
         foreach (Request::quotedArray('datafields') as $id => $data) {
             $struct = DataField::find($id);
             $entry = DataFieldEntry::createDataFieldEntry($struct, array($this->range_id, $this->statusgruppe_id));
             $entry->setValueFromSubmit($data);
             if ($entry->isValid()) {
                 $entry->store();
             } else {
                 $invalidEntries[$struct->id] = $entry;
             }
         }
         // a group cannot be its own vather!
         if (Request::get('vather') == $this->statusgruppe_id) {
             $this->messages['error'][] = _("Sie könne diese Gruppe nicht sich selbst unterordnen!");
         } else {
             // check if the group shall be moved
             if (Request::get('vather') != 'nochange') {
                 if (Request::option('vather') == 'root') {
                     $vather_id = $GLOBALS['range_id'];
                 } else {
                     $vather_id = Request::option('vather');
                 }
                 if (!isVatherDaughterRelation($this->statusgruppe_id, $vather_id)) {
                     $this->range_id = $vather_id;
                     //$db->query("UPDATE statusgruppen SET range_id = '$vather_id' WHERE statusgruppe_id = '{$this->statusgruppe_id}'");
                 } else {
                     $this->messages['error'][] = _("Sie können diese Gruppe nicht einer ihr untergeordneten Gruppe zuweisen!");
                 }
             }
         }
     }
     if (!$this->isSeminar() && is_array($invalidEntries)) {
         $this->messages['error'][] = _("Korrigieren Sie die fehlerhaften Eingaben!");
         return false;
     }
     return true;
 }