Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
O
our_own_cloud_project
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
die_coolen_jungs
our_own_cloud_project
Commits
25e59e3c
Commit
25e59e3c
authored
14 years ago
by
Jakob Sack
Browse files
Options
Downloads
Patches
Plain Diff
Preparing OC_APP. It now includes information for all functions planned.
parent
88df5fcd
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
lib/app.php
+268
-3
268 additions, 3 deletions
lib/app.php
with
268 additions
and
3 deletions
lib/app.php
+
268
−
3
View file @
25e59e3c
...
...
@@ -4,11 +4,21 @@ class OC_APP{
static
private
$apps
=
array
();
/**
* @brief loads all apps
* @returns true/false
*
* This function walks through the owncloud directory and loads all apps
* it can find. A directory contains an app if the file /appinfo/app.php
* exists.
*/
public
static
function
loadApps
(){
global
$SERVERROOT
;
// Did we allready load everything?
if
(
$self
::
init
){
return
true
}
// Get all appinfo
$dir
=
opendir
(
$SERVERROOT
);
while
(
false
!==
(
$filename
=
readdir
(
$dir
))){
...
...
@@ -20,23 +30,278 @@ class OC_APP{
}
closedir
(
$dir
);
$self
::
init
=
true
;
// return
return
true
;
}
/**
* @brief makes owncloud aware of this app
* @param $data array with all information
* @returns true/false
*
* This function registers the application. $data is an associative array.
* The following keys are required:
* - id: id of the application, has to be unique ("addressbook")
* - name: Human readable name ("Addressbook")
*
* The following keys are optional:
* - order: integer, that influences the position of your application in
* a list of applications. Lower values come first.
*
*/
public
static
function
register
(
$data
=
array
()
){
public
static
function
register
(
$data
){
OC_APP
::
$apps
[]
=
$data
;
}
/**
* @brief returns information of all apps
* @return array with all information
*
* This function returns all data it got via register().
*/
public
static
function
get
Apps
(){
public
static
function
get
(){
return
OC_APP
::
$apps
;
}
/**
* @brief adds an entry to the navigation
* @param $data array containing the data
* @returns true/false
*
* This function adds a new entry to the navigation visible to users. $data
* is an associative array.
* The following keys are required:
* - id: unique id for this entry ("addressbook_index")
* - href: link to the page
* - name: Human readable name ("Addressbook")
*
* The following keys are optional:
* - icon: path to the icon of the app
* - order: integer, that influences the position of your application in
* the navigation. Lower values come first.
*/
public
static
function
addNavigationEntry
(
$data
){
// TODO: write function
return
true
;
}
/**
* @brief adds a sub entry to the navigation
* @param $parent id of the parent
* @param $data array containing the data
* @returns true/false
*
* This function adds a new sub entry to the navigation visible to users.
* these entries are visible only if the parent navigation entry is marked
* as being active (see activateNavigationEntry()). $data is an associative
* array.
* The following keys are required:
* - id: unique id for this entry ("addressbook_index")
* - href: link to the page
* - name: Human readable name ("Addressbook")
*
* The following keys are optional:
* - icon: path to the icon of the app
* - order: integer, that influences the position of your application in
* the navigation. Lower values come first.
*/
public
static
function
addNavigationSubEntry
(
$parent
,
$data
){
// TODO: write function
return
true
;
}
/**
* @brief marks a navigation entry as active
* @param $id id of the entry
* @returns true/false
*
* This function sets a navigation entry as active and removes the "active"
* property from all other entries. The templates can use this for
* highlighting the current position of the user.
*/
public
static
function
activateNavigationEntry
(
$id
){
// TODO: write function
return
true
;
}
/**
* @brief adds an entry to the personal menu
* @param $data array containing the data
* @returns true/false
*
* This function adds a new entry to the personal menu visible to users
* only. $data is an associative array.
* The following keys are required:
* - id: unique id for this entry ("logout")
* - href: link to the page
* - name: Human readable name ("Logout")
*
* The following keys are optional:
* - order: integer, that influences the position of your application in
* the personal menu. Lower values come first.
*/
public
static
function
addPersonalMenuEntry
(
$data
){
// TODO: write function
return
true
;
}
/**
* @brief registers an admin page
* @param $data array containing the data
* @returns true/false
*
* This function registers a admin page that will be shown in the admin
* menu. $data is an associative array.
* The following keys are required:
* - id: unique id for this entry ("files_admin")
* - href: link to the admin page
* - name: Human readable name ("Files Administration")
*
* The following keys are optional:
* - order: integer, that influences the position of your application in
* the list. Lower values come first.
*/
public
static
function
addAdminPage
(
$data
=
array
()){
// TODO: write function
return
true
;
}
/**
* @brief Returns the navigation
* @returns associative array
*
* This function returns an array containing all entries added. The
* entries are sorted by the key "order" ascending. Additional to the keys
* given for each app the following keys exist:
* - active: boolean, signals if the user is on this navigation entry
* - children: array that is empty if the key "active" is false or
* contains the subentries if the key "active" is true
*/
public
static
function
getNavigation
(
$data
=
array
()){
// TODO: write function
return
true
;
}
/**
* @brief Returns the personal menu
* @returns associative array
*
* This function returns an array containing all personal menu entries
* added. The entries are sorted by the key "order" ascending.
*/
public
static
function
getPersonalMenu
(
$data
=
array
()){
// TODO: write function
return
true
;
}
/**
* @brief Returns the admin pages
* @returns associative array
*
* This function returns an array containing all admin pages added. The
* entries are sorted by the key "order" ascending.
*/
public
static
function
getAdminPages
(
$data
=
array
()){
// TODO: write function
return
true
;
}
/**
* @brief Installs an appl
* @param $data array with all information
* @returns integer
*
* This function installs an app. All information needed are passed in the
* associative array $data.
* The following keys are required:
* - source: string, can be "path" or "http"
*
* One of the following keys is required:
* - path: path to the file containing the app
* - href: link to the downloadable file containing the app
*
* The following keys are optional:
* - pretend: boolean, if set true the system won't do anything
* - noinstall: boolean, if true the function oc_app_install will be
* skipped
* - inactive: boolean, if set true the appconfig/app.sample.php won't be
* renamed
*
* This function works as follows
* -# fetching the file
* -# unzipping it
* -# including appinfo/installer.php
* -# executing "oc_app_install()"
* -# renaming appinfo/app.sample.php to appinfo/app.php
*
* It is the task of oc_app_install to create the tables and do whatever is
* needed to get the app working.
*/
public
static
function
installApp
(
$data
=
array
()){
// TODO: write function
return
true
;
}
/**
* @brief Installs an application
* @param $data array with all information
* @returns integer
*
* This function installs an app. All information needed are passed in the
* associative array $data.
* The following keys are required:
* - source: string, can be "path" or "http"
*
* One of the following keys is required:
* - path: path to the file containing the app
* - href: link to the downloadable file containing the app
*
* The following keys are optional:
* - pretend: boolean, if set true the system won't do anything
* - noupgrade: boolean, if true the function oc_app_upgrade will be
* skipped
* - keepappinfo: boolean. If set true, the folder appinfo will not be
* deleted, appinfo/app.php will not be replaced by a new version
*
* This function works as follows
* -# fetching the file
* -# removing the old files
* -# unzipping new file
* -# including appinfo/installer.php
* -# executing "oc_app_upgrade( $options )"
* -# renaming appinfo/app.sample.php to appinfo/app.php
*/
public
static
function
upgradeApp
(
$data
=
array
()){
// TODO: write function
return
true
;
}
/**
* @brief Removes an app
* @param $name name of the application to remove
* @param $options array with options
* @returns true/false
*
* This function removes an app. $options is an associative array. The
* following keys are optional:
* - keeppreferences: boolean, if true the user preferences won't be deleted
* - keepappconfig: boolean, if true the config will be kept
* - keeptables: boolean, if true the database will be kept
* - keepfiles: boolean, if true the user files will be kept
*
* This function works as follows
* -# including appinfo/installer.php
* -# executing "oc_app_uninstall( $options )"
* -# removing the files
*
* The function will not delete preferences, tables and the configuration,
* this has to be done by the function oc_app_uninstall().
*/
public
static
function
removeApp
(
$name
,
$options
=
array
()){
// TODO: write function
return
true
;
}
}
?>
?>
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment