2018-04-24 12:12:24 +00:00
< ? php
2022-03-03 02:58:38 +00:00
/*--------------------------------------------------------------------------------------------------------| www . vdm . io |------/
__ __ _ _____ _ _ __ __ _ _ _
\ \ / / | | | __ \ | | | | | \ / | | | | | | |
\ \ / / _ _ ___ | | _ | | | | _____ _____ | | ___ _ __ _ __ ___ ___ _ __ | | _ | \ / | ___ | | _ | | __ ___ __ | |
\ \ / / _ ` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| ' _ \ / _ \ / _ ` |
\ / ( _ | \__ \ | _ | | __ | | __ / \ V / __ / | ( _ ) | | _ ) | | | | | | __ / | | | | _ | | | | __ / | _ | | | | ( _ ) | ( _ | |
\ / \__ , _ | ___ / \__ | | _____ / \___ | \_ / \___ | _ | \___ /| . __ /| _ | | _ | | _ | \___ | _ | | _ | \__ | | _ | | _ | \___ | \__ | _ | | _ | \___ / \__ , _ |
| |
| _ |
/-------------------------------------------------------------------------------------------------------------------------------/
2022-05-27 05:48:24 +00:00
@ version 1.1 . x
@ build 27 th May , 2022
2022-03-03 02:58:38 +00:00
@ created 30 th January , 2017
@ package Questions and Answers
@ subpackage questions_and_answers . php
@ author Llewellyn van der Merwe < https :// www . vdm . io />
@ copyright Copyright ( C ) 2015. All Rights Reserved
@ license GNU / GPL Version 2 or later - http :// www . gnu . org / licenses / gpl - 2.0 . html
Questions & amp ; Answers
/-----------------------------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined ( '_JEXEC' ) or die ( 'Restricted access' );
2022-05-27 05:48:24 +00:00
use Joomla\CMS\MVC\Controller\AdminController ;
2022-03-03 02:58:38 +00:00
use Joomla\Utilities\ArrayHelper ;
/**
2022-05-27 05:48:24 +00:00
* Questions_and_answers Admin Controller
2022-03-03 02:58:38 +00:00
*/
2022-05-27 05:48:24 +00:00
class QuestionsanswersControllerQuestions_and_answers extends AdminController
2022-03-03 02:58:38 +00:00
{
/**
* The prefix to use with controller messages .
*
* @ var string
* @ since 1.6
*/
protected $text_prefix = 'COM_QUESTIONSANSWERS_QUESTIONS_AND_ANSWERS' ;
/**
* 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
*/
public function getModel ( $name = 'Question_and_answer' , $prefix = 'QuestionsanswersModel' , $config = array ( 'ignore_request' => true ))
{
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
2021-01-06 13:56:35 +00:00
$pks = 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 ;
2022-03-03 02:58:38 +00:00
}
}