===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              grep rough audit - static analysis tool
                  v2.8 written by @Wireghoul
=================================[justanotherhacker.com]===
shaarli-0.12.0+dfsg/CHANGELOG.md-966-### Changed
shaarli-0.12.0+dfsg/CHANGELOG.md:967:- No more global `$LINKSDB` (Yuk)
shaarli-0.12.0+dfsg/CHANGELOG.md-968-- Background color was removed when hovering a link
##############################################
shaarli-0.12.0+dfsg/CHANGELOG.md-1139-  Warning: This was not tested. You need to set your hub url in
shaarli-0.12.0+dfsg/CHANGELOG.md:1140:  `$GLOBALS['config']['PUBSUBHUB_URL']` and put the official client (`publisher.php`)
shaarli-0.12.0+dfsg/CHANGELOG.md-1141-  in the same directory as Shaarli's `index.php`
##############################################
shaarli-0.12.0+dfsg/application/http/HttpUtils.php-107-
shaarli-0.12.0+dfsg/application/http/HttpUtils.php:108:    $response = curl_exec($ch);
shaarli-0.12.0+dfsg/application/http/HttpUtils.php-109-    $errorNo = curl_errno($ch);
##############################################
shaarli-0.12.0+dfsg/application/http/HttpUtils.php-122-        }
shaarli-0.12.0+dfsg/application/http/HttpUtils.php:123:        return array(array(0 => 'curl_exec() error: ' . $errorStr), false);
shaarli-0.12.0+dfsg/application/http/HttpUtils.php-124-    }
##############################################
shaarli-0.12.0+dfsg/application/legacy/LegacyController.php-27-    /**
shaarli-0.12.0+dfsg/application/legacy/LegacyController.php:28:     * This method will call `$action` method, which will redirect to corresponding Slim route.
shaarli-0.12.0+dfsg/application/legacy/LegacyController.php-29-     */
##############################################
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-19-  const xhr = new XMLHttpRequest();
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js:20:  xhr.open('PATCH', `${basePath}/admin/shaare/${ids[i]}/update-thumbnail`);
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-21-  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
##############################################
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-24-    if (xhr.status !== 200) {
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js:25:      alert(`An error occurred. Return code: ${xhr.status}`);
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-26-    } else {
##############################################
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-28-      i += 1;
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js:29:      elements.progressBar.style.width = `${(i * 100) / ids.length}%`;
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-30-      elements.current.innerHTML = i;
##############################################
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-32-      if (response.thumbnail !== false) {
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js:33:        elements.thumbnail.innerHTML = `<img src="${basePath}/${response.thumbnail}">`;
shaarli-0.12.0+dfsg/assets/common/js/thumbnails-update.js-34-      }
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-29-  const xhr = new XMLHttpRequest();
shaarli-0.12.0+dfsg/assets/default/js/base.js:30:  xhr.open('GET', `${basePath}/admin/token`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-31-  xhr.onload = () => {
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-50-    const before = awesome.input.value.match(/^.+ \s*|/)[0];
shaarli-0.12.0+dfsg/assets/default/js/base.js:51:    awesome.input.value = `${before}${text} `;
shaarli-0.12.0+dfsg/assets/default/js/base.js-52-  };
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-103-function htmlEntities(str) {
shaarli-0.12.0+dfsg/assets/default/js/base.js:104:  return str.replace(/[\u00A0-\u9999<>&]/gim, (i) => `&#${i.charCodeAt(0)};`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-105-}
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-190-function removeClass(element, classname) {
shaarli-0.12.0+dfsg/assets/default/js/base.js:191:  element.className = element.className.replace(new RegExp(`(?:^|\\s)${classname}(?:\\s|$)`), ' ');
shaarli-0.12.0+dfsg/assets/default/js/base.js-192-}
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-200-    description.style.height = 'auto';
shaarli-0.12.0+dfsg/assets/default/js/base.js:201:    description.style.height = `${description.scrollHeight + 10}px`;
shaarli-0.12.0+dfsg/assets/default/js/base.js-202-
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-458-          id: checkbox.value,
shaarli-0.12.0+dfsg/assets/default/js/base.js:459:          title: document.querySelector(`.linklist-item[data-id="${checkbox.value}"] .linklist-link`).innerHTML,
shaarli-0.12.0+dfsg/assets/default/js/base.js-460-        });
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-462-
shaarli-0.12.0+dfsg/assets/default/js/base.js:463:      let message = `Are you sure you want to delete ${links.length} links?\n`;
shaarli-0.12.0+dfsg/assets/default/js/base.js-464-      message += 'This action is IRREVERSIBLE!\n\nTitles:\n';
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-466-      links.forEach((item) => {
shaarli-0.12.0+dfsg/assets/default/js/base.js:467:        message += `  - ${item.title}\n`;
shaarli-0.12.0+dfsg/assets/default/js/base.js-468-        ids.push(item.id);
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-471-      if (window.confirm(message)) {
shaarli-0.12.0+dfsg/assets/default/js/base.js:472:        window.location = `${basePath}/admin/shaare/delete?id=${ids.join('+')}&token=${token.value}`;
shaarli-0.12.0+dfsg/assets/default/js/base.js-473-      }
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-488-            id: checkbox.value,
shaarli-0.12.0+dfsg/assets/default/js/base.js:489:            title: document.querySelector(`.linklist-item[data-id="${checkbox.value}"] .linklist-link`).innerHTML,
shaarli-0.12.0+dfsg/assets/default/js/base.js-490-          });
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-494-        window.location = (
shaarli-0.12.0+dfsg/assets/default/js/base.js:495:          `${basePath}/admin/shaare/visibility?token=${token.value}&newVisibility=${visibility}&id=${ids.join('+')}`
shaarli-0.12.0+dfsg/assets/default/js/base.js-496-        );
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-559-      const xhr = new XMLHttpRequest();
shaarli-0.12.0+dfsg/assets/default/js/base.js:560:      xhr.open('POST', `${basePath}/admin/tags`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-561-      xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-563-        if (xhr.status !== 200) {
shaarli-0.12.0+dfsg/assets/default/js/base.js:564:          alert(`An error occurred. Return code: ${xhr.status}`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-565-          location.reload();
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-574-            .querySelector('a.tag-link')
shaarli-0.12.0+dfsg/assets/default/js/base.js:575:            .setAttribute('href', `${basePath}/?searchtags=${encodeURIComponent(totag)}`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-576-          block
shaarli-0.12.0+dfsg/assets/default/js/base.js-577-            .querySelector('a.count')
shaarli-0.12.0+dfsg/assets/default/js/base.js:578:            .setAttribute('href', `${basePath}/add-tag/${encodeURIComponent(totag)}`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-579-          block
shaarli-0.12.0+dfsg/assets/default/js/base.js-580-            .querySelector('a.rename-tag')
shaarli-0.12.0+dfsg/assets/default/js/base.js:581:            .setAttribute('href', `${basePath}/admin/tags?fromtag=${encodeURIComponent(totag)}`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-582-
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-587-      };
shaarli-0.12.0+dfsg/assets/default/js/base.js:588:      xhr.send(`renametag=1&fromtag=${fromtagUrl}&totag=${encodeURIComponent(totag)}&token=${refreshedToken}`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-589-      refreshToken(basePath);
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-613-
shaarli-0.12.0+dfsg/assets/default/js/base.js:614:      if (confirm(`Are you sure you want to delete the tag "${tag}"?`)) {
shaarli-0.12.0+dfsg/assets/default/js/base.js-615-        const xhr = new XMLHttpRequest();
shaarli-0.12.0+dfsg/assets/default/js/base.js:616:        xhr.open('POST', `${basePath}/admin/tags`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-617-        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
##############################################
shaarli-0.12.0+dfsg/assets/default/js/base.js-620-        };
shaarli-0.12.0+dfsg/assets/default/js/base.js:621:        xhr.send(`deletetag=1&fromtag=${tagUrl}&token=${refreshedToken}`);
shaarli-0.12.0+dfsg/assets/default/js/base.js-622-        refreshToken(basePath);
##############################################
shaarli-0.12.0+dfsg/assets/default/js/plugins-admin.js-9-  elem.setAttribute('data-order', toPos);
shaarli-0.12.0+dfsg/assets/default/js/plugins-admin.js:10:  const hiddenInput = document.querySelector(`[name="order_${elemName}"]`);
shaarli-0.12.0+dfsg/assets/default/js/plugins-admin.js-11-  hiddenInput.setAttribute('value', toPos);
##############################################
shaarli-0.12.0+dfsg/assets/default/js/plugins-admin.js-21-  const newpos = parseInt(pos, 10) + move;
shaarli-0.12.0+dfsg/assets/default/js/plugins-admin.js:22:  let lines = document.querySelectorAll(`[data-order="${pos}"]`);
shaarli-0.12.0+dfsg/assets/default/js/plugins-admin.js:23:  const changelines = document.querySelectorAll(`[data-order="${newpos}"]`);
shaarli-0.12.0+dfsg/assets/default/js/plugins-admin.js-24-
##############################################
shaarli-0.12.0+dfsg/assets/vintage/js/base.js-11-      const before = awesomplete.input.value.match(/^.+ \s*|/)[0];
shaarli-0.12.0+dfsg/assets/vintage/js/base.js:12:      awesomplete.input.value = `${before}${text} `;
shaarli-0.12.0+dfsg/assets/vintage/js/base.js-13-    };
##############################################
shaarli-0.12.0+dfsg/doc/md/REST-API.md-61-
shaarli-0.12.0+dfsg/doc/md/REST-API.md:62:    $result = curl_exec($ch);
shaarli-0.12.0+dfsg/doc/md/REST-API.md-63-    curl_close($ch);
##############################################
shaarli-0.12.0+dfsg/doc/md/Troubleshooting.md-82-- Your php installation may not have a proper directory setup for session files. (eg. on Free.fr you need to create a  `session` directory on the root of your website.) You may need to create the session directory of set it up.
shaarli-0.12.0+dfsg/doc/md/Troubleshooting.md:83:- Most hosts regularly clean the temporary and session directories. Your host may be cleaning those directories too aggressively (eg.OVH hosts), forcing an expire of the session. You may want to set the session directory in your web root. (eg. Create the `sessions` subdirectory and add `ini_set('session.save_path', $_SERVER['DOCUMENT_ROOT'].'/../sessions');`. Make sure this directory is not browsable !)
shaarli-0.12.0+dfsg/doc/md/Troubleshooting.md-84-- If your IP address changes during surfing, Shaarli will force expire your session for security reasons (to prevent session cookie hijacking). This can happen when surfing from WiFi or 3G (you may have switched WiFi/3G access point), or in some corporate/university proxies which use load balancing (and may have proxies with several external IP addresses).
##############################################
shaarli-0.12.0+dfsg/doc/md/Troubleshooting.md-173-
shaarli-0.12.0+dfsg/doc/md/Troubleshooting.md:174:- Look for `<input type="hidden" name="lf_linkdate" value="{$link.linkdate}">` in `tpl/editlink.tpl` (line 14)
shaarli-0.12.0+dfsg/doc/md/Troubleshooting.md-175-- Replace `type="hidden"` with `type="text"` from this line
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-68-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:69:Every hook function has a `$data` parameter. Its content differs for each hooks.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-70-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-77-Special additional data are passed to every hook through the
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:78:`$data` parameter to give you access to additional context, and services.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-79-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-113-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:114:When a page is displayed, every variable send to the template engine is passed to plugins before that in `$data`.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-115-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-147-If a file needs to be included in server end, use simple relative path:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:148:`PluginManager::$PLUGINS_PATH . '/mything/template.html'`.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-149-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-151-the relative path must be prefixed with special data `_BASE_PATH_`:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:152:`($data['_BASE_PATH_'] ?? '') . '/' . PluginManager::$PLUGINS_PATH . '/mything/picture.png`.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-153-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-190-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:191:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-192-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-196-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:197:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-198-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-217-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:218:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-219-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-223-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:224:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-225-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-240-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:241:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-242-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-246-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:247:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-248-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-268-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:269:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-270-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-275-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:276:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-277-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-304-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:305:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-306-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-311-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:312:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-313-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-328-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:329:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-330-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-335-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:336:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-337-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-352-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:353:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-354-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-359-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:360:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-361-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-377-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:378:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-379-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-384-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:385:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-386-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-404-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:405:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-406-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-411-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:412:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-413-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-431-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:432:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-433-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-438-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:439:Items can be displayed in templates by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-440-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-458-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:459:`$data` is an array containing:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-460-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-465-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:466:Tags can be added in feeds by adding an entry in `$data['<placeholder>']` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-467-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-484-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:485:`$data` is an array containing the link being saved:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-486-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-507-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:508:`$data` is an array containing the link being deleted:
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-509-
##############################################
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-530-
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md:531:`$data` input contains the `$_POST` array.
shaarli-0.12.0+dfsg/doc/md/dev/Plugin-system.md-532-