/** * Lists all Compile models. * @return mixed */ public function actionIndex() { $schools = School::find()->all(); $users = User::find()->all(); $scholars = Scholar::find()->all(); $allowances = Allowance::find()->all(); $grades = Grade::find()->all(); return $this->render('index', array('users' => $users, 'scholars' => $scholars, 'schools' => $schools, 'allowances' => $allowances, 'grades' => $grades)); }
public function actionIndex() { $grades = Grade::find()->all(); $schools = School::find()->all(); $users = User::find()->all(); $scholars = Scholar::find()->all(); $tuitions = Tuition::find()->all(); return $this->render('index', array('users' => $users, 'scholars' => $scholars, 'schools' => $schools, 'grades' => $grades, 'tuition' => $tuitions)); }
public function actionDetail($id) { $model = School::findOne($id); if (!$model) { throw new BadRequestHttpException('未找到该学校!'); } $data['name'] = $model->name; $data['stores'] = $model->getStores()->select(['id', 'name', 'status', 'address'])->all(); $data['stores'] = array_chunk($data['stores'], 2); return $data; }
/** * @inheritdoc */ public function init() { $schoolId = Yii::$app->request->cookies['schoolId']; $storeId = Yii::$app->request->cookies['storeId']; if ($schoolId) { Yii::$app->params['schoolModel'] = School::findOne($schoolId); } if ($storeId) { Yii::$app->params['storeModel'] = Store::findOne($storeId); } }
public function actionIndex($id) { $model = School::findOne($id); if (!$model) { throw new NotFoundHttpException('未找到该学校!'); } $cookieSchool = new Cookie(['name' => 'schoolId', 'value' => $id, 'expire' => time() + 86400 * 30]); Yii::$app->response->cookies->add($cookieSchool); Yii::$app->params['schoolModel'] = $model; return $this->render('index', ['model' => $model]); }
public function actionNameFilter($q = null, $id = null) { Yii::$app->response->format = Response::FORMAT_JSON; $output = ['results' => ['id' => '', 'text' => '']]; if (!is_null($q)) { $sql = 'SELECT id, name AS text FROM ' . School::tableName() . ' WHERE name LIKE :like ORDER BY name ASC LIMIT 25'; $output['results'] = Yii::$app->db->createCommand($sql, [':like' => "%{$q}%"])->queryAll(); } elseif ($id > 0 && ($school = School::findOne($id))) { $output['results'] = ['id' => $id, 'text' => $school->name]; } return $output; }
public function search($params) { $query = School::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['id' => SORT_DESC]], 'pagination' => ['pageSize' => 20]]); // load the seach form data and validate if (!($this->load($params) && $this->validate())) { return $dataProvider; } $dateBegin = strtotime($this->date); $dateEnd = $dateBegin + 86400; // adjust the query by adding the filters $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['>=', 'created_at', $this->date ? $dateBegin : null])->andFilterWhere(['<', 'created_at', $this->date ? $dateEnd : null]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = School::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['like', 'school_name', $this->school_name])->andFilterWhere(['like', 'location', $this->location]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = School::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['school_id' => $this->school_id]); $query->andFilterWhere(['like', 'school_name', $this->school_name])->andFilterWhere(['like', 'school_area', $this->school_area])->andFilterWhere(['like', 'school_address', $this->school_address])->andFilterWhere(['like', 'school_contact_emails', $this->school_contact_emails])->andFilterWhere(['like', 'school_contact_numbers', $this->school_contact_numbers])->andFilterWhere(['like', 'school_vendor_code', $this->school_vendor_code]); return $dataProvider; }
public function getAllSchools($lastIds = [], $lastDate = 0, $orderBy = self::ORDER_BY_LIKE_SHOW, $dateCreateType = self::DATE_CREATE_ALL, $userId = false, $limit = false) { $query = School::find()->from(["t" => School::tableName()])->andWhere('t.deleted = 0')->addSelect('*'); if ($lastDate != 0) { if ($dateCreateType == self::DATE_CREATE_AFTER) { $query = $query->andWhere('t.date >= :date', [':date' => $lastDate]); } elseif ($dateCreateType != self::DATE_CREATE_ALL) { $query = $query->andWhere('t.date <= :date', [':date' => $lastDate]); } if (!empty($lastIds)) { $query = $query->andWhere(['not in', 'id', $lastIds]); } } // Определяем сортировку if ($orderBy == self::ORDER_BY_ID) { $query = $query->orderBy('id DESC'); } elseif ($orderBy == self::ORDER_BY_DATE) { if ($dateCreateType == self::DATE_CREATE_AFTER) { $query = $query->orderBy('date ASC'); } else { $query = $query->orderBy('date DESC'); } } elseif ($orderBy == self::ORDER_BY_LIKE) { $query = $query->orderBy('like_count DESC'); } elseif ($orderBy == self::ORDER_BY_SHOW) { $query = $query->orderBy('show_count DESC'); } elseif ($orderBy == self::ORDER_BY_LIKE_SHOW) { $query = $query->addSelect(['(like_count * 15 + show_count) as like_show_count'])->orderBy('like_show_count DESC'); } // Определяем за какой период будем показывать if (!empty($limit)) { $query = $query->limit((int) $limit); } elseif ($dateCreateType == self::DATE_CREATE_ALL) { $query = $query->limit(self::DEFAULT_LIMIT); } elseif ($dateCreateType == self::DATE_CREATE_BEFORE) { $query = $query->andWhere('t.date <= :date', [':date' => time()])->limit(self::DEFAULT_LIMIT); } elseif ($dateCreateType == self::DATE_CREATE_AFTER) { $query = $query->andWhere('t.date >= :date', [':date' => time()])->limit(self::DEFAULT_LIMIT); } if (!empty($userId)) { $query = $query->andWhere('user_id = :userId', [':userId' => $userId]); } $query = $query->with(['tagEntity', 'tagEntity.tags', 'locations']); return $query->all(); }
public function actionGroupcreate() { $modelCustomer = new School(); $modelsAddress = [new Tuition()]; if ($modelCustomer->load(Yii::$app->request->post())) { $modelsAddress = GroupGrade::createMultiple(Tuition::classname()); GroupGrade::loadMultiple($modelsAddress, Yii::$app->request->post()); // ajax validation if (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return ArrayHelper::merge(ActiveForm::validateMultiple($modelsAddress), ActiveForm::validate($modelCustomer)); } // validate all models $valid = $modelCustomer->validate(); $valid = GroupGrade::validateMultiple($modelsAddress) && $valid; if ($valid) { $transaction = \Yii::$app->db->beginTransaction(); try { foreach ($modelsAddress as $modelAddress) { $selectSchool = ArrayHelper::map(Scholar::find()->where(['scholar_id' => $modelAddress->scholar_scholar_id])->all(), 'school_school_id', 'school_school_id'); $schoolID = array_values($selectSchool)[0]; $modelAddress->scholar_school_school_id = $schoolID; if (!($flag = $modelAddress->save(false))) { $transaction->rollBack(); break; } } if ($flag) { $transaction->commit(); return $this->redirect(['index']); } } catch (Exception $e) { $transaction->rollBack(); } } } return $this->render('groupcreate', ['modelCustomer' => $modelCustomer, 'modelsAddress' => empty($modelsAddress) ? [new Tuition()] : $modelsAddress]); }
use yii\helpers\Html; use yii\bootstrap\ActiveForm; use common\models\Admin; use common\models\Store; use common\models\School; $this->title = $model->isNewRecord ? '添加营业点用户' : '更新营业点用户'; ?> <div class="row"> <div class="col-lg-6"> <?php $form = ActiveForm::begin(['enableAjaxValidation' => true, 'options' => ['autocomplete' => 'off']]); ?> <div class="form-group"> <label class="control-label">学校</label> <?php echo Html::dropDownList('school', $model->isNewRecord ? '' : $model->store->school_id, School::getKeyValuePairs(), ['class' => 'form-control']); ?> </div> <?php echo $form->field($model, 'store_id')->dropDownList($model->isNewRecord ? [] : Store::getKeyValuePairs($model->store->school_id)); ?> <?php echo $form->field($model, 'username')->textInput(['autocomplete' => 'off']); ?> <?php echo $form->field($model, 'password')->passwordInput(['autocomplete' => 'off']); ?> <?php echo $form->field($model, 'email')->input('email'); ?> <?php
/* @var $this yii\web\View */ /* @var $searchModel common\models\ScholarSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->title = 'Scholars'; $this->params['breadcrumbs'][] = $this->title; ?> <div class="scholar-index"> <h1><?php echo Html::encode($this->title); ?> </h1> <?php // echo $this->render('_search', ['model' => $searchModel]); $exportedValues = [['class' => 'kartik\\grid\\SerialColumn'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_id'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_first_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_middle_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_last_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_gender', 'editableOptions' => ['inputType' => 'dropDownList', 'pluginOptions' => ['allowClear' => true], 'data' => ["Male" => "Male", "Female" => "Female"], 'widgetClass' => 'kartik\\select2\\Select2']], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_course'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'school_school_id', 'editableOptions' => ['inputType' => '\\kartik\\select2\\Select2', 'options' => ['data' => ArrayHelper::map(School::find()->all(), 'school_id', 'school_name')]], 'value' => 'schoolSchool.school_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_year_level'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_graduate_status', 'editableOptions' => ['inputType' => 'dropDownList', 'pluginOptions' => ['allowClear' => true], 'data' => ["Not Graduated" => "Not Graduated", "Graduated" => "Graduated"], 'widgetClass' => 'kartik\\select2\\Select2']], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_address'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_vendor_code'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_contact_email'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_contact_number'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_cash_card_number'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_sponsor'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_type', 'editableOptions' => ['inputType' => 'dropDownList', 'pluginOptions' => ['allowClear' => true], 'data' => ["SMFI" => "SMFI", "My Scholar A" => "My Scholar A", "Kabayan Scholar" => "Kabayan Scholar", "Kabayan Scholar" => "Kabayan Scholar", "My Scholar B" => "My Scholar B", "ICA Grant Scholar" => "ICA Grant Scholar"], 'widgetClass' => 'kartik\\select2\\Select2']], 'allowance_allowance_area', ['class' => 'kartik\\grid\\ActionColumn']]; $gridColumns = [['class' => 'kartik\\grid\\SerialColumn'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_id'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_first_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_middle_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_last_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_gender', 'editableOptions' => ['inputType' => 'dropDownList', 'pluginOptions' => ['allowClear' => true], 'data' => ["Male" => "Male", "Female" => "Female"], 'widgetClass' => 'kartik\\select2\\Select2']], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'school_school_id', 'editableOptions' => ['inputType' => '\\kartik\\select2\\Select2', 'options' => ['data' => ArrayHelper::map(School::find()->all(), 'school_id', 'school_name')]], 'value' => 'schoolSchool.school_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_year_level'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_graduate_status', 'editableOptions' => ['inputType' => 'dropDownList', 'pluginOptions' => ['allowClear' => true], 'data' => ["Not Graduated" => "Not Graduated", "Graduated" => "Graduated"], 'widgetClass' => 'kartik\\select2\\Select2']], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'scholar_type', 'editableOptions' => ['inputType' => 'dropDownList', 'pluginOptions' => ['allowClear' => true], 'data' => ["SMFI" => "SMFI", "My Scholar A" => "My Scholar A", "Kabayan Scholar" => "Kabayan Scholar", "Kabayan Scholar" => "Kabayan Scholar", "My Scholar B" => "My Scholar B", "ICA Grant Scholar" => "ICA Grant Scholar"], 'widgetClass' => 'kartik\\select2\\Select2']], ['class' => 'kartik\\grid\\ActionColumn']]; $export = ExportMenu::widget(['dataProvider' => $dataProvider, 'columns' => $exportedValues, 'noExportColumns' => [18], 'exportConfig' => ['Excel5' => false, 'Excel2007' => false], 'columnSelectorOptions' => ['label' => 'Columns', 'class' => 'btn btn-danger'], 'target' => '_blank', 'fontAwesome' => true, 'dropdownOptions' => ['label' => 'Export', 'class' => 'btn btn-success']]); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'pjax' => true, 'rowOptions' => function ($model) { if (strcasecmp($model->allowance_allowance_area, 'NCR') != 0) { return ['class' => 'provincial-row']; } else { if (strcasecmp($model->allowance_allowance_area, 'NCR') == 0) { return ['class' => 'ncr-row']; } } }, 'columns' => $gridColumns, 'toolbar' => [['content' => Html::a('Create Scholar', ['create'], ['class' => 'btn btn-success'])], '{toggleData}', $export], 'export' => ['fontAwesome' => true, 'label' => 'Export', 'target' => '_blank'], 'panel' => ['type' => GridView::TYPE_PRIMARY, 'heading' => 'Scholar List']]); ?> </div>
<?php use yii\helpers\Html; use kartik\grid\GridView; use kartik\export\ExportMenu; use yii\helpers\ArrayHelper; use common\models\School; $exportedValues = [['class' => 'kartik\\grid\\SerialColumn'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'school_school_id', 'editableOptions' => ['inputType' => '\\kartik\\select2\\Select2', 'options' => ['data' => ArrayHelper::map(School::find()->all(), 'school_id', 'school_name')]], 'value' => 'schoolSchool.school_name'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'equivalence_numerical_grade'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'equivalence_letter_grade'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'equivalence_percentile_lower'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'equivalence_percentile_upper'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'equivalence_school_rating'], ['class' => 'kartik\\grid\\EditableColumn', 'attribute' => 'equivalence_foundation_rating', 'editableOptions' => ['inputType' => 'dropDownList', 'pluginOptions' => ['allowClear' => true], 'data' => ["PASS" => "PASS", "FAIL" => "FAIL"], 'widgetClass' => 'kartik\\select2\\Select2']], ['class' => 'kartik\\grid\\ActionColumn']]; $export = ExportMenu::widget(['dataProvider' => $dataProvider, 'columns' => $exportedValues, 'exportConfig' => ['Excel5' => false, 'Excel2007' => false], 'noExportColumns' => [8], 'columnSelectorOptions' => ['label' => 'Columns', 'class' => 'btn btn-danger'], 'target' => '_blank', 'fontAwesome' => true, 'dropdownOptions' => ['label' => 'Export', 'class' => 'btn btn-success']]); /* @var $this yii\web\View */ /* @var $searchModel common\models\EquivalenceSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->title = 'Equivalences'; $this->params['breadcrumbs'][] = $this->title; ?> <div class="equivalence-index"> <h1><?php echo Html::encode($this->title); ?> </h1> <?php // echo $this->render('_search', ['model' => $searchModel]); echo Html::a('Group By School', ['index'], ['class' => 'btn btn-success']); echo Html::a('Show Only Equivalences', ['index2'], ['class' => 'btn btn-success']); ?> <?php // echo $this->render('_search', ['model' => $searchModel]); ?>
use kartik\select2\Select2; use yii\helpers\ArrayHelper; use common\models\School; /* @var $this yii\web\View */ /* @var $model common\models\Equivalence */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="equivalence-form"> <?php $form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'school_school_id')->widget(Select2::classname(), ['data' => ArrayHelper::map(School::find()->all(), 'school_id', 'school_name'), 'language' => 'en', 'options' => ['placeholder' => 'Select School Name'], 'pluginOptions' => ['allowClear' => true]]); ?> <?php echo $form->field($model, 'equivalence_numerical_grade')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'equivalence_letter_grade')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'equivalence_percentile_lower')->textInput(['maxlength' => true]); ?> <?php
/** * @return \yii\db\ActiveQuery */ public function getCollegeToApply2() { return $this->hasOne(School::className(), ['school_name' => 'college_to_apply2']); }
public static function addVote($entity, $id, $voteAdd) { $user = User::thisUser(); $vote = Vote::findOne(['entity' => $entity, 'entity_id' => $id, 'user_id' => $user->id]); if (empty($vote)) { $vote = new Vote(); $vote->entity = $entity; $vote->entity_id = $id; $vote->user_id = $user->id; } /** @var VoteModel $model */ $model = null; if ($entity == self::ENTITY_ITEM) { $model = Item::findOne($id); if ($user->reputation < Item::MIN_REPUTATION_ITEM_VOTE) { // Если только пользователь не отменяет свои дизлайки if (!($vote->vote == self::VOTE_DOWN && $voteAdd == self::VOTE_DOWN)) { return ['vote' => 0, 'count' => $model->getVoteCount(), 'error' => Lang::t('ajax', 'noReputationVote')]; } } } else { if ($entity == self::ENTITY_EVENT) { $model = Event::findOne($id); if ($user->reputation < Event::MIN_REPUTATION_EVENT_VOTE) { // Если только пользователь не отменяет свои дизлайки if (!($vote->vote == self::VOTE_DOWN && $voteAdd == self::VOTE_DOWN)) { return ['vote' => 0, 'count' => $model->getVoteCount(), 'error' => Lang::t('ajax', 'noReputationVote')]; } } } else { if ($entity == self::ENTITY_SCHOOL) { $model = School::findOne($id); if ($user->reputation < School::MIN_REPUTATION_SCHOOL_VOTE) { // Если только пользователь не отменяет свои дизлайки if (!($vote->vote == self::VOTE_DOWN && $voteAdd == self::VOTE_DOWN)) { return ['vote' => 0, 'count' => $model->getVoteCount(), 'error' => Lang::t('ajax', 'noReputationVote')]; } } } else { if ($entity == self::ENTITY_COMMENT) { $model = Comment::findOne($id); if ($user->reputation < Comment::MIN_REPUTATION_COMMENT_VOTE) { // Если только пользователь не отменяет свои дизлайки if (!($vote->vote == self::VOTE_DOWN && $voteAdd == self::VOTE_DOWN)) { return ['vote' => 0, 'count' => $model->getVoteCount(), 'error' => Lang::t('ajax', 'noReputationVote')]; } } } } } } if (!empty($model)) { if ($vote->vote == self::VOTE_UP) { if ($voteAdd == self::VOTE_UP) { // убираем up $vote->vote = self::VOTE_NONE; $model->addVote(-1); $model->addReputation(VoteModel::ADD_REPUTATION_CANCEL_UP); } else { // ставим down $vote->vote = self::VOTE_DOWN; $model->addVote(-2); $model->addReputation(VoteModel::ADD_REPUTATION_CANCEL_UP); $model->addReputation(VoteModel::ADD_REPUTATION_DOWN); } } elseif ($vote->vote == self::VOTE_DOWN) { if ($voteAdd == self::VOTE_UP) { // ставим up $vote->vote = self::VOTE_UP; $model->addVote(2); $model->addReputation(VoteModel::ADD_REPUTATION_CANCEL_DOWN); $model->addReputation(VoteModel::ADD_REPUTATION_UP); } else { // убираем down $vote->vote = self::VOTE_NONE; $model->addVote(1); $model->addReputation(VoteModel::ADD_REPUTATION_CANCEL_DOWN); } } else { if ($voteAdd == self::VOTE_UP) { // ставим up $vote->vote = self::VOTE_UP; $model->addVote(1); $model->addReputation(VoteModel::ADD_REPUTATION_UP); } else { // ставим down $vote->vote = self::VOTE_DOWN; $model->addVote(-1); $model->addReputation(VoteModel::ADD_REPUTATION_DOWN); } } } if ($vote->save()) { if (!empty($model)) { $model->save(); } } return ['vote' => $vote->vote, 'count' => $model->getVoteCount()]; }
/** * Finds the School model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return School the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = School::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function actionAlarm() { $id = Yii::$app->request->post('id'); $msg = Yii::$app->request->post('msg'); $school = School::findOne($id); if ($school && !empty($msg)) { if (Alarm::addAlarm(Alarm::ENTITY_SCHOOL, $school->id, $msg)) { $resultMsg = Lang::t('main/dialogs', 'modalAlarm_msgAlarmResultTrue'); Yii::$app->session->setFlash('success', Lang::t('main/dialogs', 'modalAlarm_msgAlarmResultTrue')); } else { $resultMsg = Lang::t('main/dialogs', 'modalAlarm_msgAlarmResultFalse'); Yii::$app->session->setFlash('success', Lang::t('main/dialogs', 'modalAlarm_msgAlarmResultFalse')); } return json_encode(['msg' => $resultMsg]); } }
/** * @return \yii\db\ActiveQuery */ public function getSchools() { return $this->hasMany(School::className(), ['barangay_id' => 'barangay_id']); }
/** * @return \yii\db\ActiveQuery */ public function getSchool() { return $this->hasOne(School::className(), ['id' => 'school_id']); }
/** * @return \yii\db\ActiveQuery */ public function getSchoolSchool() { return $this->hasOne(School::className(), ['school_id' => 'subject_scholar_school_school_id']); }
public function actionSitemap() { // проверяем есть ли закэшированная версия sitemap $urls = array(); $items = Item::find()->where(['deleted' => 0])->all(); $events = \common\models\Event::find()->where(['deleted' => 0])->all(); $schools = School::find()->where(['deleted' => 0])->all(); foreach ($items as $item) { /** @var Item $item */ $urls[] = ['url' => $item->getUrl(true), 'priority' => 0.5]; } foreach ($events as $event) { /** @var \common\models\Event $event */ $urls[] = ['url' => $event->getUrl(true), 'priority' => 0.5]; } foreach ($schools as $school) { /** @var School $school */ $urls[] = ['url' => $school->getUrl(true), 'priority' => 0.8]; } Yii::$app->response->format = \yii\web\Response::FORMAT_XML; echo '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL; echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'; foreach ($urls as $url) { echo '<url>'; echo '<loc>' . $url['url'] . '</loc>'; echo '<changefreq>weekly</changefreq>'; echo '<priority>' . $url['priority'] . '</priority>'; echo '</url>'; } echo '</urlset>'; }
$this->title = '营业点列表'; ?> <p> <?php echo Html::a('<i class="fa fa-plus"></i> 添加营业点', ['store/add'], ['class' => 'btn btn-primary']); ?> </p> <div class="row"> <div class="col-lg-12"> <?php Pjax::begin(); ?> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'tableOptions' => ['class' => 'table table-striped table-bordered table-center'], 'summaryOptions' => ['tag' => 'p', 'class' => 'text-right text-info'], 'columns' => [['class' => 'yii\\grid\\SerialColumn', 'headerOptions' => ['class' => 'col-md-1']], ['attribute' => 'name', 'headerOptions' => ['class' => 'col-md-2'], 'filterInputOptions' => ['class' => 'form-control input-sm']], ['attribute' => 'school_id', 'headerOptions' => ['class' => 'col-md-3'], 'filterInputOptions' => ['class' => 'form-control input-sm'], 'value' => function ($model, $key, $index, $column) { return $model->school->name; }, 'filter' => Select2::widget(['model' => $searchModel, 'initValueText' => ($school = School::findOne($searchModel->school_id)) ? $school->name : '', 'attribute' => 'school_id', 'size' => Select2::SMALL, 'theme' => Select2::THEME_KRAJEE, 'options' => ['placeholder' => '搜索学校名称...'], 'pluginOptions' => ['allowClear' => true, 'minimumInputLength' => 3, 'ajax' => ['url' => Url::to(['/school/name-filter']), 'dataType' => 'json', 'data' => new JsExpression('function(params) { return {q:params.term}; }')], 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'), 'templateResult' => new JsExpression('function (store) { return store.text; }'), 'templateSelection' => new JsExpression('function (store) { return store.text; }')]])], ['attribute' => 'address', 'headerOptions' => ['class' => 'col-md-2'], 'filterInputOptions' => ['class' => 'form-control input-sm']], ['attribute' => 'status', 'format' => 'raw', 'filter' => Store::getStatusList(), 'filterInputOptions' => ['class' => 'form-control input-sm'], 'headerOptions' => ['class' => 'col-md-1'], 'value' => function ($model, $key, $index, $column) { return Html::dropDownList('status', $model->status, Store::getStatusList(), ['data-id' => $model->id]); }], ['attribute' => 'created_at', 'format' => ['date', 'php:Y-m-d H:i'], 'filter' => DatePicker::widget(['model' => $searchModel, 'type' => DatePicker::TYPE_COMPONENT_APPEND, 'attribute' => 'date', 'options' => ['class' => 'input-sm'], 'pluginOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd']]), 'headerOptions' => ['class' => 'col-md-2']], ['class' => 'yii\\grid\\ActionColumn', 'header' => '操作', 'headerOptions' => ['class' => 'col-md-1'], 'template' => '{update} {view}']]]); ?> <?php Pjax::end(); ?> </div> </div> <?php $url = Url::to(['/store/status']); $js = <<<JS var handle = function () { var id = \$(this).attr('data-id'); var status = \$(this).val(); \$.ajax({
/* @var $content string */ AppAsset::register($this); $this->beginContent('@app/views/layouts/base.php'); ?> <!-- School modal starts --> <div class="modal fade" id="modal-school" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4>切换学校</h4> </div> <div class="modal-body"> <ul class="list-unstyled"> <?php foreach (School::getKeyValuePairs() as $key => $name) { ?> <li><?php echo Html::a($name, ['/school/index', 'id' => $key], ['class' => 'btn btn-default btn-fill']); ?> </li> <?php } ?> </ul> </div> </div> </div> </div> <!--/ School modal ends --> <?php
/* @var $searchModel frontend\models\GradeSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ $this->params['breadcrumbs'][] = $this->title; ?> <div class="grades-index"> <?php // echo $this->render('_search', ['model' => $searchModel]); ?> <?php $username = Yii::$app->user->identity->username; $users = User::find()->all(); $scholars = Scholar::find()->all(); $schools = School::find()->all(); foreach ($users as $ctr) { if ($ctr->username == $username) { foreach ($scholars as $scholarctr) { foreach ($schools as $school) { if ($scholarctr->scholar_user_id == $ctr->id && $scholarctr->school_school_id == $school->school_id) { echo '<center><img src="img/school.png" height=100px width=100px></img><h2><font color=#005ab2><strong>' . $school->school_name . '</strong></font></h2><h4>' . $school->school_address . '</h4></center><table border=2 width=100%><tr><td></td></tr></table><br><table border=1 width=100%><tr><td> <b><font color=#005ab2>School Area:</font></b><center> ' . $school->school_area . '</center></td><td><b><font color=#005ab2>School Email:</font></b><center> ' . $school->school_contact_emails . '</center></td><td><b><font color=#005ab2>School Contact Number:</font></b><center> ' . $school->school_contact_numbers . '</center></td></tr></table>'; } } } } } ?> </div>
public function beforeSave($insert) { if (parent::beforeSave($insert)) { if ($this->alias == "") { $title = $this->encodestring($this->title); $alias = $this->toAscii($title); $baseAlias = substr($alias, 0, 250); $alias = $baseAlias; $i = 1; $wheres = ['alias = :alias']; $params[':alias'] = $alias; if (!is_null($this->id)) { $wheres[] = 'id <> :id'; $params = [':id' => $this->id]; } $where = join(' AND ', $wheres); while ($findSchool = School::find()->where($where, $params)->one()) { $alias = $baseAlias . '-' . $i; $params[':alias'] = $alias; $i++; if ($i > 30) { $alias = ''; break; } } $this->alias = $alias; } return true; } return false; }
'pluginOptions' => [ 'allowClear' => true, 'minimumInputLength' => 3, 'ajax' => [ 'url' => Url::to(['/school/name-filter']), 'dataType' => 'json', 'data' => new JsExpression('function(params) { return {q:params.term}; }') ], 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'), 'templateResult' => new JsExpression('function (store) { return store.text; }'), 'templateSelection' => new JsExpression('function (store) { return store.text; }'), ] ])*/ ?> <?php echo $form->field($model, 'school_id')->dropDownList(School::getKeyValuePairs()); ?> <?php echo $form->field($model, 'address'); ?> <?php echo $form->field($model, 'cellphone'); ?> <?php echo $form->field($model, 'telephone'); ?> <?php echo $form->field($model, 'hours'); ?> <?php echo $form->field($model, 'enable_sms')->checkbox();
public function actionNameFilter($q = null, $id = null) { Yii::$app->response->format = Response::FORMAT_JSON; $output = ['results' => ['id' => '', 'text' => '']]; if (!is_null($q)) { $sql = 'SELECT t0.id, CONCAT(t1.name, \'-\', t0.name) AS text FROM ' . Store::tableName() . ' AS t0 LEFT JOIN ' . School::tableName() . ' AS t1 ON t0.school_id = t1.id WHERE t0.name LIKE :like ORDER BY t0.school_id ASC LIMIT 25'; $output['results'] = Yii::$app->db->createCommand($sql, [':like' => "%{$q}%"])->queryAll(); } elseif ($id > 0 && ($store = Store::findOne($id))) { $output['results'] = ['id' => $id, 'text' => $store->school->name . '-' . $store->name]; } return $output; }