[eGroupWare-svn] r56046 - in /trunk/resources: inc/ setup/ sitemgr/

[email protected] Thu, 05 May 2016 20:22:04 -0000
Newsgroups gmane.comp.web.egroupware.cvs
Message-ID <[email protected]>
Author: nathangray
Date: Thu May  5 22:22:04 2016
New Revision: 56046

URL: http://svn.stylite.de/viewvc/egroupware?rev=56046&view=rev
Log:
Move resources to new API

Removed:
    trunk/resources/inc/class.resources_select_widget.inc.php
    trunk/resources/setup/etemplates.inc.php
Modified:
    trunk/resources/inc/class.bo_acl.inc.php
    trunk/resources/inc/class.resources_bo.inc.php
    trunk/resources/inc/class.resources_egw_record.inc.php
    trunk/resources/inc/class.resources_export_csv.inc.php
    trunk/resources/inc/class.resources_hooks.inc.php
    trunk/resources/inc/class.resources_import_csv.inc.php
    trunk/resources/inc/class.resources_reserve.inc.php
    trunk/resources/inc/class.resources_so.inc.php
    trunk/resources/inc/class.resources_tracking.inc.php
    trunk/resources/inc/class.resources_ui.inc.php
    trunk/resources/inc/class.resources_wizard_export_csv.inc.php
    trunk/resources/inc/class.resources_wizard_import_csv.inc.php
    trunk/resources/inc/class.ui_acl.inc.php
    trunk/resources/setup/default_records.inc.php
    trunk/resources/setup/setup.inc.php
    trunk/resources/setup/tables_update.inc.php
    trunk/resources/sitemgr/class.module_resources_reservation.inc.php

Modified: trunk/resources/inc/class.bo_acl.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.bo_acl.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.bo_acl.inc.php (original)
+++ trunk/resources/inc/class.bo_acl.inc.php Thu May  5 22:22:04 2016
@@ -2,11 +2,14 @@
 /**
  * EGroupWare - resources
  *
- * @license http://www.gnu.org/licenses/gpl.html GNU General Public License
+ * @license http://www.gnu.org/licenses/gpl.Api\Html GNU General Public License
  * @package resources
  * @link http://www.egroupware.org
  * @version $Id$
  */
+
+use EGroupware\Api;
+use EGroupware\Api\Acl;
 
 /**
  * ACL business object for resources
@@ -30,7 +33,7 @@
 	/**
 	 * Instance of categories class for resources
 	 *
-	 * @var categories
+	 * @var egw_cats
 	 */
 	var $egw_cats;
 
@@ -46,7 +49,7 @@
 		define('EGW_ACL_DIRECT_BOOKING',128);
 		define('EGW_ACL_CALREAD',256);
 
-		$this->egw_cats = new categories($user, 'resources');
+		$this->egw_cats = new Api\Categories($user, 'resources');
 		$this->debug = False;
 
 		//all this is only needed when called from uiacl.
@@ -86,7 +89,7 @@
 	* get list of cats where current user has given rights
 	*
 	* @author Cornelius Weiss <[email protected]>
-	* @param int $perm_type one of EGW_ACL_READ, EGW_ACL_ADD, EGW_ACL_EDIT, EGW_ACL_DELETE, EGW_ACL_DIRECT_BOOKING
+	* @param int $perm_type one of Acl::READ, Acl::ADD, Acl::EDIT, Acl::DELETE, EGW_ACL_DIRECT_BOOKING
 	* @param int $parent_id=0 cat_id of parent to return only children of that category
 	* @return array cat_id => cat_name
 	* TODO mark subcats and so on!
@@ -186,7 +189,7 @@
 	/**
 	 * checks one of the following rights for current user:
 	 *
-	 * EGW_ACL_READ, EGW_ACL_ADD, EGW_ACL_EDIT, EGW_ACL_DELETE, EGW_ACL_DIRECT_BOOKING
+	 * Acl::READ, Acl::ADD, Acl::EDIT, Acl::DELETE, EGW_ACL_DIRECT_BOOKING
 	 *
 	 * @param int $cat_id
 	 * @param int $right
@@ -226,12 +229,12 @@
 			'limit' => $this->limit,
 		);
 		if($this->debug) { echo '<br>Read:'; _debug_array($data); }
-		$GLOBALS['egw']->session->appsession('session_data','resources_acl',$data);
+		Api\Cache::setSession('resources_acl', 'session_data', $data);
 	}
 
 	function read_sessiondata()
 	{
-		$data = $GLOBALS['egw']->session->appsession('session_data','resources_acl');
+		$data = Api\Cache::getSession('resources_acl', 'session_data');
 		if($this->debug) { echo '<br>Read:'; _debug_array($data); }
 
 		$this->start  = $data['start'];
@@ -258,8 +261,8 @@
 		{
 			$account_id = $account['account_id'];
 			$rights = false;
-			$rights = in_array($account_id,$readcat) ? ($rights | EGW_ACL_READ) : false;
-			$rights = in_array($account_id,$writecat) ? ($rights | EGW_ACL_READ | EGW_ACL_ADD | EGW_ACL_EDIT | EGW_ACL_DELETE): $rights;
+			$rights = in_array($account_id,$readcat) ? ($rights | Acl::READ) : false;
+			$rights = in_array($account_id,$writecat) ? ($rights | Acl::READ | Acl::ADD | Acl::EDIT | Acl::DELETE): $rights;
 			$rights = in_array($account_id,$calreadcat) ? ($rights | EGW_ACL_CALREAD) : $rights;
 			$rights = in_array($account_id,$calbookcat) ? ($rights | EGW_ACL_DIRECT_BOOKING | EGW_ACL_CALREAD) : $rights;
 			$rights = in_array($account_id,$admincat) ? ($rights = 511) : $rights;

Modified: trunk/resources/inc/class.resources_bo.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_bo.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_bo.inc.php (original)
+++ trunk/resources/inc/class.resources_bo.inc.php Thu May  5 22:22:04 2016
@@ -10,6 +10,11 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
+use EGroupware\Api\Link;
+use EGroupware\Api\Egw;
+use EGroupware\Api\Acl;
+use EGroupware\Api\Vfs;
 
 /**
  * General business object for resources
@@ -29,13 +34,13 @@
 	 */
 	var $so;
 	/**
-	 * Instance of resources acl class
+	 * Instance of resources Acl class
 	 *
 	 * @var bo_acl
 	 */
 	var $acl;
 	/**
-	 * Instance of categories class for resources
+	 * Instance of Api\Categories class for resources
 	 */
 	var $cats;
 
@@ -69,7 +74,7 @@
 	/**
 	 * Constructor
 	 *
-	 * @param int $user=null account_id of user to use for acl, default current user
+	 * @param int $user=null account_id of user to use for Acl, default current user
 	 */
 	function __construct($user=null)
 	{
@@ -78,9 +83,9 @@
 		$this->cats = $this->acl->egw_cats;
 
 		$this->cal_right_transform = array(
-			EGW_ACL_CALREAD 	=> EGW_ACL_READ,
-			EGW_ACL_DIRECT_BOOKING 	=> EGW_ACL_READ | EGW_ACL_ADD | EGW_ACL_EDIT | EGW_ACL_DELETE,
-			EGW_ACL_CAT_ADMIN 	=> EGW_ACL_READ | EGW_ACL_ADD | EGW_ACL_EDIT | EGW_ACL_DELETE,
+			EGW_ACL_CALREAD 	=> Acl::READ,
+			EGW_ACL_DIRECT_BOOKING 	=> Acl::READ | Acl::ADD | Acl::EDIT | Acl::DELETE,
+			EGW_ACL_CAT_ADMIN 	=> Acl::READ | Acl::ADD | Acl::EDIT | Acl::DELETE,
 		);
 	}
 
