project->getById($project_id); $types = array_merge( $this->projectNotificationType->getHiddenTypes(), $this->projectNotificationType->getSelectedTypes($project_id) ); foreach ($types as $type) { $this->projectNotificationType->getType($type)->notifyProject($project, $event_name, $event_data); } } /** * Save settings for the given project * * @access public * @param integer $project_id * @param array $values */ public function saveSettings($project_id, array $values) { $this->db->startTransaction(); $types = empty($values['notification_types']) ? array() : array_keys($values['notification_types']); $this->projectNotificationType->saveSelectedTypes($project_id, $types); $this->db->closeTransaction(); } /** * Read user settings to display the form * * @access public * @param integer $project_id * @return array */ public function readSettings($project_id) { return array( 'notification_types' => $this->projectNotificationType->getSelectedTypes($project_id), ); } }