Example #1
0
 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;
 }
Example #2
0
 /**
  * get list of persons for jqgrid
  * @return json
  */
 public function getlist()
 {
     User::onlyHas('person-view');
     $jqgrid = new jQgrid('apl_person', 'person_id');
     echo $jqgrid->populate(function ($start, $limit) {
         $persons = PersonLangModel::select('person_id', 'first_name', 'last_name')->where('lang_id', Language::getId())->skip($start)->take($limit)->orderBy(DB::raw(\PersonLangModel::getField('first_name') . ', ' . \PersonLangModel::getField('last_name')), 'asc')->get();
         foreach ($persons as &$person) {
             $groups = \PersonRelModel::join(\PersonGroupLang::getTableName(), \PersonRelModel::getField('group_id'), '=', \PersonGroupLang::getField('group_id'))->select(\PersonGroupLang::getField('name'))->where(\PersonRelModel::getField('person_id'), $person->person_id)->where(\PersonGroupLang::getField('lang_id'), '=', \WebAPL\Language::getId())->get();
             $array_groups = [];
             foreach ($groups as $group) {
                 $array_groups[] = $group->name;
             }
             $person['group'] = $array_groups ? implode(', ', $array_groups) : '---';
         }
         return $persons;
     });
 }