public function execute() {
		global $wgUser;
		
		if ( !$wgUser->isAllowed( 'surveyadmin' ) || $wgUser->isBlocked() ) {
			$this->dieUsageMsg( array( 'badaccess-groups' ) );
		}
		
		$params = $this->extractRequestParams();
		
		foreach ( $params['questions'] as &$question ) {
			$question = SurveyQuestion::newFromUrlData( $question );
		}
		
		$survey = new Survey( Survey::getValidFields( $params, $params['id'] ) );
		
		$this->getResult()->addValue(
			null,
			'success',
			$survey->writeToDB()
		);
		
		$this->getResult()->addValue(
			'survey',
			'id',
			$survey->getId()
		);
		
		$this->getResult()->addValue(
			'survey',
			'name',
			$survey->getField( 'name' )
		);
	}
 /**
  * Gets the summary data.
  * 
  * @since 0.1
  * 
  * @param Survey $survey
  * 
  * @return array
  */
 protected function getSummaryData(Survey $survey)
 {
     $stats = array();
     $stats['name'] = $survey->getField('name');
     $stats['title'] = $survey->getField('title');
     $stats['status'] = wfMsg('surveys-surveystats-' . ($survey->getField('enabled') ? 'enabled' : 'disabled'));
     $stats['questioncount'] = count($survey->getQuestions());
     $stats['submissioncount'] = SurveySubmission::count(array('survey_id' => $survey->getId()));
     return $stats;
 }
	public function execute() {
		global $wgUser;
		
		if ( !$wgUser->isAllowed( 'surveyadmin' ) || $wgUser->isBlocked() ) {
			$this->dieUsageMsg( array( 'badaccess-groups' ) );
		}
		
		$params = $this->extractRequestParams();
		
		foreach ( $params['questions'] as &$question ) {
			$question = SurveyQuestion::newFromUrlData( $question );
		}
		
		try {
			$survey = new Survey( Survey::getValidFields( $params ) );
			$success = $survey->writeToDB();
		}
		catch ( DBQueryError $ex ) {
			if ( $ex->errno == 1062 ) {
				$this->dieUsage( wfMsgExt( 'survey-err-duplicate-name', 'parsemag', $params['name'] ), 'duplicate-survey-name' );
			} else {
				throw $ex;
			}
		}
		
		$this->getResult()->addValue(
			null,
			'success',
			$success
		);
		
		$this->getResult()->addValue(
			'survey',
			'id',
			$survey->getId()
		);
		
		$this->getResult()->addValue(
			'survey',
			'name',
			$survey->getField( 'name' )
		);
	}
Beispiel #4
0
 /**
  * Show the survey.
  * 
  * @since 0.1
  * 
  * @param Survey $survey
  */
 protected function showSurvey(Survey $survey)
 {
     $fields = array();
     $fields[] = array('type' => 'hidden', 'default' => $survey->getId(), 'name' => 'survey-id', 'id' => 'survey-id');
     $fields[] = array('type' => 'hidden', 'default' => $survey->getField('name'), 'name' => 'survey-name', 'id' => 'survey-name');
     $fields[] = array('type' => 'hidden', 'default' => $survey->getField('expiry'), 'name' => 'survey-expiry', 'id' => 'survey-expiry');
     $fields[] = array('class' => 'SurveyNameField', 'default' => $survey->getField('name'), 'label-message' => 'survey-special-label-name', 'style' => 'font-weight: bold;');
     $fields[] = array('type' => 'text', 'default' => $survey->getField('title'), 'label-message' => 'survey-special-label-title', 'id' => 'survey-title', 'name' => 'survey-title');
     $fields[] = array('type' => 'check', 'default' => $survey->getField('enabled') ? '1' : '0', 'label-message' => 'survey-special-label-enabled', 'id' => 'survey-enabled', 'name' => 'survey-enabled');
     $fields[] = array('type' => 'radio', 'default' => $survey->getField('user_type'), 'label-message' => 'survey-special-label-usertype', 'id' => 'survey-user_type', 'name' => 'survey-user_type', 'options' => array(wfMsg('survey-user-type-all') => Survey::$USER_ALL, wfMsg('survey-user-type-loggedin') => Survey::$USER_LOGGEDIN, wfMsg('survey-user-type-confirmed') => Survey::$USER_CONFIRMED, wfMsg('survey-user-type-editor') => Survey::$USER_EDITOR, wfMsg('survey-user-type-anon') => Survey::$USER_ANON));
     $fields[] = array('type' => 'select', 'default' => $survey->getField('ratio'), 'label-message' => 'survey-special-label-ratio', 'id' => 'survey-ratio', 'name' => 'survey-ratio', 'options' => $this->getNumericalOptions(array_merge(array(0.01, 0.1), range(1, 100))));
     $fields[] = array('type' => 'select', 'default' => $survey->getField('min_pages'), 'label-message' => 'survey-special-label-minpages', 'id' => 'survey-min_pages', 'name' => 'survey-min_pages', 'options' => $this->getNumericalOptions(range(0, 250)));
     $fields[] = array('type' => 'text', 'default' => $survey->getField('header'), 'label-message' => 'survey-special-label-header', 'id' => 'survey-header', 'name' => 'survey-header');
     $fields[] = array('type' => 'text', 'default' => $survey->getField('footer'), 'label-message' => 'survey-special-label-footer', 'id' => 'survey-footer', 'name' => 'survey-footer');
     $fields[] = array('type' => 'text', 'default' => $survey->getField('thanks'), 'label-message' => 'survey-special-label-thanks', 'id' => 'survey-thanks', 'name' => 'survey-thanks');
     foreach ($survey->getQuestions() as $question) {
         $fields[] = array('class' => 'SurveyQuestionField', 'options' => $question->toArray());
     }
     // getContext was added in 1.18 and since that version is
     // the second argument for the HTMLForm constructor.
     if (version_compare($GLOBALS['wgVersion'], '1.18', '>=')) {
         $form = new HTMLForm($fields, $this->getContext());
     } else {
         $form = new HTMLForm($fields);
         $form->setTitle($this->getTitle());
     }
     $form->setSubmitText(wfMsg('surveys-special-save'));
     $form->addButton('cancelEdit', wfMsg('cancel'), 'cancelEdit', array('onclick' => 'window.location="' . SpecialPage::getTitleFor('Surveys')->getFullURL() . '";return false;'));
     $form->show();
 }
