21 require_once
'OPiQuotations/log.inc';
26 ini_set(
'display_errors',
'stdout');
27 ini_set(
'display_startup_errors', 1);
28 ini_set(
'html_errors', 1);
32 assert_options(ASSERT_ACTIVE,
true);
33 assert_options(ASSERT_WARNING,
true);
34 assert_options(ASSERT_BAIL,
true);
39 ini_set(
'display_errors',
'stderr');
40 ini_set(
'display_startup_errors', 0);
41 ini_set(
'html_errors', 0);
45 assert_options(ASSERT_ACTIVE,
false);
46 assert_options(ASSERT_WARNING,
false);
47 assert_options(ASSERT_BAIL,
false);
49 set_error_handler(
'\OPiQuotations\error_handler');
54 mb_internal_encoding(
'UTF-8');
55 mb_regex_encoding(
'UTF-8');
56 mb_http_output(
'UTF-8');
57 mb_detect_order(
'UTF-8');
60 require_once
'OPiQuotations/OPiQuotations.inc';
66 if (isset($_GET[
'id'])) {
68 $id = (int)$_GET[
'id'];
70 $quot = ((string)$id === $_GET[
'id']
75 header(
'Location: http://'.$_SERVER[
'HTTP_HOST'].$_SERVER[
'PHP_SELF']);
88 $title =
'une OPiCitations n°'.$quot->id().
' — Dictionnaire de plus de 3000 citations';
90 $desc =
'une OPiCitation n°'.$quot->id().
' :
91 '.htmlspecialchars($quot->to_text());
98 $keywords = [
'citation',
'citations',
'maxime',
'maximes',
'proverbe',
'proverbes',
'littérature',
'français'];
101 foreach ([$quot->subject(), ($quot->is_maxim()
103 : $quot->author()), $quot->work()] as $keyword) {
104 if ($keyword !== null) {
106 $a = explode(
' ', $keyword);
115 foreach ($a as $keyword) {
116 $keywords[] = htmlspecialchars($keyword);
130 $url_site =
'http://'.$_SERVER[
'HTTP_HOST'].dirname($_SERVER[
'PHP_SELF']).
'/';
136 <meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8">
138 <meta name=
"viewport" content=
"width=device-width, initial-scale=1">
140 <meta name=
"author" content=
"Olivier Pirson">
141 <meta name=
"description" content=
"<?php echo $desc; ?>">
142 <meta name=
"keywords" content=
"<?php echo implode(',', $keywords); ?>">
143 <meta name=
"keywords" lang=
"en" content=
"quotation,quotations,maxim,maxims,proverb,proverbs,literature,French">
145 <title><?php echo $title; ?></title>
147 <link rel=
"stylesheet" type=
"text/css" href=
"public/css/oneOPiQuotation.min.css">
149 <script type=
"text/javascript">window.___gcfg = {lang:
'fr', parsetags:
'explicit'};</script>
150 <script type=
"text/javascript" src=
"http://platform.twitter.com/widgets.js" async=
"async"></script>
151 <script type=
"text/javascript" src=
"http://connect.facebook.net/fr_FR/sdk.js" async=
"async"></script>
152 <script type=
"text/javascript" src=
"https://apis.google.com/js/platform.js" async=
"async"></script>
153 <script type=
"text/javascript" src=
"public/js/oneOPiQuotation.automatic-min.js" async=
"async"></script>
155 <link rel=
"icon" type=
"image/x-icon" href=
"public/img/oneOPiQuotation-32x32.ico">
157 <link rel=
"canonical" href=
"<?php echo $url; ?>">
159 <meta
property=
"og:image" content=
"<?php echo $url_site; ?>public/img/oneOPiQuotation<?php
161 if ($quot->is_maxim()) {
166 <meta
property=
"og:description" content=
"<?php echo $desc_open_graph; ?>">
167 <meta
property=
"og:title" content=
"<?php echo $title; ?>">
168 <meta
property=
"og:type" content=
"website">
169 <meta
property=
"og:url" content=
"<?php echo $url; ?>">
171 <meta name=
"msapplication-TileColor" content=
"#fdfdd0">
172 <meta name=
"msapplication-square150x150logo" content=
"public/img/oneOPiQuotation-64x64-t.png">
179 echo $quot->to_html(null,
true,
'_blank',
'h1');
186 echo
' <footer id="sharing-global">
187 Partager cette citation :
190 <a class="twitter-share-button" href="https://twitter.com/share" data-lang="fr" data-text="',
$quot_short,
'" data-url="',
$url,
'"',
192 ?
' data-via="OPiCitationJour"' #
' via @OPiCitationJour': length 21
195 <div class="fb-like" data-href="', $url,
'" data-layout="button_count" data-share="true" data-show-faces="true"></div>
197 <div class="g-plus" data-action="share" data-annotation="bubble" data-href="', $url,
'" data-width="120"></div>
204 <?php
if (!isset($_GET[
'no-link-OPiQuotations'])): ?>
207 <a href=
"<?php echo $url_site; ?>" target=
"_blank">D’autres citations sur <span>O<span
class=
"surname">Pi</span>Citations</span></a>