public function run($filter = null) { $query = array("name" => new MongoRegex("/" . $_POST['name'] . "/i")); $res = array(); if (strcmp($filter, Person::COLLECTION) != 0) { $allCitoyen = PHDB::find(PHType::TYPE_CITOYEN, $query, array("name")); foreach ($allCitoyen as $key => $value) { $profil = Document::getLastImageByKey($key, Person::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $value["imagePath"] = $profil; } $allCitoyen[$key] = $value; } $res["citoyen"] = $allCitoyen; } if (strcmp($filter, Organization::COLLECTION) != 0) { $allOrganizations = PHDB::find(Organization::COLLECTION, $query, array("name", "type")); foreach ($allOrganizations as $key => $value) { $profil = Document::getLastImageByKey($key, Organization::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $value["imagePath"] = $profil; } $allOrganizations[$key] = $value; } $res["organization"] = $allOrganizations; } if (strcmp($filter, Event::COLLECTION) != 0) { $allEvents = PHDB::find(PHType::TYPE_EVENTS, $query, array("name")); foreach ($allEvents as $key => $value) { $profil = Document::getLastImageByKey($key, Event::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $value["imagePath"] = $profil; } $allEvents[$key] = $value; } $res["event"] = $allEvents; } if (strcmp($filter, Project::COLLECTION) != 0) { $allProject = PHDB::find(Project::COLLECTION, $query, array("name")); foreach ($allProject as $key => $value) { $profil = Document::getLastImageByKey($key, Project::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $value["imagePath"] = $profil; } $allProject[$key] = $value; } $res["project"] = $allProject; } Rest::json($res); Yii::app()->end(); }
public function run($type) { if (!in_array($type, $this->typeAvailable)) { throw new CTKException("The type " . $type . " can not be managed."); } $criterias = array(); foreach ($_POST as $key => $value) { $criterias[$key] = $value; } $search = Search::findByCriterias($type, $criterias, "name", 10); foreach ($search as $key => $value) { $profil = Document::getLastImageByKey($key, Person::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $value["imagePath"] = $profil; } $search[$key] = $value; } return Rest::json(array("result" => true, "list" => $search)); }
public function run() { $query = array('$or' => array(array("email" => new MongoRegex("/" . $_POST['search'] . "/i")), array("name" => new MongoRegex("/" . $_POST['search'] . "/i")))); $allCitoyens = PHDB::findAndSort(PHType::TYPE_CITOYEN, $query, array("name" => 1), 6); $limitOrganization = 12 - count($allCitoyens); $allOrganization = PHDB::findAndSort(Organization::COLLECTION, $query, array("name" => 1), $limitOrganization, array("_id", "name", "type", "address", "email", "links", "imagePath")); foreach ($allCitoyens as $key => $value) { $logo = Document::getLastImageByKey($key, Person::COLLECTION, Document::IMG_LOGO); if ($logo != "") { $value["logo"] = $logo; } $allCitoyens[$key] = $value; } foreach ($allOrganization as $key => $value) { $logo = Document::getLastImageByKey($key, Organization::COLLECTION, Document::IMG_LOGO); if ($logo != "") { $value["logo"] = $logo; } $allOrganization[$key] = $value; } $all = array("citoyens" => $allCitoyens, "organizations" => $allOrganization); Rest::json($all); Yii::app()->end(); }
/** * Dashboard Organization */ public function run($id) { $controller = $this->getController(); if (empty($id)) { throw new CTKException(Yii::t("organisation", "The organization id is mandatory to retrieve the organization !")); } $organization = Organization::getPublicData($id); $events = Organization::listEventsPublicAgenda($id); $members = array("citoyens" => array(), "organizations" => array()); $controller->title = isset($organization["name"]) ? $organization["name"] : ""; $controller->subTitle = isset($organization["shortDescripion"]) ? $organization["shortDescripion"] : ""; $controller->pageTitle = "Organization " . $controller->title . " - " . $controller->subTitle; if (isset($organization["_id"]) && isset(Yii::app()->session["userId"]) && Link::isLinked((string) $organization["_id"], Organization::COLLECTION, Yii::app()->session["userId"])) { $controller->toolbarMBZ = array("<li id='linkBtns'><a href='javascript:;' class='removeMemberBtn text-red tooltips' data-name='" . $organization["name"] . "' data-memberof-id='" . $organization["_id"] . "' data-member-type='" . Person::COLLECTION . "' data-member-id='" . Yii::app()->session["userId"] . "' data-placement='top' data-original-title='Remove from my Organizations' ><i class='disconnectBtnIcon fa fa-unlink'></i>NOT MEMBER</a></li>"); } else { $controller->toolbarMBZ = array("<li id='linkBtns'><a href='javascript:;' class='connectBtn tooltips ' id='addMeAsMemberInfo' data-placement='top' data-original-title='I'm member of this organization' ><i class=' connectBtnIcon fa fa-link '></i>I'M MEMBER</a></li>"); } $contentKeyBase = Yii::app()->controller->id . "." . Yii::app()->controller->action->id; $limit = array(Document::IMG_PROFIL => 1, Document::IMG_MEDIA => 5); $images = Document::getListDocumentsURLByContentKey($id, $contentKeyBase, Document::DOC_TYPE_IMAGE, $limit); $params = array("organization" => $organization); $params["contentKeyBase"] = $contentKeyBase; $params["images"] = $images; $params["events"] = $events; $contextMap = array(); $contextMap["organization"] = $organization; $contextMap["events"] = array(); $contextMap["organizations"] = array(); $contextMap["people"] = array(); $organizations = Organization::getMembersByOrganizationId($id, Organization::COLLECTION); $people = Organization::getMembersByOrganizationId($id, Person::COLLECTION); foreach ($organizations as $key => $value) { $newOrga = Organization::getById($key); array_push($contextMap["organizations"], $newOrga); array_push($members["organizations"], $newOrga); } foreach ($events as $key => $value) { $newEvent = Event::getById($key); array_push($contextMap["events"], $newEvent); } foreach ($people as $key => $value) { $newCitoyen = Person::getById($key); $profil = Document::getLastImageByKey($key, Person::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $newCitoyen["imagePath"] = $profil; } array_push($contextMap["people"], $newCitoyen); array_push($members["citoyens"], $newCitoyen); } $params["members"] = $members; $params["contextMap"] = $contextMap; //list $params["tags"] = Tags::getActiveTags(); $lists = Lists::get(array("public", "typeIntervention", "organisationTypes")); $params["public"] = $lists["public"]; $params["organizationTypes"] = $lists["organisationTypes"]; $params["typeIntervention"] = $lists["typeIntervention"]; $params["countries"] = OpenData::getCountriesList(); //Plaquette de présentation $listPlaquette = Document::listDocumentByCategory($id, Organization::COLLECTION, Document::CATEGORY_PLAQUETTE, array('created' => 1)); $params["plaquette"] = reset($listPlaquette); $controller->title = isset($organization["name"]) ? $organization["name"] : ""; $controller->render("dashboard", $params); }
public function actionSimple() { $this->layout = "//layouts/mainSimple"; $params = array(); //get The person Id $id = Yii::app()->session["userId"]; /* ************************************** * PERSON ***************************************** */ $person = Person::getPublicData($id); $this->title = (isset($person["name"]) ? $person["name"] : "") . "'s Directory"; $this->subTitle = isset($person["description"]) ? $person["description"] : ""; $this->pageTitle = ucfirst($this->module->id) . " - " . $this->title; /* ************************************** * EVENTS ***************************************** */ $events = Authorisation::listEventsIamAdminOf($id); $eventsAttending = Event::listEventAttending($id); foreach ($eventsAttending as $key => $value) { $eventId = (string) $value["_id"]; if (!isset($events[$eventId])) { $events[$eventId] = $value; } } //TODO - SBAR : Pour le dashboard person, affiche t-on les événements des associations dont je suis memebre ? //Get the organization where i am member of; /* ************************************** * ORGANIZATIONS ***************************************** */ $organizations = array(); if (isset($person["links"]) && isset($person["links"]["memberOf"])) { foreach ($person["links"]["memberOf"] as $key => $member) { $organization; if ($member['type'] == Organization::COLLECTION) { $organization = Organization::getPublicData($key); $profil = Document::getLastImageByKey($key, Organization::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $organization["imagePath"] = $profil; } array_push($organizations, $organization); } if (isset($organization["links"]["events"])) { foreach ($organization["links"]["events"] as $keyEv => $valueEv) { $event = Event::getPublicData($keyEv); $profil = Document::getLastImageByKey($keyEv, Event::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $event["imagePath"] = $profil; } $events[$keyEv] = $event; } } } //$randomOrganizationId = array_rand($subOrganizationIds); //$randomOrganization = Organization::getById( $subOrganizationIds[$randomOrganizationId] ); //$params["randomOrganization"] = $randomOrganization; } /* ************************************** * PEOPLE ***************************************** */ $people = array(); if (isset($person["links"]) && isset($person["links"]["knows"])) { foreach ($person["links"]["knows"] as $key => $member) { if ($member['type'] == Person::COLLECTION) { $citoyen = Person::getPublicData($key); $profil = Document::getLastImageByKey($key, Person::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $citoyen["imagePath"] = $profil; } array_push($people, $citoyen); } } } /* ************************************** * PROJECTS ***************************************** */ $projects = array(); if (isset($person["links"]["projects"])) { foreach ($person["links"]["projects"] as $key => $value) { $project = Project::getPublicData($key); array_push($projects, $project); } } $params["person"] = $person; $params["organizations"] = $organizations; $params["projects"] = $projects; $params["events"] = $events; $params["people"] = $people; $this->render("index", $params); }
public function run($insee = null) { $controller = $this->getController(); //get The person Id if (empty($id)) { if (empty(Yii::app()->session["userId"])) { $controller->redirect(Yii::app()->homeUrl); } else { $id = Yii::app()->session["userId"]; } } $person = Person::getPublicData($id); $contentKeyBase = Yii::app()->controller->id . "." . Yii::app()->controller->action->id; $limit = array(Document::IMG_PROFIL => 1, Document::IMG_MEDIA => 5); $images = Document::getListDocumentsURLByContentKey($id, $contentKeyBase, Document::DOC_TYPE_IMAGE, $limit); $params = array("person" => $person); $params['images'] = $images; $params["contentKeyBase"] = $contentKeyBase; $controller->sidebar1 = array(array('label' => "ACCUEIL", "key" => "home", "iconClass" => "fa fa-home", "href" => "communecter/person/dashboard/id/" . $id)); $controller->title = "City Dashboard : " . $insee; $controller->subTitle = isset($person["description"]) ? $person["description"] : ""; $controller->pageTitle = ucfirst($controller->module->id) . " - Informations publiques de " . $controller->title; //Get Projects $projects = array(); if (isset($person["links"]["projects"])) { foreach ($person["links"]["projects"] as $key => $value) { $project = Project::getPublicData($key); array_push($projects, $project); } } //Get the Events $events = Authorisation::listEventsIamAdminOf($id); $eventsAttending = Event::listEventAttending($id); foreach ($eventsAttending as $key => $value) { $eventId = (string) $value["_id"]; if (!isset($events[$eventId])) { $events[$eventId] = $value; } } $tags = PHDB::findOne(PHType::TYPE_LISTS, array("name" => "tags"), array('list')); //TODO - SBAR : Pour le dashboard person, affiche t-on les événements des associations dont je suis memebre ? //Get the organization where i am member of; $organizations = array(); if (isset($person["links"]) && isset($person["links"]["memberOf"])) { foreach ($person["links"]["memberOf"] as $key => $member) { $organization; if ($member['type'] == Organization::COLLECTION) { $organization = Organization::getPublicData($key); $profil = Document::getLastImageByKey($key, Organization::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $organization["imagePath"] = $profil; } array_push($organizations, $organization); } if (isset($organization["links"]["events"])) { foreach ($organization["links"]["events"] as $keyEv => $valueEv) { $event = Event::getPublicData($keyEv); $events[$keyEv] = $event; } } } //$randomOrganizationId = array_rand($subOrganizationIds); //$randomOrganization = Organization::getById( $subOrganizationIds[$randomOrganizationId] ); //$params["randomOrganization"] = $randomOrganization; } $people = array(); if (isset($person["links"]) && isset($person["links"]["knows"])) { foreach ($person["links"]["knows"] as $key => $member) { $citoyen; if ($member['type'] == PHType::TYPE_CITOYEN) { $citoyen = Person::getPublicData($key); $profil = Document::getLastImageByKey($key, Person::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $citoyen["imagePath"] = $profil; } array_push($people, $citoyen); } } } $params["tags"] = $tags; $params["organizations"] = $organizations; $params["projects"] = $projects; $params["events"] = $events; $params["people"] = $people; $params["insee"] = $insee; $controller->render("dashboard", $params); }
/** * List all the event the userId is adminOf * A user can be admin of an event if : * 1/ He is attendee + admin of the event * 2/ He is admin of an organization organizing an event * 3/ He is admin of an organization that can edit it members (canEditMembers flag) * and the organizations members is organizing the event * @param String $userId The userId to get the authorisation of * @return array List of EventId (String) the user is admin of */ public static function listEventsIamAdminOf($userId) { $eventList = array(); //event i'am admin $where = array("links.attendees." . $userId . ".isAdmin" => true); $eventList = PHDB::find(PHType::TYPE_EVENTS, $where); //events of organization i'am admin $listOrganizationAdmin = Authorisation::listUserOrganizationAdmin($userId); foreach ($listOrganizationAdmin as $organizationId => $organization) { $eventOrganization = Organization::listEventsPublicAgenda($organizationId); foreach ($eventOrganization as $eventId => $eventValue) { $eventList[$eventId] = $eventValue; } } foreach ($eventList as $key => $value) { $profil = Document::getLastImageByKey($key, PHType::TYPE_EVENTS, Document::IMG_PROFIL); if ($profil != "") { $value['imagePath'] = $profil; } } return $eventList; }
public static function listEventsPublicAgenda($organizationId) { $events = array(); $organization = Organization::getById($organizationId); if (isset($organization["links"]["events"])) { foreach ($organization["links"]["events"] as $keyEv => $valueEv) { $event = Event::getPublicData($keyEv); $events[$keyEv] = $event; } } //Specific case : if canEditMember if (Authorisation::canEditMembersData($organizationId)) { $subOrganization = Organization::getMembersByOrganizationId($organizationId, Organization::COLLECTION); foreach ($subOrganization as $key => $value) { $newOrganization = Organization::getById($key); if (!empty($newOrganization) && isset($newOrganization["links"]["events"])) { foreach ($newOrganization["links"]["events"] as $keyEv => $valueEv) { $event = Event::getPublicData($keyEv); $events[$keyEv] = $event; } } } } foreach ($events as $key => $value) { $profil = Document::getLastImageByKey($key, PHType::TYPE_EVENTS, Document::IMG_PROFIL); if ($profil != "") { $value['imagePath'] = $profil; } } return $events; }
public function run($id = null) { $controller = $this->getController(); //get The person Id if (empty($id)) { if (empty(Yii::app()->session["userId"])) { $controller->redirect(Yii::app()->homeUrl); } else { $id = Yii::app()->session["userId"]; } } $person = Person::getPublicData($id); $contentKeyBase = Yii::app()->controller->id . "." . Yii::app()->controller->action->id; $limit = array(Document::IMG_PROFIL => 1, Document::IMG_MEDIA => 5); $images = Document::getListDocumentsURLByContentKey($id, $contentKeyBase, Document::DOC_TYPE_IMAGE, $limit); $params = array("person" => $person); $params['images'] = $images; $params["contentKeyBase"] = $contentKeyBase; $controller->sidebar1 = array(array('label' => "ACCUEIL", "key" => "home", "iconClass" => "fa fa-home", "href" => "communecter/person/dashboard/id/" . $id)); $controller->title = (isset($person["name"]) ? $person["name"] : "") . "'s Dashboard"; $controller->subTitle = isset($person["description"]) ? $person["description"] : ""; $controller->pageTitle = ucfirst($controller->module->id) . " - Informations publiques de " . $controller->title; //$controller->pageTitle = "Citoyens ".$controller->title." - ".$controller->subTitle; if (isset($person["_id"]) && isset(Yii::app()->session["userId"]) && $person["_id"] != Yii::app()->session["userId"]) { if (isset($person["_id"]) && isset(Yii::app()->session["userId"]) && Link::isConnected(Yii::app()->session['userId'], PHType::TYPE_CITOYEN, (string) $person["_id"], PHType::TYPE_CITOYEN)) { $controller->toolbarMBZ = array("<li id='linkBtns'><a href='javascript:;' class='disconnectBtn text-red tooltips' data-name='" . $person["name"] . "' data-id='" . $person["_id"] . "' data-type='" . Person::COLLECTION . "' data-ownerlink='" . link::person2person . "' data-placement='top' data-original-title='Remove from my contact' ><i class='disconnectBtnIcon fa fa-unlink'></i>UNFOLLOW</a></li>"); } else { $controller->toolbarMBZ = array("<li id='linkBtns'><a href='javascript:;' class='connectBtn tooltips ' id='addKnowsRelation' data-ownerlink='" . link::person2person . "' data-placement='top' data-original-title='I know this person' ><i class=' connectBtnIcon fa fa-link '></i>FOLLOW</a></li>"); } } //Get Projects $projects = array(); if (isset($person["links"]["projects"])) { foreach ($person["links"]["projects"] as $key => $value) { $project = Project::getPublicData($key); array_push($projects, $project); } } //Get the Events $events = Authorisation::listEventsIamAdminOf($id); $eventsAttending = Event::listEventAttending($id); foreach ($eventsAttending as $key => $value) { $eventId = (string) $value["_id"]; if (!isset($events[$eventId])) { $events[$eventId] = $value; } } //TODO - SBAR : Pour le dashboard person, affiche t-on les événements des associations dont je suis memebre ? //Get the organization where i am member of; $organizations = array(); if (isset($person["links"]) && isset($person["links"]["memberOf"])) { foreach ($person["links"]["memberOf"] as $key => $member) { $organization; if ($member['type'] == Organization::COLLECTION) { $organization = Organization::getPublicData($key); $profil = Document::getLastImageByKey($key, Organization::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $organization["imagePath"] = $profil; } array_push($organizations, $organization); } if (isset($organization["links"]["events"])) { foreach ($organization["links"]["events"] as $keyEv => $valueEv) { $event = Event::getPublicData($keyEv); $events[$keyEv] = $event; } } } //$randomOrganizationId = array_rand($subOrganizationIds); //$randomOrganization = Organization::getById( $subOrganizationIds[$randomOrganizationId] ); //$params["randomOrganization"] = $randomOrganization; } $people = array(); if (isset($person["links"]) && isset($person["links"]["knows"])) { foreach ($person["links"]["knows"] as $key => $member) { $citoyen; if ($member['type'] == PHType::TYPE_CITOYEN) { $citoyen = Person::getPublicData($key); $profil = Document::getLastImageByKey($key, Person::COLLECTION, Document::IMG_PROFIL); if ($profil != "") { $citoyen["imagePath"] = $profil; } array_push($people, $citoyen); } } } $params["countries"] = OpenData::getCountriesList(); $params["listCodeOrga"] = Lists::get(array("organisationTypes")); $params["tags"] = Tags::getActiveTags(); $params["organizations"] = $organizations; $params["projects"] = $projects; $params["events"] = $events; $params["people"] = $people; $controller->render("dashboard", $params); }
public static function addInfoEvents($events) { foreach ($events as $key => $value) { if (!empty($value["startDate"]) && !empty($value["endDate"])) { if (gettype($value["startDate"]) == "object" && gettype($value["endDate"]) == "object") { $events[$key]["startDate"] = date('Y-m-d h:i:s', $value["startDate"]->sec); $events[$key]["endDate"] = date('Y-m-d h:i:s', $value["endDate"]->sec); } else { //Manage old date with string on date value $now = time(); $yesterday = mktime(0, 0, 0, date("m"), date("d") - 1, date("Y")); $yester2day = mktime(0, 0, 0, date("m"), date("d") - 2, date("Y")); $events[$key]["endDate"] = date('Y-m-d h:i:s', $yesterday); $events[$key]["startDate"] = date('Y-m-d h:i:s', $yester2day); } } $events[$key]["organizer"] = ""; if (isset($value["links"])) { foreach ($value["links"] as $k => $v) { if ($k == "organizer") { foreach ($v as $organizerId => $val) { $organization = Organization::getById($organizerId); $events[$key]["organizer"] = $organization["name"]; } } } } $imageUrl = Document::getLastImageByKey($key, self::COLLECTION, ''); $events[$key]["imageUrl"] = $imageUrl; } return $events; }