diff --git a/developer_manual/configfile.rst b/developer_manual/configfile.rst
deleted file mode 100644
index 6d55ffce1..000000000
--- a/developer_manual/configfile.rst
+++ /dev/null
@@ -1,147 +0,0 @@
-App config
-==========
-
-.. code-block:: php
-
- false,
-
- /* Type of database, can be sqlite, mysql or pgsql */
- "dbtype" => "sqlite",
-
- /* Name of the ownCloud database */
- "dbname" => "owncloud",
-
- /* User to access the ownCloud database */
- "dbuser" => "",
-
- /* Password to access the ownCloud database */
- "dbpassword" => "",
-
- /* Host running the ownCloud database */
- "dbhost" => "",
-
- /* Prefix for the ownCloud tables in the database */
- "dbtableprefix" => "",
-
- /* Define the salt used to hash the user passwords. All your user passwords are lost if you lose this string. */
- "passwordsalt" => "",
-
- /* Force use of HTTPS connection (true = use HTTPS) */
- "forcessl" => false,
-
- /* Enhanced auth forces users to enter their password again when performing potential sensitive actions like creating or deleting users */
- "enhancedauth" => true,
-
- /* Time in seconds how long an user is authenticated without entering his password again before performing sensitive actions like creating or deleting users etc...*/
- "enhancedauthtime" => 15 * 60,
-
- /* Theme to use for ownCloud */
- "theme" => "",
-
- /* Path to the 3rdparty directory */
- "3rdpartyroot" => "",
-
- /* URL to the 3rdparty directory, as seen by the browser */
- "3rdpartyurl" => "",
-
- /* Default app to load on login */
- "defaultapp" => "files",
-
- /* Enable the help menu item in the settings */
- "knowledgebaseenabled" => true,
-
- /* URL to use for the help page, server should understand OCS */
- "knowledgebaseurl" => "http://api.apps.owncloud.com/v1",
-
- /* Enable installing apps from the appstore */
- "appstoreenabled" => true,
-
- /* URL of the appstore to use, server should understand OCS */
- "appstoreurl" => "http://api.apps.owncloud.com/v1",
-
- /* Mode to use for sending mail, can be sendmail, smtp, qmail or php, see PHPMailer docs */
- "mail_smtpmode" => "sendmail",
-
- /* Host to use for sending mail, depends on mail_smtpmode if this is used */
- "mail_smtphost" => "127.0.0.1",
-
- /* authentication needed to send mail, depends on mail_smtpmode if this is used
- * (false = disable authentication)
- */
- "mail_smtpauth" => false,
-
- /* Username to use for sendmail mail, depends on mail_smtpauth if this is used */
- "mail_smtpname" => "",
-
- /* Password to use for sendmail mail, depends on mail_smtpauth if this is used */
- "mail_smtppassword" => "",
-
- /* Check 3rdparty apps for malicious code fragments */
- "appcodechecker" => "",
-
- /* Check if ownCloud is up to date */
- "updatechecker" => true,
-
- /* Place to log to, can be owncloud and syslog (owncloud is log menu item in admin menu) */
- "log_type" => "owncloud",
-
- /* File for the owncloud logger to log to, (default is ownloud.log in the data dir */
- "logfile" => "",
-
- /* Loglevel to start logging at. 0=DEBUG, 1=INFO, 2=WARN, 3=ERROR (default is WARN) */
- "loglevel" => "",
-
- /* Lifetime of the remember login cookie, default is 15 days */
- "remember_login_cookie_lifetime" => 60*60*24*15,
-
- /* The directory where the user data is stored, default to data in the owncloud
- * directory. The sqlite database is also stored here, when sqlite is used.
- */
- // "datadirectory" => "",
-
- "apps_paths" => array(
-
- /* Set an array of path for your apps directories
- key 'path' is for the fs path and the key 'url' is for the http path to your
- applications paths. 'writable' indicate if the user can install apps in this folder.
- You must have at least 1 app folder writable or you must set the parameter : appstoreenabled to false
- */
- array(
- 'path'=> '/var/www/owncloud/apps',
- 'url' => '/apps',
- 'writable' => true,
- ),
- ),
- );
-
-
-Using alternative app directories
----------------------------------
-
-ownCloud can be set to use a custom app directory in /config/config.php. Customise the following code and add it to your config file:
-
-.. code-block:: php
-
- 'apps_paths' =>
- array (
- 0 =>
- array (
- 'path' => OC::$SERVERROOT.'/apps',
- 'url' => '/apps',
- 'writable' => true,
- ),
- 1 =>
- array (
- 'path' => OC::$SERVERROOT.'/apps2',
- 'url' => '/apps2',
- 'writable' => false,
- ),
- ),
-
-ownCloud will use the first app directory which it finds in the array with 'writable' set to true.
diff --git a/developer_manual/index.rst b/developer_manual/index.rst
index 0477e92d7..1eb5d5f3b 100644
--- a/developer_manual/index.rst
+++ b/developer_manual/index.rst
@@ -9,14 +9,7 @@ Contents
.. toctree::
:maxdepth: 2
- tutorial
- templates
- unittests
debugging
- configfile
- security
- vcategories
- routing
apps
diff --git a/developer_manual/routing.rst b/developer_manual/routing.rst
deleted file mode 100644
index bd6c70558..000000000
--- a/developer_manual/routing.rst
+++ /dev/null
@@ -1,96 +0,0 @@
-Routing
-=======
-
-With routing the request url doesn't need to be matched with a physical file.
-Instead the url is mapped to a function that handles the request. This way be
-almost any structure. It can even map different urls to the same function,
-which is usefull for backward compatibility.
-
-Last but not least, using routing you only have one place to define the url. So
-changing the is pretty easy.
-
-Routing in ownCloud
--------------------
-
-ownCloud uses Symfony Routing Component as its base, look at
-http://symfony.com/doc/current/book/routing.html for more information.
-
-Look at the API docs for OC_Router and OC_Route for more information.
-
-Creating a route
-----------------
-
-Application routes are defined in the file routes.php in the appinfo directory.
-
-.. code-block:: php
-
- create('app_script', '/apps/{app}/{file}')
- ->defaults(array('file' => 'index.php'))
- ->requirements(array('file' => '.*.php'))
- ->action('OC', 'loadAppScriptFile');
- ?>
-
-The first parameter is a friendly name for the route, this can later be used to
-create a url with this route.
-
-The second is the url pattern, the placeholders {app} and {file} are used for
-generating the url and for matching the requested url. The values from the
-match are supplied to the action function.
-
-In this example we also define a default for {file} and a requirement. The
-requirement is used in generating and matching to make sure the correct route
-is used.
-
-action function
----------------
-
-The action function is used to specify which function to call when the route
-matches. This can be a class with function, like in the example, or a callable.
-
-linkToRoute
------------
-
-Using a route in php is very simple, just use the linkToRoute.
-
-.. code-block:: php
-
- $path));
- ?>
-
-
-Where 'download' is the route name, and the array are the parameters for the
-route. If a parameter is not used in the pattern, it will be appended in the
-query.
-
-OC.Router.generate
-------------------
-
-In javascript it works the same way:
-
-.. code-block:: javascript
-
- OC.Router.generate( 'download', { file: path } );
-
-
-actionInclude
--------------
-
-There is also a helper function to use a php file as an action. Instead of
-action you use actionInclude('file') and then that file will be included when
-the route matches. It also adds the parameters from the url to $_GET.
-
-
---
-
-- not depending on filesstructure
-- URL routing lets you configure an application to accept request URLs that do not map to physical files. Instead, you can use routing to define URLs that are semantically meaningful to users and that can help with search-engine optimization (SEO).
-
-
-
-Why Do I Use URL Routing? For Ease of Navigation, of course!
-
-URL Routing, which enables you to change the URL to point to an evaluated expression instead of a fixed file location parameterized with a query string. Why should you care? Read this story and decide for yourself.
-
-
diff --git a/developer_manual/security.rst b/developer_manual/security.rst
deleted file mode 100644
index 650ca614d..000000000
--- a/developer_manual/security.rst
+++ /dev/null
@@ -1,42 +0,0 @@
-Security
-========
-
-Blacklisted PHP functionality
------------------------------
-**echo, print(), =**
- Use $this->p in templates instead
-**error_log**
- Use throw new Exception("Description") instead
-**==**
- Use === instead
-**!=**
- Use !== instead
-**rand(), srand(), mt_rand()**
- If you need a cryptographical secure random string use OC_Util::generate_random_bytes() instead, the PHP provided functions are `not secure `_.
-
-CSRF protection
------------------------------
-Please add::
-
- OC_Util::isCallRegistered()
-
-or::
-
- OC_JSON::callCheck() at the top of your file to prevent Cross-site request forgery.
-
-See http://en.wikipedia.org/wiki/Cross-site_request_forgery
-
-Auth checks
------------------------------
-OC_Util::checkLoggedIn() or OC_JSON::checkLoggedIn()
- Checks if the user is logged in
-OC_Util::checkAdminUser() or OC_JSON::checkAdminUser()
- Checks if the user has admin rights
-OC_Util::checkSubAdminUser() or OC_JSON::checkSubAdminUser()
- Checks if the user has subadmin rights
-
-Recommended reading
------------------------------
-The `OWASP Top Ten Project `_ provides good informations about the 10 most common security vulnerabilities in web applications.
-
-TBD
\ No newline at end of file
diff --git a/developer_manual/templates.rst b/developer_manual/templates.rst
deleted file mode 100644
index 142b55525..000000000
--- a/developer_manual/templates.rst
+++ /dev/null
@@ -1,457 +0,0 @@
-Templates
-=========
-.. sectionauthor:: Bernhard Posselt
-
-.. warning::
- .. versionchanged:: 5.0
-
- To prevent XSS the following PHP **functions for printing are forbidden: echo, print() and =**. Instead use ``p($data)`` for printing your values. Should you require unescaped printing, **double check for XSS** and use: ``print_unescaped($data)``.
-
-
-.. warning::
- Templates **must not contain database queries**! All data should be passed to the template via ``$template->assign($key, $value)``.
-
-
-ownCloud uses its own templating system. Templates reside in the ``template/`` folder. To use them you'll need to instantiate the ``OC_Template`` class with the name of the template. If you want to pass values to it, use the ``assign`` method.
-
-
-:file:`index.php`
-
-.. code-block:: php
-
- assign('entries', $allEntries);
- $mainTemplate->assign('name', "john doe");
- $mainTemplate->printPage();
- ?>
-
-To access the assigned variables in the template, use the $_[] array. The variable will be availabe under the key that you defined (e.g. $_['key']).
-
-:file:`templates/main.php`
-
-.. code-block:: php
-
-
-
- inc('sub.inc'));
-
- ?>
-
-Templates can also include other templates by using the $this->inc('templateName') method. Use this if you find yourself repeating a lot of the same HTML constructs. The parent variables will also be available in the included templates, but should you require it, you can also pass new variables to it by using the second optional parameter for $this->inc.
-
-:file:`templates/sub.inc.php`
-
-.. code-block:: php
-
-
I am included but i can still access the parents variables!
-
-
-
-
-OC_Template
------------
-
-.. php:class:: OC_Template
-
-
- This class provides the templates for owncloud. It is used for loading template files, assign variables to it and render the whole template.
-
- .. php:method:: __construct($app, $name[, $renderas])
-
- :param string $app: the name of the app
- :param string $file: name of the template file (without suffix)
- :param string $renderas: If $renderas is set, OC_Template will try to produce a full page in the according layout. For now, renderas can be set to "guest", "user" or "admin"
- :returns: OC_Template object
-
- **Example:**
-
- .. code-block:: php
-
-
-
-
- .. php:method:: addHeader($tag, $attributes[, $text=''])
-
- :param string $tag: tag name of the element
- :param array $attributes: array of attrobutes for the element
- :param string $text: the text content for the element
-
- Add a custom element to the html
-
- **Example:**
-
- .. code-block:: php
-
- addHeader('title', array(), 'My new Page');
- ?>
-
- .. php:method:: append($key, $value)
-
- :param string $key: the key under which the variable can be accessed in the template
- :param $value: the value that we want to pass
- :returns: bool
-
- This function assigns a variable in an array context. If the key already exists, the value will be appended. It can be accessed via $_[$key][$position] in the template.
-
- **Example:**
-
- .. code-block:: php
-
- assign('customers', $customers);
- $mainTemplate->append('customers', 'hanna');
- ?>
-
-
- .. php:method:: assign($key, $value[, $sanitizeHTML=true])
-
- :param string $key: the key under which the variable can be accessed in the template
- :param $value: the value that we want to pass
- :param bool $sanitizeHTML: false, if data shouldn't get passed through htmlentities
- :returns: bool
-
- This function assigns a variable. It can be accessed via $_[$key] in the template. If the key existed before, it will be overwritten
-
- **Example:**
-
- .. code-block:: php
-
- assign('customers', $customers);
- ?>
-
-
- .. php:method:: detectFormfactor()
-
- :returns: The mode of the client as a string. **default** -> the normal desktop browser interface, **mobile** -> interface for smartphones, **tablet** -> interface for tablets, **standalone** -> the default interface but without header, footer and sidebar, just the application. Useful to use just a specific app on the desktop in a standalone window.
-
- **Example:**
-
- .. code-block:: php
-
- detectFormfactor();
- ?>
-
-
- .. php:method:: fetchPage()
-
- :returns: the HTML of the template as string
-
- This function proceeds the template and but prints no output.
-
- **Example:**
-
- .. todo:: provide example
-
-
- .. php:method:: getFormFactorExtension()
-
- :returns: Returns the formfactor extension for current formfactor (like .mobile or .tablet)
-
-
- **Example:**
-
- .. code-block:: php
-
- detectFormfactorExtension();
- ?>
-
-
- .. php:method:: inc($file[, $additionalparams])
-
- :param string $file: the name of the template
- :param array $additionalparams: an array with additional variables which should be used for the included template
- :returns: returns content of included template as a string
-
- Includes another template. use inc('template')); ?> to do this. The included template has access to all parent template variables!
-
- **Example:**
-
- .. code-block:: php
-
-
-
-
- .. php:method:: printPage()
-
- :returns: true when there is content to print
-
- This function proceeds the template and prints its output.
-
- **Example:**
-
- .. code-block:: php
-
- assign('test', array("test", "test2"));
- $mainTemplate->printPage();
- ?>
-
- .. php:method:: printAdminPage($application, $name[, $parameters])
-
- :param string $application: The application we render the template for
- :param string $name: Name of the template
- :param array $parameters: Parameters for the template
- :returns: bool
-
- Shortcut to print a simple page for admin
-
- **Example:**
-
- .. todo:: provide example
-
-
- .. php:method:: printGuestPage($application, $name[, $parameters])
-
- :param string $application: The application we render the template for
- :param string $name: Name of the template
- :param array $parameters: Parameters for the template
- :returns: bool
-
- Shortcut to print a simple page for guests
-
- **Example:**
-
- .. todo:: provide example
-
-
- .. php:method:: printUserPage($application, $name[, $parameters])
-
- :param string $application: The application we render the template for
- :param string $name: Name of the template
- :param array $parameters: Parameters for the template
- :returns: bool
-
- Shortcut to print a simple page for users
-
- **Example:**
-
- .. todo:: provide example
-
-
-
-Template functions
-------------------
-
-These functions are automatically available in all templates.
-
-html_select_options
-~~~~~~~~~~~~~~~~~~~
-.. php:function:: html_select_options($options, $selected[, $params])
-
- :param array $options: an array of the form value => label
- :param string/array $selected: an array containing strings or a simple string which sets a value as selected
- :param array $params: optional parameters that are done in key => value
- :returns: the html as string of preset