* refactor code for tutorial mode.

This commit is contained in:
Catouse
2016-04-29 10:13:46 +08:00
parent 5e8d1e160f
commit 40831717f1
4 changed files with 38 additions and 20 deletions
+34 -18
View File
@@ -29,21 +29,8 @@ class tutorial extends control
*/
public function index($referer = '', $task = '')
{
if($_POST)
{
$account = $this->app->user->account;
$setting = $_POST['finish'];
$this->loadModel('setting')->setItem("$account.tutorial.tasks.setting", $setting);
$this->send(array('result' => 'success'));
}
$setting = isset($this->config->tutorial->tasks->setting) ? $this->config->tutorial->tasks->setting : '';
if($this->viewType === 'json')
{
die(json_encode(array('result' => isset($setting) ? 'success' : 'fail', 'setting' => $setting), JSON_HEX_QUOT | JSON_HEX_APOS));
}
$this->session->set('tutorialMode', true);
$this->view->title = $this->lang->tutorial->common;
@@ -54,7 +41,27 @@ class tutorial extends control
}
/**
* Exit tuturial mode
* Ajax set tasks
*
* @param string $finish
* @access public
* @return void
*/
public function ajaxSetTasks($finish = 'keepAll')
{
if($_POST && isset($_POST['finish'])) $finish = $_POST['finish'];
if($finish == 'keepAll') $this->send(array('result' => 'fail', 'message' => $this->lang->tutorial->ajaxSetError));
$account = $this->app->user->account;
$this->loadModel('setting')->setItem("$account.tutorial.tasks.setting", $finish);
$this->send(array('result' => 'success'));
}
/**
* Exit tutorial mode
*
* @param string $referer
* @access public
* @return void
*/
@@ -62,10 +69,19 @@ class tutorial extends control
{
$this->session->set('tutorialMode', false);
if(!empty($referer))
{
die(js::locate($this->createLink('index'), 'parent'));
}
if(empty($referer)) $referer = $this->createLink('index');
die(js::locate($referer, 'parent'));
}
/**
* Ajax quit tutorial mode
*
* @access public
* @return void
*/
public function ajaxQuit()
{
$this->session->set('tutorialMode', false);
die(json_encode(array('result' => 'success')));
}
+1
View File
@@ -29,6 +29,7 @@ $lang->tutorial->targetPageTip = 'Open【%s】page by this instruction';
$lang->tutorial->requiredTip = '【%s】is necessary';
$lang->tutorial->congratulateTask = 'Congratulations!You have finished task【<span class="task-name-current"></span>】!';
$lang->tutorial->serverErrorTip = 'Some error has occurred.';
$lang->tutorial->ajaxSetError = 'Finished task must be defined. Set empty value to reset tasks.';
$lang->tutorial->tasks = array();
+1
View File
@@ -29,6 +29,7 @@ $lang->tutorial->targetPageTip = '按此指示打开【%s】页面';
$lang->tutorial->requiredTip = '【%s】为必填项';
$lang->tutorial->congratulateTask = '恭喜,你完成了任务 【<span class="task-name-current"></span>】!';
$lang->tutorial->serverErrorTip = '发生了一些错误。';
$lang->tutorial->ajaxSetError = '必须指定已完成的任务,如果要重置任务,请设置值为空。';
$lang->tutorial->tasks = array();
+2 -2
View File
@@ -167,7 +167,7 @@ $(function()
var postData = [];
$.each(setting, function(name, value) {if(value) postData.push(name);});
$.post('<?php echo inLink('index') ?>', {finish: postData.join(',')}, function(e)
$.post('<?php echo inLink('ajaxSetTasks') ?>', {finish: postData.join(',')}, function(e)
{
if(e.result === 'success')
{
@@ -186,7 +186,7 @@ $(function()
var resetTasks = function()
{
$.post('<?php echo inLink('index') ?>', {finish: ''}, function(e)
$.post('<?php echo inLink('ajaxSetTasks') ?>', {finish: ''}, function(e)
{
if(e.result === 'success')
{