Example #1
0
/**
* fixes the numbering of questions
* @param <type> $fixnumbering
*/
function fixNumbering($fixnumbering, $iSurveyID)
{
    Yii::app()->loadHelper("database");
    LimeExpressionManager::RevertUpgradeConditionsToRelevance($iSurveyID);
    //Fix a question id - requires renumbering a question
    $oldqid = $fixnumbering;
    $query = "SELECT qid FROM {{questions}} ORDER BY qid DESC";
    $result = dbSelectLimitAssoc($query, 1);
    foreach ($result->readAll() as $row) {
        $lastqid = $row['qid'];
    }
    $newqid = $lastqid + 1;
    $query = "UPDATE {{questions}} SET qid={$newqid} WHERE qid={$oldqid}";
    $result = db_execute_assosc($query);
    // Update subquestions
    $query = "UPDATE {{questions}} SET parent_qid={$newqid} WHERE parent_qid={$oldqid}";
    $result = db_execute_assosc($query);
    //Update conditions.. firstly conditions FOR this question
    $query = "UPDATE {{conditions}} SET qid={$newqid} WHERE qid={$oldqid}";
    $result = db_execute_assosc($query);
    //Now conditions based upon this question
    $query = "SELECT cqid, cfieldname FROM {{conditions}} WHERE cqid={$oldqid}";
    $result = dbExecuteAssoc($query);
    foreach ($result->readAll() as $row) {
        $switcher[] = array("cqid" => $row['cqid'], "cfieldname" => $row['cfieldname']);
    }
    if (isset($switcher)) {
        foreach ($switcher as $switch) {
            $query = "UPDATE {{conditions}}\n            SET cqid={$newqid},\n            cfieldname='" . str_replace("X" . $oldqid, "X" . $newqid, $switch['cfieldname']) . "'\n            WHERE cqid={$oldqid}";
            $result = db_execute_assosc($query);
        }
    }
    // TMSW Conditions->Relevance:  (1) Call LEM->ConvertConditionsToRelevance()when done. (2) Should relevance for old conditions be removed first?
    //Now question_attributes
    $query = "UPDATE {{question_attributes}} SET qid={$newqid} WHERE qid={$oldqid}";
    $result = db_execute_assosc($query);
    //Now answers
    $query = "UPDATE {{answers}} SET qid={$newqid} WHERE qid={$oldqid}";
    $result = db_execute_assosc($query);
    LimeExpressionManager::UpgradeConditionsToRelevance($iSurveyID);
}
/**
* set the rights of a user and his children
*
* @param int $uid the user id
* @param mixed $rights rights array
*/
function setuserpermissions($uid, $rights)
{
    $uid = sanitize_int($uid);
    $updates = "create_survey=" . $rights['create_survey'] . ", create_user="******", participant_panel=" . $rights['participant_panel'] . ", delete_user="******", superadmin=" . $rights['superadmin'] . ", configurator=" . $rights['configurator'] . ", manage_template=" . $rights['manage_template'] . ", manage_label=" . $rights['manage_label'];
    $uquery = "UPDATE {{users}} SET " . $updates . " WHERE uid = " . $uid;
    return dbSelectLimitAssoc($uquery);
    //Checked
}
Example #3
0
 /**
  * Load viewing of a user group screen.
  * @param bool $ugid
  * @param array|bool $header (type=success, warning)(message=localized message)
  * @return void
  */
 public function index($ugid = false, $header = false)
 {
     if (!Permission::model()->hasGlobalPermission('usergroups', 'read')) {
         Yii::app()->session['flashmessage'] = gT('Access denied!');
         $this->getController()->redirect(App()->createUrl("/admin"));
     }
     if ($ugid != false) {
         $ugid = (int) $ugid;
     }
     if (!empty($header)) {
         $aData['headercfg'] = $header;
     } else {
         $aData = array();
     }
     $aViewUrls = array();
     $aData['ugid'] = $ugid;
     $aData['imageurl'] = Yii::app()->getConfig("adminimageurl");
     if (Yii::app()->session['loginID']) {
         if ($ugid) {
             $ugid = sanitize_int($ugid);
             $aData["usergroupid"] = $ugid;
             $result = UserGroup::model()->requestViewGroup($ugid, Yii::app()->session["loginID"]);
             $crow = $result[0];
             if ($result) {
                 $aData["groupfound"] = true;
                 $aData["groupname"] = $crow['name'];
                 if (!empty($crow['description'])) {
                     $aData["usergroupdescription"] = $crow['description'];
                 } else {
                     $aData["usergroupdescription"] = "";
                 }
             }
             //$this->user_in_groups_model = new User_in_groups;
             $eguquery = "SELECT * FROM {{user_in_groups}} AS a INNER JOIN {{users}} AS b ON a.uid = b.uid WHERE ugid = " . $ugid . " ORDER BY b.users_name";
             $eguresult = dbExecuteAssoc($eguquery);
             $aUserInGroupsResult = $eguresult->readAll();
             $query2 = "SELECT ugid FROM {{user_groups}} WHERE ugid = " . $ugid;
             if (!Permission::model()->hasGlobalPermission('superadmin', 'read')) {
                 $query2 .= " AND owner_id = " . Yii::app()->session['loginID'];
             }
             $result2 = dbSelectLimitAssoc($query2, 1);
             $row2 = $result2->readAll();
             $row = 1;
             $userloop = array();
             $bgcc = "oddrow";
             foreach ($aUserInGroupsResult as $egurow) {
                 if ($bgcc == "evenrow") {
                     $bgcc = "oddrow";
                 } else {
                     $bgcc = "evenrow";
                 }
                 $userloop[$row]["userid"] = $egurow['uid'];
                 //	output users
                 $userloop[$row]["rowclass"] = $bgcc;
                 if (Permission::model()->hasGlobalPermission('superadmin', 'update')) {
                     $userloop[$row]["displayactions"] = true;
                 } else {
                     $userloop[$row]["displayactions"] = false;
                 }
                 $userloop[$row]["username"] = $egurow['users_name'];
                 $userloop[$row]["email"] = $egurow['email'];
                 $row++;
             }
             $aData["userloop"] = $userloop;
             if (isset($row2[0]['ugid'])) {
                 $aData["useradddialog"] = true;
                 $aData["useraddusers"] = getGroupUserList($ugid, 'optionlist');
                 $aData["useraddurl"] = "";
             }
             $aViewUrls[] = 'viewUserGroup_view';
         } else {
             //show listing
             $aViewUrls['usergroups_view'][] = array();
             $aData['model'] = UserGroup::model();
         }
     }
     if ($ugid == false) {
         $aData['usergroupbar']['returnbutton']['url'] = 'admin/index';
         $aData['usergroupbar']['returnbutton']['text'] = gT('Return to admin home');
     } else {
         $aData['usergroupbar']['edit'] = TRUE;
         $aData['usergroupbar']['closebutton']['url'] = Yii::app()->createUrl('admin/usergroups/sa/view');
         // Close button
     }
     if (isset($_GET['pageSize'])) {
         Yii::app()->user->setState('pageSize', (int) $_GET['pageSize']);
     }
     if (!empty($header)) {
         return array($aViewUrls, $aData);
     } else {
         $this->_renderWrappedTemplate('usergroup', $aViewUrls, $aData);
     }
 }