Beispiel #5
0
        <?php 
$surveys_by_user = get_available_by_user_surveys($user->getId());
if (!empty($surveys_by_user)) {
    foreach ($surveys_by_user as $survey_id) {
        $survey = new Survey();
        $survey->get_from_db($survey_id);
        ?>
                <h3 class="no-float ac"><?php 
        print_r($survey->getTitle());
        ?>
</h3>
                <div>
                    <div class="ac">
                        <div class="action no-margin ac">
                            <form id="formSurvey<?php 
        print_r($survey->getId());
        ?>
"
                                  class="form ac prefix_2" 
                                  action="./?page=user_survey&amp;funct=survey_funct" 
                                  method="POST">
                                <input id="formSurveyView" 
                                       class="button button-green" 
                                       name="formSurveyUserView" 
                                       type="submit"
                                       value="<?php 
        echo BTN_SURVEY_VIEW;
        ?>
"
                                       style="margin-left: 50px;" />
                                <input name="formSurveyFunction" value="<?php 
Beispiel #6
0
<script type="text/javascript" src="<?php 
echo ROOT_DIR;
?>
js/jquery-ui.js"></script>
<div class="ac">
    <?php 
global $user;
if (isset($_SESSION['surveyUserViewSurveyId'])) {
    $survey_id = $_SESSION['surveyUserViewSurveyId'];
    $survey = new Survey();
    $survey->get_from_db($survey_id);
} else {
    logout();
    die;
}
if ($survey->getId() == "103") {
    ?>
        <div class="ac info_box" style="background-size: cover;">
            <img src="<?php 
    echo ROOT_DIR . 'images/projectLogo.png';
    ?>
" style="width: 100%;" />
        </div>
        <div class="ac info_box" style="background-size: cover; background-color: #e3c0a0;">
            <img src="<?php 
    echo ROOT_DIR . 'images/studentsLogo.png';
    ?>
" style="width: 100%;" />
        </div>
        <?php 
}
 /**
  * @param Survey $s
  */
 public static function update($s)
 {
     $db = DB::getConn();
     $t = $s->getTitle();
     $sh = $s->getShow();
     $id = $s->getId();
     $stm = $db->prepare('update Survey set title=:title, show=:show where id=:id');
     $stm->bindParam(':title', $t);
     $stm->bindParam(':show', $sh);
     $stm->bindParam(':id', $id);
     $stm->execute();
     //        return DB::getLastID('Survey');
 }
Beispiel #8
0
    session_start();
}
// protect from unauthorized access
if (!isset($_SESSION['user'])) {
    logout();
    die;
}
// protect from error access
if (!isset($_SESSION['survey_id'])) {
    header('location: /?page=my_surveys');
    die;
}
global $user;
$survey = new Survey();
$survey->get_from_db($_SESSION['survey_id']);
$answers = get_survey_answers($survey->getId());
$groups = get_survey_staff_groups($survey->getId());
foreach (get_survey_student_groups($survey->getId()) as $group_id) {
    array_push($groups, $group_id);
}
foreach (get_survey_local_groups($survey->getId()) as $group_id) {
    array_push($groups, $group_id);
}
//-------------------------------------------------
// Include the main TCPDF library (search for installation path).
require_once ROOT_DIR . 'functions/print/tcpdf.php';
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF
{
    //Page header
    public function Header()