easyappointments/doc/code/php/classes/Backend.html

634 lines
38 KiB
HTML
Raw Normal View History

2015-01-22 00:17:16 +02:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<meta charset="utf-8"/>
<title>API Documentation</title>
<meta name="author" content=""/>
<meta name="description" content=""/>
<link href="../css/bootstrap-combined.no-icons.min.css" rel="stylesheet">
<link href="../css/font-awesome.min.css" rel="stylesheet">
<link href="../css/prism.css" rel="stylesheet" media="all"/>
<link href="../css/template.css" rel="stylesheet" media="all"/>
<!--[if lt IE 9]>
<script src="../js/html5.js"></script>
<![endif]-->
<script src="../js/jquery-1.11.0.min.js"></script>
<script src="../js/ui/1.10.4/jquery-ui.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/jquery.smooth-scroll.js"></script>
<script src="../js/prism.min.js"></script>
<!-- TODO: Add http://jscrollpane.kelvinluck.com/ to style the scrollbars for browsers not using webkit-->
<script type="text/javascript">
function loadExternalCodeSnippets() {
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
var src = pre.getAttribute('data-src');
var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
var language = 'php';
var code = document.createElement('code');
code.className = 'language-' + language;
pre.textContent = '';
code.textContent = 'Loading…';
pre.appendChild(code);
var xhr = new XMLHttpRequest();
xhr.open('GET', src, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status < 400 && xhr.responseText) {
code.textContent = xhr.responseText;
Prism.highlightElement(code);
}
else if (xhr.status >= 400) {
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
}
else {
code.textContent = '✖ Error: File does not exist or is empty';
}
}
};
xhr.send(null);
});
}
$(document).ready(function(){
loadExternalCodeSnippets();
});
$('#source-view').on('shown', function () {
loadExternalCodeSnippets();
})
</script>
<link rel="shortcut icon" href="../images/favicon.ico"/>
<link rel="apple-touch-icon" href="../images/apple-touch-icon.png"/>
<link rel="apple-touch-icon" sizes="72x72" href="../images/apple-touch-icon-72x72.png"/>
<link rel="apple-touch-icon" sizes="114x114" href="../images/apple-touch-icon-114x114.png"/>
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<i class="icon-ellipsis-vertical"></i>
</a>
<a class="brand" href="../index.html">API Documentation</a>
<div class="nav-collapse">
<ul class="nav pull-right">
<li class="dropdown" id="charts-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Charts <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../graphs/class.html">
<i class="icon-list-alt"></i>&#160;Class hierarchy diagram
</a>
</li>
</ul>
</li>
<li class="dropdown" id="reports-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Reports <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li>
<a href="../reports/errors.html">
<i class="icon-list-alt"></i>&#160;Errors <span class="label label-info pull-right">368</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;Markers <span class="label label-info pull-right">0</span>
</a>
</li>
<li>
<a href="../reports/deprecated.html">
<i class="icon-list-alt"></i>&#160;Deprecated <span class="label label-info pull-right">1</span>
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<!--<div class="go_to_top">-->
<!--<a href="#___" style="color: inherit">Back to top&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
<div id="___" class="container-fluid">
<section class="row-fluid">
<div class="span2 sidebar">
<div class="accordion" style="margin-bottom: 0">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1970822281"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1970822281" class="accordion-body collapse in">
<div class="accordion-inner">
<ul>
<li class="class"><a href="../classes/Admins_Model.html">Admins_Model</a></li>
<li class="class"><a href="../classes/Appointments.html">Appointments</a></li>
<li class="class"><a href="../classes/Appointments_Model.html">Appointments_Model</a></li>
<li class="class"><a href="../classes/Backend.html">Backend</a></li>
<li class="class"><a href="../classes/Backend_api.html">Backend_api</a></li>
<li class="class"><a href="../classes/Customers_Model.html">Customers_Model</a></li>
<li class="class"><a href="../classes/Errors.html">Errors</a></li>
<li class="class"><a href="../classes/Google.html">Google</a></li>
<li class="class"><a href="../classes/Google_Sync.html">Google_Sync</a></li>
<li class="class"><a href="../classes/Notifications.html">Notifications</a></li>
<li class="class"><a href="../classes/Providers_Model.html">Providers_Model</a></li>
<li class="class"><a href="../classes/Roles_Model.html">Roles_Model</a></li>
<li class="class"><a href="../classes/Secretaries_Model.html">Secretaries_Model</a></li>
<li class="class"><a href="../classes/Services_Model.html">Services_Model</a></li>
<li class="class"><a href="../classes/Settings_Model.html">Settings_Model</a></li>
<li class="class"><a href="../classes/Test.html">Test</a></li>
<li class="class"><a href="../classes/Unit_tests.html">Unit_tests</a></li>
<li class="class"><a href="../classes/Unit_tests_admins_model.html">Unit_tests_admins_model</a></li>
<li class="class"><a href="../classes/Unit_tests_appointments_model.html">Unit_tests_appointments_model</a></li>
<li class="class"><a href="../classes/Unit_tests_customers_model.html">Unit_tests_customers_model</a></li>
<li class="class"><a href="../classes/Unit_tests_providers_model.html">Unit_tests_providers_model</a></li>
<li class="class"><a href="../classes/Unit_tests_secretaries_model.html">Unit_tests_secretaries_model</a></li>
<li class="class"><a href="../classes/Unit_tests_services_model.html">Unit_tests_services_model</a></li>
<li class="class"><a href="../classes/Unit_tests_settings_model.html">Unit_tests_settings_model</a></li>
<li class="class"><a href="../classes/User.html">User</a></li>
<li class="class"><a href="../classes/User_Model.html">User_Model</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</section>
<section class="row-fluid">
<div class="span10 offset2">
<div class="row-fluid">
<div class="span8 content class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
<h1><small>\</small>Backend</h1>
<p><em></em></p>
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Backend.html#method___construct" class="">__construct()</a><br />
<a href="../classes/Backend.html#method_index" class="">index()</a><br />
<a href="../classes/Backend.html#method_customers" class="">customers()</a><br />
<a href="../classes/Backend.html#method_services" class="">services()</a><br />
<a href="../classes/Backend.html#method_users" class="">users()</a><br />
<a href="../classes/Backend.html#method_settings" class="">settings()</a><br />
<a href="../classes/Backend.html#method_setUserData" class="">setUserData()</a><br />
<a href="../classes/Backend.html#method_update" class="">update()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Backend.html#method_hasPrivileges" class="">hasPrivileges()</a><br />
</section>
<section class="span4">
<em>No private properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/controllers.backend.html"><div class="path-wrapper">controllers/backend.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">Default</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\CI_Controller</div>
<div class="namespace-wrapper">\Backend</div>
</dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">__construct() </pre>
<p><em></em></p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_index" name="method_index" class="anchor"></a>
<article class="method">
<h3 class="public ">index()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">index(string <span class="argument">$appointment_hash = &#039;&#039;</span>) </pre>
<p><em>Display the main backend page.</em></p>
<p>This method displays the main backend page. All users login permission can
view this page which displays a calendar with the events of the selected
provider or service. If a user has more priviledges he will see more menus
at the top of the page.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$appointment_hash </td>
<td><p>If given, the appointment edit dialog will
appear when the page loads.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_customers" name="method_customers" class="anchor"></a>
<article class="method">
<h3 class="public ">customers()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">customers() </pre>
<p><em>Display the backend customers page.</em></p>
<p>In this page the user can manage all the customer records of the system.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_services" name="method_services" class="anchor"></a>
<article class="method">
<h3 class="public ">services()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">services() </pre>
<p><em>Displays the backend services page.</em></p>
<p>Here the admin user will be able to organize and create the services
that the user will be able to book appointments in frontend.</p>
<p>NOTICE: The services that each provider is able to service is managed
from the backend services page.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_users" name="method_users" class="anchor"></a>
<article class="method">
<h3 class="public ">users()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">users() </pre>
<p><em>Display the backend users page.</em></p>
<p>In this page the admin user will be able to manage the system users.
By this, we mean the provider, secretary and admin users. This is also
the page where the admin defines which service can each provider provide.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_settings" name="method_settings" class="anchor"></a>
<article class="method">
<h3 class="public ">settings()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">settings() </pre>
<p><em>Display the user/system settings.</em></p>
<p>This page will display the user settings (name, password etc). If current user is
an administrator, then he will be able to make change to the current Easy!Appointment
installation (core settings like company name, book timeout etc).</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setUserData" name="method_setUserData" class="anchor"></a>
<article class="method">
<h3 class="public ">setUserData()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">setUserData(array <span class="argument">$view</span>) </pre>
<p><em>Set the user data in order to be available at the view and js code.</em></p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$view </td>
<td><p>Contains the view data.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_update" name="method_update" class="anchor"></a>
<article class="method">
<h3 class="public ">update()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">update() </pre>
<p><em>This method will update the installation to the latest available
version in the server. IMPORTANT: The code files must exist in the
server, this method will not fetch any new files but will update
the database schema.</em></p>
<p>This method can be used either by loading the page in the browser
or by an ajax request. But it will answer with json encoded data.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
<div class="row-fluid">
<div class="span8 content class">
<a id="method_hasPrivileges" name="method_hasPrivileges" class="anchor"></a>
<article class="method">
<h3 class="private ">hasPrivileges()</h3>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a>
<pre class="signature" style="margin-right: 54px;">hasPrivileges(string <span class="argument">$page</span>, boolean <span class="argument">$redirect = TRUE</span>) : boolean</pre>
<p><em>Check whether current user is logged in and has the required privileges to
view a page.</em></p>
<p>The backend page requires different privileges from the users to display pages. Not all
pages are avaiable to all users. For example secretaries should not be able to edit the
system users.</p>
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$page </td>
<td><p>This argument must match the roles field names of each section
(eg "appointments", "users" ...).</p></td>
</tr>
<tr>
<td>boolean</td>
<td>$redirect </td>
<td><p>(OPTIONAL - TRUE) If the user has not the required privileges
(either not logged in or insufficient role privileges) then the user will be redirected
to another page. Set this argument to FALSE when using ajax.</p></td>
</tr>
</table>
<h4>Returns</h4>
boolean
&mdash; <p>Returns whether the user has the required privileges to view the page or
not. If the user is not logged in then he will be prompted to log in. If he hasn't the
required privileges then an info message will be displayed.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>See also</dt>
<dd><a href=""><span class="namespace-wrapper">Definition In application/config/constants.php</span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr><td colspan="2"><em>None found</em></td></tr>
</table>
</aside>
</div>
</div>
</section>
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">backend.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/controllers/backend.php.txt" class="language-php line-numbers"></pre>
</div>
</div>
<footer class="row-fluid">
<section class="span10 offset2">
<section class="row-fluid">
<section class="span10 offset1">
<section class="row-fluid footer-sections">
<section class="span4">
<h1><i class="icon-code"></i></h1>
<div>
<ul>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-bar-chart"></i></h1>
<div>
<ul>
<li><a href="../graphs/class.html">Class Hierarchy Diagram</a></li>
</ul>
</div>
</section>
<section class="span4">
<h1><i class="icon-pushpin"></i></h1>
<div>
<ul>
<li><a href="../reports/errors.html">Errors</a></li>
<li><a href="../reports/markers.html">Markers</a></li>
</ul>
</div>
</section>
</section>
</section>
</section>
<section class="row-fluid">
<section class="span10 offset1">
<hr />
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored
on January 21st, 2015 at 23:15.
</section>
</section>
</section>
</footer>
</div>
</body>
</html>