protected function _remove() { try { if (!($id = $this->input->post('id'))) { Alert::once('success', 'Invalid ID!', Url::current()); } $user = new PartnerModel($id); $user->remove(); Alert::once('success', 'Account removed successfully!', Url::current()); } catch (\Exception $e) { Alert::once('error', $e->getMessage(), Url::current()); } }
protected function _login() { if ($this->input->is_ajax_request()) { $login_as = false; $u = null; if (UserSession::get('user.type') === 'admin') { $u = (new User($this->input->post('id')))->get(); $this->_set_picture($u); $login_as = true; } else { if (UserSession::get('user.type') === 'partner') { $partner = new Partner(UserSession::get('user._id')); if ($partner->valid_brand($this->input->post('id'))) { $u = (new User($this->input->post('id')))->get(); $this->_set_picture($u); $login_as = true; } } else { try { $data = $this->_get_login_data(); $user = new User(null); if ($u = $user->authenticate($data['username'], Secure::password($data['password'], $data['username']))) { $this->_set_picture($u); if (isset($u['social'])) { unset($u['social']); // Unset unnecessary social data } if ($u['type'] === 'extra') { $t = $u; $u = (new User($t['account']))->get(); $u['manager'] = $t; } } } catch (\Exception $e) { Json::error($e->getMessage()); } } } if ($u) { $data = array('user' => $u); if ($login_as) { // Set the main user, if an existing doesn't exist // Only the first user set is main user $data['main_user'] = UserSession::get('main_user') ?: UserSession::get('user'); } UserSession::set(null, $data); Json::success('Login successful! Redirecting to home...', Url::base('')); } Json::error('Invalid credentials or user not active'); } }
protected function _remove() { try { if (!($id = $this->input->post('id'))) { Alert::once('success', 'Invalid ID!', Url::current()); } $user = new BrandModel($id); $user->remove(); $partner = new Partner(UserSession::get('user._id')); $partner->remove_brand($id); Alert::once('success', 'Brand removed successfully!', Url::current()); } catch (\Exception $e) { Alert::once('error', $e->getMessage(), Url::current()); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Partner::find()->joinWith('tags')->groupBy('partner.id'); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSizeLimit' => [10, 500]], 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]]]); $params = $this->processParams($params); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['partner.id' => $this->id, 'type' => $this->type, 'status' => $this->status, 'country_id' => $this->country_id, 'state_id' => $this->state_id, 'parent_id' => $this->parent_id, 'volunteer' => $this->volunteer, 'candidate' => $this->candidate, 'partner_tag.tag_id' => $this->tag_id]); $query->andFilterWhere(['like', 'partner.name', $this->name])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'state', $this->state])->andFilterWhere(['like', 'address', $this->address])->andFilterWhere(['like', 'city', $this->city])->andFilterWhere(['like', 'notes', $this->notes]); $tags = $this->parseTagsStr([$this->publicTagsStr, $this->personalTagsStr]); if (true) { // AND foreach ($tags as $tag) { $query->andFilterWhere(['tag.name' => $tag]); } } else { // OR $query->andFilterWhere(['in', 'tag.name', $tags]); } if ($this->q) { $query->orFilterWhere(['like', 'partner.name', $this->q]); $query->orFilterWhere(['like', 'email', $this->q]); $query->orFilterWhere(['like', 'notes', $this->q]); } $this->addRangeCondition($query, 'created_at'); $this->addRangeCondition($query, 'updated_at'); return $dataProvider; }
/** * Print */ public function generate() { $content = []; $iteration = 0; $partners = Partner::find()->viaMailingLists($this->mailingLists)->all(); if ($this->items_per_page) { $page_separator = Html::tag('div', '', ['style' => ['clear' => 'both']]); $page_begin_tag = Html::beginTag('div', ['style' => ['page-break-before' => 'always']]); $page_end_tag = $page_separator . Html::endTag('div'); $content[] = $page_begin_tag; } foreach ($partners as $partner) { $iteration++; $content[] = $this->processContent($this->content, $partner); if ($this->items_per_page && $iteration % $this->items_per_page == 0) { $content[] = $page_end_tag; $content[] = $page_begin_tag; } } if ($this->items_per_page) { $content[] = $page_end_tag; } $content = implode(PHP_EOL, $content); if ($this->wrapper_enabled) { $content = preg_replace('/\\{content\\}/Sui', $content, $this->wrapper); } return $content; }
public function actionIndex() { $user = Yii::$app->user; $dashboard = []; if ($user->can('partner_view')) { $dashboard[] = ['name' => Html::tag('b', __('Partners')), 'link' => Url::to(['partner/index']), 'count' => Partner::find()->count()]; } if ($user->can('visit_view') || $user->can('visit_view_all')) { $dashboard[] = ['name' => __('Visits'), 'link' => Url::to(['visit/index']), 'count' => Visit::find()->count()]; } if ($user->can('donate_view') || $user->can('donate_view_all')) { $dashboard[] = ['name' => __('Donates'), 'link' => Url::to(['donate/index']), 'count' => Donate::find()->count()]; } if ($user->can('task_view') || $user->can('task_view_all')) { $dashboard[] = ['name' => __('Tasks'), 'link' => Url::to(['task/index']), 'count' => Task::find()->count()]; } if ($user->can('newsletter_view')) { $dashboard[] = ['name' => __('Mailing lists'), 'link' => Url::to(['mailing-list/index']), 'count' => MailingList::find()->count()]; $dashboard[] = ['name' => __('Newsletters'), 'link' => Url::to(['newsletter/index']), 'count' => Newsletter::find()->count()]; $dashboard[] = ['name' => __('Printing templates'), 'link' => Url::to(['print-template/index']), 'count' => PrintTemplate::find()->count()]; } if ($user->can('user_manage')) { $dashboard[] = ['name' => __('Users'), 'link' => Url::to(['user/index']), 'count' => User::find()->count()]; } return $this->render('index', ['dashboard' => $dashboard]); }
public function append() { $mailingList = MailingList::findOne($this->mailing_list_id); $partners = Partner::findAll(explode(',', $this->partner_ids)); foreach ($partners as $partner) { $mailingList->unlink('partners', $partner, true); $mailingList->link('partners', $partner); } return true; }
/** * Show the form for editing the specified PartnerDiscount. * * @param int $id * * @return Response */ public function edit($id) { $partnerDiscount = $this->partnerDiscountRepository->find($id); $partners = Partner::lists('partner_name', 'partner_id'); if (empty($partnerDiscount)) { Flash::error('PartnerDiscount not found'); return redirect(route('partnerDiscounts.index')); } return view('partnerDiscounts.edit')->with('partnerDiscount', $partnerDiscount)->with('partners', $partners); }
public function find() { if ($this->ids) { return PartnerModel::find()->where(['id' => $this->ids])->orderBy(['created_at' => SORT_DESC]); } else { $search = new PartnerSearch(); $dataProvider = $search->search($this->queryParams); $dataProvider->pagination = false; return $dataProvider->query; } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Partner::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', 'code', $this->code])->andFilterWhere(['like', 'name', $this->name]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Partner::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, 'user_creator' => $this->user_creator, 'partnership_date' => $this->partnership_date, 'tier' => $this->tier]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'url', $this->url])->andFilterWhere(['like', 'address', $this->address])->andFilterWhere(['like', 'nda', $this->nda])->andFilterWhere(['like', 'msa', $this->msa])->andFilterWhere(['like', 'agreement', $this->agreement])->andFilterWhere(['like', 'tags', $this->tags])->andFilterWhere(['like', 'categories', $this->categories]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Partner::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, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'summary_en', $this->summary_en])->andFilterWhere(['like', 'summary_pt', $this->summary_pt])->andFilterWhere(['like', 'description_en', $this->description_en])->andFilterWhere(['like', 'description_pt', $this->description_pt])->andFilterWhere(['like', 'link', $this->link]); return $dataProvider; }
public function search($input) { $query = Partner::query(); $columns = Schema::getColumnListing('partners'); $attributes = array(); foreach ($columns as $attribute) { if (isset($input[$attribute]) and !empty($input[$attribute])) { $query->where($attribute, $input[$attribute]); $attributes[$attribute] = $input[$attribute]; } else { $attributes[$attribute] = null; } } return [$query->get(), $attributes]; }
public function update($event) { $model = $this->owner; $ids = array_filter($this->partners_ids); $current_ids = []; foreach ($model->partners as $partner) { $current_ids[] = $partner->id; } if ($ids_new = array_diff($ids, $current_ids)) { foreach (Partner::findAll($ids_new) as $partner) { $model->link('partners', $partner); } } if ($ids_removed = array_diff($current_ids, $ids)) { foreach (Partner::findAll($ids_removed) as $partner) { $model->unlink('partners', $partner, true); } } }
/** * Run the migrations. * * @return void */ public function up() { Schema::create('partners', function (Blueprint $table) { $table->increments('id'); $table->string('slug'); $table->string('company'); $table->string('website'); $table->string('slogan')->nullable(); $table->text('bio')->nullable(); $table->text('tags')->nullable(); $table->text('options')->nullable(); $table->text('contacts')->nullable(); $table->string('photo')->nullable(); $table->timestamps(); $table->timestamp('published')->nullable(); $table->softDeletes(); }); Partner::create(['company' => 'TAGITM', 'slug' => 'tagitm', 'website' => 'http://www.tagitm.org', 'slogan' => '', 'photo' => '/images/partners/tagitm.png', 'published' => Carbon::create(2015, 00, 28, 15, 05, 29)]); }
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request, ReserveRoomRepository $reserveRoomRepo) { $roomTypes = BookingRoomTypes::all(); $firstRoomType = $roomTypes->last(); $now = new \DateTime('now'); $startdate = $request->get('startdate', $now->format('Y-m-d')); $enddate = $request->get('enddate', $now->add(new \DateInterval('P10D'))->format('Y-m-d')); $room_type_id = $request->get('room_type_id', $firstRoomType->room_type_id); $reservation = new Reservation(); if ($request->has('reserve_code')) { $reserve_code = $request->get('reserve_code'); $reservation = Reservation::where('reserve_code', $reserve_code)->get()->first(); } $calendar = $reserveRoomRepo->findReserveRoomsByRangeAndRoomType($startdate, $enddate, $room_type_id); $dates = Calendar::getInclusiveDates($startdate, $enddate); $partners = Partner::all(); $request->flash(); $cardTypes = ['AMEX', 'JBC', 'Visa', 'Mastercard', 'BDO Card', 'Express Net', 'Megalink', 'BancNet', 'BPI']; return view('reservations.index', compact('calendar', 'roomTypes', 'dates', 'startdate', 'enddate', 'reservation', 'partners', 'cardTypes')); }
/** * Updates an existing Task model. * If update is successful, the browser will be redirected to the 'update' page. * @param integer $id * @return mixed */ public function actionUpdate($id = null, $partner_id = null) { if ($id) { $model = $this->findModel($id); } else { $model = new Task(); } if ($model->load(Yii::$app->request->post()) && $model->save()) { Yii::$app->session->setFlash('success', __('Your changes have been saved successfully.')); return $this->redirect(['index']); } else { if (!$id) { $model->timestamp = Yii::$app->formatter->asDate(time()); $model->user_id = Yii::$app->user->id; if ($partner_id) { $model->select_partner = Partner::findOne($partner_id); } } return $this->renderAjax('update', ['model' => $model]); } }
public function getPartner() { return $this->hasOne(Partner::className(), ['id' => 'partner_id']); }
/** * Finds the Partner model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Partner the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Partner::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function getPartners() { return $this->hasMany(Partner::className(), ['parent_id' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getPartners() { return $this->hasMany(Partner::className(), ['ID_TypePatrner' => 'ID']); }
public function getPartnersCount() { return Partner::find()->joinWith('mailingListPartners')->where(['list_id' => $this->id])->count(); }
protected function conference($route, $event) { $venue = Venue::where('slug', '=', $event->venue_slug)->published()->get(); $venue = !empty($venue[0]) ? (object) $venue[0]->toArray() : null; $options = Helpers::options($route, $event->slug, $event); // dd($options); $navs = Helpers::navigation($route, $options); $sub = Helpers::navigation($route, $options, true); $partners = (object) ['companies' => null, 'text' => null]; if (!empty($event->partners)) { $undo = Helpers::unserialize($event->partners); $companies = Partner::where(function ($query) use($undo) { foreach ($undo['partners'] as $i => $slug) { if ($i === 0) { $query->where('slug', '=', $slug); } else { $query->orWhere('slug', '=', $slug); } } })->published()->orderBy('company')->get(); if (!empty($undo['text'])) { $partners->text = $undo['text']; } if (is_object($companies)) { $partners->companies = []; foreach ($companies as $i => $company) { $partners->companies[] = (object) $company->toArray(); } } } $unfilteredTopics = Topic::where('conference_slug', '=', $event->slug)->published()->get(); $topics = []; foreach ($unfilteredTopics as $topic) { $topics[] = [$topic->title => $topic->text]; } if ((bool) $options->topics_by_alpha === true) { sort($topics); } //dd($topics); $agendasRaw = Agenda::where('conference_slug', '=', $event->slug)->published()->orderBy('timeslot')->orderBy('priority')->get(); $speakerList = []; $agendas = []; if (is_object($agendasRaw)) { foreach ($agendasRaw as $i => $agenda) { $agenda = (object) $agenda->toArray(); list($date, $time) = explode(' ', $agenda->timeslot); if (!empty($agenda->speakers)) { // $agenda->speakers = Helpers::unserialize($agenda->speakers); // dd($agenda->speakers); $agendaSpeakers = explode(',', $agenda->speakers); $agenda->speakers = []; if (is_array($agendaSpeakers)) { foreach ($agendaSpeakers as $s) { @(list($speakerType, $speakerSlug) = @explode('|', $s)); $agenda->speakers[$speakerType][] = $speakerSlug; } // dd($agenda->speakers); } } $agendas[$date][$time][] = $agenda; if (!empty($agenda->speakers)) { $speakersTypes = $agenda->speakers; if (is_array($speakersTypes)) { ksort($speakersTypes); // dd($speakersTypes); foreach ($speakersTypes as $speakers) { $speakerList = array_merge($speakerList, $speakers); } } } } } // dd($agendas); if (count($speakerList) > 0) { $speakers = Speaker::where(function ($query) use($speakerList) { $query->where('slug', '=', array_pop($speakerList)); while (count($speakerList) > 0) { $query->orWhere('slug', '=', array_pop($speakerList)); } })->published()->orderBy('last_name')->get(); $speakers = Helpers::keysByField($speakers, 'slug', function ($value, $key, $field, $array, $toObj) { $value->sessions = []; return $value; }, true); } if ((bool) $options->sponsor_levels === true) { $sponsors = Lookup::lookup('sponsors', ['conference_slug' => $event->slug], ['published' => true, 'sponsorlevels' => true]); } else { $sponsors = Lookup::lookup('sponsors', ['conference_slug' => $event->slug], ['published' => true]); } // dd($options); return view('pages/conference', compact('event', 'venue', 'partners', 'topics', 'agendas', 'speakers', 'sponsors', 'options', 'navs', 'sub')); }
protected function conference($route, $event) { $venue = Venue::where('slug', '=', $event->venue_slug)->published()->get(); $venue = !empty($venue[0]) ? (object) $venue[0]->toArray() : null; $event->options = !empty($event->options) ? Helpers::unserialize($event->options) : []; $options = Helpers::options($route, 'conference', $event->options); $options = (array) $options; foreach ($options as $key => $option) { if (is_string($option) && preg_match("/^([a-z]+):([a-z]+)\$/i", $option)) { list($foo, $bar) = explode(':', $option); $options[$key] = ${$foo}->{$bar}; } } $options = (object) $options; // dd($options); $navs = Helpers::navigation($route, $options); $sub = Helpers::navigation($route, $options, true); $partners = (object) ['companies' => null, 'text' => null]; if (!empty($event->partners)) { $undo = Helpers::unserialize($event->partners); $companies = Partner::where(function ($query) use($undo) { foreach ($undo['partners'] as $i => $slug) { if ($i === 0) { $query->where('slug', '=', $slug); } else { $query->orWhere('slug', '=', $slug); } } })->published()->orderBy('company')->get(); if (!empty($undo['text'])) { $partners->text = $undo['text']; } if (is_object($companies)) { $partners->companies = []; foreach ($companies as $i => $company) { $partners->companies[] = (object) $company->toArray(); } } } $agendasRaw = Agenda::where('conference_id', '=', $event->id)->published()->orderBy('timeslot')->orderBy('priority')->get(); $speakerList = []; $agendas = []; if (is_object($agendasRaw)) { foreach ($agendasRaw as $i => $agenda) { $agenda = (object) $agenda->toArray(); list($date, $time) = explode(' ', $agenda->timeslot); if (!empty($agenda->speakers)) { $agenda->speakers = Helpers::unserialize($agenda->speakers); } $agendas[$date][$time][] = $agenda; if (!empty($agenda->speakers)) { $speakersTypes = $agenda->speakers; if (is_array($speakersTypes)) { ksort($speakersTypes); foreach ($speakersTypes as $speakers) { $speakerList = array_merge($speakerList, $speakers); } } } } } if (count($speakerList) > 0) { $speakers = Speaker::where(function ($query) use($speakerList) { $query->where('slug', '=', array_pop($speakerList)); while (count($speakerList) > 0) { $query->orWhere('slug', '=', array_pop($speakerList)); } })->published()->orderBy('last_name')->get(); $speakers = Helpers::keysByField($speakers, 'slug', function ($value, $key, $field, $array, $toObj) { $value->sessions = []; return $value; }, true); } if ((bool) $options->sponsorlevels === true) { $sponsors = Lookup::lookup('sponsors', ['conference' => $event->id], ['published' => true, 'sponsorlevels' => true]); } else { $sponsors = Lookup::lookup('sponsors', ['conference' => $event->id], ['published' => true]); } // dd($sponsors); return view('pages/conference', compact('event', 'venue', 'partners', 'agendas', 'speakers', 'sponsors', 'options', 'navs', 'sub')); }
<div class="tab-content"> <div id="home" class="tab-pane fade in active"> <h3>HOME</h3> <p>Please choose an area and complete a workflow.</p> </div> <div id="partners" class="tab-pane fade"> <h3>Partners</h3> <p>A list of active partners with details, locations, and available products, services etc.</p> <p>Partner Table: <?php echo Html::a('Here', ['partner/index']); ?> </p> <ul> <?php foreach (Partner::find()->each() as $partner) { echo "<li> " . Html::a($partner->name, $partner->url) . "</li>"; } ?> </ul> </div> <div id="opps" class="tab-pane fade"> <h3>Opportunities</h3> <p>A List of validated budget holders with confirmed budget sizes and purchasing priorities.</p> <p>Opportunities Table: <?php echo Html::a('Here', ['lead/index']); ?> </p> <ul>
</div> <div class="col-md-3"> <?php echo $form->field($model, 'bill_no')->textInput(); ?> </div> <div class="col-md-2"> <?php echo $form->field($model, 'budget_id')->dropdownList(ArrayHelper::map(Budget::find()->all(), 'id', 'name'), ['id' => 'budget_id', 'prompt' => '--- เลือกข้อมูล ---', 'required' => '']); ?> </div> </div> <div class="row"> <div class="col-md-3"> <?php echo $form->field($model, 'partner_id')->dropdownList(ArrayHelper::map(Partner::find()->all(), 'id', 'name'), ['id' => 'partner_id', 'prompt' => '--- เลือกข้อมูล ---', 'required' => '']); ?> </div> <div class="col-md-2"> </div> </div> <table cellpadding="6" cellspacing="1" style="width:100%" border="0" class="table table-bordered"> <tr> <th>#</th> <th width="700">รายการวัสดุ</th> <th>ราคา/หน่วย</th> <th>จำนวน</th> <th style="text-align:right">รวม</th> <th colspan="2"></th>
// echo $this->render('_search', ['model' => $searchModel]); ?> <div class="row"> <div class="col-md-1"> <p> <?php echo Html::a('รับเข้าวัสดุ ', ['create'], ['class' => 'btn btn-success fa fa-plus']); ?> </p> </div> <div class="col-md-3"> <p> <?php echo Html::a('จ่ายพัสดุ', ['ream'], ['class' => 'btn btn-success fa fa-share']); ?> </p> </div> <div class="col-md-3"> </div> </div> <?php echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'panel' => ['before' => ' '], 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'id', ['label' => 'บริษัท', 'format' => 'raw', 'value' => 'partnername', 'filter' => Html::activeDropDownList($searchModel, 'partner_id', ArrayHelper::map(Partner::find()->asArray()->all(), 'id', 'name'), ['class' => 'form-control', 'prompt' => 'Select Category'])], ['attribute' => 'd_date', 'width' => '300px', 'filterType' => GridView::FILTER_DATE, 'filterWidgetOptions' => ['options' => ['placeholder' => 'Enter date ...'], 'type' => DatePicker::TYPE_COMPONENT_APPEND, 'pluginOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd']]], ['attribute' => 'is_admin', 'format' => 'html', 'value' => function ($data) { return "<a href='" . Url::to('index.php?r=site/report&id=' . $data->id) . "'>พิมพ์ใบสั่งซื้อ</a>"; }], ['class' => 'yii\\grid\\ActionColumn']]]); ?> </div>
public function getPartnersCount() { return Partner::find()->joinWith('tags')->where(['tag_id' => $this->id])->count(); }
public function post() { if (!$this->input->is_ajax_request()) { $this->_403(); } if ($this->input->post('action') == 'update-manager') { $user = new ExtraUser($this->input->post('id')); if (!($uinfo = $user->get())) { Json::error('Invalid user!'); } try { $password = null; if ($this->input->post('password')) { $password = Secure::password($this->input->post('password'), $uinfo['username']); } $valid = new FormValidator(); $valid->is('Name', $this->input->post('name'))->required()->alnum('- \\.')->length(5, 100)->push('name'); $valid->is('Email', $this->input->post('email'))->required()->email()->length(5, 100)->push('email'); if ($password) { $valid->is('Password', $password)->length(5, 100)->push('password'); } $data = $valid->data(); $user->update($data); if ($password) { (new NotifyPartnerAccount())->update($uinfo['_id'], UserSession::get('user._id')); } // Update Session UserSession::set('user.manager', $user->get()); Json::success('User details updated!', null, array('user' => (new User($uinfo['_id']))->get())); } catch (\Exception $e) { Json::error($e->getMessage()); } } else { $user = new Partner($this->input->post('id')); if (!($uinfo = $user->get())) { Json::error('Invalid user!'); } try { $password = null; if ($this->input->post('password')) { $password = Secure::password($this->input->post('password'), $uinfo['username']); } $valid = new FormValidator(); $valid->is('Name', $this->input->post('name'))->required()->alnum('- \\.')->length(5, 100)->push('name'); $valid->is('Email', $this->input->post('email'))->required()->email()->length(5, 100)->push('email'); $valid->is('Contact', $this->input->post('phone'))->required()->length(3, 100)->push('phone'); $valid->is('Company Name', $this->input->post('company_name'))->required()->length(5, 100)->push('company_name'); $valid->is('Company Address', $this->input->post('company_address'))->required()->length(10, 100)->push('company_address'); $valid->is('Company Website', $this->input->post('company_url'))->required()->length(5, 100)->push('company_url'); if ($password) { $valid->is('Password', $password)->length(5, 100)->push('password'); } $data = $valid->data(); $user->update($data); if ($password) { (new NotifyPartnerAccount())->update($uinfo['_id'], UserSession::get('user._id')); } // Update Session UserSession::set('user', $user->get()); Json::success('User details updated!', null, array('user' => (new User($uinfo['_id']))->get())); } catch (\Exception $e) { Json::error($e->getMessage()); } } }
public function actionPartner(int $type) { $this->getView()->title = $type ? '合作伙伴' : '案例分析'; $partener = Partner::find()->where('type = :type', [':type' => $type])->all(); return $this->render('partner', array('parteners' => $partener, 'type' => $type)); }