@@ -93,11 +98,11 @@
 	{
 		if(!$query['csv_export'])
 		{
-			$GLOBALS['egw']->session->appsession('session_data','resources_index_nm',$query);
+			Api\Cache::setSession('resources', 'index_nm', $query);
 		}
 		if ($query['store_state'])	// request to store state in session and filter in prefs?
 		{
-			egw_cache::setSession('resources',$query['store_state'],$query);
+			Api\Cache::setSession('resources',$query['store_state'],$query);
 			//echo "<p>".__METHOD__."() query[filter]=$query[filter], prefs[resources][filter]={$GLOBALS['egw_info']['user']['preferences']['resources']['filter']}</p>\n";
 			if ($query['filter'] != $GLOBALS['egw_info']['user']['preferences']['resources']['filter'])
 			{
@@ -147,7 +152,7 @@
 
 		if ($query['filter'])
 		{
-			if (($children = $this->acl->get_cats(EGW_ACL_READ,$query['filter'])))
+			if (($children = $this->acl->get_cats(Acl::READ,$query['filter'])))
 			{
 				$filter['cat_id'] = array_keys($children);
 				$filter['cat_id'][] = $query['filter'];
@@ -157,7 +162,7 @@
 				$filter['cat_id'] = $query['filter'];
 			}
 		}
-		elseif (($readcats = $this->acl->get_cats(EGW_ACL_READ)))
+		elseif (($readcats = $this->acl->get_cats(Acl::READ)))
 		{
 			$filter['cat_id'] = array_keys($readcats);
 		}
@@ -189,10 +194,10 @@
 			return $nr;
 		}
 
-		$config = config::read('resources');
+		$config = Api\Config::read('resources');
 		foreach($rows as $num => &$resource)
 		{
-			if (!$this->acl->is_permitted($resource['cat_id'],EGW_ACL_EDIT))
+			if (!$this->acl->is_permitted($resource['cat_id'],Acl::EDIT))
 			{
 				$readonlys["edit[$resource[res_id]]"] = true;
 			}
@@ -200,14 +205,14 @@
 			{
 				$resource['class'] .= 'deleted ';
 			}
-			if (!$this->acl->is_permitted($resource['cat_id'],EGW_ACL_DELETE) ||
+			if (!$this->acl->is_permitted($resource['cat_id'],Acl::DELETE) ||
 				($resource['deleted'] && !$GLOBALS['egw_info']['user']['apps']['admin'] && $config['history'] == 'history')
 			)
 			{
 				$readonlys["delete[$resource[res_id]]"] = true;
 				$resource['class'] .= 'no_delete ';
 			}
-			if ((!$this->acl->is_permitted($resource['cat_id'],EGW_ACL_ADD)) ||
+			if ((!$this->acl->is_permitted($resource['cat_id'],Acl::ADD)) ||
 				// Allow new accessory action when viewing accessories of a certain resource
 				$query['filter2'] <= 0 && $resource['accessory_of'] != -1)
 			{
@@ -266,7 +271,7 @@
 			$rows[$num]['admin'] = $this->acl->get_cat_admin($resource['cat_id']);
 		}
 
-		if(!config::get_customfields('resources'))
+		if(!Api\Storage\Customfields::get('resources'))
 		{
 			$rows['no_customfields'] = true;
 		}
@@ -286,7 +291,7 @@
 		{
 			return null;	// not found
 		}
-		if (!$this->acl->is_permitted($data['cat_id'],EGW_ACL_READ))
+		if (!$this->acl->is_permitted($data['cat_id'],Acl::READ))
 		{
 			return false;	// permission denied
 		}
@@ -302,7 +307,7 @@
 	 */
 	function save($resource)
 	{
-		if(!$this->acl->is_permitted($resource['cat_id'],EGW_ACL_EDIT))
+		if(!$this->acl->is_permitted($resource['cat_id'],Acl::EDIT))
 		{
 			return lang('You are not permitted to edit this resource!');
 		}
@@ -311,13 +316,13 @@
 		if(!$resource['res_id'])
 		{
 			$resource['res_owner'] = $GLOBALS['egw_info']['user']['account_id'];
-			$resource['res_created'] = egw_time::server2user(time(),'ts');
+			$resource['res_created'] = Api\DateTime::server2user(time(),'ts');
 			$resource['res_id'] = $this->so->save($resource);
 		}
 		else
 		{
 			$resource['res_modifier'] = $GLOBALS['egw_info']['user']['account_id'];
-			$resource['res_modified'] = egw_time::server2user(time(),'ts');
+			$resource['res_modified'] = Api\DateTime::server2user(time(),'ts');
 			$old = $this->read($resource['res_id']);
 		}
 
@@ -360,7 +365,7 @@
 		// Check for restore of deleted, restore held links
                 if($old && $old['deleted'] && !$resource['deleted'])
                 {
-                        egw_link::restore('resources', $resource['res_id']);
+                        Link::restore('resources', $resource['res_id']);
                 }
 
 		// delete old pictures
@@ -370,22 +375,22 @@
 		}
 
 		// Update link title
-		egw_link::notify_update('resources',$resource['res_id'], $resource);
+		Link::notify_update('resources',$resource['res_id'], $resource);
 		// save links
 		if(is_array($resource['link_to']['to_id']))
 		{
-			egw_link::link('resources',$resource['res_id'],$resource['link_to']['to_id']);
+			Link::link('resources',$resource['res_id'],$resource['link_to']['to_id']);
 		}
 		if($resource['accessory_of'] != $old['accessory_of'])
 		{
-			egw_link::unlink(0,'resources',$resource['res_id'],'','resources',$old['accessory_of']);
+			Link::unlink(0,'resources',$resource['res_id'],'','resources',$old['accessory_of']);
 
 			// Check for resource changing to accessory - move its accessories to resource
 			if($old['accessory_of'] == -1 && $accessories = $this->get_acc_list($resource['res_id']))
 			{
 				foreach($accessories as $accessory => $name)
 				{
-					egw_link::unlink(0,'resources',$accessory,'','resources',$resource['res_id']);
+					Link::unlink(0,'resources',$accessory,'','resources',$resource['res_id']);
 					$acc = $this->read($accessory);
 					$acc['accessory_of'] = -1;
 					$this->so->save($acc);
@@ -394,7 +399,7 @@
 		}
 		if($resource['accessory_of'] != -1)
 		{
-			egw_link::link('resources',$resource['res_id'],'resources',$resource['accessory_of']);
+			Link::link('resources',$resource['res_id'],'resources',$resource['accessory_of']);
 		}
 
 		if(!empty($resource['res_id']) && $this->so->get_value("cat_id",$resource['res_id']) != $resource['cat_id'] && $resource['accessory_of'] == -1)
@@ -432,19 +437,19 @@
 	 */
 	function delete($res_id)
 	{
-		if(!$this->acl->is_permitted($this->so->get_value('cat_id',$res_id),EGW_ACL_DELETE))
+		if(!$this->acl->is_permitted($this->so->get_value('cat_id',$res_id),Acl::DELETE))
 		{
 			return lang('You are not permitted to delete this resource!');
 		}
 
 		// check if we only mark resources as deleted, or really delete them
 		$old = $this->read($res_id);
-		$config = config::read('resources');
+		$config = Api\Config::read('resources');
 		if ($config['history'] != '' && $old['deleted'] == null)
 		{
 			$old['deleted'] = time();
 			$this->save($old);
-			egw_link::unlink(0,'resources',$res_id,'','','',true);
+			Link::unlink(0,'resources',$res_id,'','','',true);
 			$accessories = $this->get_acc_list($res_id);
 			foreach($accessories as $acc_id => $name)
 			{
@@ -454,7 +459,7 @@
 				{
 					$acc['deleted'] = time();
 					$this->save($acc);
-					egw_link::unlink(0,'resources',$acc_id,'','','',true);
+					Link::unlink(0,'resources',$acc_id,'','','',true);
 				}
 			}
 			return false;
@@ -472,7 +477,7 @@
 				}
 			};
 			$this->remove_picture($res_id);
-	 		egw_link::unlink(0,'resources',$res_id);
+	 		Link::unlink(0,'resources',$res_id);
 	 		// delete the resource from the calendar
 	 		ExecMethod('calendar.calendar_so.deleteaccount','r'.$res_id);
 	 		return false;
@@ -533,7 +538,7 @@
 			$resource['responsible'] = $this->acl->get_cat_admin($resource['cat_id']);
 
 			// preseed the cache
-			egw_link::set_cache('resources',$resource['res_id'],$t=$this->link_title($resource));
+			Link::set_cache('resources',$resource['res_id'],$t=$this->link_title($resource));
 		}
 		return $data;
 	}
@@ -577,13 +582,13 @@
 		$only_keys = 'res_id,name,short_description,bookable,useable';
 
 		// If no read access to any category, just stop
-		if(!$this->acl->get_cats(EGW_ACL_READ))
+		if(!$this->acl->get_cats(Acl::READ))
 		{
 			$options['total'] = 0;
 			return array();
 		}
 		$filter = array(
-			'cat_id' => array_flip((array)$this->acl->get_cats(EGW_ACL_READ)),
+			'cat_id' => array_flip((array)$this->acl->get_cats(Acl::READ)),
 			//'accessory_of' => '-1'
 			'deleted' => null
 		);
@@ -610,11 +615,11 @@
 				{
 					$this->bocal = new calendar_bo();
 				}
-				$start = new egw_time($cal_info['start']);
+				$start = new Api\DateTime($cal_info['start']);
 				$startarr= getdate($start->format('ts'));
 				if (isset($cal_info['whole_day']) && $cal_info['whole_day']) {
 					$startarr['hour'] = $startarr['minute'] = 0;
-					$start = new egw_time($startarr);
+					$start = new Api\DateTime($startarr);
 					$end = $start->format('ts') + 86399;
 				} else {
 					$start = $start->format('ts');
@@ -717,7 +722,7 @@
 		{
 			if (!($resource  = $this->read(array('res_id' => $resource)))) return $resource;
 		}
-		elseif (!$this->acl->is_permitted($resource['cat_id'],EGW_ACL_READ))
+		elseif (!$this->acl->is_permitted($resource['cat_id'],Acl::READ))
 		{
 			return false;
 		}
@@ -748,7 +753,7 @@
 				$titles[$resource['res_id']] = $this->link_title($resource);
 			}
 		}
-		// we assume all not returned contacts are not readable for the user (as we report all deleted contacts to egw_link)
+		// we assume all not returned contacts are not readable for the user (as we report all deleted contacts to Link)
 		foreach($ids as $id)
 		{
 			if (!isset($titles[$id]))
@@ -790,7 +795,7 @@
 		imagejpeg($src_img,$tmp_name);
 		imagedestroy($src_img);
 
-		egw_link::attach_file('resources',$resouce_id,array(
+		Link::attach_file('resources',$resouce_id,array(
 			'tmp_name' => $tmp_name,
 			'name'     => self::PICTURE_NAME,
 			'type'     => 'image/jpeg',
@@ -811,22 +816,21 @@
 		switch($resource['picture_src'])
 		{
 			case 'own_src':
-				$picture = egw_link::vfs_path('resources',$resource['res_id'],self::PICTURE_NAME,true);	// vfs path
+				$picture = Link::vfs_path('resources',$resource['res_id'],self::PICTURE_NAME,true);	// vfs path
 				if ($fullsize)
 				{
-					$picture = egw::link(egw_vfs::download_url($picture));
+					$picture = Egw::link(Vfs::download_url($picture));
 				}
 				else
 				{
-					$picture = egw::link('/etemplate/thumbnail.php', array(
+					$picture = Egw::link('/api/thumbnail.php', array(
 						'path' => $picture
 					),false);
 				}
 				break;
 
 			case 'cat_src':
-				list($picture) = $this->cats->return_single($resource['cat_id']);
-				$picture = unserialize($picture['data']);
+				$picture = Api\Categories::id2name($resource['cat_id'], 'data');
 				if($picture['icon'])
 				{
 					$picture = !$fullsize?$GLOBALS['egw_info']['server']['webserver_url'].'/phpgwapi/images/'.$picture['icon']:'/phpgwapi/images/'.$picture['icon'];
@@ -851,7 +855,7 @@
 	 */
 	function remove_picture($res_id)
 	{
-		if (($arr = egw_link::delete_attached('resources',$res_id,self::PICTURE_NAME)) && is_array($arr))
+		if (($arr = Link::delete_attached('resources',$res_id,self::PICTURE_NAME)) && is_array($arr))
 		{
 			return array_shift($arr);	// $arr = array($path => (bool)$ok);
 		}

Modified: trunk/resources/inc/class.resources_egw_record.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_egw_record.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_egw_record.inc.php (original)
+++ trunk/resources/inc/class.resources_egw_record.inc.php Thu May  5 22:22:04 2016
@@ -22,8 +22,8 @@
 	private $record = array();
 	
 	static $types = array(
-                'date-time'     => array(),
-                'select-cat'    => array('cat_id'),
+		'date-time'     => array(),
+		'select-cat'    => array('cat_id'),
 		'select-bool'   => array('bookable'),
 		// Links is field name => app name
 		'links' => array('accessory_of' => 'resources')

Modified: trunk/resources/inc/class.resources_export_csv.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_export_csv.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_export_csv.inc.php (original)
+++ trunk/resources/inc/class.resources_export_csv.inc.php Thu May  5 22:22:04 2016
@@ -11,6 +11,9 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
+use EGroupware\Api\Acl;
+
 /**
  * export resources to CSV
  */
@@ -34,7 +37,7 @@
 		$selection = array();
 		if ($options['selection'] == 'search') {
 			// ui selection with checkbox 'selected'
-			$query = egw_cache::getSession('resources', 'get_rows');
+			$query = Api\Cache::getSession('resources', 'get_rows');
 			$query['num_rows'] = -1;	// all
 			unset($query['store_state']);
 			$query['csv_export'] = true;	// so get_rows method _can_ produce different content or not store state in the session
@@ -83,7 +86,7 @@
 
 		// Check if we need to load the custom fields
 		$need_custom = false;
-		foreach(config::get_customfields('resources') as $field => $settings) {
+		foreach(Api\Storage\Customfields::get('resources') as $field => $settings) {
 			if($options['mapping']['#'.$field]) {
 				$need_custom = true;
 				break;
@@ -179,7 +182,7 @@
 		// In resources, not all categories are used
 		$filters['cat_id']['type'] = 'select';
 		$filters['cat_id']['name'] = 'filter';
-		$filters['cat_id']['values']= (array)$this->bo->acl->get_cats(EGW_ACL_READ);
+		$filters['cat_id']['values']= (array)$this->bo->acl->get_cats(Acl::READ);
 
 		// Add in resources / accessories
 		$filters['filter2'] = array(

Modified: trunk/resources/inc/class.resources_hooks.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_hooks.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_hooks.inc.php (original)
+++ trunk/resources/inc/class.resources_hooks.inc.php Thu May  5 22:22:04 2016
@@ -10,6 +10,11 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
+use EGroupware\Api\Framework;
+use EGroupware\Api\Egw;
+use EGroupware\Api\Acl;
+
 /**
  * General hook object for resources
  * It encapsulats all the diffent hook methods
@@ -27,17 +32,17 @@
 		if ($location == 'sidebox_menu')
 		{
 			// Magic etemplate2 favorites menu (from nextmatch widget)
-			display_sidebox($appname, lang('Favorites'), egw_framework::favorite_list($appname, 'nextmatch-resources.show.rows-favorite'));
+			display_sidebox($appname, lang('Favorites'), Framework\Favorites::list_favorites($appname, 'nextmatch-resources.show.rows-favorite'));
 
 			$title = $GLOBALS['egw_info']['apps']['resources']['title'].' '.lang('Menu');
 			$file = array(
-				'Resources list' => egw::link('/index.php',array(
+				'Resources list' => Egw::link('/index.php',array(
 				'menuaction' => 'resources.resources_ui.index',
 				'ajax' => 'true')),
 			);
-			if($this->acl->get_cats(EGW_ACL_ADD))
-			{
-				$file['Add resource'] = "javascript:egw_openWindowCentered2('".egw::link('/index.php',array(
+			if($this->acl->get_cats(Acl::ADD))
+			{
+				$file['Add resource'] = "javascript:egw_openWindowCentered2('".Egw::link('/index.php',array(
 						'menuaction' => 'resources.resources_ui.edit',
 						'accessory_of' => -1
 					),false)."','_blank',800,600,'yes')";
@@ -48,12 +53,12 @@
 		if ($GLOBALS['egw_info']['user']['apps']['admin'])
 		{
 			$file = Array(
-				'Site Configuration' => egw::link('/index.php','menuaction=admin.admin_config.index&appname=' . $appname.'&ajax=true'),
-				'Global Categories'  => egw::link('/index.php',array(
+				'Site Configuration' => Egw::link('/index.php','menuaction=admin.admin_config.index&appname=' . $appname.'&ajax=true'),
+				'Global Categories'  => Egw::link('/index.php',array(
 					'menuaction' => 'admin.admin_categories.index',
 					'appname'    => $appname,
 					'global_cats'=> true)),
-				'Configure Access Permissions' => egw::link('/index.php',
+				'Configure Access Permissions' => Egw::link('/index.php',
 					'menuaction=resources.ui_acl.acllist'),
 				'Custom Fields'=>egw::link('/index.php',
 					'menuaction=admin.customfields.index&appname=resources'),
@@ -112,14 +117,14 @@
 	 */
 	function delete_category($args)
 	{
-		$cat = categories::read($args['cat_id']);
+		$cat = Api\Categories::read($args['cat_id']);
 
 		if(!$cat) return; // Can't find current cat?
 
 		if($cat['parent'] == 0)
 		{
 			// No parent, try the default cat from setup
-			$categories = new categories('', 'resources');
+			$categories = new Api\Categories('', 'resources');
 			$default = $categories->name2id('General resources');
 			if($default)
 			{
@@ -214,7 +219,7 @@
 	}
 
 	/**
-	 * Hook to tell framework we use only global categories (return link data in that case and false otherwise)
+	 * Hook to tell framework we use only global Api\Categories (return link data in that case and false otherwise)
 	 *
 	 * @param string|array $data hook-data or location
 	 * @return boolean|array

Modified: trunk/resources/inc/class.resources_import_csv.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_import_csv.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_import_csv.inc.php (original)
+++ trunk/resources/inc/class.resources_import_csv.inc.php Thu May  5 22:22:04 2016
@@ -11,6 +11,7 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
 
 /**
  * class to import resources from CSV
@@ -191,7 +192,7 @@
 					}
 				}
 			default:
-				throw new egw_exception('Unsupported action');
+				throw new Api\Exception('Unsupported action');
 			
 		}
 	}

Modified: trunk/resources/inc/class.resources_reserve.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_reserve.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_reserve.inc.php (original)
+++ trunk/resources/inc/class.resources_reserve.inc.php Thu May  5 22:22:04 2016
@@ -10,6 +10,10 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
+use EGroupware\Api\Link;
+use EGroupware\Api\Framework;
+
 class resources_reserve {
 
 	public function __construct() {
@@ -22,7 +26,7 @@
 	 */
 	public function book($content = array(), $arguments = array())
 	{
-		egw_framework::validate_file('jscalendar','calendar');
+		Framework::includeJS('jscalendar','calendar');
 		$data = array();
 		$readonlys = array();
 		$display_days = $_GET['planner_days'] ? $_GET['planner_days'] : 3;
@@ -32,11 +36,11 @@
 			$register_code = ($_GET['confirm'] && preg_match('/^[0-9a-f]{32}$/',$_GET['confirm'])) ? $_GET['confirm'] : false;
 			if($register_code && $registration = registration_bo::confirm($register_code)) {
 				// Get calendar through link
-				$links = egw_link::get_links('registration', $registration['reg_id'],'calendar');
+				$links = Link::get_links('registration', $registration['reg_id'],'calendar');
 				$bo = new calendar_boupdate();
 				$data = $bo->read(current($links));
 
-				$addressbook = new addressbook_bo();
+				$addressbook = new Api\Contacts();
 				$data += $addressbook->read(key($data['participant_types']['c']));
 
 				// Show date of reservation, so they can see it blocked off
@@ -50,7 +54,7 @@
 					'quantity' => 0
 				);
 				calendar_so::split_status($data['participant_types']['r'][$content['resource']], $content['quantity'],$role);
-				$data['msg']= '<div class="confirm">'.lang('Registration confirmed %1', egw_time::to($data['start'])) .'</div>';
+				$data['msg']= '<div class="confirm">'.lang('Registration confirmed %1', Api\DateTime::to($data['start'])) .'</div>';
 			} else {
 				$data['msg']= '<div class="confirm">'.lang('Unable to process confirmation.').'</div>';
 			}
@@ -83,7 +87,7 @@
 			// Use sitemgr's default appointment length
 			if($GLOBALS['egw_info']['user']['account_lid'] != $GLOBALS['sitemgr_info']['anonymous_user'])
 			{
-				$preferences = new preferences($GLOBALS['egw']->accounts->name2id($GLOBALS['sitemgr_info']['anonymous_user']));
+				$preferences = new Api\Preferences($GLOBALS['egw']->accounts->name2id($GLOBALS['sitemgr_info']['anonymous_user']));
 				$preferences = $preferences->read_repository();
 				$duration = $preferences['calendar']['defaultlength'] * 60;
 			}
@@ -93,7 +97,7 @@
 			}
 			$end_time = $start_time + $duration;
 
-			$config = config::read('registration');
+			$config = Api\Config::read('registration');
 
 			// Not a user, need contact
 			if($GLOBALS['egw_info']['user']['account_lid'] == $GLOBALS['sitemgr_info']['anonymous_user'] && !$content['contact_id'])
@@ -104,14 +108,14 @@
 					$content['private'] = 0;        // in case default_private is set
 				}
 
-				$addressbook = new addressbook_bo();
+				$addressbook = new Api\Contacts();
 				$contact_fields = $addressbook->contact_fields;
 				unset($contact_fields['email']); // Always present
 				unset($contact_fields['id']); // Address already there
 				if(array_intersect_key($contact_fields,$content)) {
 					$result = $addressbook->save($content);
 					if(!$result) {
-						throw new egw_exception_no_permission($addressbook->error);
+						throw new Api\Exception\NoPermission($addressbook->error);
 						return False;
 					}
 
@@ -129,7 +133,7 @@
 			if($contact) {
 				// Make event
 				$event = array(
-					'title' =>	egw_link::title('addressbook', $contact_id),
+					'title' =>	Link::title('addressbook', $contact_id),
 					'start' =>	$start_time,
 					'end' =>	$end_time,
 					'participants' => array(
@@ -160,7 +164,7 @@
 					$data += $content;
 					$data['msg'] = lang('Please choose a different time:')."\n";
 					foreach($freetime as $slot) {
-						$data['msg'] .= egw_time::to($slot['start']) . ' - ' . egw_time::to($slot['end'])."<br />\n";
+						$data['msg'] .= Api\DateTime::to($slot['start']) . ' - ' . Api\DateTime::to($slot['end'])."<br />\n";
 					}
 				}
 				elseif ($preserve['confirmation'] && $contact_id && $result)
@@ -175,21 +179,21 @@
 					if(is_numeric($reg_id))
 					{
 						// Link to event
-						egw_link::link('registration', $reg_id, 'calendar', $result);
+						Link::link('registration', $reg_id, 'calendar', $result);
 						$reg = registration_bo::read($reg_id);
 
 						// Send email
 						$email_info = $config + array(
 							'title' => $data['name'],
-							'subject' => $data['name'] . ' ' . egw_time::to($start_time),
+							'subject' => $data['name'] . ' ' . Api\DateTime::to($start_time),
 							'link' => $preserve['link'],
 						);
 						if($preserve['email_message'])
 						{
 							$email_info['message'] = lang($preserve['email_message'],
-								egw_time::to($start_time),
+								Api\DateTime::to($start_time),
 								$preserve['link'].'&confirm='.$reg['register_code'],
-								egw_time::to($reg['timestamp'])
+								Api\DateTime::to($reg['timestamp'])
 							);
 						}
 						$data['msg'] .= registration_bo::send_confirmation($email_info, $reg);
@@ -219,7 +223,7 @@
 		// Use sitemgr's default appointment length
 		if($GLOBALS['egw_info']['user']['account_lid'] != $GLOBALS['sitemgr_info']['anonymous_user'])
 		{
-			$preferences = new preferences($GLOBALS['egw']->accounts->name2id($GLOBALS['sitemgr_info']['anonymous_user']));
+			$preferences = new Api\Preferences($GLOBALS['egw']->accounts->name2id($GLOBALS['sitemgr_info']['anonymous_user']));
 			$preferences = $preferences->read_repository();
 			$data['duration'] = $preferences['calendar']['defaultlength'];
 		}
@@ -263,7 +267,7 @@
 	}
 
 	public function ajax_update_planner($resource_id, $date) {
-		$response = egw_json_response::get();
+		$response = Api\Json\Response::get();
 		$response->assign('exec[planner_div]','innerHTML',$this->get_planner(
 			$resource_id,
 			strtotime('yesterday',$date),
@@ -314,7 +318,7 @@
 	public function confirm($registration)
 	{
 		// Get calendar through link
-		$links = egw_link::get_links('registration', $registration['reg_id'],'calendar');
+		$links = Link::get_links('registration', $registration['reg_id'],'calendar');
 		$bo = new calendar_boupdate();
 		$event = $bo->read(current($links));
 		if($registration['status'] == registration_bo::CONFIRMED)

Modified: trunk/resources/inc/class.resources_so.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_so.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_so.inc.php (original)
+++ trunk/resources/inc/class.resources_so.inc.php Thu May  5 22:22:04 2016
@@ -10,13 +10,15 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
+
 /**
  * General storage object for resources
  *
  * @author Cornelius Weiss <[email protected]>
  * @package resources
  */
-class resources_so extends so_sql_cf
+class resources_so extends Api\Storage
 {
 	function __construct()
 	{

Modified: trunk/resources/inc/class.resources_tracking.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_tracking.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_tracking.inc.php (original)
+++ trunk/resources/inc/class.resources_tracking.inc.php Thu May  5 22:22:04 2016
@@ -6,17 +6,18 @@
  * @copyright 2012 Nathan Gray
  * @package resources
  * @sub-package history
- * @see bo_tracking
+ * @see Api\Storage\Tracking
  *
  * @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
  * @version $Id$
  */
 
+use EGroupware\Api;
 
 /**
  * Resources - tracking object for history
  */
-class resources_tracking extends bo_tracking
+class resources_tracking extends Api\Storage\Tracking
 {
 
 	

Modified: trunk/resources/inc/class.resources_ui.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_ui.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_ui.inc.php (original)
+++ trunk/resources/inc/class.resources_ui.inc.php Thu May  5 22:22:04 2016
@@ -9,6 +9,12 @@
  * @author Lukas Weiss <[email protected]>
  * @version $Id$
  */
+
+use EGroupware\Api;
+use EGroupware\Api\Link;
+use EGroupware\Api\Framework;
+use EGroupware\Api\Acl;
+use EGroupware\Api\Etemplate;
 
 /**
  * General userinterface object for resources
@@ -31,7 +37,7 @@
 	function __construct()
 	{
 // 		print_r($GLOBALS['egw_info']); die();
-		$this->tmpl	= new etemplate_new('resources.show');
+		$this->tmpl	= new Etemplate('resources.show');
 		$this->bo	= new resources_bo();
 // 		$this->calui	= CreateObject('resources.ui_calviews');
 	}
@@ -49,7 +55,7 @@
 		{
 			$sessiondata = $content['nm'];
 			unset($sessiondata['rows']);
-			$GLOBALS['egw']->session->appsession('session_data','resources_index_nm',$sessiondata);
+			Api\Cache::setSession('resources', 'index_nm', $sessiondata);
 
 			if (isset($content['btn_delete_selected']))
 			{
@@ -72,7 +78,7 @@
 				if(isset($row['view_acc']))
 				{
 					$sessiondata['filter2'] = array_search('pressed',$row['view_acc']);
-					$GLOBALS['egw']->session->appsession('session_data','resources_index_nm',$sessiondata);
+					Api\Cache::setSession('resources', 'index_nm', $sessiondata);
 					return $this->index();
 				}
 			}
@@ -116,19 +122,19 @@
 		$content['nm']['row_id']	= 'res_id';
 		$content['nm']['favorites'] = true;
 
-		$nm_session_data = $GLOBALS['egw']->session->appsession('session_data','resources_index_nm');
+		$nm_session_data = Api\Cache::getSession('resources', 'index_nm');
 		if($nm_session_data)
 		{
 			$content['nm'] = $nm_session_data;
 		}
-		$content['nm']['options-filter']= array(''=>lang('all categories'))+(array)$this->bo->acl->get_cats(EGW_ACL_READ);
+		$content['nm']['options-filter']= array(''=>lang('all categories'))+(array)$this->bo->acl->get_cats(Acl::READ);
 		$content['nm']['options-filter2'] = resources_bo::$filter_options;
 		if(!$content['nm']['filter2'])
 		{
 			$content['nm']['filter2'] = key(resources_bo::$filter_options);
 		}
 
-		$config = config::read('resources');
+		$config = Api\Config::read('resources');
 		if($config['history'])
 		{
 			$content['nm']['options-filter2'][resources_bo::DELETED] = lang('Deleted');
@@ -146,14 +152,14 @@
 
 		// check if user is permitted to add resources
 		// If they can't read any categories, they won't be able to save it
-		if(!$this->bo->acl->get_cats(EGW_ACL_ADD) || !$this->bo->acl->get_cats(EGW_ACL_READ))
+		if(!$this->bo->acl->get_cats(Acl::ADD) || !$this->bo->acl->get_cats(Acl::READ))
 		{
 			$no_button['add'] = $no_button['nm']['add'] = true;
 		}
 		$no_button['back'] = true;
 		$GLOBALS['egw_info']['flags']['app_header'] = lang('resources');
 
-		egw_framework::validate_file('.','resources','resources');
+		Framework::includeJS('.','resources','resources');
 
 		if($content['nm']['filter2'] > 0)
 		{
@@ -169,7 +175,7 @@
 
 		$options = array();
 
-		$GLOBALS['egw']->session->appsession('session_data','resources_index_nm',$content['nm']);
+		Api\Cache::setSession('resources', 'index_nm', $content['nm']);
 		$this->tmpl->read('resources.show');
 		return $this->tmpl->exec('resources.resources_ui.index',$content,$sel_options,$no_button,$preserv);
 	}
@@ -187,14 +193,14 @@
 				'caption' => 'open',
 				'allowOnMultiple' => false,
 				'url' => 'menuaction=resources.resources_ui.edit&res_id=$id',
-				'popup' => egw_link::get_registry('resources', 'add_popup'),
+				'popup' => Link::get_registry('resources', 'add_popup'),
 				'group' => $group=1,
 				'disableClass' => 'rowNoEdit',
 			),
 			'add' => array(
 				'caption' => 'New resource',
 				'url' => 'menuaction=resources.resources_ui.edit&accessory_of=-1',
-				'popup' => egw_link::get_registry('resources', 'add_popup'),
+				'popup' => Link::get_registry('resources', 'add_popup'),
 				'group' => $group,
 				'hideOnMobile' => true
 			),
@@ -211,7 +217,7 @@
 				'icon' => 'new',
 				'group' => $group,
 				'url' => 'menuaction=resources.resources_ui.edit&res_id=0&accessory_of=$id',
-				'popup' => egw_link::get_registry('resources', 'add_popup'),
+				'popup' => Link::get_registry('resources', 'add_popup'),
 				'disableClass' => 'no_new_accessory',
 				'allowOnMultiple' => false
 			),
@@ -458,16 +464,16 @@
 						break;
 					}
 			}
-			egw_framework::refresh_opener($msg, 'resources',$content['res_id'],($button == 'delete'?'delete':'edit'));
+			Framework::refresh_opener($msg, 'resources',$content['res_id'],($button == 'delete'?'delete':'edit'));
 
 			if($button != 'apply')
 			{
-				egw_framework::window_close();
-			}
-
-		}
-
-		$nm_session_data = $GLOBALS['egw']->session->appsession('session_data','resources_index_nm');
+				Framework::window_close();
+			}
+
+		}
+
+		$nm_session_data = Api\Cache::getSession('resources', 'index_nm');
 		$res_id = is_numeric($content) ? (int)$content : $content['res_id'];
 		if (isset($_GET['res_id'])) $res_id = $_GET['res_id'];
 		if (isset($nm_session_data['filter2']) && $nm_session_data['filter2'] > 0) $accessory_of = $nm_session_data['filter2'];
@@ -520,7 +526,7 @@
 		$sel_options['status'] = resources_bo::$field2label;
 
 		//$sel_options['gen_src_list'] = $this->bo->get_genpicturelist();
-		$sel_options['cat_id'] =  $this->bo->acl->get_cats(EGW_ACL_ADD);
+		$sel_options['cat_id'] =  $this->bo->acl->get_cats(Acl::ADD);
 		$sel_options['cat_id'] = count($sel_options['cat_id']) == 1 ? $sel_options['cat_id'] :
 			array('' => lang('select one')) + $sel_options['cat_id'];
 		if($accessory_of > 0 || $content['accessory_of'] > 0)
@@ -545,12 +551,12 @@
 
 		// Permissions
 		$read_only = array();
-		if($res_id && !$this->bo->acl->is_permitted($content['cat_id'],EGW_ACL_EDIT))
+		if($res_id && !$this->bo->acl->is_permitted($content['cat_id'],Acl::EDIT))
 		{
 			$read_only['__ALL__'] = true;
 		}
-		$config = config::read('resources');
-		if(!$this->bo->acl->is_permitted($content['cat_id'],EGW_ACL_DELETE) ||
+		$config = Api\Config::read('resources');
+		if(!$this->bo->acl->is_permitted($content['cat_id'],Acl::DELETE) ||
 			($content['deleted'] && !$GLOBALS['egw_info']['user']['apps']['admin'] && $config['history'] == 'history'))
 		{
 			$read_only['delete'] = true;
@@ -564,7 +570,7 @@
 		}
 
 		// Disable custom tab if there are no custom fields defined
-		$read_only['tabs']['custom'] = !(config::get_customfields('resources',true));
+		$read_only['tabs']['custom'] = !(Api\Storage\Customfields::get('resources',true));
 		$read_only['tabs']['history'] = ($content['history']['id'] != 0?false:true);
 
 		$preserv = $content;

Modified: trunk/resources/inc/class.resources_wizard_export_csv.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_wizard_export_csv.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_wizard_export_csv.inc.php (original)
+++ trunk/resources/inc/class.resources_wizard_export_csv.inc.php Thu May  5 22:22:04 2016
@@ -9,6 +9,8 @@
  * @author Nathan Gray
  * @version $Id$
  */
+
+use EGroupware\Api;
 
 class resources_wizard_export_csv extends importexport_wizard_basic_export_csv
 {
@@ -23,7 +25,7 @@
 		unset($this->export_fields['prize']);
 
 		// Custom fields
-		$custom = config::get_customfields('resources', true);
+		$custom = Api\Storage\Customfields::get('resources', true);
 		foreach($custom as $name => $data) {
 			$this->export_fields['#'.$name] = $data['label'];
 		}

Modified: trunk/resources/inc/class.resources_wizard_import_csv.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.resources_wizard_import_csv.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.resources_wizard_import_csv.inc.php (original)
+++ trunk/resources/inc/class.resources_wizard_import_csv.inc.php Thu May  5 22:22:04 2016
@@ -9,6 +9,8 @@
  * @author Nathan Gray
  * @version $Id$
  */
+
+use EGroupware\Api;
 
 class resources_wizard_import_csv extends importexport_wizard_basic_import_csv
 {
@@ -44,7 +46,7 @@
 			'accessory_of'	=> lang('Accessory of')
                 );
 
-		$custom = config::get_customfields('resources', true);
+		$custom = Api\Storage\Customfields::get('resources', true);
 		foreach($custom as $name => $data) {
 			$this->mapping_fields['#'.$name] = $data['label'];
 		}

Modified: trunk/resources/inc/class.ui_acl.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/inc/class.ui_acl.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/inc/class.ui_acl.inc.php (original)
+++ trunk/resources/inc/class.ui_acl.inc.php Thu May  5 22:22:04 2016
@@ -2,11 +2,15 @@
 /**
  * eGroupWare - resources
  *
- * @license http://www.gnu.org/licenses/gpl.html GNU General Public License
+ * @license http://www.gnu.org/licenses/gpl.Api\Html GNU General Public License
  * @package resources
  * @link http://www.egroupware.org
  * @version $Id$
  */
+
+use EGroupware\Api;
+use EGroupware\Api\Egw;
+use EGroupware\Api\Acl;
 
 /**
  * ACL userinterface object for resources
@@ -46,10 +50,10 @@
 
 		if ($_POST['btnDone'])
 		{
-			egw::redirect_link('/admin/index.php');
-		}
-
-		common::egw_header();
+			Egw::redirect_link('/admin/index.php');
+		}
+
+		$GLOBALS['egw']->framework->header();
 		echo parse_navbar();
 
 		if ($_POST['btnSave'])
@@ -59,7 +63,7 @@
 				$this->bo->set_rights($cat_id,$_POST['inputread'][$cat_id],$_POST['inputwrite'][$cat_id],
 					$_POST['inputcalread'][$cat_id],$_POST['inputcalbook'][$cat_id],$_POST['inputadmin'][$cat_id]);
 			}
-			config::save_value('location_cats', implode(',', $_POST['location_cats']), 'resources');
+			Api\Config::save_value('location_cats', implode(',', $_POST['location_cats']), 'resources');
 		}
 		$template            =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
 		$template->set_file(array('acl' => 'acl.tpl'));
@@ -95,7 +99,7 @@
 
 		if ($this->bo->cats)
 		{
-			$config = config::read('resources');
+			$config = Api\Config::read('resources');
 			$location_cats = $config['location_cats'] ? explode(',', $config['location_cats']) : array();
 			foreach($this->bo->cats as $cat)
 			{
@@ -106,11 +110,11 @@
 					'tr_color' => $tr_color,
 					'catname' => $cat['name'],
 					'catid' => $cat['id'],
-					'read' => $this->selectlist(EGW_ACL_READ),
-					'write' => $this->selectlist(EGW_ACL_ADD),
+					'read' => $this->selectlist(Acl::READ),
+					'write' => $this->selectlist(Acl::ADD),
 					'calread' => $this->selectlist(EGW_ACL_CALREAD),
 					'calbook' =>$this->selectlist(EGW_ACL_DIRECT_BOOKING),
-					'admin' => '<option value="" selected="1">'.lang('choose categories admin').'</option>'.$this->selectlist(EGW_ACL_CAT_ADMIN,true),
+					'admin' => '<option value="" selected="1">'.lang('choose Api\Categories admin').'</option>'.$this->selectlist(EGW_ACL_CAT_ADMIN,true),
 					'location_checked' => in_array($cat['id'], $location_cats) ? 'checked="1"' : '',
 				));
 				$template->parse('Cblock','cat_list',True);
@@ -167,7 +171,7 @@
 			{
 				$selectlist .= ' selected="selected"';
 			}
-			$selectlist .= '>' . common::display_fullname($account['account_lid'],$account['account_firstname'],
+			$selectlist .= '>' . Api\Accounts::format_username($account['account_lid'],$account['account_firstname'],
 				$account['account_lastname'],$account['account_id']) . '</option>' . "\n";
 		}
 		return $selectlist;
@@ -200,6 +204,6 @@
 	function deny()
 	{
 		echo '<p><center><b>'.lang('Access not permitted').'</b></center>';
-		common::egw_exit(True);
+		exit(True);
 	}
 }

Modified: trunk/resources/setup/default_records.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/setup/default_records.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/setup/default_records.inc.php (original)
+++ trunk/resources/setup/default_records.inc.php Thu May  5 22:22:04 2016
@@ -9,14 +9,16 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
+
 $resources_table_prefix = 'egw_resources';
 
 // Add a general category for resources
-$GLOBALS['egw_setup']->db->insert($GLOBALS['egw_setup']->cats_table,array('cat_parent' => 0, 'cat_owner' => categories::GLOBAL_ACCOUNT,'cat_access' => 'public','cat_appname' => 'resources','cat_name' => 'General resources','cat_description' => 'This category has been added by setup','last_mod' => time()),false,__LINE__,__FILE__);
+$GLOBALS['egw_setup']->db->insert($GLOBALS['egw_setup']->cats_table,array('cat_parent' => 0, 'cat_owner' => Api\Categories::GLOBAL_ACCOUNT,'cat_access' => 'public','cat_appname' => 'resources','cat_name' => 'General resources','cat_description' => 'This category has been added by setup','last_mod' => time()),false,__LINE__,__FILE__);
 $cat_id = $GLOBALS['egw_setup']->db->get_last_insert_id($GLOBALS['egw_setup']->cats_table,'cat_id');
-$GLOBALS['egw_setup']->db->insert($GLOBALS['egw_setup']->cats_table,array('cat_parent' => 0, 'cat_owner' => categories::GLOBAL_ACCOUNT,'cat_access' => 'public','cat_appname' => 'resources','cat_name' => 'Locations','cat_description' => 'This category has been added by setup','last_mod' => time()),false,__LINE__,__FILE__);
+$GLOBALS['egw_setup']->db->insert($GLOBALS['egw_setup']->cats_table,array('cat_parent' => 0, 'cat_owner' => Api\Categories::GLOBAL_ACCOUNT,'cat_access' => 'public','cat_appname' => 'resources','cat_name' => 'Locations','cat_description' => 'This category has been added by setup','last_mod' => time()),false,__LINE__,__FILE__);
 $locations_cat_id = $GLOBALS['egw_setup']->db->get_last_insert_id($GLOBALS['egw_setup']->cats_table,'cat_id');
-config::save_value('location_cats', $locations_cat_id, 'resources');
+Api\Config::save_value('location_cats', $locations_cat_id, 'resources');
 
 // Give default group all rights to this general cat
 $defaultgroup = $GLOBALS['egw_setup']->add_account('Default','Default','Group',False,False);

Modified: trunk/resources/setup/setup.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/setup/setup.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/setup/setup.inc.php (original)
+++ trunk/resources/setup/setup.inc.php Thu May  5 22:22:04 2016
@@ -13,7 +13,7 @@
 
 $setup_info['resources']['name']	= 'resources';
 $setup_info['resources']['title']	= 'Resources';
-$setup_info['resources']['version']	= '14.1';
+$setup_info['resources']['version']	= '16.1';
 $setup_info['resources']['app_order']	= 5;
 $setup_info['resources']['tables']	= array('egw_resources','egw_resources_extra');
 $setup_info['resources']['enable']	= 1;
@@ -37,12 +37,8 @@
 $setup_info['resources']['hooks']['settings'] = 'resources_hooks::settings';
 
 $setup_info['resources']['depends'][]	= array(
-	 'appname' => 'phpgwapi',
-	 'versions' => Array('14.1')
-);
-$setup_info['resources']['depends'][]	= array( // cause eTemplates is not in the api yet
-	 'appname' => 'etemplate',
-	 'versions' => Array('14.1')
+	 'appname' => 'api',
+	 'versions' => Array('16.1')
 );
 
 

Modified: trunk/resources/setup/tables_update.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/setup/tables_update.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/setup/tables_update.inc.php (original)
+++ trunk/resources/setup/tables_update.inc.php Thu May  5 22:22:04 2016
@@ -11,6 +11,9 @@
  * @version $Id$
  */
 
+use EGroupware\Api;
+use EGroupware\Api\Vfs;
+
 function resources_upgrade0_0_1_008()
 {
 	$GLOBALS['phpgw_setup']->oProc->AddColumn('egw_resources','picture_src',array(
@@ -291,24 +294,24 @@
  */
 function resources_upgrade1_4()
 {
-	egw_vfs::$is_root = true;
-	egw_vfs::load_wrapper('sqlfs');
-	if (egw_vfs::is_dir('/resources/pictures'))
+	Vfs::$is_root = true;
+	Vfs::load_wrapper('sqlfs');
+	if (Vfs::is_dir('/resources/pictures'))
 	{
-		egw_vfs::remove('/resources/pictures/thumbs');	// remove thumb dir incl. thumbnails
-		foreach(egw_vfs::find('sqlfs://default/resources/pictures',array('url' => true)) as $url)
+		Vfs::remove('/resources/pictures/thumbs');	// remove thumb dir incl. thumbnails
+		foreach(Vfs::find('sqlfs://default/resources/pictures',array('url' => true)) as $url)
 		{
 			if (is_numeric($id = basename($url,'.jpg')))
 			{
-				if (!egw_vfs::is_dir($dir = "/apps/resources/$id"))
+				if (!Vfs::is_dir($dir = "/apps/resources/$id"))
 				{
-					egw_vfs::mkdir($dir,0777,STREAM_MKDIR_RECURSIVE);
+					Vfs::mkdir($dir,0777,STREAM_MKDIR_RECURSIVE);
 				}
 				rename($url,'sqlfs://default'.$dir.'/.picture.jpg');	// we need to rename on the same wrapper!
 			}
 		}
-		egw_vfs::rmdir('/resources/pictures',0);
-		egw_vfs::rmdir('/resources',0);
+		Vfs::rmdir('/resources/pictures',0);
+		Vfs::rmdir('/resources',0);
 	}
 	return $GLOBALS['setup_info']['resources']['currentver'] = '1.6';
 }
@@ -323,9 +326,9 @@
 function resources_upgrade1_8()
 {
 	// add location category required for CalDAV to distinguish between locations and resources
-	$GLOBALS['egw_setup']->db->insert($GLOBALS['egw_setup']->cats_table,array('cat_parent' => 0, 'cat_owner' => categories::GLOBAL_ACCOUNT,'cat_access' => 'public','cat_appname' => 'resources','cat_name' => 'Locations','cat_description' => 'This category has been added by setup','last_mod' => time()),false,__LINE__,__FILE__);
+	$GLOBALS['egw_setup']->db->insert($GLOBALS['egw_setup']->cats_table,array('cat_parent' => 0, 'cat_owner' => Api\Categories::GLOBAL_ACCOUNT,'cat_access' => 'public','cat_appname' => 'resources','cat_name' => 'Locations','cat_description' => 'This category has been added by setup','last_mod' => time()),false,__LINE__,__FILE__);
 	$locations_cat_id = $GLOBALS['egw_setup']->db->get_last_insert_id($GLOBALS['egw_setup']->cats_table,'cat_id');
-	config::save_value('location_cats', $locations_cat_id, 'resources');
+	Api\Config::save_value('location_cats', $locations_cat_id, 'resources');
 
 	// Give default group all rights to this general cat
 	$defaultgroup = $GLOBALS['egw_setup']->add_account('Default','Default','Group',False,False);
@@ -384,3 +387,7 @@
 {
 	return $GLOBALS['setup_info']['resources']['currentver'] = '14.1';
 }
+function resources_upgrade14_1()
+{
+	return $GLOBALS['setup_info']['resources']['currentver'] = '16.1';
+}

Modified: trunk/resources/sitemgr/class.module_resources_reservation.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/resources/sitemgr/class.module_resources_reservation.inc.php?rev=56046&r1=56045&r2=56046&view=diff
==============================================================================
--- trunk/resources/sitemgr/class.module_resources_reservation.inc.php (original)
+++ trunk/resources/sitemgr/class.module_resources_reservation.inc.php Thu May  5 22:22:04 2016
@@ -8,6 +8,8 @@
  * @copyright (c) 2011 Nathan Gray
  * @version $Id$
 */
+
+use EGroupware\Api;
 
 /**
  * Needs permission to resources to read the resource, calendar app to properly push everything through
@@ -21,7 +23,7 @@
 		$this->description = lang('Simple reservation of a single item');
 		$this->etemplate_method = 'resources.resources_reserve.book';
 		
-		$categories = new categories('', 'resources');
+		$categories = new Api\Categories('', 'resources');
 		$cat_list = $categories->return_sorted_array();
 		$cat_options = array();
 		foreach($cat_list as $category)
@@ -101,12 +103,12 @@
 	*
 	* @param array &$arguments $arguments['arg1']-$arguments['arg3'] will be passed for non-submitted forms (first call)
 	* @param array $properties
-	* @return string the html content
+	* @return string the Api\Html content
 	*/
 	function get_content(&$arguments,$properties)
 	{
 		list($app) = explode('.',$this->etemplate_method);
-		$GLOBALS['egw']->translation->add_app($app);
+		Api\Translation::add_app($app);
 
 		$extra = "<style type=\"text/css\">\n<!--\n@import url(".$GLOBALS['egw_info']['server']['webserver_url'].
 				"/etemplate/templates/default/app.css);\n";


------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z