471 lines
29 KiB
HTML
471 lines
29 KiB
HTML
|
<!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> 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> Errors <span class="label label-info pull-right">368</span>
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="../reports/markers.html">
|
|||
|
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span>
|
|||
|
</a>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<a href="../reports/deprecated.html">
|
|||
|
<i class="icon-list-alt"></i> 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  <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-559077225"></a>
|
|||
|
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
|
|||
|
</div>
|
|||
|
<div id="namespace-559077225" 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>Google</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/Google.html#method___construct" class="">__construct()</a><br />
|
|||
|
<a href="../classes/Google.html#method_oauth" class="">oauth()</a><br />
|
|||
|
<a href="../classes/Google.html#method_oauth_callback" class="">oauth_callback()</a><br />
|
|||
|
<a href="../classes/Google.html#method_sync" class="">sync()</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">
|
|||
|
<em>No private methods found</em>
|
|||
|
</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.google.html"><div class="path-wrapper">controllers/google.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">\Google</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_oauth" name="method_oauth" class="anchor"></a>
|
|||
|
<article class="method">
|
|||
|
<h3 class="public ">oauth()</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;">oauth(integer <span class="argument">$provider_id</span>) </pre>
|
|||
|
<p><em>Authorize Google Calendar API usage for a specific provider.</em></p>
|
|||
|
<p>Since it is required to follow the web application flow, in order to retrieve
|
|||
|
a refresh token from the Google API service, this method is going to authorize
|
|||
|
the given provider.</p>
|
|||
|
|
|||
|
<h4>Parameters</h4>
|
|||
|
<table class="table table-condensed table-hover">
|
|||
|
<tr>
|
|||
|
<td>integer</td>
|
|||
|
<td>$provider_id </td>
|
|||
|
<td><p>The provider id, for whom the sync authorization is made.</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_oauth_callback" name="method_oauth_callback" class="anchor"></a>
|
|||
|
<article class="method">
|
|||
|
<h3 class="public ">oauth_callback()</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;">oauth_callback() </pre>
|
|||
|
<p><em>Callback method for the Google Calendar API authorization process.</em></p>
|
|||
|
<p>Once the user grants consent with his Google Calendar data usage, the Google
|
|||
|
OAuth service will redirect him back in this page. Here we are going to store
|
|||
|
the refresh token, because this is what will be used to generate access tokens
|
|||
|
in the future.</p>
|
|||
|
<p><strong>IMPORTANT!</strong> Because it is necessary to authorize the application
|
|||
|
using the web server flow (see official documentation of OAuth), every
|
|||
|
Easy!Appointments installation should use its own calendar api key. So in every
|
|||
|
api console account, the "<a href="http://path-to-e!a/google/oauth_callback">http://path-to-e!a/google/oauth_callback</a>" should be
|
|||
|
included in an allowed redirect url.</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_sync" name="method_sync" class="anchor"></a>
|
|||
|
<article class="method">
|
|||
|
<h3 class="public ">sync()</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;">sync(\numeric <span class="argument">$provider_id = NULL</span>) </pre>
|
|||
|
<p><em>Complete synchronization of appointments between Google Calendar and Easy!Appointments.</em></p>
|
|||
|
<p>This method will completely sync the appointments of a provider with his Google Calendar
|
|||
|
account. The sync period needs to be relatively small, because a lot of API calls might
|
|||
|
be necessary and this will lead to consuming the Google limit for the Calendar API usage.</p>
|
|||
|
|
|||
|
<h4>Parameters</h4>
|
|||
|
<table class="table table-condensed table-hover">
|
|||
|
<tr>
|
|||
|
<td>\numeric</td>
|
|||
|
<td>$provider_id </td>
|
|||
|
<td><p>Provider record to be synced.</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>
|
|||
|
</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">google.php</h3>
|
|||
|
</div>
|
|||
|
<div class="modal-body">
|
|||
|
<pre data-src="../files/controllers/google.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>
|