コード例 #1
0
 public function run()
 {
     $searchString = isset($_GET['searchString']) ? $_GET['searchString'] : "";
     $sortField = isset($_GET['sort']) ? $_GET['sort'] : "mark";
     $sortDir = isset($_GET['dir']) ? $_GET['dir'] : "desc";
     $page = isset($_GET['page']) ? $_GET['page'] : 1;
     if ($searchString == "") {
         $students = $this->stg->getAllStudents($sortField, $sortDir, $this->studentsPerPage, $this->studentsPerPage * ($page - 1));
     } else {
         $students = $this->stg->searchInDB($searchString, $sortField, $sortDir);
     }
     $urlHelper = new UrlHelper();
     $pager = new Pager(intval(ceil($this->stg->getTotalStudentsNum() / $this->studentsPerPage)), $this->studentsPerPage, $urlHelper->getPagerURL($searchString, $sortField, $sortDir, "{page}"));
     include __DIR__ . '/../views/ViewStudentsList.php';
 }
コード例 #2
0
        var s = d.createElement(t), options = {
            'id': <?php 
echo $formModel->id;
?>
,
            'theme': 0,
            'container': 'c<?php 
echo $formModel->id;
?>
',
            'height': '<?php 
echo $formDataModel->height;
?>
px',
            'form': '<?php 
echo UrlHelper::removeScheme(Url::to(['/app/embed'], true));
?>
'
        };
        s.type= 'text/javascript';
        s.src = '<?php 
echo Url::to('@web/static_files/js/form.widget.js', true);
?>
';
        s.onload = s.onreadystatechange = function() {
            var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return;
            try {  FormWidget.initialize(options); FormWidget.display() } catch (e) { }
        };
        var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr);
    })(document, 'script');
</script>
コード例 #3
0
ファイル: embed.php プロジェクト: ramialcheikh/quickforms
/* @var $formModel app\models\Form */
/* @var $formDataModel app\models\FormData */
/* @var $formConfirmationModel app\models\FormConfirmation */
/* @var $formRuleModels app\models\FormRule[] */
/* @var $showTheme boolean Show or hide theme css */
/* @var $customJS boolean Load or Not Custom Javascript File */
/* @var $record boolean Enable / Disable record stats dynamically */
$this->title = $formModel->name;
/** @var $rules array Conditions and Actions of active rules */
$rules = [];
foreach ($formRuleModels as $formRuleModel) {
    $rule = ['conditions' => $formRuleModel['conditions'], 'actions' => $formRuleModel['actions']];
    array_push($rules, $rule);
}
// Base URL without schema
$baseUrl = UrlHelper::removeScheme(Url::home(true));
// PHP options required by embed.js
$options = array("id" => $formModel->id, "app" => $baseUrl . "app", "tracker" => $baseUrl . "/static_files/js/form.tracker.js", "name" => "#form-app", "actionUrl" => Url::to(['app/a', 'id' => $formModel->id], true), "validationUrl" => Url::to(['app/check', 'id' => $formModel->id], true), "_csrf" => Yii::$app->request->getCsrfToken(), "resume" => $formModel->resume, "autocomplete" => $formModel->autocomplete, "analytics" => $formModel->analytics && $record, "confirmationType" => $formConfirmationModel->type, "confirmationMessage" => $formConfirmationModel->message, "confirmationUrl" => $formConfirmationModel->url, "showOnlyMessage" => $formConfirmationModel::CONFIRM_WITH_ONLY_MESSAGE, "redirectToUrl" => $formConfirmationModel::CONFIRM_WITH_REDIRECTION, "rules" => $rules, "fieldIds" => $formDataModel->getFieldIds(), "submitted" => false, "runOppositeActions" => true, "i18n" => ['complete' => Yii::t('app', 'Complete'), 'unexpectedError' => Yii::t('app', 'An unexpected error has occurred. Please retry later.')]);
// Pass php options to javascript
$this->registerJs("var options = " . json_encode($options) . ";", View::POS_BEGIN, 'form-options');
// Load reCAPTCHA JS Api
// Only if Form has reCaptcha component and was not passed in this session
if ($formModel->recaptcha === $formModel::RECAPTCHA_ACTIVE && !Yii::$app->session['reCaptcha']) {
    $this->registerJsFile('https://www.google.com/recaptcha/api.js', ['position' => View::POS_HEAD]);
    $this->registerCss(".g-recaptcha { height: 78px; }");
}
// Pager
$pager = new Pager(Html::decode($formDataModel->html));
// Utilities required for javascript files
$this->registerJsFile('@web/static_files/js/form.utils.min.js', ['depends' => JqueryAsset::className()]);
// If form has multiple pages