aboutsummaryrefslogtreecommitdiff
path: root/w/fn/w.fn.php
diff options
context:
space:
mode:
Diffstat (limited to 'w/fn/w.fn.php')
-rw-r--r--w/fn/w.fn.php180
1 files changed, 180 insertions, 0 deletions
diff --git a/w/fn/w.fn.php b/w/fn/w.fn.php
new file mode 100644
index 0000000..72c98c1
--- /dev/null
+++ b/w/fn/w.fn.php
@@ -0,0 +1,180 @@
+<?php
+function bddconnect($host, $bdname, $user, $password)
+{
+ try {
+ $bdd = new PDO('mysql:host=' . $host . ';dbname=' . $dbname . ';charset=utf8', $user, $password);
+ } catch (Exeption $e) {
+ die('Erreur : ' . $e->getMessage());
+ }
+ return $bdd;
+}
+
+function my_autoloader($class)
+{
+ require(__DIR__.'/../class/class.w.' . strtolower($class) . '.php');
+}
+
+function secure()
+{
+ if (!isset($_SESSION['id'])) {
+ header("location: ./");
+ }
+}
+
+function head($title)
+{
+ ?>
+ <head>
+ <meta charset="utf8" />
+ <meta name="viexport" content="width=device-width" />
+ <link href="./css/style.css" rel="stylesheet" />
+ <title><?= $title ?></title>
+ </head>
+ <?php
+
+}
+
+function search($haystack, $debut, $fin)
+{
+ $list = [];
+
+ $indexdebut = strpos($haystack, $debut);
+ if ($indexdebut !== false) {
+ $indexdebut += strlen($debut);
+ $indexfin = strpos($haystack, $fin, $indexdebut);
+ if ($indexfin !== false) {
+ array_push($list, substr($haystack, $indexdebut, $indexfin - $indexdebut));
+ $haystack = substr($haystack, $indexfin);
+ $list = array_merge($list, search($haystack, $debut, $fin));
+ }
+ }
+ return $list;
+
+}
+
+function readablesize($bytes)
+{
+
+ $num = 5;
+ $location = 'tree';
+ $format = ' %d %s';
+
+
+
+ if ($bytes < 2 ** 10) {
+ $num = $bytes;
+ $unit = 'o';
+ } elseif ($bytes < 2 ** 20) {
+ $num = round($bytes / 2 ** 10, 1);
+ $unit = 'Kio';
+ } elseif ($bytes < 2 ** 30) {
+ $num = round($bytes / 2 ** 20, 1);
+ $unit = 'Mio';
+ } elseif ($bytes < 2 ** 40) {
+ $num = round($bytes / 2 ** 30, 1);
+ $unit = 'Gio';
+ }
+
+ return sprintf($format, $num, $unit);
+}
+
+/* human readable date interval
+ * @param DateInterval $diff - l'interval de temps
+ * @return string
+ */
+function hrdi(DateInterval $diff)
+{
+ $str = "";
+ if ($diff->y > 1) return $str . $diff->y . ' years';
+ if ($diff->y == 1) return $str . ' 1 year and ' . $diff->m . ' months';
+ if ($diff->m > 1) return $str . $diff->m . ' months';
+ if ($diff->m == 1) return $str . ' 1 month and ' . $diff->d . ($diff->d > 1 ? ' days' : ' day');
+ if ($diff->d > 1) return $str . $diff->d . ' days';
+ if ($diff->d == 1) return $str . ' 1 day and ' . $diff->h . ($diff->h > 1 ? ' hours' : ' hour');
+ if ($diff->h > 1) return $str . $diff->h . ' hours';
+ if ($diff->h == 1) return $str . ' 1 hour and ' . $diff->i . ($diff->i > 1 ? ' minutes' : ' minute');
+ if ($diff->i > 1) return $str . $diff->i . ' minutes';
+ if ($diff->i == 1) return $str . ' 1 minute';
+ return $str . ' a few secondes';
+}
+
+
+
+function arrayclean($input)
+{
+ $output = [];
+ foreach ($input as $key => $value) {
+ if (is_array($value)) {
+ $output[$key] = array_filter($value);
+ } else {
+ $output[$key] = $value;
+ }
+ }
+ return $output;
+}
+
+
+
+
+function array_update($base, $new)
+{
+ foreach ($base as $key => $value) {
+ if (array_key_exists($key, $new)) {
+ if (gettype($base[$key]) == gettype($new[$key])) {
+ $base[$key] = $new[$key];
+ }
+ }
+ }
+ return $base;
+}
+
+function contains($needle, $haystack)
+{
+ return strpos($haystack, $needle) !== false;
+}
+
+
+function str_clean(string $string)
+{
+ return str_replace(' ', '_', strtolower(strip_tags($string)));
+}
+
+function sumparser($text)
+{
+ preg_match_all('#<h([1-6]) id="(\w+)">(.+)</h[1-6]>#iU', $text, $out);
+
+
+ $sum = [];
+ foreach ($out[2] as $key => $value) {
+ $sum[$value][$out[1][$key]] = $out[3][$key];
+ }
+
+
+ $sumstring = '';
+ $last = 0;
+ foreach ($sum as $title => $list) {
+ foreach ($list as $h => $link) {
+ if($h > $last) {
+ for ($i = 1; $i <= ($h - $last); $i++) {
+ $sumstring .= '<ul>';
+ }
+ $sumstring .= '<li><a href="#'.$title.'">'.$link.'</a></li>' ;
+ } elseif ($h < $last) {
+ for ($i = 1; $i <= ($last - $h); $i++) {
+ $sumstring .= '</ul>';
+ }
+ $sumstring .= '<li><a href="#'.$title.'">'.$link.'</a></li>' ;
+ } elseif ($h = $last) {
+ $sumstring .= '<li><a href="#'.$title.'">'.$link.'</a></li>' ;
+ }
+ $last = $h;
+ }
+ }
+ for ($i = 1; $i <= ($last); $i++) {
+ $sumstring .= '</ul>';
+ }
+ return $sumstring;
+}
+
+
+?> \ No newline at end of file