Example #4
0
 /**
  * Load viewing of a user group screen.
  * @param bool $ugid
  * @param array|bool $header (type=success, warning)(message=localized message)
  * @return void
  */
 public function index($ugid = false, $header = false)
 {
     if ($ugid != false) {
         $ugid = (int) $ugid;
     }
     if (!empty($header)) {
         $aData['headercfg'] = $header;
     } else {
         $aData = array();
     }
     $aViewUrls = array();
     $aData['ugid'] = $ugid;
     $aData['imageurl'] = Yii::app()->getConfig("adminimageurl");
     $clang = Yii::app()->lang;
     if (Yii::app()->session['loginID']) {
         if ($ugid) {
             $ugid = sanitize_int($ugid);
             $aData["usergroupid"] = $ugid;
             $result = UserGroup::model()->requestViewGroup($ugid, Yii::app()->session["loginID"]);
             $crow = $result[0];
             if ($result) {
                 $aData["groupfound"] = true;
                 $aData["groupname"] = $crow['name'];
                 if (!empty($crow['description'])) {
                     $aData["usergroupdescription"] = $crow['description'];
                 } else {
                     $aData["usergroupdescription"] = "";
                 }
             }
             //$this->user_in_groups_model = new User_in_groups;
             $eguquery = "SELECT * FROM {{user_in_groups}} AS a INNER JOIN {{users}} AS b ON a.uid = b.uid WHERE ugid = " . $ugid . " ORDER BY b.users_name";
             $eguresult = dbExecuteAssoc($eguquery);
             $aUserInGroupsResult = $eguresult->readAll();
             $query2 = "SELECT ugid FROM {{user_groups}} WHERE ugid = " . $ugid . " AND owner_id = " . Yii::app()->session['loginID'];
             $result2 = dbSelectLimitAssoc($query2, 1);
             $row2 = $result2->readAll();
             $row = 1;
             $userloop = array();
             $bgcc = "oddrow";
             foreach ($aUserInGroupsResult as $egurow) {
                 if ($bgcc == "evenrow") {
                     $bgcc = "oddrow";
                 } else {
                     $bgcc = "evenrow";
                 }
                 $userloop[$row]["userid"] = $egurow['uid'];
                 //	output users
                 $userloop[$row]["rowclass"] = $bgcc;
                 if (Permission::model()->hasGlobalPermission('superadmin', 'update')) {
                     $userloop[$row]["displayactions"] = true;
                 } else {
                     $userloop[$row]["displayactions"] = false;
                 }
                 $userloop[$row]["username"] = $egurow['users_name'];
                 $userloop[$row]["email"] = $egurow['email'];
                 $row++;
             }
             $aData["userloop"] = $userloop;
             if (isset($row2[0]['ugid'])) {
                 $aData["useradddialog"] = true;
                 $aData["useraddusers"] = getGroupUserList($ugid, 'optionlist');
                 $aData["useraddurl"] = "";
             }
         }
         $aViewUrls[] = 'viewUserGroup_view';
     }
     if (!empty($header)) {
         return array($aViewUrls, $aData);
     } else {
         $this->_renderWrappedTemplate('usergroup', $aViewUrls, $aData);
     }
 }
