2018-04-24 12:12:24 +00:00
< ? php
/*--------------------------------------------------------------------------------------------------------| www . vdm . io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \ / | | | | | | |
\ \ / / _ _ ___ | | _ | | | | _____ _____ | | ___ _ __ _ __ ___ ___ _ __ | | _ | \ / | ___ | | _ | | __ ___ __ | |
\ \ / / _ ` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| ' _ \ / _ \ / _ ` |
\ / ( _ | \__ \ | _ | | __ | | __ / \ V / __ / | ( _ ) | | _ ) | | | | | | __ / | | | | _ | | | | __ / | _ | | | | ( _ ) | ( _ | |
\ / \__ , _ | ___ / \__ | | _____ / \___ | \_ / \___ | _ | \___ /| . __ /| _ | | _ | | _ | \___ | _ | | _ | \__ | | _ | | _ | \___ | \__ | _ | | _ | \___ / \__ , _ |
2018-12-27 11:06:27 +00:00
| |
| _ |
2018-04-24 12:12:24 +00:00
/-------------------------------------------------------------------------------------------------------------------------------/
@ version 1.0 . x
2020-05-30 22:29:42 +00:00
@ build 30 th May , 2020
2018-04-24 12:12:24 +00:00
@ created 30 th January , 2017
@ package Questions and Answers
@ subpackage questions_and_answers . php
2018-12-27 11:06:27 +00:00
@ author Llewellyn van der Merwe < https :// www . vdm . io />
2018-04-24 12:12:24 +00:00
@ copyright Copyright ( C ) 2015. All Rights Reserved
2018-12-27 11:06:27 +00:00
@ license GNU / GPL Version 2 or later - http :// www . gnu . org / licenses / gpl - 2.0 . html
Questions & amp ; Answers
2018-04-24 12:12:24 +00:00
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined ( '_JEXEC' ) or die ( 'Restricted access' );
2020-05-30 22:29:42 +00:00
use Joomla\Utilities\ArrayHelper ;
2018-04-24 12:12:24 +00:00
/**
* Questions_and_answers Controller
*/
class QuestionsanswersControllerQuestions_and_answers extends JControllerAdmin
{
2018-12-27 11:06:27 +00:00
/**
* The prefix to use with controller messages .
*
* @ var string
* @ since 1.6
*/
2018-04-24 12:12:24 +00:00
protected $text_prefix = 'COM_QUESTIONSANSWERS_QUESTIONS_AND_ANSWERS' ;
2018-12-27 11:06:27 +00:00
2018-04-24 12:12:24 +00:00
/**
2018-12-27 11:06:27 +00:00
* Method to get a model object , loading it if required .
*
* @ param string $name The model name . Optional .
* @ param string $prefix The class prefix . Optional .
* @ param array $config Configuration array for model . Optional .
*
* @ return JModelLegacy The model .
*
* @ since 1.6
2018-04-24 12:12:24 +00:00
*/
2018-12-27 11:06:27 +00:00
public function getModel ( $name = 'Question_and_answer' , $prefix = 'QuestionsanswersModel' , $config = array ( 'ignore_request' => true ))
2018-04-24 12:12:24 +00:00
{
2018-12-27 11:06:27 +00:00
return parent :: getModel ( $name , $prefix , $config );
2018-04-24 12:12:24 +00:00
}
public function exportData ()
{
// Check for request forgeries
JSession :: checkToken () or die ( JText :: _ ( 'JINVALID_TOKEN' ));
// check if export is allowed for this user.
$user = JFactory :: getUser ();
if ( $user -> authorise ( 'question_and_answer.export' , 'com_questionsanswers' ) && $user -> authorise ( 'core.export' , 'com_questionsanswers' ))
{
// Get the input
$input = JFactory :: getApplication () -> input ;
$pks = $input -> post -> get ( 'cid' , array (), 'array' );
// Sanitize the input
2020-05-30 22:29:42 +00:00
ArrayHelper :: toInteger ( $pks );
2018-04-24 12:12:24 +00:00
// Get the model
$model = $this -> getModel ( 'Questions_and_answers' );
// get the data to export
$data = $model -> getExportData ( $pks );
if ( QuestionsanswersHelper :: checkArray ( $data ))
{
// now set the data to the spreadsheet
$date = JFactory :: getDate ();
QuestionsanswersHelper :: xls ( $data , 'Questions_and_answers_' . $date -> format ( 'jS_F_Y' ), 'Questions and answers exported (' . $date -> format ( 'jS F, Y' ) . ')' , 'questions and answers' );
}
}
// Redirect to the list screen with error.
$message = JText :: _ ( 'COM_QUESTIONSANSWERS_EXPORT_FAILED' );
$this -> setRedirect ( JRoute :: _ ( 'index.php?option=com_questionsanswers&view=questions_and_answers' , false ), $message , 'error' );
return ;
}
public function importData ()
{
// Check for request forgeries
JSession :: checkToken () or die ( JText :: _ ( 'JINVALID_TOKEN' ));
// check if import is allowed for this user.
$user = JFactory :: getUser ();
if ( $user -> authorise ( 'question_and_answer.import' , 'com_questionsanswers' ) && $user -> authorise ( 'core.import' , 'com_questionsanswers' ))
{
// Get the import model
$model = $this -> getModel ( 'Questions_and_answers' );
// get the headers to import
$headers = $model -> getExImPortHeaders ();
if ( QuestionsanswersHelper :: checkObject ( $headers ))
{
// Load headers to session.
$session = JFactory :: getSession ();
$headers = json_encode ( $headers );
$session -> set ( 'question_and_answer_VDM_IMPORTHEADERS' , $headers );
$session -> set ( 'backto_VDM_IMPORT' , 'questions_and_answers' );
$session -> set ( 'dataType_VDM_IMPORTINTO' , 'question_and_answer' );
// Redirect to import view.
$message = JText :: _ ( 'COM_QUESTIONSANSWERS_IMPORT_SELECT_FILE_FOR_QUESTIONS_AND_ANSWERS' );
$this -> setRedirect ( JRoute :: _ ( 'index.php?option=com_questionsanswers&view=import' , false ), $message );
return ;
}
}
// Redirect to the list screen with error.
$message = JText :: _ ( 'COM_QUESTIONSANSWERS_IMPORT_FAILED' );
$this -> setRedirect ( JRoute :: _ ( 'index.php?option=com_questionsanswers&view=questions_and_answers' , false ), $message , 'error' );
return ;
2018-12-27 11:06:27 +00:00
}
2018-04-24 12:12:24 +00:00
}