コード例 #1
0
ファイル: IndexTest.php プロジェクト: nistormihai/Newscoop
    public function testAddDirectory()
    {
        $index = new Extension_Index;

        $this->assertEquals(array(), $index->getDirs());

        $this->assertEquals($index, $index->addDirectory(dirname(__FILE__)));
        $this->assertEquals($index, $index->addDirectory(dirname(__FILE__)));

        $this->assertEquals(array(dirname(__FILE__)), $index->getDirs());

        return $index;
    }
コード例 #2
0
ファイル: WidgetManager.php プロジェクト: nidzix/Newscoop
 /**
  * Get available widgets for user
  * @param int|NULL $uid
  * @return array of IWidget
  */
 public static function GetAvailable($uid = NULL)
 {
     global $g_user;
     if ($uid === NULL) {
         $uid = $g_user->getId();
     }
     // get all widget extensions
     $index = new Extension_Index();
     $extensions = $index->addDirectory(WWW_DIR . self::ExtPath())->find('IWidget');
     // filter not-available (used)
     $widgets = array();
     foreach ($extensions as $extension) {
         $widget = WidgetManagerDecorator::GetByExtension($extension);
         if ($widget->isAvailable($uid)) {
             $widgets[] = $widget;
         }
     }
     return $widgets;
 }