Example #5
0
<?php $clang->eT("Set User Rights");?>:<?php echo htmlspecialchars(sanitize_user($_POST['user']));?>
</td>
</tr>

<?php // HERE WE LIST FOR USER RIGHTS YOU CAN SET TO a USER
// YOU CAN ONLY SET AT MOST THE RIGHTS YOU have yourself
$userlist = getUserList();
foreach ($userlist as $usr) {
    if ($usr['uid'] == $postuserid) {
        $squery = "SELECT create_survey, configurator, create_user, delete_user, superadmin, participant_panel,manage_template, manage_label FROM {{users}} WHERE uid=".Yii::app()->session['loginID'];	//		added by Dennis
        $sresult = dbSelectLimitAssoc($squery); //Checked
        $parent = $sresult->read();

        // Initial SuperAdmin has parent_id == 0
        $adminquery = "SELECT uid FROM {{users}} WHERE parent_id=0";
        $adminresult = dbSelectLimitAssoc($adminquery, 1);
        $row=$adminresult->read();
		?>

        <tr>

        <?php // Only Initial SuperAdmin can give SuperAdmin rights
        if($row['uid'] == Yii::app()->session['loginID'])
        { // RENAMED AS SUPERADMIN
            echo "<th align='center' class='admincell'>".$clang->gT("Super-Administrator")."</th>\n";
            echo "<th align='center' >".$clang->gT("Participant panel")."</th>\n";
        }
        if($parent['create_survey']) {
            echo "<th align='center'>".$clang->gT("Create survey")."</th>\n";
        }
        if($parent['configurator']) {