public function email_notifications() { if (\WebAPL\Modules::checkInstance('person')) { $events = \CalendarModel::join(CalendarLangModel::getTableName(), \CalendarModel::getField('id'), '=', CalendarLangModel::getField('calendar_item_id'))->join(\CalendarGroup::getTableName(), \CalendarGroup::getField('id'), '=', \CalendarModel::getField('calendar_group_id'))->join(\CalendarPostModel::getTableName(), \CalendarPostModel::getField('calendar_group_id'), '=', \CalendarGroup::getField('id'))->where(CalendarLangModel::getField('lang_id'), \WebAPL\Language::getId())->where(\CalendarModel::getField('enabled'), 1)->where(\CalendarModel::getField('person_id'), '<>', 0)->select(CalendarLangModel::getField("*"), \CalendarModel::getField('event_date'), \CalendarModel::getField('repeat_frequency'), \CalendarModel::getField('repeat_to_date'), \CalendarModel::getField('person_id'), \CalendarModel::getField('post_id'), \CalendarModel::getField('period'))->orderBy(\CalendarModel::getField('event_date'), 'asc')->where(function ($query) { $query->where(function ($query) { $query->where(DB::raw("DATE(" . CalendarModel::getField('event_date') . ")"), '=', DB::raw('DATE(CURRENT_TIMESTAMP)')); })->orWhere(function ($query) { $query->where(\CalendarModel::getField('event_date'), '<=', DB::raw('CURRENT_TIMESTAMP'))->where(\CalendarModel::getField('repeat_to_date'), '>=', DB::raw('CURRENT_TIMESTAMP'))->where(\CalendarModel::getField('repeat_frequency'), '<>', 'none'); }); })->get(); $event_list = \CalendarModel::generateEvents($events, false); $today_events = []; foreach ($event_list as $event) { if (date("Y-m-d", strtotime($event['event_date'])) === date("Y-m-d") && strtotime($event['event_date']) >= time()) { echo " sendone "; $today_events[] = $event; $this->loadClass(['PersonModel'], 'person'); $person = \PersonModel::getPerson($event['person_id']); if (isset($person->email) && $person->email) { Template::viewModule($this->module_name, function () use($person, $event) { \EmailModel::sendToAddress($person->email, "Do you have an event today", 'views.calendarEmail', ['person' => $person, 'event' => $event]); }); } } } } }
public static function answers($id) { $answers = PollAnswerLangModel::join(PollAnswerModel::getTableName(), PollAnswerModel::getField('id'), '=', PollAnswerLangModel::getField('answer_id'))->select(PollAnswerLangModel::getField('*'))->where(PollAnswerLangModel::getField('lang_id'), \WebAPL\Language::getId())->where(PollAnswerModel::getField('poll_id'), $id)->orderBy(PollAnswerModel::getField('ord'), 'asc')->get(); foreach ($answers as &$answer) { $answer['count'] = PollVotesModel::where(array('poll_id' => $id, 'answer_id' => $answer->answer_id))->count(); } return $answers; }
public function getlist() { \User::onlyHas('jobrequest-view'); $jqgrid = new jQgrid(\JobRequestModel::getTableName()); echo $jqgrid->populate(function ($start, $limit) { return \JobRequestModel::join(PostLang::getTableName(), \PostLang::getField('post_id'), '=', \JobRequestModel::getField('post_id'))->where(\PostLang::getField('lang_id'), \WebAPL\Language::getId())->select(\JobRequestModel::getField('id'), \PostLang::getField('title'), \JobRequestModel::getField('name'), \JobRequestModel::getField('cv_path'), \JobRequestModel::getField('date_created'))->skip($start)->take($limit)->orderBy(\JobRequestModel::getField('date_created'), 'desc')->get(); }); }
public function display() { \User::onlyHas('chat-view'); $data = array('person' => \PersonModel::where('user_id', \Auth::user()->id)->first()); if ($data['person']) { $tokenGen = new FireBaseAuth(\SettingsModel::one('firechat_key')); $data['token'] = $tokenGen->createToken(array("uid" => "person-{$data['person']->id}"), array("admin" => True)); $data['person_lang'] = $data['person']->langs()->where('lang_id', \WebAPL\Language::getId())->first(); return Template::moduleView($this->module_name, 'views.chat-display', $data); } else { throw new Exception('Person not found'); } }
public function soclist() { \User::onlyHas('socialc-view'); $pages = \Post::join(\PostLang::getTableName(), \PostLang::getField('post_id'), '=', \Post::getField('id'))->where(\PostLang::getField('lang_id'), \WebAPL\Language::getId())->where(\Post::getField('taxonomy_id'), 1)->orderBy(\PostLang::getField('title'), 'desc')->get(); $page_list = array(); $page_json = array(); foreach ($pages as $page) { $page_list[] = "{$page->post_id}:{$page->title}"; $page_json[$page->post_id] = $page->title; } $data['pagesString'] = implode(';', $page_list); $data['pagesJson'] = json_encode($page_json); $this->layout->content = Template::moduleView($this->module_name, 'views.list', $data); return $this->layout; }
public static function getPostPersonGroups($post_id) { $groups = PersonGroup::join(PersonGroupPostModel::getTableName(), PersonGroupPostModel::getField("group_id"), '=', PersonGroup::getField("id"))->join(PersonGroupLang::getTableName(), PersonGroupLang::getField("group_id"), '=', PersonGroup::getField('id'))->where(PersonGroupLang::getField("lang_id"), \WebAPL\Language::getId())->where(PersonGroupPostModel::getField("post_id"), $post_id)->select(PersonGroupLang::getField('name'), PersonGroupLang::getField('description'), PersonGroup::getField("id"))->get(); if ($groups) { foreach ($groups as &$group) { $persons = PersonModel::personPrepare()->where(PersonRelModel::getField("group_id"), $group->id)->get(); foreach ($persons as &$person) { if ($person->feed_id) { $person['posts'] = \Post::postsFeed($person->feed_id); } else { $person['posts'] = array(); } } $group['persons'] = $persons; } } return $groups; }
public function postCreate() { User::onlyHas('var-create'); $parent_key = Input::get('parent_key'); $var_langs = Input::get('text'); $key = VarModel::uniqKey(Input::get('key'), Input::get('text.' . \WebAPL\Language::getId())); $var = new VarModel(); $var->key = $key; $var->parent_key = $parent_key; $var->save(); foreach ($var_langs as $lang_id => $value) { $var_lang = new VarLangModel(); $var_lang->var_key = $key; $var_lang->lang_id = $lang_id; $var_lang->value = $value; $var_lang->save(); } Log::info("Created new var '{$key}'"); return Redirect::back(); }
public function topost($id) { $post = Post::find($id); if ($post) { switch ($post->taxonomy_id) { case 1: $uri = Post::getFullURI($post->id, true); return Redirect::to($uri); case 2: $feed = FeedPost::where('post_id', $post->id)->first(); if ($feed) { $page = Post::where('feed_id', $feed->feed_id)->first(); if ($page) { $viewmods = WebAPL\Template::getViewMethodList('page'); $uri = Post::getFullURI($page->id, true); if (isset($viewmods[$page->view_mod]['support_item']) && $viewmods[$page->view_mod]['support_item']) { $plang = PostLang::where('post_id', $post->id)->where('lang_id', \WebAPL\Language::getId())->first(); if ($plang) { $url = $uri . "?item=" . $plang->uri; } else { $url = $uri; } } else { $url = $uri; } return Redirect::to($url); } else { throw new Exception("Not found page, post #{$id}"); } } else { throw new Exception("Not found feed, post #{$id}"); } break; default: throw new Exception("Not found taxonomy, post #{$id}"); break; } } else { throw new Exception("Post not found #{$id}"); } }
public static function prepareQuery() { return VarModel::join(VarLangModel::getTableName(), VarLangModel::getField('var_key'), '=', VarModel::getField('key'))->select(VarLangModel::getField('*'), DB::raw(VarModel::getField('id') . " as vid"), VarModel::getField('parent_key'), VarModel::getField('key'))->where(VarLangModel::getField('lang_id'), \WebAPL\Language::getId()); }
public function subscribe() { $data = array('persons' => PersonModel::join(PersonLangModel::getTableName(), PersonLangModel::getField('person_id'), '=', PersonModel::getField('id'))->select(PersonModel::getField('id'), PersonLangModel::getField('first_name'), PersonLangModel::getField('last_name'))->orderBy(PersonLangModel::getField('first_name'))->where(PersonLangModel::getField('lang_id'), \WebAPL\Language::getId())->get()); return View::make('person::block_subscribe', $data); }
public function getlist() { \User::onlyHas('calendar-view'); $jqgrid = new jQgrid('apl_calendar_item'); echo $jqgrid->populate(function ($start, $limit) { return CalendarModel::select(CalendarModel::$ftable . '.id', CalendarModel::$ftable . '.event_date', CalendarLangModel::$ftable . '.title', CalendarModel::$ftable . '.period', CalendarModel::$ftable . '.enabled')->leftJoin(CalendarLangModel::$ftable, CalendarLangModel::$ftable . '.calendar_item_id', '=', CalendarModel::$ftable . '.id')->where(CalendarLangModel::$ftable . '.lang_id', \WebAPL\Language::getId())->skip($start)->take($limit)->get(); }); }
/** * Get list of answers jqgrid * @param int $poll_id * @param int $lang_id * @return json */ public function getlist_answer($poll_lang_id) { User::onlyHas('poll-view'); $jqgrid = new jQgrid('apl_poll_answer'); return $jqgrid->populate(function ($start, $limit) use($poll_lang_id) { $answers = PollAnswerModel::select(PollAnswerModel::getField('id'), PollAnswerModel::getField('poll_id'), PollAnswerModel::getField('ord'), PollAnswerLangModel::getField('title'))->join(\PollAnswerLangModel::getTableName(), PollAnswerModel::getField('id'), '=', \PollAnswerLangModel::getField('answer_id'))->where(array(\PollAnswerLangModel::getField('lang_id') => \WebAPL\Language::getId()))->skip($start)->take($limit)->where(array('poll_id' => $poll_lang_id))->orderBy('ord', 'asc')->get(); $list = []; foreach ($answers as $answer) { $list[] = array('id' => $answer->id, 'title' => $answer->title, 'count' => PollVotesModel::where(array('poll_id' => $answer->poll_id, 'answer_id' => $answer->id))->count(), 'ord' => $answer->ord); } return $list; }); }
public function sendmail() { $session_id = \Session::get('chat_session_id'); $html = \Input::get('messages'); if ($session_id) { $chat = \FireChatSession::find($session_id); if ($chat) { $data['html'] = $html; $person = \PersonLangModel::where('person_id', $chat->person_id)->where('lang_id', \WebAPL\Language::getId())->first(); Template::viewModule($this->module_name, function () use($data, $chat, $person) { \Mail::send('views.email-mess', $data, function ($message) use($chat, $person) { $message->from("noreply@{$_SERVER['SERVER_NAME']}", 'WebLPA'); $message->subject("Discutie on-line cu " . $person->first_name . " " . $person->last_name . " din " . date("Y-m-d H:i")); $message->to($chat->user_email); }); }); } } }
public function page_group_attachment($post) { if (in_array($post->view_mod, array('persons_list', 'city_councilors', 'persons_big', 'persons_secretar', 'persons_mayor', 'group_with_persons', 'persons_with_photo'))) { $wdata = array('post' => $post->toArray(), 'person_groups' => PersonGroup::join(PersonGroupLang::getTableName(), PersonGroupLang::getField("group_id"), '=', PersonGroup::getField('id'))->select(PersonGroup::getField("id"), PersonGroupLang::getField("name"))->where(PersonGroupLang::getField("lang_id"), \WebAPL\Language::getId())->orderBy(\PersonGroupLang::getField('name'), 'asc')->get()->toArray(), 'selected_groups' => array()); $selected_groups = PersonGroupPostModel::where('post_id', $post->id)->get(); foreach ($selected_groups as $item) { $wdata['selected_groups'][] = $item->group_id; } echo Template::moduleView($this->module_name, 'views.attachment-group-page', $wdata); } }