diff --git a/application/controllers/AdminController.php b/application/controllers/AdminController.php
index 7d76b0a3a2f..2647d0f5fa1 100644
--- a/application/controllers/AdminController.php
+++ b/application/controllers/AdminController.php
@@ -110,6 +110,7 @@ public function actions()
'index' => 'application.controllers.admin.index',
'globalsettings' => 'application.controllers.admin.globalsettings',
'quotas' => 'application.controllers.admin.quotas',
+ 'usergroups' => 'application.controllers.admin.usergroups',
'export' => 'application.controllers.admin.export',
'assessments' =>'application.controllers.admin.assessments',
'checkintegrity' => 'application.controllers.admin.checkintegrity',
diff --git a/application/controllers/admin/usergroups.php b/application/controllers/admin/usergroups.php
index 32960a8a427..f3b8de7e001 100644
--- a/application/controllers/admin/usergroups.php
+++ b/application/controllers/admin/usergroups.php
@@ -23,18 +23,29 @@
* @version $Id: usergroups.php 11128 2011-10-08 22:23:24Z dionet $
* @access public
*/
-class Usergroups extends Admin_Controller {
-
- /**
- * Usergroups::__construct()
- * Constructor
- * @return
- */
- function __construct()
- {
- parent::__construct();
- }
+class Usergroups extends CAction {
+
+ private $yii;
+ private $controller;
+
+ public function run()
+ {
+ $actions = array_keys($_GET);
+ $_GET['method'] = $action = (!empty($actions[0])) ? $actions[0] : '';
+
+ $this->yii = Yii::app();
+ $this->controller = $this->getController();
+
+ if(!empty($action))
+ {
+ $this->$action($_GET[$action]);
+ }
+ else
+ {
+ $this->view();
+ }
+ }
/**
* Usergroups::mail()
@@ -86,7 +97,7 @@ function mail($ugid)
$addressee = substr("$addressee", 0, -2);
$this->load->model('users');
- $from_user_result = $this->users_model->getSomeRecords(array('email', 'users_name', 'full_name'), array('uid' => $this->session->userdata('loginID'));
+ $from_user_result = $this->users_model->getSomeRecords(array('email', 'users_name', 'full_name'), array('uid' => $this->session->userdata('loginID')));
$from_user_row = $from_user_result->row_array();
if ($from_user_row['full_name'])
{
@@ -155,6 +166,7 @@ function mail($ugid)
$crow = $result->row_array();
$data['clang'] = $clang;
+
$this->load->view("admin/usergroup/mailUserGroup_view",$data);
}
@@ -169,19 +181,17 @@ function mail($ugid)
* Function responsible to delete a user group.
* @return
*/
- function delete()
+ public function delete()
{
-
- $clang = $this->limesurvey_lang;
-
-
- $css_admin_includes[] = $this->config->item('styleurl')."admin/default/superfish.css";
- $this->config->set_item("css_admin_includes", $css_admin_includes);
- self::_js_admin_includes(base_url().'scripts/admin/users.js');
- self::_getAdminHeader();
- self::_showadminmenu(false);
- $action = $this->input->post("action");
- $ugid = $this->input->post("ugid");
+ $clang = $this->yii->lang;
+
+ $css_admin_includes[] = $this->yii->getConfig('styleurl')."admin/default/superfish.css";
+ $this->yii->setConfig("css_admin_includes", $css_admin_includes);
+ $this->controller->_js_admin_includes($this->yii->baseUrl.'scripts/admin/users.js');
+ $this->controller->_getAdminHeader();
+ $this->controller->_showadminmenu(false);
+ $action = $_POST['action'];
+ $ugid = $_POST['ugid'];
self::_usergroupbar($ugid);
if ($action == "delusergroup")
@@ -189,29 +199,35 @@ function delete()
$usersummary = "
\n";
$usersummary .= "\n";
- if ($this->session->userdata('USER_RIGHT_SUPERADMIN') == 1)
+ if ($this->yii->session['USER_RIGHT_SUPERADMIN'] == 1)
{
if(!empty($ugid) && ($ugid > -1))
{
-
- $this->load->model('user_groups');
- $result = $this->user_groups_model->getSomeRecords(array('ugid', 'name', 'owner_id'), array('ugid' => $ugid, 'owner_id' => $this->session->userdata('loginID')));
- if($result->num_rows() > 0)
+ $query = 'SELECT ugid, name, owner_id FROM '.$this->yii->db->tablePrefix.'user_groups WHERE ugid=\''.$ugid.'\' AND owner_id=\''.$this->yii->session['loginID'].'\'';
+ //$this->load->model('user_groups');
+ //$result = $this->user_groups_model->getSomeRecords(array('ugid', 'name', 'owner_id'), array('ugid' => $ugid, 'owner_id' => $this->session->userdata('loginID')));
+ $result = db_execute_assoc($query);
+ if($result->count() > 0)
{
- $row = $result->row_array();
-
- $remquery = $this->user_groups_model->delete(array('owner_id' => $this->session->userdata('loginID'), 'ugid' => $ugid));
- if($remquery) //Checked)
+ $row = $result->readAll();
+
+ $del_query = 'DELETE FROM '.$this->yii->db->tablePrefix.'user_groups WHERE owner_id=\''.$this->yii->session['loginID'].'\' AND ugid='.$ugid;
+ //$remquery = $this->user_groups_model->delete(array('owner_id' => $this->session->userdata('loginID'), 'ugid' => $ugid));
+ $delquery_result = db_execute_assoc($del_query);
+
+ $del_user_in_groups_query = "DELETE FROM ".$this->yii->db->tablePrefix."user_in_groups WHERE ugid=$ugid AND uid=".$this->yii->session['loginID'];
+
+ if($delquery_result) //Checked)
{
- $usersummary .= "
".$clang->gT("Group Name").": {$row['name']}
\n";
+ $usersummary .= "
".$clang->gT("Group Name").": {$row[0]['name']}
\n";
$usersummary .= "\n";
}
else
{
$usersummary .= "\n";
}
- $link = site_url("admin/usergroups/view");
+ $link = $this->controller->createUrl("admin/usergroups/view");
$usersummary .= "
gT("Continue")."\"/>\n";
}
else
@@ -221,7 +237,7 @@ function delete()
}
else
{
- $link = site_url("admin/usergroups/view");
+ $link = $this->controller->createUrl("admin/usergroups/view");
$usersummary .= "\n";
$usersummary .= "
gT("Continue")."\"/>\n";
}
@@ -230,13 +246,12 @@ function delete()
$displaydata['display'] = $usersummary;
//$data['display'] = $editsurvey;
- $this->load->view('survey_view',$displaydata);
+ $this->controller->render('/survey_view', $displaydata);
}
- self::_loadEndScripts();
-
-
- self::_getAdminFooter("http://docs.limesurvey.org", $this->limesurvey_lang->gT("LimeSurvey online manual"));
+ $this->controller->_loadEndScripts();
+
+ $this->controller->_getAdminFooter("http://docs.limesurvey.org", $this->yii->lang->gT("LimeSurvey online manual"));
}
@@ -246,30 +261,30 @@ function delete()
* Load add user group screen.
* @return
*/
- function add()
+ public function add()
{
- $clang = $this->limesurvey_lang;
-
-
- $css_admin_includes[] = $this->config->item('styleurl')."admin/default/superfish.css";
- $this->config->set_item("css_admin_includes", $css_admin_includes);
- self::_js_admin_includes(base_url().'scripts/admin/users.js');
- self::_getAdminHeader();
- self::_showadminmenu(false);
- $action = $this->input->post("action");
- if ($this->session->userdata('USER_RIGHT_SUPERADMIN') == 1)
+ $clang = $this->yii->lang;
+
+ $css_admin_includes[] = $this->yii->getConfig('styleurl')."admin/default/superfish.css";
+ $this->yii->setConfig("css_admin_includes", $css_admin_includes);
+ $this->controller->_js_admin_includes($this->yii->baseUrl.'scripts/admin/users.js');
+ $this->controller->_getAdminHeader();
+ $this->controller->_showadminmenu(false);
+ $action = (isset($_POST['action'])) ? $_POST['action'] : '';
+
+ if ($this->yii->session['USER_RIGHT_SUPERADMIN'] == 1)
{
self::_usergroupbar(false);
$data['clang'] = $clang;
+
if ($action == "usergroupindb")
{
$usersummary = "\n";
$usersummary .= "
\n";
- if ($this->session->userdata('USER_RIGHT_SUPERADMIN') == 1)
+ if ($this->yii->session['USER_RIGHT_SUPERADMIN'] == 1)
{
- $_POST = $this->input->post();
$db_group_name = $_POST['group_name'];
$db_group_description = $_POST['group_description'];
$html_group_name = htmlspecialchars($_POST['group_name']);
@@ -279,7 +294,7 @@ function add()
{
if (strlen($db_group_name) > 21)
{
- $link = site_url("admin/usergroups/add");
+ $link = $this->controller->createUrl("admin/usergroups/add");
$usersummary .= "\n"
. " " . $clang->gT("Group name length more than 20 characters!")." \n"; //need to nupdate translations for this phrase.
$usersummary .= " gT("Continue")."\"/>\n";
@@ -296,13 +311,13 @@ function add()
{
$usersummary .= $clang->gT("Description: ").$html_group_description." \n";
}
- $link = site_url("admin/usergroups/view/$ugid");
+ $link = $this->controller->createUrl("admin/usergroups/view/$ugid");
$usersummary .= "\n";
$usersummary .= " gT("Continue")."\"/>\n";
}
else
{
- $link = site_url("admin/usergroups/add");
+ $link = $this->controller->createUrl("admin/usergroups/add");
$usersummary .= "\n"
. " " . $clang->gT("Group already exists!")." \n";
$usersummary .= " gT("Continue")."\"/>\n";
@@ -312,33 +327,31 @@ function add()
}
else
{
- $link = site_url("admin/usergroups/add");
+ $link = $this->controller->createUrl("admin/usergroups/add");
$usersummary .= "\n"
. " " . $clang->gT("Group name was not supplied!")." \n";
$usersummary .= " gT("Continue")."\"/>\n";
}
}
else
- {
- //include("access_denied.php");
- }
+ {}
$usersummary .= "
\n";
$displaydata['display'] = $usersummary;
//$data['display'] = $editsurvey;
- $this->load->view('survey_view',$displaydata);
+ $this->controller->render('/survey_view', $displaydata);
}
else
{
- $this->load->view("admin/usergroup/addUserGroup_view",$data);
+ $this->controller->render('/admin/usergroup/addUserGroup_view', $data);
}
}
- self::_loadEndScripts();
+
+ $this->controller->_loadEndScripts();
-
- self::_getAdminFooter("http://docs.limesurvey.org", $this->limesurvey_lang->gT("LimeSurvey online manual"));
+ $this->controller->_getAdminFooter("http://docs.limesurvey.org", $this->yii->lang->gT("LimeSurvey online manual"));
}
@@ -351,25 +364,24 @@ function add()
function edit($ugid)
{
$ugid = (int) $ugid;
- $clang = $this->limesurvey_lang;
+ $clang = $this->yii->lang;
- $css_admin_includes[] = $this->config->item('styleurl')."admin/default/superfish.css";
- $this->config->set_item("css_admin_includes", $css_admin_includes);
- self::_js_admin_includes(base_url().'scripts/admin/users.js');
- self::_getAdminHeader();
- self::_showadminmenu(false);
- $action = $this->input->post("action");
+ $css_admin_includes[] = $this->yii->getConfig('styleurl')."admin/default/superfish.css";
+ $this->yii->setConfig("css_admin_includes", $css_admin_includes);
+ $this->controller->_js_admin_includes($this->yii->baseUrl.'scripts/admin/users.js');
+ $this->controller->_getAdminHeader();
+ $this->controller->_showadminmenu(false);
+ $action = (isset($_POST['action'])) ? $_POST['action'] : '';
- if ($this->session->userdata('USER_RIGHT_SUPERADMIN') == 1)
+ if ($this->yii->session['USER_RIGHT_SUPERADMIN'] == 1)
{
self::_usergroupbar($ugid);
$data['clang'] = $clang;
if ($action == "editusergroupindb")
{
- $_POST = $this->input->post();
- if ($this->session->userdata('USER_RIGHT_SUPERADMIN') == 1)
+ if ($this->yii->session['USER_RIGHT_SUPERADMIN'] == 1)
{
$ugid = $_POST['ugid'];
@@ -382,8 +394,9 @@ function edit($ugid)
if(self::_updateusergroup($db_name, $db_description, $ugid))
{
- $link = site_url("admin/usergroups/view/$ugid");
+ $link = $this->controller->createUrl("admin/usergroups/view/$ugid");
$usersummary .= "\n"
+
. "
".$clang->gT("Name").": {$html_name}
\n"
. $clang->gT("Description: ").$html_description."
\n"
. "
gT("Continue")."\"/>\n";
@@ -391,7 +404,7 @@ function edit($ugid)
}
else
{
- $link = site_url("admin/usergroups/view");
+ $link = $this->createUrl("admin/usergroups/view");
$usersummary .= "\n"
. "
gT("Continue")."\"/>\n";
//. "
".$clang->gT("Continue")." \n";
@@ -400,7 +413,7 @@ function edit($ugid)
$displaydata['display'] = $usersummary;
//$data['display'] = $editsurvey;
- $this->load->view('survey_view',$displaydata);
+ $this->controller->render('/survey_view', $displaydata);
}
else
@@ -412,20 +425,22 @@ function edit($ugid)
}
else
{
- $this->load->model('user_groups');
- $result = $this->user_groups_model->getAllRecords(array('ugid' => $ugid, 'owner_id' => $this->session->userdata('loginID')));
- $esrow = $result->row_array();
- $data['esrow'] = $esrow;
+ $query = 'SELECT * FROM '.$this->yii->db->tablePrefix.'user_groups WHERE ugid='.$ugid.' AND owner_id='.$this->yii->session['loginID'];
+ $result = db_execute_assoc($query);
+ /*$this->load->model('user_groups');
+ $result = $this->user_groups_model->getAllRecords(array('ugid' => $ugid, 'owner_id' => $this->session->userdata('loginID')));*/
+ $esrow = $result->readAll();
+ $data['esrow'] = $esrow[0];
$data['ugid'] = $ugid;
- $this->load->view("admin/usergroup/editUserGroup_view",$data);
+ $this->controller->render("/admin/usergroup/editUserGroup_view", $data);
}
}
- self::_loadEndScripts();
+ $this->controller->_loadEndScripts();
- self::_getAdminFooter("http://docs.limesurvey.org", $this->limesurvey_lang->gT("LimeSurvey online manual"));
+ $this->controller->_getAdminFooter("http://docs.limesurvey.org", $this->yii->lang->gT("LimeSurvey online manual"));
}
@@ -439,18 +454,17 @@ function edit($ugid)
function view($ugid=false)
{
if($ugid!=false) $ugid = (int) $ugid;
- $clang = $this->limesurvey_lang;
+ $clang = $this->yii->lang;
-
- $css_admin_includes[] = $this->config->item('styleurl')."admin/default/superfish.css";
- $this->config->set_item("css_admin_includes", $css_admin_includes);
- self::_js_admin_includes(base_url().'scripts/admin/users.js');
- self::_getAdminHeader();
- self::_showadminmenu(false);
+ $css_admin_includes[] = $this->yii->getConfig('styleurl')."admin/default/superfish.css";
+ $this->yii->setConfig("css_admin_includes", $css_admin_includes);
+ $this->controller->_js_admin_includes($this->yii->baseUrl.'scripts/admin/users.js');
+ $this->controller->_getAdminHeader();
+ $this->controller->_showadminmenu(false);
self::_usergroupbar($ugid);
- if ( $this->session->userdata('loginID'))
+ if ( $this->yii->session['loginID'])
{
if($ugid)
@@ -458,20 +472,23 @@ function view($ugid=false)
$ugid = sanitize_int($ugid);
- $this->load->model('user_groups');
+ //$this->user_groups_model = new User_groups;
+
+ $query = "SELECT a.ugid, a.name, a.owner_id, a.description, b.uid FROM ".$this->yii->db->tablePrefix."user_groups AS a LEFT JOIN ".$this->yii->db->tablePrefix."user_in_groups AS b ON a.ugid = b.ugid WHERE a.ugid = {$ugid} AND uid = ".$this->yii->session['loginID']." ORDER BY name";
+ //$select = array('a.ugid', 'a.name', 'a.owner_id', 'a.description', 'b.uid');
+ //$join = array('where' => 'user_in_groups AS b', 'type' => 'left', 'on' => 'a.ugid = b.ugid');
+ //$where = array('uid' => $this->session->userdata('loginID'), 'a.ugid' => $ugid);
- $select = array('a.ugid', 'a.name', 'a.owner_id', 'a.description', 'b.uid');
- $join = array('where' => 'user_in_groups AS b', 'type' => 'left', 'on' => 'a.ugid = b.ugid');
- $where = array('uid' => $this->session->userdata('loginID'), 'a.ugid' => $ugid);
+ $result = db_execute_assoc($query)->readAll();
- $result = $this->user_groups_model->join($select, 'user_groups AS a', $where, $join, 'name');
- $crow = $result->row_array();
+ //$result = $this->user_groups_model->join($select, 'user_groups AS a', $where, $join, 'name');
+ $crow = $result[0];
- if($result->num_rows() > 0)
+ if($result)
{
-
+ $usergroupsummary = '';
if(!empty($crow['description']))
- {
+
$usergroupsummary = "
\n"
. ""
. "".$clang->gT("Description: ")." "
@@ -479,11 +496,11 @@ function view($ugid=false)
. "
";
}
- $this->load->model('user_in_groups');
+ //$this->user_in_groups_model = new User_in_groups;
- $where = array('ugid' => $ugid);
- $join = array('where' => 'users AS b', 'type' => 'inner', 'on' => 'a.uid = b.uid');
- $eguresult = $this->user_in_groups_model->join(array('*'), 'user_in_groups AS a', $where, $join, 'b.users_name');
+ $eguquery = "SELECT * FROM ".$this->yii->db->tablePrefix."user_in_groups AS a INNER JOIN ".$this->yii->db->tablePrefix."users AS b ON a.uid = b.uid WHERE ugid = " . $ugid . " ORDER BY b.users_name";
+ $eguresult = db_execute_assoc($eguquery);
+
$usergroupsummary .= "
\n"
. "\n"
. "".$clang->gT("Action")." \n"
@@ -491,12 +508,13 @@ function view($ugid=false)
. "".$clang->gT("Email")." \n"
. " \n";
- $result2 = $this->user_groups_model->getSomeRecords(array('ugid'), array('ugid' => $ugid, 'owner_id' => $this->session->userdata('loginID')));
- $row2 = $result2->row_array();
+ $query2 = "SELECT ugid FROM ".$this->yii->db->tablePrefix."user_groups WHERE ugid = ".$ugid." AND owner_id = ".$this->yii->session['loginID'];
+ $result2 = db_select_limit_assoc($query2, 1);
+ $row2 = $result2->readAll();
$row = 1;
$usergroupentries='';
- foreach ($eguresult->result_array() as $egurow)
+ foreach ($eguresult->readAll() as $egurow)
{
if (!isset($bgcc)) {$bgcc="evenrow";}
else
@@ -520,26 +538,28 @@ function view($ugid=false)
$usergroupentries .= "\n"
. "\n";
- if($this->session->userdata('USER_RIGHT_SUPERADMIN') == 1)
+ if($this->yii->session['USER_RIGHT_SUPERADMIN'] == 1)
{
$usergroupentries .= ""
. " \n";
$usergroupentries .= "{$egurow['users_name']} \n"
. "{$egurow['email']} \n"
+
. " \n";
$row++;
}
$usergroupsummary .= $usergroupowner;
if (isset($usergroupentries)) {$usergroupsummary .= $usergroupentries;};
$usergroupsummary .= '
';
-
- if(isset($row2['ugid']))
+
+ if(isset($row2[0]['ugid']))
{
$usergroupsummary .= "