1<?php 2 3/* Copyright (c) 1998-2015 ILIAS open source, Extended GPL, see docs/LICENSE */ 4 5/** 6 * Factory for user action providers 7 * 8 * @author Alex Killing <alex.killing@gmx.de> 9 * @version $Id$ 10 * @ingroup ServicesUser 11 */ 12class ilUserActionProviderFactory 13{ 14 protected static $providers = array( 15 array( 16 "component" => "Services/Contact/BuddySystem", 17 "class" => "ilContactUserActionProvider" 18 ), 19 array( 20 "component" => "Services/User/Actions", 21 "class" => "ilMailUserActionProvider" 22 ), 23 array( 24 "component" => "Services/User/Actions", 25 "class" => "ilUserUserActionProvider" 26 ), 27 array( 28 "component" => "Services/User/Actions", 29 "class" => "ilWorkspaceUserActionProvider" 30 ), 31 array( 32 "component" => "Services/User/Actions", 33 "class" => "ilChatUserActionProvider" 34 ), 35 array( 36 "component" => "Modules/Group/UserActions", 37 "class" => "ilGroupUserActionProvider" 38 ) 39 40 ); 41 42 /** 43 * Get all action providers 44 * 45 * @return ilUserActionProvider[] all providers 46 */ 47 public static function getAllProviders() 48 { 49 $providers = array(); 50 51 foreach (self::$providers as $p) { 52 $dir = (isset($p["dir"])) 53 ? $p["dir"] 54 : "classes"; 55 include_once("./" . $p["component"] . "/" . $dir . "/class." . $p["class"] . ".php"); 56 $providers[] = new $p["class"](); 57 } 58 59 return $providers; 60 } 61} 62