A sample app, at the moment far from showing everything possible
This commit is contained in:
parent
f042e85d41
commit
ab22dfde8a
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* ownCloud - Sample application
|
||||
*
|
||||
* @author Jakob Sack
|
||||
* @copyright 2011 Jakob Sack kde@jakobsack.de
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
// Do not prepare the file system (for demonstration purpose)
|
||||
// We HAVE TO set this var before including base.php
|
||||
$RUNTIME_NOSETUPFS = true;
|
||||
|
||||
// Init owncloud
|
||||
require_once('../lib/base.php');
|
||||
|
||||
// We need the file system although we said do not load it! Do it by hand now
|
||||
OC_UTIL::setupFS();
|
||||
|
||||
// We load OC_TEMPLATE, too. This one is not loaded by base
|
||||
oc_require( 'template.php' );
|
||||
|
||||
// The user should have admin rights. This is an admin page!
|
||||
if( !OC_USER::isLoggedIn() || !OC_USER::ingroup( $_SESSION['username'], 'admin' )){
|
||||
// Bad boy! Go to the very first page of owncloud
|
||||
header( "Location: ".OC_HELPER::linkTo( "index.php" ));
|
||||
exit();
|
||||
}
|
||||
|
||||
// Do some crazy Stuff over here
|
||||
$myvar = 2;
|
||||
$myarray = array( "foo" => array( 0, 1, 2 ), "bar" => "baz" );
|
||||
|
||||
// Preparing for output!
|
||||
$tmpl = new OC_TEMPLATE( "skeleton", "admin", "admin" ); // Programname, template, mode
|
||||
// Assign the vars
|
||||
$tmpl->assign( "var", $myvar );
|
||||
$tmpl->assign( "array", $myarray );
|
||||
// Print page
|
||||
$tmpl->printPage();
|
||||
|
||||
?>
|
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
/*
|
||||
* This file is required. It makes owncloud aware of the app.
|
||||
*/
|
||||
|
||||
// Hello, we are here
|
||||
OC_APP::register( array( "id" => "skeleton", "name" => "Files", "order" => 1000 ));
|
||||
|
||||
// Add application to navigation
|
||||
OC_UTIL::addNavigationEntry( array( "id" => "skeleton_index", "order" => 1000, "href" => OC_HELPER::linkTo( "skeleton", "index.php" ), "icon" => OC_HELPER::imagePath( "skeleton", "app.png" ), "name" => "Example app" ));
|
||||
|
||||
// Add an admin page
|
||||
OC_UTIL::addAdminPage( array( "order" => 1, "href" => OC_HELPER::linkTo( "skeleton", "admin.php" ), "name" => "Example app options" ));
|
||||
|
||||
?>
|
|
@ -0,0 +1,4 @@
|
|||
/*
|
||||
* To include this css file, call "OC_UTIL::addStyle( "skeleton", "skeleton" )"
|
||||
* in your app. (appname) (cssname)
|
||||
*/
|
|
@ -0,0 +1,3 @@
|
|||
/*
|
||||
* If you want to you can use more css files ...
|
||||
*/
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* ownCloud - ajax frontend
|
||||
*
|
||||
* @author Robin Appelman
|
||||
* @copyright 2010 Robin Appelman icewind1991@gmail.com
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 3 of the License, or any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// Init owncloud
|
||||
require_once('../lib/base.php');
|
||||
oc_require( 'template.php' );
|
||||
|
||||
// Check if we are a user
|
||||
if( !OC_USER::isLoggedIn()){
|
||||
header( "Location: ".OC_HELPER::linkTo( "index.php" ));
|
||||
exit();
|
||||
}
|
||||
|
||||
// Load the files we need
|
||||
OC_UTIL::addStyle( "files", "files" );
|
||||
OC_UTIL::addScript( "files", "files" );
|
||||
|
||||
// Load the files
|
||||
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
|
||||
|
||||
$files = array();
|
||||
foreach( OC_FILES::getdirectorycontent( $dir ) as $i ){
|
||||
$i["date"] = date( $CONFIG_DATEFORMAT, $i["mtime"] );
|
||||
$files[] = $i;
|
||||
}
|
||||
|
||||
// Make breadcrumb
|
||||
$breadcrumb = array();
|
||||
$pathtohere = "/";
|
||||
foreach( explode( "/", $dir ) as $i ){
|
||||
if( $i != "" ){
|
||||
$pathtohere .= "$i/";
|
||||
$breadcrumb[] = array( "dir" => $pathtohere, "name" => $i );
|
||||
}
|
||||
}
|
||||
|
||||
// return template
|
||||
$tmpl = new OC_TEMPLATE( "files", "index", "user" );
|
||||
$tmpl->assign( "files", $files );
|
||||
$tmpl->assign( "breadcrumb", $breadcrumb );
|
||||
$tmpl->printPage();
|
||||
|
||||
?>
|
|
@ -0,0 +1,3 @@
|
|||
// Include this file whenever you need it. A simple
|
||||
// "OC_UTIL::addScript( "skeleton", "app" )" will do this.
|
||||
// Put your jquery-Stuff here
|
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
/*
|
||||
* Template for files admin page
|
||||
*
|
||||
* See index.php for details
|
||||
*/
|
||||
?>
|
||||
<h1>Admin</h1>
|
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
/*
|
||||
* Template for files
|
||||
*/
|
||||
?>
|
||||
<h1>Skeleton</h1>
|
||||
|
||||
<? foreach( $_["array"] as $item ){ ?>
|
||||
<p><? echo $item ?></p>
|
||||
<? } ?>
|
||||
|
||||
<? echo $_["anothervar"] ?>
|
Loading…
Reference in New Issue