From 78a2dda1392722d8c8a9c85c06e718646390815d Mon Sep 17 00:00:00 2001 From: Aaron Schmitz Date: Mon, 5 Dec 2011 21:02:20 +0000 Subject: [PATCH] Port vvimport to Yii framework: GCI task 7114260 by Aaron Schmitz. git-svn-id: file:///Users/Shitiz/Downloads/lssvn/source/limesurvey_yii@11589 b72ed6b6-b9f8-46b5-92b4-906544132732 --- application/controllers/AdminController.php | 2 +- application/controllers/admin/dataentry.php | 504 +++++++++--------- application/helpers/admin/html_helper.php | 9 +- application/helpers/common_helper.php | 3 +- application/helpers/database_helper.php | 8 +- .../helpers/expressions/em_manager_helper.php | 6 +- application/libraries/Limesurvey_lang.php | 1 - application/models/Survey_dynamic.php | 27 +- application/models/Tokens_dynamic.php | 5 + .../admin/dataentry/active_html_view.php | 4 +- .../views/admin/dataentry/caption_view.php | 4 +- .../views/admin/dataentry/content_view.php | 38 +- 12 files changed, 321 insertions(+), 290 deletions(-) diff --git a/application/controllers/AdminController.php b/application/controllers/AdminController.php index 2b6b83e1c4b..b25719f1382 100644 --- a/application/controllers/AdminController.php +++ b/application/controllers/AdminController.php @@ -132,8 +132,8 @@ public function actions() 'user' => 'application.controllers.admin.useraction', 'participants' => 'application.controllers.admin.participantsaction', 'translate' => 'application.controllers.admin.translate', + 'saved' => 'application.controllers.admin.saved', 'dataentry' => 'application.controllers.admin.dataentry', - 'saved' => 'application.controllers.admin.saved' ); } diff --git a/application/controllers/admin/dataentry.php b/application/controllers/admin/dataentry.php index 5b89d7e1703..f5febee5417 100644 --- a/application/controllers/admin/dataentry.php +++ b/application/controllers/admin/dataentry.php @@ -56,7 +56,7 @@ * @version $Id: dataentry.php 11299 2011-10-29 14:57:24Z c_schmitz $ * @access public */ - class dataentry extends CAction { + class dataentry extends Survey_Common_Action { private $yii; private $controller; @@ -65,37 +65,41 @@ class dataentry extends CAction { * Constructor * @return */ - function run() + public function run($sa) { $this->yii = Yii::app(); $this->controller = $this->getController(); - if(isset($_GET['view'])) + if($sa == 'view' || isset($_GET['view'])) { $this->view($_GET['view']); } - else if(isset($_GET['insert'])) + else if($sa == 'insert' || isset($_GET['insert'])) { $this->insert(); } - else if(isset($_GET['import'])) + else if($sa == 'import' || isset($_GET['import'])) { $this->import($_GET['import']); } + else if ($sa == 'vvimport') + $this->route('vvimport', array()); } - function vvimport($surveyid) + function vvimport() { - $surveyid = sanitize_int($surveyid); - self::_getAdminHeader(); + @$surveyid = $_REQUEST['surveyid']; + if (!empty($_REQUEST['sid'])) $surveyid = (int)$_REQUEST['sid']; + $surveyid = sanitize_int($surveyid); + $this->getController()->_getAdminHeader(); if(bHasSurveyPermission($surveyid,'responses','create')) { - $subaction = $this->input->post('subaction'); - $clang = $this->limesurvey_lang; - $dbprefix = $this->db->dbprefix; - $this->load->helper('database'); + @$subaction = $_POST['subaction']; + $clang = $this->getController()->lang; + //$dbprefix = $this->db->dbprefix; + Yii::app()->loadHelper('database'); $encodingsarray = array("armscii8"=>$clang->gT("ARMSCII-8 Armenian") ,"ascii"=>$clang->gT("US ASCII") @@ -135,7 +139,6 @@ function vvimport($surveyid) ,"ujis"=>$clang->gT("EUC-JP Japanese") ,"utf8"=>$clang->gT("UTF-8 Unicode")); - $_POST = $this->input->post(); if (isset($_POST['vvcharset']) && $_POST['vvcharset']) //sanitize charset - if encoding is not found sanitize to 'utf8' which is the default for vvexport { $uploadcharset=$_POST['vvcharset']; @@ -154,12 +157,12 @@ function vvimport($surveyid) } //Make sure that the survey is active - if (tableExists("survey_$surveyid")) + if (tableExists("{{survey_$surveyid}}")) { - $this->load->helper('admin/html'); + Yii::app()->loadHelper('admin/html'); browsemenubar($clang->gT("Import VV file"),$surveyid,TRUE). $vvoutput = "
".$clang->gT("Import a VV survey file")."
-
+