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 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); } }