Add phpdocs fixes notices related to various summarizers, a=chris

Chris Pollett [2017-01-17 00:Jan:th]
Add phpdocs fixes notices related to various summarizers, a=chris
Filename
index.php
src/advertise.php
src/blog.php
src/bot.php
src/configs/Config.php
src/configs/ConfigureTool.php
src/configs/Createdb.php
src/configs/CreditConfig.php
src/configs/ExportPublicHelpDb.php
src/configs/PublicHelpPages.php
src/configs/TokenTool.php
src/configs/default_crawl.ini
src/controllers/AdminController.php
src/controllers/ApiController.php
src/controllers/ArchiveController.php
src/controllers/ClassifierController.php
src/controllers/Controller.php
src/controllers/CrawlController.php
src/controllers/FetchController.php
src/controllers/GroupController.php
src/controllers/JobsController.php
src/controllers/MachineController.php
src/controllers/RegisterController.php
src/controllers/ResourceController.php
src/controllers/SearchController.php
src/controllers/SettingsController.php
src/controllers/StaticController.php
src/controllers/components/AccountaccessComponent.php
src/controllers/components/AdvertisementComponent.php
src/controllers/components/Component.php
src/controllers/components/CrawlComponent.php
src/controllers/components/SocialComponent.php
src/controllers/components/SystemComponent.php
src/css/editor.css
src/css/search.css
src/error.php
src/examples/QueryCacher.php
src/examples/SearchApi.php
src/examples/bot_examples/weather/WeatherBot.php
src/executables/ArcTool.php
src/executables/ClassifierTool.php
src/executables/ClassifierTrainer.php
src/executables/CodeTool.php
src/executables/Fetcher.php
src/executables/MediaUpdater.php
src/executables/Mirror.php
src/executables/QueryTool.php
src/executables/QueueServer.php
src/index.php
src/library/AnalyticsManager.php
src/library/BTree.php
src/library/BloomFilterBundle.php
src/library/BloomFilterFile.php
src/library/BrowserRunner.php
src/library/Bzip2BlockIterator.php
src/library/CrawlConstants.php
src/library/CrawlDaemon.php
src/library/FetchGitRepositoryUrls.php
src/library/FetchUrl.php
src/library/FileCache.php
src/library/HashTable.php
src/library/IndexArchiveBundle.php
src/library/IndexDictionary.php
src/library/IndexManager.php
src/library/IndexShard.php
src/library/JavascriptUnitTest.php
src/library/Join.php
src/library/LocaleFunctions.php
src/library/MailServer.php
src/library/MediaConstants.php
src/library/NWordGrams.php
src/library/Notifier.php
src/library/PageRuleParser.php
src/library/PartialZipArchive.php
src/library/PersistentStructure.php
src/library/PhraseParser.php
src/library/PriorityQueue.php
src/library/ScraperManager.php
src/library/StringArray.php
src/library/SuffixTree.php
src/library/Thesaurus.php
src/library/Trie.php
src/library/UnitTest.php
src/library/UpgradeFunctions.php
src/library/UrlParser.php
src/library/Utility.php
src/library/VersionFunctions.php
src/library/WebArchive.php
src/library/WebArchiveBundle.php
src/library/WebQueueBundle.php
src/library/WikiParser.php
src/library/archive_bundle_iterators/ArcArchiveBundleIterator.php
src/library/archive_bundle_iterators/ArchiveBundleIterator.php
src/library/archive_bundle_iterators/DatabaseBundleIterator.php
src/library/archive_bundle_iterators/MediaWikiArchiveBundleIterator.php
src/library/archive_bundle_iterators/MixArchiveBundleIterator.php
src/library/archive_bundle_iterators/OdpRdfArchiveBundleIterator.php
src/library/archive_bundle_iterators/TextArchiveBundleIterator.php
src/library/archive_bundle_iterators/WarcArchiveBundleIterator.php
src/library/archive_bundle_iterators/WebArchiveBundleIterator.php
src/library/classifiers/BinaryFeatures.php
src/library/classifiers/ChiSquaredFeatureSelection.php
src/library/classifiers/Classifier.php
src/library/classifiers/ClassifierAlgorithm.php
src/library/classifiers/FeatureSelection.php
src/library/classifiers/Features.php
src/library/classifiers/LassoRegression.php
src/library/classifiers/NaiveBayes.php
src/library/classifiers/SparseMatrix.php
src/library/classifiers/WeightedFeatures.php
src/library/compressors/Compressor.php
src/library/compressors/GzipCompressor.php
src/library/compressors/NonCompressor.php
src/library/index_bundle_iterators/DisjointIterator.php
src/library/index_bundle_iterators/DocIterator.php
src/library/index_bundle_iterators/GroupIterator.php
src/library/index_bundle_iterators/IndexBundleIterator.php
src/library/index_bundle_iterators/IntersectIterator.php
src/library/index_bundle_iterators/NegationIterator.php
src/library/index_bundle_iterators/NetworkIterator.php
src/library/index_bundle_iterators/UnionIterator.php
src/library/index_bundle_iterators/WordIterator.php
src/library/indexing_plugins/AddressesPlugin.php
src/library/indexing_plugins/WordfilterPlugin.php
src/library/media_jobs/AnalyticsJob.php
src/library/media_jobs/BulkEmailJob.php
src/library/media_jobs/FeedsUpdateJob.php
src/library/media_jobs/MediaJob.php
src/library/media_jobs/VideoConvertJob.php
src/library/processors/BmpProcessor.php
src/library/processors/DocProcessor.php
src/library/processors/DocxProcessor.php
src/library/processors/EpubProcessor.php
src/library/processors/GifProcessor.php
src/library/processors/GitXmlProcessor.php
src/library/processors/GopherProcessor.php
src/library/processors/HtmlProcessor.php
src/library/processors/ImageProcessor.php
src/library/processors/JavaProcessor.php
src/library/processors/JpgProcessor.php
src/library/processors/PageProcessor.php
src/library/processors/PdfProcessor.php
src/library/processors/PngProcessor.php
src/library/processors/PptProcessor.php
src/library/processors/PptxProcessor.php
src/library/processors/PythonProcessor.php
src/library/processors/RobotProcessor.php
src/library/processors/RssProcessor.php
src/library/processors/RtfProcessor.php
src/library/processors/SitemapProcessor.php
src/library/processors/SvgProcessor.php
src/library/processors/TextProcessor.php
src/library/processors/XlsxProcessor.php
src/library/processors/XmlProcessor.php
src/library/summarizers/CentroidSummarizer.php
src/library/summarizers/CentroidWeightedSummarizer.php
src/library/summarizers/GraphBasedSummarizer.php
src/library/summarizers/ScrapeSummarizer.php
src/library/summarizers/Summarizer.php
src/locale/ar/configure.ini
src/locale/ar/resources/Tokenizer.php
src/locale/ar/resources/locale.js
src/locale/bn/configure.ini
src/locale/bn/resources/Tokenizer.php
src/locale/bn/resources/locale.js
src/locale/de/configure.ini
src/locale/de/resources/Tokenizer.php
src/locale/de/resources/locale.js
src/locale/en_US/configure.ini
src/locale/en_US/resources/Tokenizer.php
src/locale/en_US/resources/locale.js
src/locale/es/configure.ini
src/locale/es/resources/Tokenizer.php
src/locale/es/resources/locale.js
src/locale/fa/configure.ini
src/locale/fa/resources/Tokenizer.php
src/locale/fa/resources/locale.js
src/locale/fr_FR/configure.ini
src/locale/fr_FR/resources/Tokenizer.php
src/locale/fr_FR/resources/locale.js
src/locale/he/configure.ini
src/locale/he/resources/Tokenizer.php
src/locale/he/resources/locale.js
src/locale/hi/configure.ini
src/locale/hi/resources/Tokenizer.php
src/locale/hi/resources/locale.js
src/locale/in_ID/configure.ini
src/locale/in_ID/resources/Tokenizer.php
src/locale/in_ID/resources/locale.js
src/locale/it/configure.ini
src/locale/it/resources/Tokenizer.php
src/locale/it/resources/locale.js
src/locale/ja/configure.ini
src/locale/ja/resources/Tokenizer.php
src/locale/ja/resources/locale.js
src/locale/kn/configure.ini
src/locale/kn/resources/Tokenizer.php
src/locale/kn/resources/locale.js
src/locale/ko/configure.ini
src/locale/ko/resources/Tokenizer.php
src/locale/ko/resources/locale.js
src/locale/nl/configure.ini
src/locale/nl/resources/Tokenizer.php
src/locale/nl/resources/locale.js
src/locale/pl/configure.ini
src/locale/pl/resources/Tokenizer.php
src/locale/pl/resources/locale.js
src/locale/pt/configure.ini
src/locale/pt/resources/Tokenizer.php
src/locale/pt/resources/locale.js
src/locale/ru/configure.ini
src/locale/ru/resources/Tokenizer.php
src/locale/ru/resources/locale.js
src/locale/te/configure.ini
src/locale/te/resources/Tokenizer.php
src/locale/te/resources/locale.js
src/locale/th/configure.ini
src/locale/th/resources/Tokenizer.php
src/locale/th/resources/locale.js
src/locale/tr/configure.ini
src/locale/tr/resources/Tokenizer.php
src/locale/tr/resources/locale.js
src/locale/vi_VN/configure.ini
src/locale/vi_VN/resources/Tokenizer.php
src/locale/vi_VN/resources/locale.js
src/locale/zh_CN/configure.ini
src/locale/zh_CN/resources/Tokenizer.php
src/locale/zh_CN/resources/locale.js
src/models/ActivityModel.php
src/models/AdvertisementModel.php
src/models/CaptchaModel.php
src/models/CrawlModel.php
src/models/CreditModel.php
src/models/CronModel.php
src/models/GroupModel.php
src/models/ImpressionModel.php
src/models/LocaleModel.php
src/models/MachineModel.php
src/models/Model.php
src/models/ParallelModel.php
src/models/PhraseModel.php
src/models/ProfileModel.php
src/models/RoleModel.php
src/models/ScraperModel.php
src/models/SearchfiltersModel.php
src/models/SigninModel.php
src/models/SourceModel.php
src/models/UserModel.php
src/models/VisitorModel.php
src/models/datasources/DatasourceManager.php
src/models/datasources/MysqlManager.php
src/models/datasources/PdoManager.php
src/models/datasources/Sqlite3Manager.php
src/privacy.php
src/scripts/basic.js
src/scripts/big_int.js
src/scripts/chart.js
src/scripts/classifiers.js
src/scripts/hash_captcha.js
src/scripts/help.js
src/scripts/history.js
src/scripts/mix.js
src/scripts/register_validator.js
src/scripts/sha1.js
src/scripts/slidy.js
src/scripts/suggest.js
src/scripts/wiki.js
src/scripts/zkp.js
src/terms.php
src/views/AdminView.php
src/views/ApiView.php
src/views/CrawlstatusView.php
src/views/FeedstatusView.php
src/views/FetchView.php
src/views/GroupView.php
src/views/MachinestatusView.php
src/views/NocacheView.php
src/views/RecoverView.php
src/views/RegisterView.php
src/views/ResendEmailView.php
src/views/RssView.php
src/views/SearchView.php
src/views/SettingsView.php
src/views/SigninView.php
src/views/StaticView.php
src/views/SuggestView.php
src/views/View.php
src/views/WikiView.php
src/views/elements/ActivityElement.php
src/views/elements/ApiElement.php
src/views/elements/AppearanceElement.php
src/views/elements/ConfigureElement.php
src/views/elements/CrawloptionsElement.php
src/views/elements/DisplayadvertisementElement.php
src/views/elements/EditclassifierElement.php
src/views/elements/EditlocalesElement.php
src/views/elements/EditmixElement.php
src/views/elements/Element.php
src/views/elements/FooterElement.php
src/views/elements/GroupfeedElement.php
src/views/elements/HelpElement.php
src/views/elements/LanguageElement.php
src/views/elements/MachinelogElement.php
src/views/elements/ManageaccountElement.php
src/views/elements/ManageadvertisementsElement.php
src/views/elements/ManageclassifiersElement.php
src/views/elements/ManagecrawlsElement.php
src/views/elements/ManagecreditsElement.php
src/views/elements/ManagegroupsElement.php
src/views/elements/ManagelocalesElement.php
src/views/elements/ManagemachinesElement.php
src/views/elements/ManagerolesElement.php
src/views/elements/ManageusersElement.php
src/views/elements/MixcrawlsElement.php
src/views/elements/MoreoptionsElement.php
src/views/elements/PageoptionsElement.php
src/views/elements/QuerystatsElement.php
src/views/elements/ResultseditorElement.php
src/views/elements/ScrapersElement.php
src/views/elements/SearchsourcesElement.php
src/views/elements/SecurityElement.php
src/views/elements/ServersettingsElement.php
src/views/elements/SigninElement.php
src/views/elements/StatisticsElement.php
src/views/elements/SubsearchElement.php
src/views/elements/WikiElement.php
src/views/helpers/DisplayresultsHelper.php
src/views/helpers/FeedsHelper.php
src/views/helpers/FiletypeHelper.php
src/views/helpers/FileuploadHelper.php
src/views/helpers/HelpbuttonHelper.php
src/views/helpers/Helper.php
src/views/helpers/ImagesHelper.php
src/views/helpers/OptionsHelper.php
src/views/helpers/PaginationHelper.php
src/views/helpers/PagingtableHelper.php
src/views/helpers/SearchformHelper.php
src/views/helpers/ToggleHelper.php
src/views/helpers/VideourlHelper.php
src/views/layouts/ApiLayout.php
src/views/layouts/Layout.php
src/views/layouts/RssLayout.php
src/views/layouts/WebLayout.php
tests/BloomFilterFileTest.php
tests/BtreeTest.php
tests/DeTokenizerTest.php
tests/DocxProcessorTest.php
tests/EnTokenizerTest.php
tests/EpubProcessorTest.php
tests/EsTokenizerTest.php
tests/FaTokenizerTest.php
tests/FrTokenizerTest.php
tests/HashTableTest.php
tests/HiTokenizerTest.php
tests/IndexShardTest.php
tests/ItTokenizerTest.php
tests/ManyScrapersExperiment.php
tests/ManyUserExperiment.php
tests/NlTokenizerTest.php
tests/PdfProcessorTest.php
tests/PhantomjsUiTest.php
tests/PhraseParserTest.php
tests/PptxProcessorTest.php
tests/PriorityQueueTest.php
tests/PtTokenizerTest.php
tests/QueueServerTest.php
tests/RuTokenizerTest.php
tests/ScraperManagerTest.php
tests/Sha1JavascriptTest.php
tests/SocketExperiment.php
tests/StringArrayTest.php
tests/StringCatExperiment.php
tests/SummarizerTest.php
tests/TrieTest.php
tests/UrlParserTest.php
tests/UtilityTest.php
tests/WebArchiveTest.php
tests/WebQueueBundleTest.php
tests/XlsxProcessorTest.php
tests/index.php
tests/mobile_ui_tests.js
tests/phantomjs_runner.js
tests/test_files/VocabSampler.php
tests/web_ui_tests.js
work_directory/_placeholder.php
diff --git a/index.php b/index.php
index f8d9ef0aa..295748345 100644
--- a/index.php
+++ b/index.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
diff --git a/src/advertise.php b/src/advertise.php
index 28ce41853..752af4273 100644
--- a/src/advertise.php
+++ b/src/advertise.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,11 +28,11 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
-
+
 /* set-up static privacy page for display */
 $_REQUEST['c'] = "static";
 $_REQUEST['p'] = "advertise";
@@ -41,4 +41,4 @@ $_REQUEST['p'] = "advertise";
  */
 require_once(__DIR__."/index.php");
 bootstrap();
-exit();
+exit();
\ No newline at end of file
diff --git a/src/blog.php b/src/blog.php
index 64cff94e0..80adfd920 100755
--- a/src/blog.php
+++ b/src/blog.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
diff --git a/src/bot.php b/src/bot.php
index f3d640a81..521833a0f 100644
--- a/src/bot.php
+++ b/src/bot.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
diff --git a/src/configs/Config.php b/src/configs/Config.php
index 6110dbb67..8361e7378 100755
--- a/src/configs/Config.php
+++ b/src/configs/Config.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -34,7 +34,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\configs;
@@ -249,7 +249,7 @@ if (MAINTENANCE_MODE && $_SERVER["SERVER_ADDR"] != $_SERVER["REMOTE_ADDR"]) {
 nsdefine('DEFAULT_WORK_DIRECTORY', PARENT_DIR . "/work_directory");

 if (!nsdefined('WORK_DIRECTORY')) {
-/*+++ The next block of code is machine edited, change at
+/*+++ The next block of code is machine edited, change at
 your own risk, please use configure web page instead +++*/
 nsdefine('WORK_DIRECTORY', DEFAULT_WORK_DIRECTORY);
 /*++++++*/
@@ -937,4 +937,4 @@ nsconddefine('AD_DATE_FORMAT','Y-m-d');
 /** advertisement logo*/
 nsconddefine('AD_LOGO','resources/adv-logo.png');
 /** sentence compression enabled or not*/
-nsconddefine('SENTENCE_COMPRESSION_ENABLED', false);
+nsconddefine('SENTENCE_COMPRESSION_ENABLED', false);
\ No newline at end of file
diff --git a/src/configs/ConfigureTool.php b/src/configs/ConfigureTool.php
index e92b97b59..5ea745f93 100644
--- a/src/configs/ConfigureTool.php
+++ b/src/configs/ConfigureTool.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\configs;
@@ -521,7 +521,7 @@ class ConfigureTool
     function callConfigure()
     {
         $data = $this->admin->component("system")->configure();
-        if(!isset($data["PROFILE"])) {
+        if (!isset($data["PROFILE"])) {
             $_REQUEST = [];
             $message = (isset($data['MESSAGE'])) ? $data['MESSAGE'] : "";
             $data = $this->admin->component("system")->configure();
@@ -581,4 +581,3 @@ class ConfigureTool
 }
 $configure_tool = new ConfigureTool();
 $configure_tool->loop();
-
diff --git a/src/configs/Createdb.php b/src/configs/Createdb.php
index 8b7cc69cf..eb314c9bd 100755
--- a/src/configs/Createdb.php
+++ b/src/configs/Createdb.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -29,7 +29,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\configs;
@@ -440,7 +440,7 @@ $scrapers = [
         "//*[contains(@id, 'message')]###//*[contains(@id, 'help')]###" .
         "//*[contains(@id, 'MathJax')]###" .
         "//*[contains(@class, 'component-container')]###" .
-        "//*[contains(@class, 'top-bar')]###".
+        "//*[contains(@class, 'top-bar')]###".
         "//*[contains(@class, 'query-statistics')]###" .
         "//*[contains(@class, 'admin-collapse')]###" .
         "//option[not(contains(@selected, 'selected'))]###" .
@@ -543,4 +543,4 @@ $db->disconnect();
 if (in_array(DBMS, ['sqlite','sqlite3'])){
     chmod(CRAWL_DIR."/data/".DB_NAME.".db", 0666);
 }
-echo "Create DB succeeded\n";
+echo "Create DB succeeded\n";
\ No newline at end of file
diff --git a/src/configs/CreditConfig.php b/src/configs/CreditConfig.php
index fd1689927..9927f8930 100644
--- a/src/configs/CreditConfig.php
+++ b/src/configs/CreditConfig.php
@@ -2,7 +2,7 @@
 /**
  * SeekQuarry/Yioop -- Credit Card Configuration
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  * All rights reserved
  */
 namespace seekquarry\yioop\configs;
@@ -30,7 +30,7 @@ class CreditConfig
         return false;
     }
     /**
-     * Returns the URL to the credit processing Javascript library
+     * Returns the URL to the credit processing Javascript library
      * responsible for  sending securely the credit card details to the
      * credit payment agency
      * (for example, stripe.com) then sending along a authorization token
@@ -45,7 +45,7 @@ class CreditConfig
      * Used to get field values from input tag with attribute name set to $name
      * and attribute value set to value
      * @param string $name of attribute (usually data-)
-     * @param string $value value of attribute
+     * @param string $value value of attribute
      * @return string field value of the correspond input tag
      */
     public static function getAttribute($name, $value)
@@ -66,4 +66,4 @@ class CreditConfig
     {
         return true;
     }
-}
+}
\ No newline at end of file
diff --git a/src/configs/ExportPublicHelpDb.php b/src/configs/ExportPublicHelpDb.php
index e721d3042..69994f304 100644
--- a/src/configs/ExportPublicHelpDb.php
+++ b/src/configs/ExportPublicHelpDb.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -29,7 +29,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\configs;
@@ -73,7 +73,7 @@ $out .= <<< EOD
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -99,7 +99,7 @@ $out .= <<< EOD
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 EOD;
diff --git a/src/configs/PublicHelpPages.php b/src/configs/PublicHelpPages.php
index 2744afb6a..0eaa395ea 100644
--- a/src/configs/PublicHelpPages.php
+++ b/src/configs/PublicHelpPages.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -29,7 +29,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\configs;
@@ -77,436 +77,436 @@ page_footer=

 sort=aname

-END_HEAD_VARS=Yioop Wiki Syntax=
-
-Wiki syntax is a lightweight way to markup a text document so that
-it can be formatted and drawn nicely by Yioop.
-This page briefly describes the wiki syntax supported by Yioop.
-
-==Headings==
-In wiki syntax headings of documents and sections are written as follows:
-
-&lt;nowiki&gt;
-=Level1=
-==Level2==
-===Level3===
-====Level4====
-=====Level5=====
-======Level6======
-&lt;/nowiki&gt;
-
-and would look like:
-
-=Level1=
-==Level2==
-===Level3===
-====Level4====
-=====Level5=====
-======Level6======
-
-==Paragraphs==
-In Yioop two new lines indicates a new paragraph. You can control
-the indent of a paragraph by putting colons followed by a space in front of it:
-
-&lt;nowiki&gt;
-: some indent
-
-:: a little more
-
-::: even more
-
-:::: that&#039;s sorta crazy
-&lt;/nowiki&gt;
-
-which looks like:
-
-: some indent
-
-:: a little more
-
-::: even more
-
-:::: that&#039;s sorta crazy
-
-==Horizontal Rule==
-Sometimes it is convenient to separate paragraphs or sections with a horizontal
-rule. This can be done by placing four hyphens on a line by themselves:
-&lt;nowiki&gt;
-----
-&lt;/nowiki&gt;
-This results in a line that looks like:
-----
-
-==Text Formatting Within Paragraphs==
-Within a paragraph it is often convenient to make some text bold, italics,
-underlined, etc. Below is a quick summary of how to do this:
-===Wiki Markup===
-{|
-|&lt;nowiki&gt;&#039;&#039;italic&#039;&#039;&lt;/nowiki&gt;|&#039;&#039;italic&#039;&#039;
-|-
-|&lt;nowiki&gt;&#039;&#039;&#039;bold&#039;&#039;&#039;&lt;/nowiki&gt;|&#039;&#039;&#039;bold&#039;&#039;&#039;
-|-
-|&lt;nowiki&gt;&#039;&#039;&#039;&#039;&#039;bold and italic&#039;&#039;&#039;&#039;&#039;&lt;/nowiki&gt;|&#039;&#039;&#039;&#039;&#039;bold and italic&#039;&#039;&#039;&#039;&#039;
-|}
-
-===HTML Tags===
-Yioop also supports several html tags such as:
-{|
-|&lt;nowiki&gt;&lt;del&gt;delete&lt;/del&gt;&lt;/nowiki&gt;|&lt;del&gt;delete&lt;/del&gt;
-|-
-|&lt;nowiki&gt;&lt;ins&gt;insert&lt;/ins&gt;&lt;/nowiki&gt;|&lt;ins&gt;insert&lt;/ins&gt;
-|-
-|&lt;nowiki&gt;&lt;s&gt;strike through&lt;/s&gt; or
-&lt;strike&gt;strike through&lt;/strike&gt; &lt;/nowiki&gt;|&lt;s&gt;strike through&lt;/s&gt;
-|-
-|&lt;nowiki&gt;&lt;sup&gt;superscript&lt;/sup&gt; and
-&lt;sub&gt;subscript&lt;/sub&gt;&lt;/nowiki&gt;|&lt;sup&gt;superscript&lt;/sup&gt; and
-&lt;sub&gt;subscript&lt;/sub&gt;
-|-
-|&lt;nowiki&gt;&lt;tt&gt;typewriter&lt;/tt&gt;&lt;/nowiki&gt;|&lt;tt&gt;typewriter&lt;/tt&gt;
-|-
-|&lt;nowiki&gt;&lt;u&gt;underline&lt;/u&gt;&lt;/nowiki&gt;|&lt;u&gt;underline&lt;/u&gt;
-|}
-
-===Spacing within Paragraphs===
-The HTML entity
-&lt;nowiki&gt;&amp;nbsp;&lt;/nowiki&gt;
-can be used to create a non-breaking space. The tag
-&lt;nowiki&gt;&lt;br&gt;&lt;/nowiki&gt;
-can be used to produce a line break.
-
-==Preformatted Text and Unformatted Text==
-You can force text to be formatted as you typed it rather
-than using the layout mechanism of the browser using the
-&lt;nowiki&gt;&lt;pre&gt;preformatted text tag.&lt;/pre&gt;&lt;/nowiki&gt;
-Alternatively, a sequence of lines all beginning with a
-space character will also be treated as preformatted.
-
-Wiki markup within pre tags is still parsed by Yioop.
-If you would like to add text that is not parsed, enclosed
-it in `&lt;`nowiki&gt; `&lt;`/nowiki&gt; tags.
-
-==Styling Text Paragraphs==
-Yioop wiki syntax offers a number of templates for
-control the styles, and alignment of text for
-a paragraph or group of paragraphs:&lt;br /&gt;
-`{{`left| some text`}}`,&lt;br /&gt; `{{`right| some text`}}`,&lt;br /&gt;
-and&lt;br /&gt;
-`{{`center| some text`}}`&lt;br /&gt; can be used to left-justify,
-right-justify, and center a block of text. For example,
-the last command, would produce:
-{{center|
-some text
-}}
-If you know cascading style sheets (CSS), you can set
-a class or id selector for a block of text using:&lt;br /&gt;
-`{{`class=&quot;my-class-selector&quot; some text`}}`&lt;br /&gt;and&lt;br /&gt;
-`{{`id=&quot;my-id-selector&quot; some text`}}`.&lt;br /&gt;
-You can also apply inline styles to a block of text
-using the syntax:&lt;br /&gt;
-`{{`style=&quot;inline styles&quot; some text`}}`.&lt;br /&gt;
-For example, `{{`style=&quot;color:red&quot; some text`}}` looks
-like {{style=&quot;color:red&quot; some text}}.
-
-==Lists==
-The Yioop Wiki Syntax supported of ways of listing items:
-bulleted/unordered list, numbered/ordered lists, and
-definition lists. Below are some examples:
-
-===Unordered Lists===
-&lt;nowiki&gt;
-* Item1
-** SubItem1
-** SubItem2
-*** SubSubItem1
-* Item 2
-* Item 3
-&lt;/nowiki&gt;
-would be drawn as:
-* Item1
-** SubItem1
-** SubItem2
-*** SubSubItem1
-* Item 2
-* Item 3
-
-===Ordered Lists===
-&lt;nowiki&gt;
-# Item1
-## SubItem1
-## SubItem2
-### SubSubItem1
-# Item 2
-# Item 3
-&lt;/nowiki&gt;
-# Item1
-## SubItem1
-## SubItem2
-### SubSubItem1
-# Item 2
-# Item 3
-
-===Mixed Lists===
-&lt;nowiki&gt;
-# Item1
-#* SubItem1
-#* SubItem2
-#*# SubSubItem1
-# Item 2
-# Item 3
-&lt;/nowiki&gt;
-# Item1
-#* SubItem1
-#* SubItem2
-#*# SubSubItem1
-# Item 2
-# Item 3
-
-===Definition Lists===
-&lt;nowiki&gt;
-;Term 1: Definition of Term 1
-;Term 2: Definition of Term 2
-&lt;/nowiki&gt;
-;Term 1: Definition of Term 1
-;Term 2: Definition of Term 2
-
-==Tables==
-A table begins with {`|`  and ends with `|`}. Cells are separated with | and
-rows are separated with |- as can be seen in the following
-example:
-&lt;nowiki&gt;
-{|
-|a||b
-|-
-|c||d
-|}
-&lt;/nowiki&gt;
-{|
-|a||b
-|-
-|c||d
-|}
-Headings for columns and rows can be made by using an exclamation point, !,
-rather than a vertical bar |. For example,
-&lt;nowiki&gt;
-{|
-!a!!b
-|-
-|c|d
-|}
-&lt;/nowiki&gt;
-{|
-!a!!b
-|-
-|c|d
-|}
-Captions can be added using the + symbol:
-&lt;nowiki&gt;
-{|
-|+ My Caption
-!a!!b
-|-
-|c|d
-|}
-&lt;/nowiki&gt;
-{|
-|+ My Caption
-!a!!b
-|-
-|c|d
-|}
-Finally, you can put a CSS class or style attributes (or both) on the first line
-of the table to further control how it looks:
-&lt;nowiki&gt;
-{| class=&quot;wikitable&quot;
-|+ My Caption
-!a!!b
-|-
-|c|d
-|}
-&lt;/nowiki&gt;
-{| class=&quot;wikitable&quot;
-|+ My Caption
-!a!!b
-|-
-|c|d
-|}
-Within a cell attributes like align, valign, styles, and class can be used. For
-example,
-&lt;nowiki&gt;
-{|
-| style=&quot;text-align:right;&quot;| a| b
-|-
-| lalala | lalala
-|}
-&lt;/nowiki&gt;
-{|
-| style=&quot;text-align:right;&quot;| a| b
-|-
-| lalala | lalala
-|}
-
-==Math==
-
-Math can be included into a wiki document by either using the math tag:
-&lt;nowiki&gt;
-&lt;math&gt;
-\sum_{i=1}^{n} i = frac{(n+1)(n)}{2}
-&lt;/math&gt;
-&lt;/nowiki&gt;
-
-&lt;math&gt;
-\sum_{i=1}^{n} i = frac{(n+1)(n)}{2}
-&lt;/math&gt;
-==Links and Relationships==
-A hypertext link to another document can be inserted into a wiki page using
-the chain link icon in the GUI. Alternatively, there are several techniques
-for inserting a link into a page depending on whether the link is to a page
-within the same wiki group, is a link to a page on a different wiki
-group, or is a link to a different website. In addition to normal
-hypertext links, Yioop also supports relationship links.
-
-&#039;&#039;&#039;Intra-Group Wiki Links&#039;&#039;&#039; use the syntax:
-&lt;nowiki&gt;
-[[name_of_wiki_page]]
-or
-[[name_of_wiki_page|text for the link]]
-or
-[[name_of_wiki_page#heading_or_id_on_page|text for the link]]
-&lt;/nowiki&gt;
-for example, to make a link to this Syntax page one could write,
-&lt;nowiki&gt;
-[[Syntax|Yioop Wiki Syntax Page]]
-&lt;/nowiki&gt;
-which would look like,
-
-[[Syntax|Yioop Wiki Syntax Page]]
-
-&#039;&#039;&#039;Inter-Group Wiki Links&#039;&#039;&#039; use the syntax:
-&lt;nowiki&gt;
-[[name_of-group@name_of_wiki_page|text for the link]]
-&lt;/nowiki&gt;
-
-&#039;&#039;&#039;Different Website Links&#039;&#039;&#039; use the syntax:
-&lt;nowiki&gt;
-[[website_url|text for the link]]
-&lt;/nowiki&gt;
-
-Relationships are a generalized form of link. They are used to express
-a more complicated linking between two wiki pages and have the syntax:
-
-&lt;nowiki&gt;
-[[relationship_type|wiki_page_name|text for the link]]
-&lt;/nowiki&gt;
-
-In the navigation dropdown for a Yioop wiki page there are items for
-what links to the current page and what relates to the current page
-based on the links and relationships a page belongs to.
-
-==Recent Places Dropdowns==
-You can add a dropdown that can allow users to navigate to recently visited
-wiki pages using the syntax:
-&lt;pre&gt;
-[{recent_places} ]
-&lt;/pre&gt;
-This looks like:
-
-[{recent_places}]
-
-==Adding Resources to a Page==
-
-Yioop wiki syntax supports adding search bars, audio, images, and video to a
-page. The magnifying class edit tool icon can be used to add a search bar via
-the GUI. This can also be added by hand with the syntax:
-&lt;nowiki&gt;
-{{search:default|size:small|placeholder:Search Placeholder Text}}
-&lt;/nowiki&gt;
-This syntax is split into three parts each separated by a vertical bar |. The
-first part search:default means results from searches should come from the
-default search index. You can replace default with the timestamp of a specific
-index or mix if you do not want to use the default. The second group size:small
-indicates the size of the search bar to be drawn. Choices of size are small,
-medium, and large. Finally, placeholder:Search Placeholder Text indicates the
-grayed out background text in the search input before typing is done should
-read: Search Placeholder Text. Here is what the above code outputs:
-
-{{search:default|size:small|placeholder:Search Placeholder Text}}
-
-Image, video and other media resources can be associated with a page by dragging
-and dropping them in the edit textarea or by clicking on the link click to select
-link in the gray box below the textarea. This would add wiki code such as
-
-&lt;pre&gt;
-( (resource:myphoto.jpg|Resource Description))
-&lt;/pre&gt;
-
-to the page. Only saving the page will save this code and upload the resource to
-the server. In the above myphoto.jpg is the resource that will be inserted and
-Resource Description is the alternative text to use in case the viewing browser
-cannot display jpg files. Sometimes it is useful to edit the basic resource link
-above to make a link which is a thumbnail of the resource which points to a
-separate page containing that resource. This can be done using the syntax:
-
-
-&lt;pre&gt;
-( (resource-thumb:myphoto.jpg|Resource Description))
-&lt;/pre&gt;
-
-A list of media that have already been associated with
-a page appears under the Page Resource heading below the textarea. This
-table allows the user to rename and delete resources as well as insert the
-same resource at multiple locations within the same document. To add a resource
-from a different wiki page belonging to the same group to the current wiki
-page one can use a syntax like:
-
-&lt;pre&gt;
-( (resource:Documentation:ConfigureScreenForm1.png|The work directory form))
-&lt;/pre&gt;
-
-Here Documentation would be the page and ConfigureScreenForm1.png the resource.
-
-==Page Settings, Page Type==
-
-In edit mode for a wiki page, next to the page name, is a link [Settings].
-Clicking this link expands a form which can be used to control global settings
-for a wiki page.  This form contains a drop down for the page type, another
-drop down for the type of border for the page in non-logged in mode,
-a checkbox for whether a table of contents should be auto-generated from level 2
-and level three headings and then text
-fields or areas for the page title, author, meta robots, and page description.
-Beneath this one can specify another wiki page to be used as a header for this
-page and also specify another wiki page to be used as a footer for this page.
-
-The contents of the page title is displayed in the browser title when the
-wiki page is accessed with the  Activity Panel collapsed or when not logged in.
-Similarly, in the collapsed or not logged in mode, if one looks as the HTML
-page source for the page,  in the head of document, &lt;meta&gt; tags for author,
-robots, and description are set according to these fields. These fields can
-be useful for search engine optimization. The robots meta tag can be
-used to control how search engine robots index the page. Wikipedia has more information on
-[[https://en.wikipedia.org/wiki/Meta_element|Meta Elements]].
-
-The &#039;&#039;&#039;Standard&#039;&#039;&#039; page type treats the page as a usual wiki page.
-
-&#039;&#039;&#039;Page Alias&#039;&#039;&#039; type redirects the current page to another page name. This can
-be used to handle things like different names for the same topic or to do localization
-of pages. For example, if you switch the locale from English to French and
-you were on the wiki page dental_floss when you switch to French the article
-dental_floss might redirect to the page dentrifice.
-
-&#039;&#039;&#039;Media List&#039;&#039;&#039; type means that the page, when read, should display just the
-resources in the page as a list of thumbnails and links. These links for the
-resources go to a separate pages used to display these resources.
-This kind of page is useful for a gallery of
-images or a collection of audio or video files.
-
-&#039;&#039;&#039;Presentation&#039;&#039;&#039; type is for a wiki page whose purpose is a slide presentation. In this mode,
-....
-on a line by itself is used to separate one slide. If presentation type is a selected a new
-slide icon appears in the wiki edit bar allowining one to easily add new slides.
-When the Activity panel is not collapsed and you are reading a presentation, it just
-displays as a single page with all slides visible. Collapsing the Activity panel presents
-the slides as a typical slide presentation using the
+END_HEAD_VARS=Yioop Wiki Syntax=
+
+Wiki syntax is a lightweight way to markup a text document so that
+it can be formatted and drawn nicely by Yioop.
+This page briefly describes the wiki syntax supported by Yioop.
+
+==Headings==
+In wiki syntax headings of documents and sections are written as follows:
+
+&lt;nowiki&gt;
+=Level1=
+==Level2==
+===Level3===
+====Level4====
+=====Level5=====
+======Level6======
+&lt;/nowiki&gt;
+
+and would look like:
+
+=Level1=
+==Level2==
+===Level3===
+====Level4====
+=====Level5=====
+======Level6======
+
+==Paragraphs==
+In Yioop two new lines indicates a new paragraph. You can control
+the indent of a paragraph by putting colons followed by a space in front of it:
+
+&lt;nowiki&gt;
+: some indent
+
+:: a little more
+
+::: even more
+
+:::: that&#039;s sorta crazy
+&lt;/nowiki&gt;
+
+which looks like:
+
+: some indent
+
+:: a little more
+
+::: even more
+
+:::: that&#039;s sorta crazy
+
+==Horizontal Rule==
+Sometimes it is convenient to separate paragraphs or sections with a horizontal
+rule. This can be done by placing four hyphens on a line by themselves:
+&lt;nowiki&gt;
+----
+&lt;/nowiki&gt;
+This results in a line that looks like:
+----
+
+==Text Formatting Within Paragraphs==
+Within a paragraph it is often convenient to make some text bold, italics,
+underlined, etc. Below is a quick summary of how to do this:
+===Wiki Markup===
+{|
+|&lt;nowiki&gt;&#039;&#039;italic&#039;&#039;&lt;/nowiki&gt;|&#039;&#039;italic&#039;&#039;
+|-
+|&lt;nowiki&gt;&#039;&#039;&#039;bold&#039;&#039;&#039;&lt;/nowiki&gt;|&#039;&#039;&#039;bold&#039;&#039;&#039;
+|-
+|&lt;nowiki&gt;&#039;&#039;&#039;&#039;&#039;bold and italic&#039;&#039;&#039;&#039;&#039;&lt;/nowiki&gt;|&#039;&#039;&#039;&#039;&#039;bold and italic&#039;&#039;&#039;&#039;&#039;
+|}
+
+===HTML Tags===
+Yioop also supports several html tags such as:
+{|
+|&lt;nowiki&gt;&lt;del&gt;delete&lt;/del&gt;&lt;/nowiki&gt;|&lt;del&gt;delete&lt;/del&gt;
+|-
+|&lt;nowiki&gt;&lt;ins&gt;insert&lt;/ins&gt;&lt;/nowiki&gt;|&lt;ins&gt;insert&lt;/ins&gt;
+|-
+|&lt;nowiki&gt;&lt;s&gt;strike through&lt;/s&gt; or
+&lt;strike&gt;strike through&lt;/strike&gt; &lt;/nowiki&gt;|&lt;s&gt;strike through&lt;/s&gt;
+|-
+|&lt;nowiki&gt;&lt;sup&gt;superscript&lt;/sup&gt; and
+&lt;sub&gt;subscript&lt;/sub&gt;&lt;/nowiki&gt;|&lt;sup&gt;superscript&lt;/sup&gt; and
+&lt;sub&gt;subscript&lt;/sub&gt;
+|-
+|&lt;nowiki&gt;&lt;tt&gt;typewriter&lt;/tt&gt;&lt;/nowiki&gt;|&lt;tt&gt;typewriter&lt;/tt&gt;
+|-
+|&lt;nowiki&gt;&lt;u&gt;underline&lt;/u&gt;&lt;/nowiki&gt;|&lt;u&gt;underline&lt;/u&gt;
+|}
+
+===Spacing within Paragraphs===
+The HTML entity
+&lt;nowiki&gt;&amp;nbsp;&lt;/nowiki&gt;
+can be used to create a non-breaking space. The tag
+&lt;nowiki&gt;&lt;br&gt;&lt;/nowiki&gt;
+can be used to produce a line break.
+
+==Preformatted Text and Unformatted Text==
+You can force text to be formatted as you typed it rather
+than using the layout mechanism of the browser using the
+&lt;nowiki&gt;&lt;pre&gt;preformatted text tag.&lt;/pre&gt;&lt;/nowiki&gt;
+Alternatively, a sequence of lines all beginning with a
+space character will also be treated as preformatted.
+
+Wiki markup within pre tags is still parsed by Yioop.
+If you would like to add text that is not parsed, enclosed
+it in `&lt;`nowiki&gt; `&lt;`/nowiki&gt; tags.
+
+==Styling Text Paragraphs==
+Yioop wiki syntax offers a number of templates for
+control the styles, and alignment of text for
+a paragraph or group of paragraphs:&lt;br /&gt;
+`{{`left| some text`}}`,&lt;br /&gt; `{{`right| some text`}}`,&lt;br /&gt;
+and&lt;br /&gt;
+`{{`center| some text`}}`&lt;br /&gt; can be used to left-justify,
+right-justify, and center a block of text. For example,
+the last command, would produce:
+{{center|
+some text
+}}
+If you know cascading style sheets (CSS), you can set
+a class or id selector for a block of text using:&lt;br /&gt;
+`{{`class=&quot;my-class-selector&quot; some text`}}`&lt;br /&gt;and&lt;br /&gt;
+`{{`id=&quot;my-id-selector&quot; some text`}}`.&lt;br /&gt;
+You can also apply inline styles to a block of text
+using the syntax:&lt;br /&gt;
+`{{`style=&quot;inline styles&quot; some text`}}`.&lt;br /&gt;
+For example, `{{`style=&quot;color:red&quot; some text`}}` looks
+like {{style=&quot;color:red&quot; some text}}.
+
+==Lists==
+The Yioop Wiki Syntax supported of ways of listing items:
+bulleted/unordered list, numbered/ordered lists, and
+definition lists. Below are some examples:
+
+===Unordered Lists===
+&lt;nowiki&gt;
+* Item1
+** SubItem1
+** SubItem2
+*** SubSubItem1
+* Item 2
+* Item 3
+&lt;/nowiki&gt;
+would be drawn as:
+* Item1
+** SubItem1
+** SubItem2
+*** SubSubItem1
+* Item 2
+* Item 3
+
+===Ordered Lists===
+&lt;nowiki&gt;
+# Item1
+## SubItem1
+## SubItem2
+### SubSubItem1
+# Item 2
+# Item 3
+&lt;/nowiki&gt;
+# Item1
+## SubItem1
+## SubItem2
+### SubSubItem1
+# Item 2
+# Item 3
+
+===Mixed Lists===
+&lt;nowiki&gt;
+# Item1
+#* SubItem1
+#* SubItem2
+#*# SubSubItem1
+# Item 2
+# Item 3
+&lt;/nowiki&gt;
+# Item1
+#* SubItem1
+#* SubItem2
+#*# SubSubItem1
+# Item 2
+# Item 3
+
+===Definition Lists===
+&lt;nowiki&gt;
+;Term 1: Definition of Term 1
+;Term 2: Definition of Term 2
+&lt;/nowiki&gt;
+;Term 1: Definition of Term 1
+;Term 2: Definition of Term 2
+
+==Tables==
+A table begins with {`|`  and ends with `|`}. Cells are separated with | and
+rows are separated with |- as can be seen in the following
+example:
+&lt;nowiki&gt;
+{|
+|a||b
+|-
+|c||d
+|}
+&lt;/nowiki&gt;
+{|
+|a||b
+|-
+|c||d
+|}
+Headings for columns and rows can be made by using an exclamation point, !,
+rather than a vertical bar |. For example,
+&lt;nowiki&gt;
+{|
+!a!!b
+|-
+|c|d
+|}
+&lt;/nowiki&gt;
+{|
+!a!!b
+|-
+|c|d
+|}
+Captions can be added using the + symbol:
+&lt;nowiki&gt;
+{|
+|+ My Caption
+!a!!b
+|-
+|c|d
+|}
+&lt;/nowiki&gt;
+{|
+|+ My Caption
+!a!!b
+|-
+|c|d
+|}
+Finally, you can put a CSS class or style attributes (or both) on the first line
+of the table to further control how it looks:
+&lt;nowiki&gt;
+{| class=&quot;wikitable&quot;
+|+ My Caption
+!a!!b
+|-
+|c|d
+|}
+&lt;/nowiki&gt;
+{| class=&quot;wikitable&quot;
+|+ My Caption
+!a!!b
+|-
+|c|d
+|}
+Within a cell attributes like align, valign, styles, and class can be used. For
+example,
+&lt;nowiki&gt;
+{|
+| style=&quot;text-align:right;&quot;| a| b
+|-
+| lalala | lalala
+|}
+&lt;/nowiki&gt;
+{|
+| style=&quot;text-align:right;&quot;| a| b
+|-
+| lalala | lalala
+|}
+
+==Math==
+
+Math can be included into a wiki document by either using the math tag:
+&lt;nowiki&gt;
+&lt;math&gt;
+\sum_{i=1}^{n} i = frac{(n+1)(n)}{2}
+&lt;/math&gt;
+&lt;/nowiki&gt;
+
+&lt;math&gt;
+\sum_{i=1}^{n} i = frac{(n+1)(n)}{2}
+&lt;/math&gt;
+==Links and Relationships==
+A hypertext link to another document can be inserted into a wiki page using
+the chain link icon in the GUI. Alternatively, there are several techniques
+for inserting a link into a page depending on whether the link is to a page
+within the same wiki group, is a link to a page on a different wiki
+group, or is a link to a different website. In addition to normal
+hypertext links, Yioop also supports relationship links.
+
+&#039;&#039;&#039;Intra-Group Wiki Links&#039;&#039;&#039; use the syntax:
+&lt;nowiki&gt;
+[[name_of_wiki_page]]
+or
+[[name_of_wiki_page|text for the link]]
+or
+[[name_of_wiki_page#heading_or_id_on_page|text for the link]]
+&lt;/nowiki&gt;
+for example, to make a link to this Syntax page one could write,
+&lt;nowiki&gt;
+[[Syntax|Yioop Wiki Syntax Page]]
+&lt;/nowiki&gt;
+which would look like,
+
+[[Syntax|Yioop Wiki Syntax Page]]
+
+&#039;&#039;&#039;Inter-Group Wiki Links&#039;&#039;&#039; use the syntax:
+&lt;nowiki&gt;
+[[name_of-group@name_of_wiki_page|text for the link]]
+&lt;/nowiki&gt;
+
+&#039;&#039;&#039;Different Website Links&#039;&#039;&#039; use the syntax:
+&lt;nowiki&gt;
+[[website_url|text for the link]]
+&lt;/nowiki&gt;
+
+Relationships are a generalized form of link. They are used to express
+a more complicated linking between two wiki pages and have the syntax:
+
+&lt;nowiki&gt;
+[[relationship_type|wiki_page_name|text for the link]]
+&lt;/nowiki&gt;
+
+In the navigation dropdown for a Yioop wiki page there are items for
+what links to the current page and what relates to the current page
+based on the links and relationships a page belongs to.
+
+==Recent Places Dropdowns==
+You can add a dropdown that can allow users to navigate to recently visited
+wiki pages using the syntax:
+&lt;pre&gt;
+[{recent_places} ]
+&lt;/pre&gt;
+This looks like:
+
+[{recent_places}]
+
+==Adding Resources to a Page==
+
+Yioop wiki syntax supports adding search bars, audio, images, and video to a
+page. The magnifying class edit tool icon can be used to add a search bar via
+the GUI. This can also be added by hand with the syntax:
+&lt;nowiki&gt;
+{{search:default|size:small|placeholder:Search Placeholder Text}}
+&lt;/nowiki&gt;
+This syntax is split into three parts each separated by a vertical bar |. The
+first part search:default means results from searches should come from the
+default search index. You can replace default with the timestamp of a specific
+index or mix if you do not want to use the default. The second group size:small
+indicates the size of the search bar to be drawn. Choices of size are small,
+medium, and large. Finally, placeholder:Search Placeholder Text indicates the
+grayed out background text in the search input before typing is done should
+read: Search Placeholder Text. Here is what the above code outputs:
+
+{{search:default|size:small|placeholder:Search Placeholder Text}}
+
+Image, video and other media resources can be associated with a page by dragging
+and dropping them in the edit textarea or by clicking on the link click to select
+link in the gray box below the textarea. This would add wiki code such as
+
+&lt;pre&gt;
+( (resource:myphoto.jpg|Resource Description))
+&lt;/pre&gt;
+
+to the page. Only saving the page will save this code and upload the resource to
+the server. In the above myphoto.jpg is the resource that will be inserted and
+Resource Description is the alternative text to use in case the viewing browser
+cannot display jpg files. Sometimes it is useful to edit the basic resource link
+above to make a link which is a thumbnail of the resource which points to a
+separate page containing that resource. This can be done using the syntax:
+
+
+&lt;pre&gt;
+( (resource-thumb:myphoto.jpg|Resource Description))
+&lt;/pre&gt;
+
+A list of media that have already been associated with
+a page appears under the Page Resource heading below the textarea. This
+table allows the user to rename and delete resources as well as insert the
+same resource at multiple locations within the same document. To add a resource
+from a different wiki page belonging to the same group to the current wiki
+page one can use a syntax like:
+
+&lt;pre&gt;
+( (resource:Documentation:ConfigureScreenForm1.png|The work directory form))
+&lt;/pre&gt;
+
+Here Documentation would be the page and ConfigureScreenForm1.png the resource.
+
+==Page Settings, Page Type==
+
+In edit mode for a wiki page, next to the page name, is a link [Settings].
+Clicking this link expands a form which can be used to control global settings
+for a wiki page.  This form contains a drop down for the page type, another
+drop down for the type of border for the page in non-logged in mode,
+a checkbox for whether a table of contents should be auto-generated from level 2
+and level three headings and then text
+fields or areas for the page title, author, meta robots, and page description.
+Beneath this one can specify another wiki page to be used as a header for this
+page and also specify another wiki page to be used as a footer for this page.
+
+The contents of the page title is displayed in the browser title when the
+wiki page is accessed with the  Activity Panel collapsed or when not logged in.
+Similarly, in the collapsed or not logged in mode, if one looks as the HTML
+page source for the page,  in the head of document, &lt;meta&gt; tags for author,
+robots, and description are set according to these fields. These fields can
+be useful for search engine optimization. The robots meta tag can be
+used to control how search engine robots index the page. Wikipedia has more information on
+[[https://en.wikipedia.org/wiki/Meta_element|Meta Elements]].
+
+The &#039;&#039;&#039;Standard&#039;&#039;&#039; page type treats the page as a usual wiki page.
+
+&#039;&#039;&#039;Page Alias&#039;&#039;&#039; type redirects the current page to another page name. This can
+be used to handle things like different names for the same topic or to do localization
+of pages. For example, if you switch the locale from English to French and
+you were on the wiki page dental_floss when you switch to French the article
+dental_floss might redirect to the page dentrifice.
+
+&#039;&#039;&#039;Media List&#039;&#039;&#039; type means that the page, when read, should display just the
+resources in the page as a list of thumbnails and links. These links for the
+resources go to a separate pages used to display these resources.
+This kind of page is useful for a gallery of
+images or a collection of audio or video files.
+
+&#039;&#039;&#039;Presentation&#039;&#039;&#039; type is for a wiki page whose purpose is a slide presentation. In this mode,
+....
+on a line by itself is used to separate one slide. If presentation type is a selected a new
+slide icon appears in the wiki edit bar allowining one to easily add new slides.
+When the Activity panel is not collapsed and you are reading a presentation, it just
+displays as a single page with all slides visible. Collapsing the Activity panel presents
+the slides as a typical slide presentation using the
 [[www.w3.org/Talks/Tools/Slidy2/Overview.html|Slidy]] javascript.
 EOD;
 $public_pages["en-US"]["ad_program_terms"] = <<< 'EOD'
@@ -556,13 +556,13 @@ page_footer=
 END_HEAD_VARS==What Ad Services We Offer==
 EOD;
 $public_pages["en-US"]["bot"] = <<< 'EOD'
-title=Bot
-
-description=Describes the web crawler used with this
-web site
-END_HEAD_VARS
-==My Web Crawler==
-
+title=Bot
+
+description=Describes the web crawler used with this
+web site
+END_HEAD_VARS
+==My Web Crawler==
+
 Please Describe Your Robot
 EOD;
 $public_pages["en-US"]["captcha_time_out"] = <<< 'EOD'
@@ -710,7 +710,7 @@ description=Help article describing how to add a Locale.

 END_HEAD_VARS==Adding a Locale==

-The Manage Locales activity can be used to configure Yioop for use with
+The Manage Locales activity can be used to configure Yioop for use with
 different languages and for different regions.

 * The first form on this activity allows you to create a new &amp;quot;Locale&amp;quot;
@@ -899,7 +899,7 @@ page_footer=
 sort=aname

 END_HEAD_VARS&#039;&#039;&#039;CMS Detectors&#039;&#039;&#039; are used to help Yioop get to the most important content on a web page.
-&lt;br /&gt;&lt;br /&gt;
+&lt;br /&gt;&lt;br /&gt;
 You must enter the &#039;&#039;&#039;Name&#039;&#039;&#039;. The Header Regex and Important Content XPath are optional but will have no effect if they are not entered.
 &lt;br /&gt;
 &#039;&#039;&#039;The Header Regex&#039;&#039;&#039; is used to detect the CMS. The header of most CMS created sites are very common. A specifically crafted regular expression can be used to detect the CMS you are looking for. It looks in the href value in a rel=&#039;stylesheet&#039; tag or the src value in a type=&#039;text/javascript&#039; tag.
@@ -1457,7 +1457,7 @@ page_header=

 page_footer=

-END_HEAD_VARS&#039;&#039;&#039;Machine Information&#039;&#039;&#039; shows the currently known about machines.
+END_HEAD_VARS&#039;&#039;&#039;Machine Information&#039;&#039;&#039; shows the currently known about machines.

 &lt;br /&gt;

@@ -1499,9 +1499,9 @@ The &#039;&#039;&#039;Duration&#039;&#039;&#039; dropdown controls how many days
 &lt;br /&gt;

 &#039;&#039;&#039;Keywords&#039;&#039;&#039; should consist of a comma separated list of words or phrases. Each word or phrase has a minimum bid for each day based on demand for that keyword. If no one so far has purchased an ad for any of the keywords, then this minimum is $1/day/word or phrase. Otherwise, it is calculated using the total of the bids so far.
-&lt;br /&gt;
+&lt;br /&gt;

-The &#039;&#039;&#039;Calculate Bid&#039;&#039;&#039; button computes the minimum cost for the campaign you have chosen, add presents a form to receive your credit card information.
+The &#039;&#039;&#039;Calculate Bid&#039;&#039;&#039; button computes the minimum cost for the campaign you have chosen, add presents a form to receive your credit card information.

 On this form the static field &#039;&#039;&#039;Minimum Bid Required&#039;&#039;&#039; field gives the minimum amount required to pay for the advertisement campaign in question. The &#039;&#039;&#039;Expensive word&#039;&#039;&#039; static field says for your campaign which term contributes the most to this minimum bid cost. The Budget fields allows you to enter an amount greater than or equal to the minimum bid that you are willing to pay your ad campaign. If there have been no other bids on your keywords then the minimum bid will show you ad 100% of the time any of your keywords are search for. If, however, there have been other bids, your bid amount as a fraction of the total bid amount for that day for the search keyword is used to select a frequency with which your ad is displayed, so it can make sense to bid more than the minimum required amount.
 &lt;br /&gt;
@@ -1545,7 +1545,7 @@ The &#039;&#039;&#039;CVC&#039;&#039;&#039; field you should put the three or fo
 &lt;br /&gt;

 The &#039;&#039;&#039;Expiration&#039;&#039;&#039; dropdown is used to set your cards expiration date.
-&lt;br /&gt;
+&lt;br /&gt;

 The &#039;&#039;&#039;Purchase&#039;&#039;&#039; button is used to complete the purchase of Ad credit.
 &lt;br /&gt;
@@ -1573,7 +1573,7 @@ page_header=

 page_footer=

-END_HEAD_VARS&#039;&#039;&#039;Add Machine&#039;&#039;&#039; allows you to add a new machine to be controlled by this Yioop instance.
+END_HEAD_VARS&#039;&#039;&#039;Add Machine&#039;&#039;&#039; allows you to add a new machine to be controlled by this Yioop instance.

 &lt;br /&gt;

@@ -1581,7 +1581,7 @@ The &#039;&#039;&#039;Machine Name&#039;&#039;&#039; field lets you give this ma

 &lt;br /&gt;

-The &#039;&#039;&#039;Mirror&#039;&#039;&#039; check-box says whether you want the given Yioop installation to act as a mirror for another Yioop installation. Checking it will reveal a drop-down menu that allows you to choose which installation amongst the previously entered machines you want to mirror.
+The &#039;&#039;&#039;Mirror&#039;&#039;&#039; check-box says whether you want the given Yioop installation to act as a mirror for another Yioop installation. Checking it will reveal a drop-down menu that allows you to choose which installation amongst the previously entered machines you want to mirror.

 &lt;br /&gt;

@@ -1620,95 +1620,95 @@ page_footer=

 sort=aname

-END_HEAD_VARS&#039;&#039;&#039;Media Sources&#039;&#039;&#039; are used to specify how Yioop should handle video and news sites.
-
-&lt;br /&gt;
-
-A &#039;&#039;&#039;Video source&#039;&#039;&#039; is used to specify where to find the thumb nail of a video given the url of the video on a website. This is used by Yioop when displaying search results containing the video link to show the thumb nail. For example, if the Url value is
- http://www.youtube.com/watch?v={}
-and the Thumb value is
- http://i1.ytimg.com/vi/{}/default.jpg,
-this tells Yioop that if a search result contains something like
-&lt;pre&gt;
- https://www.youtube.com/watch?v=dQw4w9WgXcQ
-&lt;/pre&gt;
-this says find the thumb at
-&lt;pre&gt;
- http://i1.ytimg.com/vi/dQw4w9WgXcQ/default.jpg
-&lt;/pre&gt;
-
-An &#039;&#039;&#039;RSS media source&#039;&#039;&#039; can be used to add an RSS or Atom feed (it auto-detects which kind) to the list of feeds which are downloaded hourly when Yioop&#039;s Media Updater is turned on. Besides the name you need to specify the URL of the feed in question. The Category field search usually be left at news. If you want to specify additional categories such as weather or sports, you typically want to create a mix that searches the default index with the keyword media:your_category injects, and then make a new subsearch with that mix.
-This will allow your new category to show up on the Tools/More/Other Searches page.
-
-&lt;br /&gt;
-
-An &#039;&#039;&#039;HTML media source&#039;&#039;&#039; is a web page that has feed articles like an RSS page that you want the Media Updater to scrape on an hourly basis. To specify where in the HTML page the news items appear you specify different XPath information. For example,
-&lt;pre&gt;
- Name: Cape Breton Post
- URL: http://www.capebretonpost.com/News/Local-1968
- Language: English
- Category: news
- Channel: //div[contains(@class, &quot;channel&quot;)]
- Item: //article
- Title:	//a
- Description: //div[contains(@class, &quot;dek&quot;)]
- Link: //a
-&lt;/pre&gt;
-The Channel field is used to specify the tag that encloses all the news items. Relative to this as the root tag, //article says the path to an individual news item. Then relative to an individual news item, //a gets the title, etc. Link extracts the href attribute of that same //a .
-
-&lt;br /&gt;
-
-A &#039;&#039;&#039;JSON media source&#039;&#039;&#039; is a used to scrape feed articles from JSON data as may be provided by a websites API. To handle a JSON media source you provide the same information as with an HTML media source. Internally, Yioop converts all JSON sources to xml before processing. The root objects maps to /html/body.
-A property &#039;&#039;foo&#039;&#039; of the root object would get mapped to a tag &lt;foo&gt;. Array elements are mapped to a sequence of elements enclosed in &lt;item&gt; tags. The process is recursively applied until the JSON object is completely converted to an xml page. Once this is done the XPaths that a user provides are used to extract the feed items in the same way as how HTML feeds are extracted. As an example, Yioop search results and discussion groups can be output as JSON. To take Yioop&#039;s news feed and use it as a JSON media source in your search engine, you could use the settings:
-&lt;pre&gt;
- Name: Yioop News
- URL: https://www.yioop.com/s/news?f=json
- Language: English
- Category: news
- Channel: //channel
- Item: //item
- Title: //title
- Description: //description
- Link: //link
-&lt;/pre&gt;
-
-&lt;br /&gt;
-
-A &#039;&#039;&#039;Regex media source&#039;&#039;&#039; is a source of feed articles presented in some kind of non-tag based text format.
-For example, the US National Weather Service has a text-based page for weather forecasts of major US cities
-at
-&lt;pre&gt;
- http://forecast.weather.gov/product.php?site=NWS&amp;
-  issuedby=04&amp;product=SCS&amp;format=txt&amp;
-  version=1&amp;glossary=0
-&lt;/pre&gt;
-changing the 04 above to 03, 02, 01 varies the group of cities. Most of the data on this page appears in a pre tag as text. &#039;&#039;Channel&#039;&#039; in this case would be a regex whose first capture group corresponds to the contents of this pre tag. We might want to get one item per line from the pre tag as that would correspond to the weather for one city. The &#039;&#039;Item Separator&#039;&#039; is a regex used to split the results of the Channel operation into items. Finally, &#039;&#039;Title&#039;&#039;, &#039;&#039;Description&#039;&#039;, and &#039;&#039;Link&#039;&#039; are regexes each with one capture group used to get these respective feed item components out of an item given after the splitting process above. Hence, a reasonable choice of values for the weather service page might be:
-&lt;pre&gt;
- Name: National Weather Service 04
- URL: http://forecast.weather.gov/product.php?
-  site=NWS&amp;issuedby=04&amp;product=SCS&amp;format=txt&amp;
-  version=1&amp;glossary=0
- Language: English
- Category: weather
- Channel: /&lt;pre(?:.+?)&gt;([^&lt;]+)/m
- Item: /
-/
- Title: /^(.+?)\s\s\s+/
- Description: /\s\s\s+(.+?)$/
- Link: http://www.weather.gov/
-&lt;/pre&gt;
-Notice in the above that the Link element is http://www.weather.gov/. If you have a feed
-and it doesn&#039;t provide links for individual items. You can always provide a link to some
-fixed site by directly entering a URL in the Link field.
-
-&lt;br /&gt;
-
-
-Not all feeds use the same tag to specify the image associated with a news item. The Image XPath allows you to specify relative to a news item (either RSS or HTML) where an image thumbnail exists. If a site does not use such thumbnail one can prefix the path with ^ to give the path relative to the root of the whole file to where a thumb nail for the news source exists. Yioop automatically removes escaping from RSS containing escaped HTML when computing this. For example, the following works for the feed:
-&lt;pre&gt;
-  http://feeds.wired.com/wired/index
- //description/div[contains(@class,
-    &quot;rss_thumbnail&quot;)]/img/@src
+END_HEAD_VARS&#039;&#039;&#039;Media Sources&#039;&#039;&#039; are used to specify how Yioop should handle video and news sites.
+
+&lt;br /&gt;
+
+A &#039;&#039;&#039;Video source&#039;&#039;&#039; is used to specify where to find the thumb nail of a video given the url of the video on a website. This is used by Yioop when displaying search results containing the video link to show the thumb nail. For example, if the Url value is
+ http://www.youtube.com/watch?v={}
+and the Thumb value is
+ http://i1.ytimg.com/vi/{}/default.jpg,
+this tells Yioop that if a search result contains something like
+&lt;pre&gt;
+ https://www.youtube.com/watch?v=dQw4w9WgXcQ
+&lt;/pre&gt;
+this says find the thumb at
+&lt;pre&gt;
+ http://i1.ytimg.com/vi/dQw4w9WgXcQ/default.jpg
+&lt;/pre&gt;
+
+An &#039;&#039;&#039;RSS media source&#039;&#039;&#039; can be used to add an RSS or Atom feed (it auto-detects which kind) to the list of feeds which are downloaded hourly when Yioop&#039;s Media Updater is turned on. Besides the name you need to specify the URL of the feed in question. The Category field search usually be left at news. If you want to specify additional categories such as weather or sports, you typically want to create a mix that searches the default index with the keyword media:your_category injects, and then make a new subsearch with that mix.
+This will allow your new category to show up on the Tools/More/Other Searches page.
+
+&lt;br /&gt;
+
+An &#039;&#039;&#039;HTML media source&#039;&#039;&#039; is a web page that has feed articles like an RSS page that you want the Media Updater to scrape on an hourly basis. To specify where in the HTML page the news items appear you specify different XPath information. For example,
+&lt;pre&gt;
+ Name: Cape Breton Post
+ URL: http://www.capebretonpost.com/News/Local-1968
+ Language: English
+ Category: news
+ Channel: //div[contains(@class, &quot;channel&quot;)]
+ Item: //article
+ Title:    //a
+ Description: //div[contains(@class, &quot;dek&quot;)]
+ Link: //a
+&lt;/pre&gt;
+The Channel field is used to specify the tag that encloses all the news items. Relative to this as the root tag, //article says the path to an individual news item. Then relative to an individual news item, //a gets the title, etc. Link extracts the href attribute of that same //a .
+
+&lt;br /&gt;
+
+A &#039;&#039;&#039;JSON media source&#039;&#039;&#039; is a used to scrape feed articles from JSON data as may be provided by a websites API. To handle a JSON media source you provide the same information as with an HTML media source. Internally, Yioop converts all JSON sources to xml before processing. The root objects maps to /html/body.
+A property &#039;&#039;foo&#039;&#039; of the root object would get mapped to a tag &lt;foo&gt;. Array elements are mapped to a sequence of elements enclosed in &lt;item&gt; tags. The process is recursively applied until the JSON object is completely converted to an xml page. Once this is done the XPaths that a user provides are used to extract the feed items in the same way as how HTML feeds are extracted. As an example, Yioop search results and discussion groups can be output as JSON. To take Yioop&#039;s news feed and use it as a JSON media source in your search engine, you could use the settings:
+&lt;pre&gt;
+ Name: Yioop News
+ URL: https://www.yioop.com/s/news?f=json
+ Language: English
+ Category: news
+ Channel: //channel
+ Item: //item
+ Title: //title
+ Description: //description
+ Link: //link
+&lt;/pre&gt;
+
+&lt;br /&gt;
+
+A &#039;&#039;&#039;Regex media source&#039;&#039;&#039; is a source of feed articles presented in some kind of non-tag based text format.
+For example, the US National Weather Service has a text-based page for weather forecasts of major US cities
+at
+&lt;pre&gt;
+ http://forecast.weather.gov/product.php?site=NWS&amp;
+  issuedby=04&amp;product=SCS&amp;format=txt&amp;
+  version=1&amp;glossary=0
+&lt;/pre&gt;
+changing the 04 above to 03, 02, 01 varies the group of cities. Most of the data on this page appears in a pre tag as text. &#039;&#039;Channel&#039;&#039; in this case would be a regex whose first capture group corresponds to the contents of this pre tag. We might want to get one item per line from the pre tag as that would correspond to the weather for one city. The &#039;&#039;Item Separator&#039;&#039; is a regex used to split the results of the Channel operation into items. Finally, &#039;&#039;Title&#039;&#039;, &#039;&#039;Description&#039;&#039;, and &#039;&#039;Link&#039;&#039; are regexes each with one capture group used to get these respective feed item components out of an item given after the splitting process above. Hence, a reasonable choice of values for the weather service page might be:
+&lt;pre&gt;
+ Name: National Weather Service 04
+ URL: http://forecast.weather.gov/product.php?
+  site=NWS&amp;issuedby=04&amp;product=SCS&amp;format=txt&amp;
+  version=1&amp;glossary=0
+ Language: English
+ Category: weather
+ Channel: /&lt;pre(?:.+?)&gt;([^&lt;]+)/m
+ Item: /
+/
+ Title: /^(.+?)\s\s\s+/
+ Description: /\s\s\s+(.+?)$/
+ Link: http://www.weather.gov/
+&lt;/pre&gt;
+Notice in the above that the Link element is http://www.weather.gov/. If you have a feed
+and it doesn&#039;t provide links for individual items. You can always provide a link to some
+fixed site by directly entering a URL in the Link field.
+
+&lt;br /&gt;
+
+
+Not all feeds use the same tag to specify the image associated with a news item. The Image XPath allows you to specify relative to a news item (either RSS or HTML) where an image thumbnail exists. If a site does not use such thumbnail one can prefix the path with ^ to give the path relative to the root of the whole file to where a thumb nail for the news source exists. Yioop automatically removes escaping from RSS containing escaped HTML when computing this. For example, the following works for the feed:
+&lt;pre&gt;
+  http://feeds.wired.com/wired/index
+ //description/div[contains(@class,
+    &quot;rss_thumbnail&quot;)]/img/@src
 &lt;/pre&gt;
 EOD;
 $help_pages["en-US"]["Name_Server_Setup"] = <<< EOD
@@ -1736,7 +1736,7 @@ END_HEAD_VARSYioop can be run in a single machine or multi-machine setting. In a

 &lt;br /&gt;

-When someone enters a query into a Yioop set-up, they typically enter the query on the name server. The &#039;&#039;&#039;Use Filecache&#039;&#039;&#039; checkbox controls whether the query results are cached in a file so that they don&#039;t have to be recalculated when someone enters the same query again. The file cache is purged periodically so that it doesn&#039;t get too large.
+When someone enters a query into a Yioop set-up, they typically enter the query on the name server. The &#039;&#039;&#039;Use Filecache&#039;&#039;&#039; checkbox controls whether the query results are cached in a file so that they don&#039;t have to be recalculated when someone enters the same query again. The file cache is purged periodically so that it doesn&#039;t get too large.
 EOD;
 $help_pages["en-US"]["Page_Byte_Ranges"] = <<< EOD
 page_type=standard
@@ -1809,16 +1809,16 @@ page_header=

 page_footer=

-END_HEAD_VARSThe &#039;&#039;&#039;Search Results Grouping&#039;&#039;&#039; controls allow you to control on a search query how many qualifying documents from an index to compute before trying to sort and rank them to find the top k results (here k is usually 10).  In a multi-queue-server setting the query is simultaneously asked by the name server machine of each of the queue server machines and the results are aggregated.
+END_HEAD_VARSThe &#039;&#039;&#039;Search Results Grouping&#039;&#039;&#039; controls allow you to control on a search query how many qualifying documents from an index to compute before trying to sort and rank them to find the top k results (here k is usually 10).  In a multi-queue-server setting the query is simultaneously asked by the name server machine of each of the queue server machines and the results are aggregated.

 &lt;br /&gt;

 &#039;&#039;&#039;Minimum Results to Group&#039;&#039;&#039; controls the number of results the name server want to have before sorting of results is done. When the name server request documents from each queue server, it requests for
 &lt;br /&gt;
-&amp;alpha; &amp;times; (Minimum Results to Group)/(Number of Queue Servers) documents.
+&amp;alpha; &amp;times; (Minimum Results to Group)/(Number of Queue Servers) documents.

 &lt;br /&gt;
-&#039;&#039;&#039;Server Alpha&#039;&#039;&#039; controls the number alpha.
+&#039;&#039;&#039;Server Alpha&#039;&#039;&#039; controls the number alpha.
 EOD;
 $help_pages["en-US"]["Page_Ranking_Factors"] = <<< EOD
 page_type=standard
@@ -1949,17 +1949,17 @@ page_footer=

 sort=aname

-END_HEAD_VARS&#039;&#039;&#039;Web Scrapers&#039;&#039;&#039; are used to help Yioop get to the most important content on a web page during. When Yioop crawls it tries to extract the most important content of a page into a succinct summary. It then indexes just this summary. Web pages generated by a content management system such as Wordpress have a reasonably standard format and a web scraper can be used to isolated the sub-portion of a web page which is more likely to have useful content. Below we describe how to use Web Scraper activity to make a new scraper or view existing one.
-
-&#039;&#039;&#039;Name&#039;&#039;&#039; is what to call the scraper that is being defined. A Web Scraper must have a Name, the Signature and Scrape Rules fields are optional but at least one of them must be present for the web scraper to have effect while crawling.
-
-&#039;&#039;&#039;Signature&#039;&#039;&#039; is used to detect when a particular Web Scraper should be used. It should consist of an XPath query which would evaluate to a non-empty set of elements in the case of a page the scraper might work for.
-
-&#039;&#039;&#039;Scrape Rules&#039;&#039;&#039; are used to specify the most important content of a page for summarization. This field should consist of one or more XPaths, with (###) used to indicate when one XPath ends and the next begins. Yioop will scrape the page by applying the first XPath to locate the important content region of the page and using the remaining XPaths to remove unnecessary sub-content from this region.
-
-&#039;&#039;&#039;Example:&#039;&#039;&#039;
-
-&lt;table border=&#039;1&#039;&gt;
+END_HEAD_VARS&#039;&#039;&#039;Web Scrapers&#039;&#039;&#039; are used to help Yioop get to the most important content on a web page during. When Yioop crawls it tries to extract the most important content of a page into a succinct summary. It then indexes just this summary. Web pages generated by a content management system such as Wordpress have a reasonably standard format and a web scraper can be used to isolated the sub-portion of a web page which is more likely to have useful content. Below we describe how to use Web Scraper activity to make a new scraper or view existing one.
+
+&#039;&#039;&#039;Name&#039;&#039;&#039; is what to call the scraper that is being defined. A Web Scraper must have a Name, the Signature and Scrape Rules fields are optional but at least one of them must be present for the web scraper to have effect while crawling.
+
+&#039;&#039;&#039;Signature&#039;&#039;&#039; is used to detect when a particular Web Scraper should be used. It should consist of an XPath query which would evaluate to a non-empty set of elements in the case of a page the scraper might work for.
+
+&#039;&#039;&#039;Scrape Rules&#039;&#039;&#039; are used to specify the most important content of a page for summarization. This field should consist of one or more XPaths, with (###) used to indicate when one XPath ends and the next begins. Yioop will scrape the page by applying the first XPath to locate the important content region of the page and using the remaining XPaths to remove unnecessary sub-content from this region.
+
+&#039;&#039;&#039;Example:&#039;&#039;&#039;
+
+&lt;table border=&#039;1&#039;&gt;
 &lt;th&gt;Setting&lt;/th&gt; &lt;th&gt;Value&lt;/th&gt; &lt;tr&gt;&lt;td&gt;Name&lt;/td&gt;&lt;td&gt;Wordpress&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;Signature&lt;/th&gt;&lt;td&gt;/html/head/*[contains(@href, &#039;wp-content&#039;) or contains(@href, &#039;wp-includes&#039;)]&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;th&gt;Scrape Rules&lt;/th&gt;&lt;td&gt;//div[starts-with(@id, &#039;post-&#039;) and &#039;post-&#039; = translate(@id, &#039;0123456789&#039;, &#039;&#039;)&lt;br /&gt; and string-length(@id) &gt;4]|//div[contains(@class, &#039;homepagewrapper&#039;)]###&lt;br /&gt;//*[contains(@id, &#039;entry-comments&#039;)]###&lt;br /&gt;//*[contains(@class, &#039;sharedaddy&#039;)]###&lt;br /&gt;//*[contains(@class, &#039;blog-subscribe&#039;)]###&lt;br /&gt;//*[contains(@id, &#039;entry-side&#039;)]&lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; &lt;br /&gt;
 EOD;
 $help_pages["en-US"]["Search_Results_Editor"] = <<< EOD
@@ -2014,7 +2014,7 @@ pages appear or not.
 ; &#039;&#039;&#039;Signin&#039;&#039;&#039; : Controls whether the &#039;&#039;&#039;Sign In&#039;&#039;&#039; link appears at the top of the Yioop landing and search result pages.
 ; &#039;&#039;&#039;Cache&#039;&#039;&#039;, &#039;&#039;&#039;Similar&#039;&#039;&#039;, &#039;&#039;&#039;Inlinks&#039;&#039;&#039;, &#039;&#039;&#039;IP Address&#039;&#039;&#039;: Control whether the corresponding links appear after each search result item.

-
+

 EOD;
 $help_pages["en-US"]["Seed_Sites_and_URL_Suggestions"] = <<< EOD
@@ -2113,13 +2113,13 @@ END_HEAD_VARS&#039;&#039;&#039;Subsearches&#039;&#039;&#039; are specialized sea

 &lt;br /&gt;

-A list of links to all the current subsearches on a Yioop site appears at the
+A list of links to all the current subsearches on a Yioop site appears at the
  site_url?a=more
 page. Links to some of the subsearches may appear at the top left hand side of of the default landing page provided the Pages Options : Search Time : Subsearch checkbox is checked.

 &lt;br /&gt;

-The &#039;&#039;&#039;Folder Name&#039;&#039;&#039; of a subsearch is the name that appears as part of the query string when doing a search restricted to that subsearch. After creating a subsearch, the table below will have a &#039;&#039;&#039;Localize&#039;&#039;&#039; link next to its name. This lets you give names for your subsearch on the More page mentioned above with respect to different languages.
+The &#039;&#039;&#039;Folder Name&#039;&#039;&#039; of a subsearch is the name that appears as part of the query string when doing a search restricted to that subsearch. After creating a subsearch, the table below will have a &#039;&#039;&#039;Localize&#039;&#039;&#039; link next to its name. This lets you give names for your subsearch on the More page mentioned above with respect to different languages.

 EOD;
 $help_pages["en-US"]["Summary_Length"] = <<< EOD
@@ -2232,10 +2232,10 @@ page_header=
 page_footer=

 END_HEAD_VARSThe &#039;&#039;&#039;Work Directory&#039;&#039;&#039; is a folder used to store all the customizations of this instance of Yioop.
-This field should be a complete file system path to a folder that exists.
+This field should be a complete file system path to a folder that exists.
 It should use forward slashes. For example:

- /some_folder/some_subfolder/yioop_data
+ /some_folder/some_subfolder/yioop_data
 (more appropriate for Mac or Linux) or
  c:/some_folder/some_subfolder/yioop_data
 (more appropriate on a Windows system).
@@ -2244,4 +2244,3 @@ If you decide to upgrade Yioop at some later date you only have to replace the c
 of Yioop and set the Work Directory path to the value of your pre-upgrade version. For this
 reason the Work Directory should not be a subfolder of the Yioop code folder.
 EOD;
-
diff --git a/src/configs/TokenTool.php b/src/configs/TokenTool.php
index b03ca385d..531cf2f65 100644
--- a/src/configs/TokenTool.php
+++ b/src/configs/TokenTool.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -32,7 +32,7 @@
  *     ngrams)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */

diff --git a/src/configs/default_crawl.ini b/src/configs/default_crawl.ini
index 3338e6185..1e0d06be7 100644
--- a/src/configs/default_crawl.ini
+++ b/src/configs/default_crawl.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/controllers/AdminController.php b/src/controllers/AdminController.php
index 1f4bee7cf..9c37b9aba 100755
--- a/src/controllers/AdminController.php
+++ b/src/controllers/AdminController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -639,13 +639,20 @@ class AdminController extends Controller implements CrawlConstants
         return $search_array;
     }
     /**
+     * For activity involving items for which one can do search (user, group,
+     * roles) this method is used to marshal the last search that was performed
+     * out of the session when one navigates back to search
      *
+     * @param array &$data field variables used by view to draw itself
+     * @param string $activity current activity marshalling last search for
+     * @param string $field_postfix some activities support multiple search
+     *   forms. The field postfix is used to select among these.
      */
     function restoreLastSearchFromSession(&$data, $activity,
         $field_postfix = "")
     {
         $activity_postfix = $activity . $field_postfix;
-        if(empty($_SESSION['LAST_SEARCH'][$activity_postfix])) {
+        if (empty($_SESSION['LAST_SEARCH'][$activity_postfix])) {
             return;
         }
         $last_search = $_SESSION['LAST_SEARCH'][$activity_postfix];
@@ -661,4 +668,4 @@ class AdminController extends Controller implements CrawlConstants
         }
         return $data['SEARCH_ARRAY'];
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/ApiController.php b/src/controllers/ApiController.php
index 119a722df..f06057efe 100644
--- a/src/controllers/ApiController.php
+++ b/src/controllers/ApiController.php
@@ -3,7 +3,7 @@
  *  SeekQuarry/Yioop --
  *  Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- *  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ *  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  *  LICENSE:
  *
@@ -25,7 +25,7 @@
  *  @author Eswara Rajesh Pinapala epinapala@live.com
  *  @license http://www.gnu.org/licenses/ GPL3
  *  @link http://www.seekquarry.com/
- *  @copyright 2009 - 2016
+ *  @copyright 2009 - 2017
  *  @filesource
  */
 namespace seekquarry\yioop\controllers;
diff --git a/src/controllers/ArchiveController.php b/src/controllers/ArchiveController.php
index e5333ca7f..c6d03b6ef 100755
--- a/src/controllers/ArchiveController.php
+++ b/src/controllers/ArchiveController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
diff --git a/src/controllers/ClassifierController.php b/src/controllers/ClassifierController.php
index 64a28d4df..412f32f3f 100644
--- a/src/controllers/ClassifierController.php
+++ b/src/controllers/ClassifierController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
diff --git a/src/controllers/Controller.php b/src/controllers/Controller.php
index e2377a523..2d406d646 100755
--- a/src/controllers/Controller.php
+++ b/src/controllers/Controller.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -925,7 +925,7 @@ abstract class Controller
         }
      }
     /**
-     * Adds to an integer, $actual_value, epsilon-noise taken from an
+     * Adds to an integer, $actual_value, epsilon-noise taken from an
      * L_1 gaussian source to centered at $actual_value to get a epsilon
      * private, integre  value.
      *
@@ -961,4 +961,4 @@ abstract class Controller
         $fuzzy_value = $i;
         return $fuzzy_value;
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/CrawlController.php b/src/controllers/CrawlController.php
index 28a55af66..97bffdaee 100644
--- a/src/controllers/CrawlController.php
+++ b/src/controllers/CrawlController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
diff --git a/src/controllers/FetchController.php b/src/controllers/FetchController.php
index c8fbd807a..2be4d8024 100755
--- a/src/controllers/FetchController.php
+++ b/src/controllers/FetchController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -303,7 +303,7 @@ class FetchController extends Controller implements CrawlConstants
             $this->checkRestart($this->clean(
                 $_REQUEST['crawl_type'], 'string'));
         }
-        if ($part_flag &&
+        if ($part_flag &&
             L\crawlHash($_REQUEST['part']) == $_REQUEST['hash_part']) {
             $upload = false;
             if (intval($_REQUEST['num_parts']) > 1) {
@@ -640,4 +640,4 @@ class FetchController extends Controller implements CrawlConstants
         $list = array_unique($list);
         return $list;
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/GroupController.php b/src/controllers/GroupController.php
index 27d764fb1..b40993e25 100644
--- a/src/controllers/GroupController.php
+++ b/src/controllers/GroupController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
diff --git a/src/controllers/JobsController.php b/src/controllers/JobsController.php
index 51ba4bdee..66991007b 100644
--- a/src/controllers/JobsController.php
+++ b/src/controllers/JobsController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -75,7 +75,7 @@ class JobsController extends Controller implements CrawlConstants,
         $activity = (isset($_REQUEST['a'])) ? $_REQUEST['a'] : false;
         if (in_array($activity, $this->activities)) {
             $this->call($activity);
-        } else if (!empty($_REQUEST['job']) &&
+        } else if (!empty($_REQUEST['job']) &&
             !empty($_REQUEST['machine_id']) &&
             in_array($activity, ["getTasks", "putTasks"])) {
             $job = $this->clean($_REQUEST['job'], "string");
@@ -111,4 +111,4 @@ class JobsController extends Controller implements CrawlConstants,
             $profile['SEND_MAIL_MEDIA_UPDATER'] : false;
         echo L\webencode(serialize($response));
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/MachineController.php b/src/controllers/MachineController.php
index 3a8aabf28..c05d0a455 100644
--- a/src/controllers/MachineController.php
+++ b/src/controllers/MachineController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -94,7 +94,7 @@ class MachineController extends Controller implements CrawlConstants
      */
     public function update()
     {
-        if(!isset($_REQUEST['type']) || !isset($_REQUEST['id']) ||
+        if (!isset($_REQUEST['type']) || !isset($_REQUEST['id']) ||
             !isset($_REQUEST['action'])) { return; }
         $statuses = CrawlDaemon::statuses();
         switch ($_REQUEST['type']) {
@@ -117,7 +117,7 @@ class MachineController extends Controller implements CrawlConstants
                         $this->clean($_REQUEST['parent'], 'string') : "";
                     if ($parent) {
                         file_put_contents(C\CRAWL_DIR .
-                            "/schedules/mirror_parent.txt",
+                            "/schedules/mirror_parent.txt",
                             L\webdecode($parent));
                     }
                     CrawlDaemon::start("Mirror");
@@ -152,7 +152,7 @@ class MachineController extends Controller implements CrawlConstants
                 $time_string = date("r", time());
                 $out_msg = "[$time_string] $msg\n";
                 $lines = L\tail(C\LOG_DIR."/$id-Fetcher.log", 10);
-                foreach($lines as $line) {
+                foreach ($lines as $line) {
                     $out_msg .= "!!!!$line\n";
                 }
                 if (!file_exists($error_log) || filesize($error_log) >
@@ -173,7 +173,7 @@ class MachineController extends Controller implements CrawlConstants
     public function log()
     {
         $log_data = "";
-        if(!isset($_REQUEST["type"])) {
+        if (!isset($_REQUEST["type"])) {
             echo json_encode(urlencode($log_data));
             return;
         }
@@ -218,4 +218,4 @@ class MachineController extends Controller implements CrawlConstants
         header("Content-Type: application/json");
         echo json_encode(L\webencode($log_data));
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/RegisterController.php b/src/controllers/RegisterController.php
index 719ceb366..7c5e6101b 100755
--- a/src/controllers/RegisterController.php
+++ b/src/controllers/RegisterController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -169,10 +169,10 @@ class RegisterController extends Controller implements CrawlConstants
             $user = $_SERVER['REMOTE_ADDR'];
         }
         $visitor_check_names = ['captcha_time_out','suggest_day_exceeded'];
-        foreach($visitor_check_names as $name) {
+        foreach ($visitor_check_names as $name) {
             $visitor = $visitor_model->getVisitor($_SERVER['REMOTE_ADDR'],
                 $name);
-            if(isset($visitor['END_TIME']) && $visitor['END_TIME'] > time()) {
+            if (isset($visitor['END_TIME']) && $visitor['END_TIME'] > time()) {
                 $_SESSION['value'] = date('Y-m-d H:i:s', $visitor['END_TIME']);
                 $url = B\wikiUrl($visitor['PAGE_NAME']);
                 header("Location:" . $url);
@@ -193,14 +193,14 @@ class RegisterController extends Controller implements CrawlConstants
         $data["check_user"] = true;
         $data["check_fields"] = $this->register_fields;
         if (C\CAPTCHA_MODE == C\TEXT_CAPTCHA) {
-            if(C\RECOVERY_MODE == C\EMAIL_AND_QUESTIONS_RECOVERY) {
+            if (C\RECOVERY_MODE == C\EMAIL_AND_QUESTIONS_RECOVERY) {
                 $num_questions = self::NUM_CAPTCHA_QUESTIONS +
                     self::NUM_RECOVERY_QUESTIONS;
             } else {
                 $num_questions = self::NUM_CAPTCHA_QUESTIONS;
             }
         } else {
-            if(C\RECOVERY_MODE == C\EMAIL_AND_QUESTIONS_RECOVERY) {
+            if (C\RECOVERY_MODE == C\EMAIL_AND_QUESTIONS_RECOVERY) {
                 $num_questions = self::NUM_RECOVERY_QUESTIONS;
             } else {
                 $num_questions = 0;
@@ -1051,9 +1051,15 @@ class RegisterController extends Controller implements CrawlConstants
             $this->model("captcha")->makeGraphicalCaptcha($word);
     }
     /**
+     * Gets a list of translated recovery questions from the register view.
+     * If insufficiently many questions have been translated for the current
+     * locale backfill with default locale
      *
-     * @param string $register_view
-     * @param string $locale
+     * @param string $register_view view with register for an account form
+     *  since auto checked for string to translate, have but a list of
+     *  translated recovery string there.
+     * @param string $locale which locale to get the recovery questions for
+     * @return array of translated recovery questions
      */
     public static function getRecoveryQuestions($register_view, $locale)
     {
@@ -1331,7 +1337,7 @@ class RegisterController extends Controller implements CrawlConstants
                 $error = true;
                 $missing[] = "email";
                 $data[strtoupper($field)] = "";
-            } else if($field == "user" && stripos($this->forbidden_usernames,
+            } else if ($field == "user" && stripos($this->forbidden_usernames,
                 $_REQUEST[$field]) !== false) {
                 $error = true;
                 $missing[] = "user";
@@ -1413,4 +1419,4 @@ class RegisterController extends Controller implements CrawlConstants
         }
         return false;
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/ResourceController.php b/src/controllers/ResourceController.php
index 673dcbf0b..ba631376a 100644
--- a/src/controllers/ResourceController.php
+++ b/src/controllers/ResourceController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -234,7 +234,7 @@ class ResourceController extends Controller implements CrawlConstants
                 file_exists($redirect_dir . "/redirect.txt")) {
                 $tmp_path = file_get_contents($redirect_dir . "/redirect.txt");
                 if (is_dir($tmp_path)) {
-                    if($subfolder == $base_subfolder) {
+                    if ($subfolder == $base_subfolder) {
                         $base_dir = $tmp_path;
                     } else {
                         $subfolder = L\crawlHash($tmp_path);
@@ -382,4 +382,3 @@ class ResourceController extends Controller implements CrawlConstants
         echo base64_encode(gzcompress(serialize($info)));
     }
 }
-
diff --git a/src/controllers/SearchController.php b/src/controllers/SearchController.php
index 43ee95d38..4794ee6c7 100755
--- a/src/controllers/SearchController.php
+++ b/src/controllers/SearchController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
@@ -86,7 +86,7 @@ class SearchController extends Controller implements CrawlConstants
                 C\nsdefine("USE_CACHE", true);
             } else if (C\USE_FILECACHE) {
                 $file_cache = C\NS_LIB. "FileCache";
-                $phrase_model::$cache =
+                $phrase_model::$cache =
                     new $file_cache(C\WORK_DIRECTORY."/cache/queries");
                 C\nsdefine("USE_CACHE", true);
             } else {
@@ -793,7 +793,7 @@ class SearchController extends Controller implements CrawlConstants
                     $data['PAGING_QUERY']['s'] =  $this->subsearch_name;
                 }
                 $data['QUERY'] = urlencode($this->clean($query, "string"));
-                if(php_sapi_name() != 'cli' &&
+                if (php_sapi_name() != 'cli' &&
                     C\nsdefined("ADVERTISEMENT_TYPE") &&
                     C\ADVERTISEMENT_TYPE == 'keyword_advertisements') {
                     $data['ELEMENT'] = "displayadvertisement";
@@ -805,9 +805,9 @@ class SearchController extends Controller implements CrawlConstants
                         $data['RELEVANT_ADVERTISEMENT'] =
                             $advertisement_model->getRelevantAdvertisement(
                             $query);
-                        if(empty($data['RELEVANT_ADVERTISEMENT']['ID'])) {
+                        if (empty($data['RELEVANT_ADVERTISEMENT']['ID'])) {
                             $ad_interpolant = $query;
-                            if(!empty($this->subsearch_name)) {
+                            if (!empty($this->subsearch_name)) {
                                 $ad_interpolant = $this->model(
                                     "source")->getSubsearchName(
                                     $this->subsearch_name,
@@ -825,7 +825,7 @@ class SearchController extends Controller implements CrawlConstants
                             $advertisement_model->addImpression(
                                 $data['RELEVANT_ADVERTISEMENT']['ID']);
                         }
-
+
                     }
                 }
                 break;
@@ -834,7 +834,7 @@ class SearchController extends Controller implements CrawlConstants
             $data['PAGING_QUERY'][C\CSRF_TOKEN] = $data[C\CSRF_TOKEN];
         }
         $data['PAGING_QUERY']['its'] = empty($data['its']) ? 0 : $data['its'];
-        if(C\nsdefined("REDIRECTS_ON") && C\REDIRECTS_ON &&
+        if (C\nsdefined("REDIRECTS_ON") && C\REDIRECTS_ON &&
             !empty($data['PAGING_QUERY']['s']) &&
             strstr($_SERVER['REQUEST_URI'], 's/'.$data['PAGING_QUERY']['s'])) {
             unset($data['PAGING_QUERY']['s']);
@@ -1587,7 +1587,7 @@ class SearchController extends Controller implements CrawlConstants
         }
         set_error_handler(C\NS_LIB . "yioop_error_handler");
         $body =  $dom->getElementsByTagName('body')->item(0);
-        if(!$body) {
+        if (!$body) {
             return $cache_file;
         }
         //make tags in body absolute
@@ -2073,4 +2073,4 @@ class SearchController extends Controller implements CrawlConstants
         $script->setAttributeNS("","src", C\NAME_SERVER."/scripts/history.js");
         $node->appendChild($script);
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/SettingsController.php b/src/controllers/SettingsController.php
index daae9a9e9..a45dbcf1e 100755
--- a/src/controllers/SettingsController.php
+++ b/src/controllers/SettingsController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
diff --git a/src/controllers/StaticController.php b/src/controllers/StaticController.php
index e464f24f8..9308d4eec 100644
--- a/src/controllers/StaticController.php
+++ b/src/controllers/StaticController.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers;
diff --git a/src/controllers/components/AccountaccessComponent.php b/src/controllers/components/AccountaccessComponent.php
index c4b7ccaba..24e8945b6 100644
--- a/src/controllers/components/AccountaccessComponent.php
+++ b/src/controllers/components/AccountaccessComponent.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers\components;
@@ -124,7 +124,7 @@ class AccountaccessComponent extends Component
                 $data['EDIT_USER'] = true;
             }
         }
-        if(!empty($data['EDIT_USER'])) {
+        if (!empty($data['EDIT_USER'])) {
             if (C\RECOVERY_MODE == C\EMAIL_AND_QUESTIONS_RECOVERY) {
                 $user_session = $user_model->getUserSession($user_id);
                 if (!isset($user_session['RECOVERY']) &&
@@ -137,7 +137,7 @@ class AccountaccessComponent extends Component
                     $data['RECOVERY'] = $user_session['RECOVERY'];
                 }
                 if (isset($user_session["RECOVERY_ANSWERS"])) {
-                    $data["RECOVERY_ANSWERS"] =
+                    $data["RECOVERY_ANSWERS"] =
                         $user_session["RECOVERY_ANSWERS"];
                 }
                 $num_questions = count($data['RECOVERY']);
@@ -166,12 +166,12 @@ class AccountaccessComponent extends Component
                 }
             }
             $business_id = $role_model->getRoleId('Business User');
-            if(!$business_id || $business_id < 0) {
+            if (!$business_id || $business_id < 0) {
                 $data['yioop_advertisement'] = false;
             } else {
                 $role_ids = $user_model->isAllowedUserActivity($user_id,
                     "manageAdvertisements", true);
-                if(is_array($role_ids) && (count($role_ids) > 1 ||
+                if (is_array($role_ids) && (count($role_ids) > 1 ||
                     $role_ids[0] != $business_id) ) {
                     $data['yioop_advertisement'] = false;
                 }
@@ -297,7 +297,7 @@ class AccountaccessComponent extends Component
                     $role_model->deleteUserRole($user_id, $business_id);
                 }
                 $bot_role_id=$role_model->getRoleId('Bot User');
-                if(isset($_REQUEST['IS_BOT_USER']) && $bot_role_id){
+                if (isset($_REQUEST['IS_BOT_USER']) && $bot_role_id){
                     $data['USER']['IS_BOT_USER'] = 1;
                     $role_model->addUserRole($user_id, $bot_role_id);
                 } else if ($bot_role_id) {
@@ -305,17 +305,17 @@ class AccountaccessComponent extends Component
                     $role_model->deleteUserRole($user_id, $bot_role_id);
                 }
                 $is_bot_updated = false;
-                if(isset($_REQUEST['BOT_TOKEN'])){
+                if (isset($_REQUEST['BOT_TOKEN'])){
                     $user['BOT_TOKEN'] = $_REQUEST['BOT_TOKEN'];
                     $data['USER']['BOT_TOKEN'] = $user['BOT_TOKEN'];
                     $is_bot_updated=true;
                 }
-                if(isset($_REQUEST['BOT_CALLBACK_URL'])){
+                if (isset($_REQUEST['BOT_CALLBACK_URL'])){
                     $user['CALLBACK_URL'] = $_REQUEST['BOT_CALLBACK_URL'];
                     $data['USER']['CALLBACK_URL'] = $user['CALLBACK_URL'];
                     $is_bot_updated=true;
                 }
-                if(isset($_FILES['user_icon']['name']) &&
+                if (isset($_FILES['user_icon']['name']) &&
                     $_FILES['user_icon']['name'] !="") {
                     if (!in_array($_FILES['user_icon']['type'],
                         ['image/png', 'image/gif', 'image/jpeg'])) {
@@ -339,7 +339,7 @@ class AccountaccessComponent extends Component
                     }
                 }
                 $user_model->updateUser($user);
-                if($is_bot_updated) {
+                if ($is_bot_updated) {
                     $user_model->updateBot($user);
                 }
                 $data['USER']['USER_ICON'] = $user_model->getUserIconUrl(
@@ -351,9 +351,12 @@ class AccountaccessComponent extends Component
           }
         return $data;
     }
-
     /**
+     * Creates an array of recovery questions and possible answers for a user
+     * to select their answers to. This list is chosen from a larger list
+     * of questions translated from strings appearing in @see RegisterView
      *
+     * @return array questions and answers
      */
     public function makeRecoveryQuestions()
     {
@@ -752,7 +755,7 @@ class AccountaccessComponent extends Component
                 case "search":
                     $data["FORM_TYPE"] = "search";
                     $search_array =
-                        $parent->tableSearchRequestHandler($data,
+                        $parent->tableSearchRequestHandler($data,
                         "manageUsers",
                         ['user', 'first', 'last', 'email', 'status'],
                         ['status'], "_name");
@@ -1160,4 +1163,4 @@ class AccountaccessComponent extends Component
             C\DEFAULT_ADMIN_PAGING_NUM, $search_array, "");
         return $data;
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/components/AdvertisementComponent.php b/src/controllers/components/AdvertisementComponent.php
index 1ce81b14b..1ce312347 100644
--- a/src/controllers/components/AdvertisementComponent.php
+++ b/src/controllers/components/AdvertisementComponent.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Pushkar Umaranikar
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers\components;
@@ -110,7 +110,7 @@ class AdvertisementComponent extends Component
                     tl('advertisement_component_script_failure');
             }
         }
-        switch($arg)
+        switch ($arg)
         {
             case "purchaseCredits":
                 $message = "";
@@ -202,7 +202,7 @@ class AdvertisementComponent extends Component
                 $data[$field] = $parent->clean($_REQUEST[$field], $type);
             }
         }
-        if(isset($_REQUEST['EDIT_AD'])) {
+        if (isset($_REQUEST['EDIT_AD'])) {
             unset($_REQUEST['CALCULATE']);
             unset($_REQUEST['arg']);
         }
@@ -244,7 +244,7 @@ class AdvertisementComponent extends Component
         $arg = (isset($_REQUEST['arg'])) ? $parent->clean($_REQUEST['arg'],
             "string") : "";
         $data['BALANCE'] = $credit_model->getCreditBalance($user_id);
-        switch($arg)
+        switch ($arg)
         {
             case "addadvertisement":
                 if ( isset($_REQUEST['PURCHASE'])) {
@@ -344,7 +344,7 @@ class AdvertisementComponent extends Component
                             $data[$field] = isset($data[$field])  ?
                                 $data[$field] : $ad[$field];
                         }
-                        if($is_admin) {
+                        if ($is_admin) {
                             $data['AD_USER_NAME'] = $user_model->getUsername(
                                 $ad['USER_ID']);
                         }
@@ -408,7 +408,7 @@ class AdvertisementComponent extends Component
                 $search_array[] = ["id", "", "", "DESC"];
             }
         }
-        if(!C\MOBILE) {
+        if (!C\MOBILE) {
             $data['SCRIPT'] .= "\npreview(elt('ad-name'))\n" .
                 "preview(elt('ad-description'))\n".
                 "preview(elt('ad-destination'), 'ad-name')\n";
@@ -476,4 +476,4 @@ class AdvertisementComponent extends Component
     {
         $value = trim($value);
     }
-}
+}
\ No newline at end of file
diff --git a/src/controllers/components/Component.php b/src/controllers/components/Component.php
index 67c736b84..2c9913d42 100644
--- a/src/controllers/components/Component.php
+++ b/src/controllers/components/Component.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers\components;
diff --git a/src/controllers/components/CrawlComponent.php b/src/controllers/components/CrawlComponent.php
index c481f5dee..77d0f7a6c 100644
--- a/src/controllers/components/CrawlComponent.php
+++ b/src/controllers/components/CrawlComponent.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers\components;
@@ -1188,7 +1188,6 @@ class CrawlComponent extends Component implements CrawlConstants
         if ($change == true) {
             $profile_model->updateProfile(C\WORK_DIRECTORY, [], $profile);
         }
-
         $data['INDEXED_FILE_TYPES'] = [];
         $filetypes = [];
         foreach (PageProcessor::$indexed_file_types as $filetype) {
diff --git a/src/controllers/components/SocialComponent.php b/src/controllers/components/SocialComponent.php
index 59e7c3000..6fd461b49 100644
--- a/src/controllers/components/SocialComponent.php
+++ b/src/controllers/components/SocialComponent.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers\components;
@@ -722,7 +722,7 @@ class SocialComponent extends Component implements CrawlConstants
                         return $parent->redirectWithMessage(
                             tl('social_component_unsubscribe'),
                             ['arg','start_row', 'end_row', 'num_show']);
-                    }
+                    }
                     return $parent->redirectWithMessage(
                         tl('social_component_no_unsubscribe'),
                         ['arg', 'start_row', 'end_row', 'num_show']);
@@ -1253,7 +1253,7 @@ class SocialComponent extends Component implements CrawlConstants
                         if (empty($follower['USER_ID'])) {
                             continue;
                         }
-                        if(!$user_model->isBotUser($follower['USER_ID'])) {
+                        if (!$user_model->isBotUser($follower['USER_ID'])) {
                             $message = tl('social_component_notify_salutation',
                                 $follower['USER_NAME']) . "\n\n";
                             $message .= $body;
@@ -1523,6 +1523,7 @@ class SocialComponent extends Component implements CrawlConstants
                 $data);
         }
         $groups_count = 0;
+        $pages = [];
         $page = [];
         if (!$just_user_id && (!$just_thread || $just_thread < 0)) {
             $search_array = [
@@ -1533,7 +1534,7 @@ class SocialComponent extends Component implements CrawlConstants
             $groups = $group_model->getRows(
                 0, $limit + $results_per_page, $groups_count,
                 $search_array, [$user_id, false]);
-            $pages = [];
+            // create feed items for first join dates to given groups
             foreach ($groups as $group) {
                 $page = [];
                 $page['USER_ICON'] = C\BASE_URL . "resources/anonymous.png";
@@ -1598,7 +1599,7 @@ class SocialComponent extends Component implements CrawlConstants
         $for_group = ($just_group_id) ? $just_group_id : (($just_thread) ?
             -2 : -1);
         list($item_count, $pages) = $this->initializeFeedItems($data, $pages,
-            $user_id, $just_group_id, $search_array, $for_group, $sort, $limit,
+            $user_id, $search_array, $for_group, $sort, $limit,
             $results_per_page);
         $data['SUBTITLE'] = "";
         $type = "";
@@ -1671,17 +1672,27 @@ class SocialComponent extends Component implements CrawlConstants
         return $data;
     }
     /**
-     * @param array &$data
-     * @param array $pages
-     * @param int $user_id
-     * @param int $group_id
-     * @param array $search_array
+     * Used to compute set up a list of feed items to be displayed by the
+     * groupFeeds activity
+     *
+     * @param array &$data associative array of values to be echoed by the view
+     *      this method might add to INCLUDE_SCRIPT formatting scripts such as
+     *      for math which might be used to help draw feed items
+     * @param array $pages contains feed items corresponding to first join
+     *      dates to various groups. Other feed items will be added to this
+     *      array
+     * @param int $user_id id of user requesting thread info
+     * @param array $search_array associative array used to determine where
+     *      clause of what threads, groups, or user posts to get feed items for
      * @param int $for_group
-     * @param string $sort
-     * @param int $limit
-     * @param int $results_per_page
+     * @param string $sort either ksort or krsort to specify final sort
+     *      direction of feed items
+     * @param int $limit index of first feed item out of all applicable items
+     *      to display
+     * @param int $results_per_page number of feed items to display feed data
+     *      for
      */
-    private function initializeFeedItems(&$data, $pages, $user_id, $group_id,
+    private function initializeFeedItems(&$data, $pages, $user_id,
         $search_array, $for_group, $sort, $limit, $results_per_page)
     {
         $parent = $this->parent;
@@ -1709,11 +1720,11 @@ class SocialComponent extends Component implements CrawlConstants
                 if (empty($page['TMP_NUM_VIEWS']) ||
                     ($page['NUM_VIEWS'] != $page['TMP_NUM_VIEWS'])) {
                     // fuzzify the number of views to add privacy
-                    $fuzzy_view =
+                    $fuzzy_views =
                         $parent->addDifferentialPrivacy($page['NUM_VIEWS']);
                     $group_model->updatePrivacyViews($page['ID'],
-                        $page['NUM_VIEWS'], $fuzzy_view);
-                    $page['NUM_VIEWS'] = $fuzzy_view;
+                        $page['NUM_VIEWS'], $fuzzy_views);
+                    $page['NUM_VIEWS'] = $fuzzy_views;
                 } else {
                     $page['NUM_VIEWS'] = $page['FUZZY_NUM_VIEWS'];
                 }
@@ -1775,9 +1786,12 @@ class SocialComponent extends Component implements CrawlConstants
         return [$item_count, $pages];
     }
     /**
+     * Used to add to $data information about the most recently view threads
+     * and groups of the current user. This will be used to populate the
+     * navigation dropdown in WikiView or WikiElement
      *
-     * @param array &$data
-     * @param int $user_id
+     * @param array &$data associative array of values to be echoed by the view
+     * @param int $user_id id of user requesting thread info
      */
     public function calculateRecentFeedsAndThread(&$data, $user_id)
     {
@@ -2406,7 +2420,7 @@ class SocialComponent extends Component implements CrawlConstants
                 if (empty($templates["t".$data["PAGE_ID"]])) {
                     $data['page_types'] = array_merge($data['page_types'],
                         $templates);
-                    if(empty($_REQUEST['n']) &&
+                    if (empty($_REQUEST['n']) &&
                         !empty($templates[$data['current_page_type']])) {
                         $template_name = $templates[$data['current_page_type']];
                         $template_info = $group_model->
@@ -2455,10 +2469,12 @@ class SocialComponent extends Component implements CrawlConstants
         return $data;
     }
     /**
-     * @param array &$data
-     * @param int $user_id
-     * @param int $group_id
-     * @param string $sub_path
+     * Sets up view variables for wiki pages when in read mode
+     *
+     * @param array &$data associative array of values to be echoed by the view
+     * @param int $user_id id of user requesting a wiki page
+     * @param int $group_id group in which wiki page belongs
+     * @param string $sub_path any path within wiki page folder for resources
      */
     private function initializeReadMode(&$data, $user_id, $group_id, $sub_path)
     {
@@ -2498,11 +2514,11 @@ class SocialComponent extends Component implements CrawlConstants
             return;
         }
         //handles template page types for read case
-        if($data["HEAD"]['page_type'][0] == 't' &&
+        if ($data["HEAD"]['page_type'][0] == 't' &&
             is_numeric(substr($data["HEAD"]['page_type'], 1))) {
             $templates = $group_model->getTemplateMap($group_id,
                 $data['CURRENT_LOCALE_TAG']);
-            if(empty($_REQUEST['n']) &&
+            if (empty($_REQUEST['n']) &&
                 !empty($templates[$data["HEAD"]['page_type']])) {
                 $template_name = $templates[$data["HEAD"]['page_type']];
                 $template_info = $group_model->
@@ -2545,7 +2561,7 @@ class SocialComponent extends Component implements CrawlConstants
                 $parent->clean($_REQUEST['num'], 'int') :
                 C\NUM_RESULTS_PER_PAGE;
             list($item_count, $pages) = $this->initializeFeedItems($data, [],
-                $user_id, $group_id, $search_array, -2, "krsort",
+                $user_id, $search_array, -2, "krsort",
                 $limit, $results_per_page);
             if ($limit + count($pages) == $item_count) {
                 $begin_page = array_pop($pages);
@@ -3176,9 +3192,12 @@ class SocialComponent extends Component implements CrawlConstants
         $data["PAGE_ID"] = $page_id;
     }
     /**
+     * Adds Javascript used to display epub files to $data view variables fo
+     * display when in media gallery mode
      *
-     * @param string $file_name
-     * @param array $data
+     * @param string $file_name name of epub file
+     * @param array &$data associative array of fields to be rendered in the
+     * view
      */
     private function addEpubMediaScripts($file_name, &$data)
     {
@@ -3266,9 +3285,12 @@ class SocialComponent extends Component implements CrawlConstants
 EOD;
     }
     /**
+     * Adds Javascript used to display PDF files to $data view variables fo
+     * display when in media gallery mode
      *
-     * @param string $file_name
-     * @param array $data
+     * @param string $file_name name of epub file
+     * @param array &$data associative array of fields to be rendered in the
+     * view
      */
     private function addPdfMediaScripts($file_name, &$data)
     {
diff --git a/src/controllers/components/SystemComponent.php b/src/controllers/components/SystemComponent.php
index c457ff535..8b38599de 100755
--- a/src/controllers/components/SystemComponent.php
+++ b/src/controllers/components/SystemComponent.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\controllers\components;
@@ -189,7 +189,7 @@ class SystemComponent extends Component
                     break;
                 case "updatemode":
                     $profile =  $profile_model->getProfile(C\WORK_DIRECTORY);
-                    if(isset($profile['MEDIA_MODE']) &&
+                    if (isset($profile['MEDIA_MODE']) &&
                         $profile['MEDIA_MODE'] == "name_server") {
                         $profile['MEDIA_MODE'] = "distributed";
                     } else {
@@ -232,7 +232,7 @@ class SystemComponent extends Component
                         $data["LOG_FILE_DATA"] = $machine_model->getLog(
                             $r["name"], $r["id"], $r["type"], $filter);
                         $data["LOG_TYPE"] = $r['name'] . " " . $r["type"];
-                        if($r["type"] == "fetcher") {
+                        if ($r["type"] == "fetcher") {
                             $data["LOG_TYPE"] .= " ".$r['id'];
                         }
                         $data["REFRESH_LOG"] .= "&arg=log&name=".$r['name'].
@@ -564,13 +564,13 @@ class SystemComponent extends Component
                     if (isset($data['ADVERTISEMENT_TYPE']) &&
                         in_array($data['ADVERTISEMENT_TYPE'],
                         ['no_advertisements', 'external_advertisements'])) {
-                        if($business_id) {
+                        if ($business_id) {
                             $role_model->deleteActivityRole($business_id,
                                 $ad_id);
                         }
                         $role_model->deleteActivityRole(C\ADMIN_ROLE, $ad_id);
                     } else {
-                        if($business_id) {
+                        if ($business_id) {
                             $role_model->addActivityRole($business_id, $ad_id);
                         }
                         $role_model->addActivityRole(C\ADMIN_ROLE, $ad_id);
@@ -1024,7 +1024,7 @@ EOD;
             (is_dir(C\WORK_DIRECTORY) || is_dir(C\WORK_DIRECTORY."../"))) {
             $data['WORK_DIRECTORY'] = C\WORK_DIRECTORY;
             $data['PROFILE'] = true;
-            if(C\WORK_DIRECTORY == C\DEFAULT_WORK_DIRECTORY &&
+            if (C\WORK_DIRECTORY == C\DEFAULT_WORK_DIRECTORY &&
                 is_writable(C\WORK_DIRECTORY) &&
                 !file_exists(C\WORK_DIRECTORY. C\PROFILE_FILE_NAME) ) {
                 $_REQUEST['arg'] = 'directory';
@@ -1233,7 +1233,7 @@ EOD;

         if ($missing_required != "") {
             $out .= $br.
-                tl('system_component_missing_required'). "<br />".
+                tl('system_component_missing_required'). "<br />".
                 $missing_required;
             $br = "<br />";
         }
@@ -1272,4 +1272,4 @@ EOD;
         }
         return $out;
      }
-}
+}
\ No newline at end of file
diff --git a/src/css/editor.css b/src/css/editor.css
index bc1d0e2de..49f4fc847 100755
--- a/src/css/editor.css
+++ b/src/css/editor.css
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Eswara Rajesh Pinapala
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/css/search.css b/src/css/search.css
index d17dd458d..439a9374f 100755
--- a/src/css/search.css
+++ b/src/css/search.css
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/error.php b/src/error.php
index c15864827..944ec2d14 100755
--- a/src/error.php
+++ b/src/error.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
diff --git a/src/examples/QueryCacher.php b/src/examples/QueryCacher.php
index 067d69397..a5f5f91ec 100644
--- a/src/examples/QueryCacher.php
+++ b/src/examples/QueryCacher.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\examples;
@@ -75,11 +75,11 @@ curl_setopt($agent, CURLOPT_CONNECTTIMEOUT,
 curl_setopt($agent, CURLOPT_HTTPHEADER, ['Expect:']);

 $i = 1;
-foreach($queries as $query) {
+foreach ($queries as $query) {
     echo $i . " ". $query;
     curl_setopt($agent, CURLOPT_URL, YIOOP_URL . "?q=". urlencode($query));
     $response = curl_exec($agent);
     $i++;
     sleep(TIME_BETWEEN_REQUEST_IN_SECONDS);
 }
-curl_close($agent);
+curl_close($agent);
\ No newline at end of file
diff --git a/src/examples/SearchApi.php b/src/examples/SearchApi.php
index bef4adfad..c8b1ba860 100644
--- a/src/examples/SearchApi.php
+++ b/src/examples/SearchApi.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\examples;
diff --git a/src/examples/bot_examples/weather/WeatherBot.php b/src/examples/bot_examples/weather/WeatherBot.php
index aab0aae62..4b0886478 100644
--- a/src/examples/bot_examples/weather/WeatherBot.php
+++ b/src/examples/bot_examples/weather/WeatherBot.php
@@ -3,7 +3,7 @@
  *  SeekQuarry/Yioop --
  *  Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- *  Copyright (C) 2009 - 2014  Chris Pollett chris@pollett.org
+ *  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  *  LICENSE:
  *
@@ -18,7 +18,7 @@
  *  GNU General Public License for more details.
  *
  *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see .
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  *  END LICENSE
  *
@@ -27,9 +27,11 @@
  * @subpackage examples
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
+namespace seekquarry\yioop\examples\weatherbot;
+
 /**
  * Bot work instruction:
  * The current folder has to be moved to root path
@@ -60,8 +62,8 @@ class WeatherBot
     {
         $WEATHER_URL = "http://query.yahooapis.com/v1/public/yql";
         $yql_query = "select * from weather.forecast where woeid in
-                      (select woeid from geo.places(1) where text='".$location
-                      ."')";
+            (select woeid from geo.places(1) where text='".$location
+            ."')";
         $url = $WEATHER_URL . "?q=" . urlencode($yql_query) . "&format=json";
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_URL, $url);
@@ -79,10 +81,10 @@ $bot = new WeatherBot();
 $bot->setKey($access_token);
 $location = "";
 $result = "";
-if(!empty($_REQUEST['post'])){
+if (!empty($_REQUEST['post'])){
     $location = explode(" ", $_REQUEST['post']);
 }
-if(!empty($location[4])) {
+if (!empty($location[4])) {
     $result = $bot->getWeather($location[4]);
 }
 echo $result;
diff --git a/src/executables/ArcTool.php b/src/executables/ArcTool.php
index aa18900da..9ad57747b 100755
--- a/src/executables/ArcTool.php
+++ b/src/executables/ArcTool.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
@@ -140,13 +140,13 @@ class ArcTool implements CrawlConstants
                 $this->rebuildIndexArchive($path);
                 break;
             case "count":
-                if(!isset($argv[3])) {
+                if (!isset($argv[3])) {
                     $argv[3] = false;
                 }
                 $this->outputCountIndexArchive($path, $argv[3]);
                 break;
             case "reindex":
-                if(!isset($argv[3])) {
+                if (!isset($argv[3])) {
                     $argv[3] = 0;
                 }
                 $this->reindexIndexArchive($path, -1, $argv[3]);
@@ -188,7 +188,7 @@ class ArcTool implements CrawlConstants
                 $name = $this->getArchiveName($archive_path);
                 echo $name . " ";
                 $archive_type = $this->getArchiveKind($archive_path);
-                if($archive_type == "IndexArchiveBundle") {
+                if ($archive_type == "IndexArchiveBundle") {
                     $info = IndexArchiveBundle::getArchiveInfo($archive_path);
                     $info = unserialize($info["DESCRIPTION"]);
                     echo $info["DESCRIPTION"];
@@ -1114,4 +1114,4 @@ EOD;
 }

 $arc_tool =  new ArcTool();
-$arc_tool->start();
+$arc_tool->start();
\ No newline at end of file
diff --git a/src/executables/ClassifierTool.php b/src/executables/ClassifierTool.php
index e3f3339d2..ec049a07a 100755
--- a/src/executables/ClassifierTool.php
+++ b/src/executables/ClassifierTool.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
diff --git a/src/executables/ClassifierTrainer.php b/src/executables/ClassifierTrainer.php
index 986b4e568..0d3142250 100755
--- a/src/executables/ClassifierTrainer.php
+++ b/src/executables/ClassifierTrainer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
diff --git a/src/executables/CodeTool.php b/src/executables/CodeTool.php
index 922a7ca73..c68ac4229 100755
--- a/src/executables/CodeTool.php
+++ b/src/executables/CodeTool.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -29,7 +29,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
diff --git a/src/executables/Fetcher.php b/src/executables/Fetcher.php
index 2fedc39e3..1d67444ea 100755
--- a/src/executables/Fetcher.php
+++ b/src/executables/Fetcher.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
@@ -578,7 +578,7 @@ class Fetcher implements CrawlConstants
                     $info[self::STATUS] = self::NO_DATA_STATE;
                     $this->to_crawl = [];
                 } else {
-                   L\crawlLog("Crawl time is now " . $this->crawl_time);
+                   L\crawlLog("Crawl time is now " . $this->crawl_time);
                 }
             } else if ($this->crawl_type == self::ARCHIVE_CRAWL &&
                     $this->arc_type != "WebArchiveBundle" &&
@@ -2000,7 +2000,7 @@ class Fetcher implements CrawlConstants
         for ($i = 0; $i < $count; $i++) {
             L\crawlTimeoutLog("..still culling to crawl urls. Examining ".
                 "location %s in queue of %s.", $i, $count);
-            if(empty($this->to_crawl[$i][0])) {
+            if (empty($this->to_crawl[$i][0])) {
                 unset($this->to_crawl[$i]);
                 $k++;
             } else {
@@ -2804,7 +2804,7 @@ class Fetcher implements CrawlConstants
                 ]->addDocumentWords($doc_keys, self::NEEDS_OFFSET_FLAG,
                 $word_lists, $meta_ids, PhraseParser::$materialized_metas,
                 true, $doc_rank);
-            if(isset($word_and_qa_lists['QUESTION_ANSWER_LIST'])) {
+            if (isset($word_and_qa_lists['QUESTION_ANSWER_LIST'])) {
                 $site[self::QUESTION_ANSWERS] =
                     $word_and_qa_lists['QUESTION_ANSWER_LIST'];
                 $this->found_sites[self::SEEN_URLS][$i] = $site;
@@ -2898,4 +2898,4 @@ class Fetcher implements CrawlConstants
  * Instantiate and runs the Fetcher
  */
 $fetcher =  new Fetcher();
-$fetcher->start();
+$fetcher->start();
\ No newline at end of file
diff --git a/src/executables/MediaUpdater.php b/src/executables/MediaUpdater.php
index 9a5fdc932..d76f118ec 100644
--- a/src/executables/MediaUpdater.php
+++ b/src/executables/MediaUpdater.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
diff --git a/src/executables/Mirror.php b/src/executables/Mirror.php
index 9a3b3512b..c8ae31554 100644
--- a/src/executables/Mirror.php
+++ b/src/executables/Mirror.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
diff --git a/src/executables/QueryTool.php b/src/executables/QueryTool.php
index abceb6248..74dd54aea 100755
--- a/src/executables/QueryTool.php
+++ b/src/executables/QueryTool.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
diff --git a/src/executables/QueueServer.php b/src/executables/QueueServer.php
index 85b0c66d3..296a0a6cb 100755
--- a/src/executables/QueueServer.php
+++ b/src/executables/QueueServer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\executables;
@@ -390,11 +390,11 @@ class QueueServer implements CrawlConstants, Join
                 $diff_hours;
             L\crawlLog("{$this->server_name} percent idle time per hour: " .
                 number_format($idle_per_hour * 100, 2) ."%");
-            if($record_time > $last_record_time + C\ONE_HOUR) {
+            if ($record_time > $last_record_time + C\ONE_HOUR) {
                 $total_idle_two_hours = $total_idle_previous_hour;
                 $total_idle_previous_hour = $total_idle_time;
                 $oldest_record_time = $last_record_time;
-                if($oldest_record_time == 0) {
+                if ($oldest_record_time == 0) {
                     $oldest_record_time = $record_time;
                 }
                 $last_record_time = $record_time;
@@ -444,9 +444,9 @@ class QueueServer implements CrawlConstants, Join
             is both an indexex and a scheduler as then the fact
             that we're here means both processes running
          */
-        if($this->isOnlyScheduler()) {
+        if ($this->isOnlyScheduler()) {
             $this->checkProcessRunning(self::INDEXER, $info);
-        } else if($this->isOnlyIndexer()) {
+        } else if ($this->isOnlyIndexer()) {
             $this->checkProcessRunning(self::SCHEDULER, $info);
         }
     }
@@ -462,11 +462,11 @@ class QueueServer implements CrawlConstants, Join
         static $first_check;
         static $last_check;
         $time = time();
-        if(!isset($first_check)) {
+        if (!isset($first_check)) {
             $first_check = $time;
             $last_check = $time;
         }
-        if($time - $last_check < C\LOG_TIMEOUT ||
+        if ($time - $last_check < C\LOG_TIMEOUT ||
             $time - $first_check < C\PROCESS_TIMEOUT ) { return; }
         L\crawlLog("Checking if both processes still running ...");
         $lines_to_check = C\LOG_LINES_TO_RESTART;
@@ -474,7 +474,7 @@ class QueueServer implements CrawlConstants, Join
         $lines = L\tail(C\LOG_DIR."/" . $this->process_name . ".log",
             $lines_to_check);
         L\crawlLog("...Got " . $this->process_name . ".log lines");
-        if(count($lines) < $lines_to_check) {
+        if (count($lines) < $lines_to_check) {
             L\crawlLog("...Too few log lines to check if both processes " .
                 "running.  Assume still running.");
             return;
@@ -487,13 +487,13 @@ class QueueServer implements CrawlConstants, Join
         $last_process_timestamp = $time;
         // err on the side of caution in assuming process dead
         if (isset($process_lines[$num_lines - 1])) {
-            $timestamp =
+            $timestamp =
                 L\logLineTimestamp($process_lines[$num_lines - 1]);
-            if($timestamp > 1408934838) { //rules out false for timestamp
+            if ($timestamp > 1408934838) { //rules out false for timestamp
                 $last_process_timestamp = $timestamp;
             }
         }
-        if($time - $last_process_timestamp < C\PROCESS_TIMEOUT ) {
+        if ($time - $last_process_timestamp < C\PROCESS_TIMEOUT ) {
             L\crawlLog("...done check. Both processes still running.");
             return;
         }
@@ -501,7 +501,7 @@ class QueueServer implements CrawlConstants, Join
         $process_lines = array_slice($process_lines, -10);
         $time_string = date("r", time());
         $out_msg = "[$time_string] $process died. Last log lines were:\n";
-        foreach($process_lines as $line) {
+        foreach ($process_lines as $line) {
             $out_msg .= "!!!!$line\n";
         }
         $error_log = C\CRASH_LOG_NAME;
@@ -513,7 +513,7 @@ class QueueServer implements CrawlConstants, Join
         }
         $init_args = [$this->process_name . ".php", "start", "none", $process];
         CrawlDaemon::init( $init_args, $this->process_name, -3);
-        if($info[self::STATUS] != self::WAITING_START_MESSAGE_STATE) {
+        if ($info[self::STATUS] != self::WAITING_START_MESSAGE_STATE) {
             L\crawlLog("Sleeping before trying to restart other process crawl");
             sleep(2 * C\QUEUE_SLEEP_TIME);
             $crawl_params = [];
@@ -663,7 +663,6 @@ class QueueServer implements CrawlConstants, Join
             $this->crawl_time.".txt", "wb");
         fwrite($fh, $first_line);
         fclose($fh);
-
         $schedule_dir =
             C\CRAWL_DIR."/schedules/".
                 self::schedule_data_base_name.$this->crawl_time;
@@ -680,7 +679,6 @@ class QueueServer implements CrawlConstants, Join
         $robot_dir =
             C\CRAWL_DIR."/schedules/".
                 self::robot_data_base_name . $this->crawl_time;
-
         $this->processDataFile($robot_dir, "processRecrawlRobotArchive");
         L\crawlLog("done. ");
     }
@@ -745,7 +743,7 @@ class QueueServer implements CrawlConstants, Join
             "Messages.txt";
         if (file_exists($message_file)) {
             $info = unserialize(file_get_contents($message_file));
-            if (!isset($info[$this->server_type])) {
+            if (empty($info[$this->server_type])) {
                 $info[$this->server_type] = true;
                 if ($this->server_type == self::BOTH ||
                   (isset($info[self::INDEXER]) && isset($info[self::SCHEDULER]))
@@ -786,7 +784,6 @@ class QueueServer implements CrawlConstants, Join
                         L\crawlLog("Scheduler started for new crawl");
                     }
                 break;
-
                 case "STOP_CRAWL":
                     if (!$is_scheduler) {
                         L\crawlLog(
@@ -806,7 +803,6 @@ class QueueServer implements CrawlConstants, Join
                         L\crawlLog("Scheduler has been successfully stopped!!");
                     }
                 break;
-
                 case "RESUME_CRAWL":
                     if (isset($info[self::CRAWL_TIME]) &&
                         (file_exists(C\CRAWL_DIR.'/cache/'.
@@ -1127,7 +1123,7 @@ class QueueServer implements CrawlConstants, Join
         /* We now do further processing or disallowed sites to see if any
            of them are really quota sites
          */
-        if ($update_disallow == true) {
+        if ($update_disallow == true) {
             $this->updateDisallowedQuotaSites();
         }
         $this->initializeWebQueue();
@@ -2024,7 +2020,7 @@ class QueueServer implements CrawlConstants, Join
     }
     /**
      * Used to split a large schedule of to crawl sites into small
-     * ones (which are written to disk) which can be handled by
+     * ones (which are written to disk) which can be handled by
      * processDataArchive
      *
      * It is possible that a large schedule file is created if someone
@@ -2170,7 +2166,6 @@ class QueueServer implements CrawlConstants, Join
         $sites[self::MAX_DESCRIPTION_LEN] = $this->max_description_len;
         $sites[self::POST_MAX_SIZE] = L\metricToInt(ini_get("post_max_size"));
         $sites[self::SITES] = [];
-
         return base64_encode(serialize($sites))."\n";
     }
     /**
@@ -2650,4 +2645,4 @@ if (!C\nsdefined("UNIT_TEST_MODE")) {
      */
     $queue_server =  new QueueServer();
     $queue_server->start();
-}
+}
\ No newline at end of file
diff --git a/src/index.php b/src/index.php
index 52488771b..0d0ec04f3 100644
--- a/src/index.php
+++ b/src/index.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -30,7 +30,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
@@ -54,7 +54,7 @@ function bootstrap()
      * Did we come to this index.php from ../index.php? If so, rewriting
      * must be on
      */
-    if(!C\nsdefined("REDIRECTS_ON")) {
+    if (!C\nsdefined("REDIRECTS_ON")) {
         C\nsdefine("REDIRECTS_ON", false);
     }
     /**
@@ -96,7 +96,7 @@ function bootstrap()
     $available_controllers = ["admin", "api", "archive",  "cache",
         "classifier", "crawl", "fetch", "group", "jobs", "machine", "resource",
         "search", "settings", "static"];
-    if(function_exists(C\NS_CONFIGS . "localControllers")) {
+    if (function_exists(C\NS_CONFIGS . "localControllers")) {
         $available_controllers = array_merge($available_controllers,
             C\localControllers());
     }
@@ -182,7 +182,7 @@ function configureRewrites()
         'user' => 'routeFeeds',
         'p' => 'routeWiki'
     ];
-    if(class_exists(C\NS. "Routes")) {
+    if (class_exists(C\NS. "Routes")) {
         $route_map = array_merge($route_map, Routes::getRoutes());
     }
     /**
@@ -197,7 +197,7 @@ function configureRewrites()
         $_SERVER["PATH_INFO"] = ($scriptinfo["dirname"] == "/") ? "" :
             $scriptinfo["dirname"] ;
         require_once(C\BASE_DIR."/error.php");
-        if(C\REDIRECTS_ON) {
+        if (C\REDIRECTS_ON) {
             return;
         }
         exit();
@@ -205,7 +205,7 @@ function configureRewrites()
     if (!isset($_SERVER["PATH_INFO"])) {
         $_SERVER["PATH_INFO"] = ".";
     }
-    if(!C\REDIRECTS_ON) {
+    if (!C\REDIRECTS_ON) {
         return;
     }
     /**
@@ -213,7 +213,7 @@ function configureRewrites()
      */
     $index_php = "index.php";
     $script_path = substr($_SERVER['PHP_SELF'], 0, -strlen($index_php));
-    if($_SERVER['QUERY_STRING'] == "") {
+    if ($_SERVER['QUERY_STRING'] == "") {
         $request_script = rtrim(
             substr($_SERVER['REQUEST_URI'], strlen($script_path)), "?");
     } else {
@@ -221,13 +221,13 @@ function configureRewrites()
             -strlen($_SERVER['QUERY_STRING']) -  1);
     }
     $request_script = ($request_script == "") ? $index_php : $request_script;
-    if(in_array($request_script, ['', $index_php])) {
+    if (in_array($request_script, ['', $index_php])) {
         return;
     }
     $request_parts = explode("/", $request_script);
     $handled = false;
     if (isset($route_map[$request_parts[0]])) {
-        if(empty($_REQUEST['c']) || $_REQUEST['c'] == $request_parts[0]) {
+        if (empty($_REQUEST['c']) || $_REQUEST['c'] == $request_parts[0]) {
             $route = C\NS . $route_map[$request_parts[0]];
             $handled = $route($request_parts);
         } else if (!empty($_REQUEST['c'])) {
@@ -264,7 +264,7 @@ function routeDirect($route_args)
  */
 function directUrl($name, $with_delim = false)
 {
-    if(C\REDIRECTS_ON) {
+    if (C\REDIRECTS_ON) {
         $delim = ($with_delim) ? "?" : "";
         return C\BASE_URL . $name . $delim;
     } else {
@@ -300,7 +300,7 @@ function routeFeeds($route_args)
         $_REQUEST['route']['c'] = true;
         $_REQUEST['route']['a'] = true;
         $end = ($route_args[0] == 'thread') ? "" : "_id";
-        if($_REQUEST['a'] == 'wiki') {
+        if ($_REQUEST['a'] == 'wiki') {
             $_REQUEST['group_id'] = $route_args[1];
             $_REQUEST['route']['group_id'] = true;
         } else {
@@ -335,7 +335,7 @@ function routeFeeds($route_args)
  */
 function feedsUrl($type, $id, $with_delim = false, $controller = "group")
 {
-    if(C\REDIRECTS_ON && $controller == 'group') {
+    if (C\REDIRECTS_ON && $controller == 'group') {
         $delim = ($with_delim) ? "?" : "";
         $path = ($type == "") ? "group" : "$type/$id";
         return C\BASE_URL ."$path$delim";
@@ -381,7 +381,7 @@ function routeMore($route_args)
  */
 function moreUrl($with_delim = false)
 {
-    if(C\REDIRECTS_ON) {
+    if (C\REDIRECTS_ON) {
         $delim = ($with_delim) ? "?" : "";
         return C\BASE_URL ."more$delim";
     } else {
@@ -402,7 +402,7 @@ function routeController($route_args)
     $_REQUEST['c'] = $route_args[0];
     $_REQUEST['route']['c'] = true;
     if (isset($route_args[1]) && intval($route_args[1]) == $route_args[1]) {
-        if(isset($_REQUEST['a']) && $_REQUEST['a'] == 'wiki') {
+        if (isset($_REQUEST['a']) && $_REQUEST['a'] == 'wiki') {
             $_REQUEST['group_id'] = $route_args[1];
         } else if (!empty($route_args[2])) {
             $_REQUEST['a'] = 'wiki';
@@ -426,7 +426,7 @@ function routeController($route_args)
 }
 /**
  * Given the name of a controller for which an easy end-user link is useful
- * creates the url where it can be accessed on this instance of Yioop,
+ * creates the url where it can be accessed on this instance of Yioop,
  * making use of the defined variable REDIRECTS_ON. Examples of end-user
  * controllers would be the settings, admin, and register controllers.
  *
@@ -437,7 +437,7 @@ function routeController($route_args)
  */
 function controllerUrl($name, $with_delim = false)
 {
-    if(C\REDIRECTS_ON) {
+    if (C\REDIRECTS_ON) {
         $delim = ($with_delim) ? "?" : "";
         $_REQUEST['route']['c'] = true;
         return C\BASE_URL . $name . $delim;
@@ -457,7 +457,7 @@ function controllerUrl($name, $with_delim = false)
 function routeSubsearch($route_args)
 {
     $handled = true;
-    if(isset($route_args[1])) {
+    if (isset($route_args[1])) {
         $_REQUEST['route']['c'] = true;
         $_REQUEST['route']['s'] = true;
         $_REQUEST['c'] = "search";
@@ -468,7 +468,7 @@ function routeSubsearch($route_args)
     return $handled;
 }
 /**
- * Given the name of a subsearch  creates the url where it can be accessed
+ * Given the name of a subsearch  creates the url where it can be accessed
  * on this instance of Yioop, making use of the defined variable REDIRECTS_ON.
  * Examples of subsearches include news, video, and images. A site owner
  * can add to these and delete from these.
@@ -480,7 +480,7 @@ function routeSubsearch($route_args)
  */
 function subsearchUrl($name, $with_delim = false)
 {
-    if(C\REDIRECTS_ON) {
+    if (C\REDIRECTS_ON) {
         $delim = ($with_delim) ? "?" : "";
         return C\BASE_URL ."s/$name$delim";
     } else {
@@ -511,7 +511,7 @@ function routeSuggest($route_args)
  */
 function suggestUrl($with_delim = false)
 {
-    if(C\REDIRECTS_ON) {
+    if (C\REDIRECTS_ON) {
         $_REQUEST['route']['c'] = true;
         $_REQUEST['route']['a'] = true;
         $delim = ($with_delim) ? "?" : "";
@@ -537,8 +537,8 @@ function suggestUrl($with_delim = false)
 function routeWiki($route_args)
 {
     $handled = true;
-    if(isset($route_args[1])) {
-        if($route_args[1] == 'pages') {
+    if (isset($route_args[1])) {
+        if ($route_args[1] == 'pages') {
             $_REQUEST['c'] = "group";
             $_REQUEST['a'] = 'wiki';
             $_REQUEST['arg'] = 'pages';
@@ -578,8 +578,8 @@ function wikiUrl($name, $with_delim = false, $controller = "static", $id =
     $is_static = ($controller == "static");
     if (C\REDIRECTS_ON) {
         $q = ($with_delim) ? "?" : "";
-        if($is_static) {
-            if($name == "") {
+        if ($is_static) {
+            if ($name == "") {
                 $name = "Main";
             }
             return C\BASE_URL ."p/$name$q";
@@ -598,7 +598,7 @@ function wikiUrl($name, $with_delim = false, $controller = "static", $id =
                 "?c=$controller&a=wiki&arg=pages&group_id=$id$a";
         } else {
             if ($is_static) {
-                if($name == "") {
+                if ($name == "") {
                     $name = "main";
                 }
                 return C\BASE_URL . "?c=static&p=$name$a";
@@ -610,6 +610,6 @@ function wikiUrl($name, $with_delim = false, $controller = "static", $id =
         }
     }
 }
-if(!defined('seekquarry\\yioop\\configs\\SKIP_BOOTSTRAP')) {
+if (!defined('seekquarry\\yioop\\configs\\SKIP_BOOTSTRAP')) {
     bootstrap();
-}
+}
\ No newline at end of file
diff --git a/src/library/AnalyticsManager.php b/src/library/AnalyticsManager.php
index cc50f0139..2728d9b22 100644
--- a/src/library/AnalyticsManager.php
+++ b/src/library/AnalyticsManager.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/BTree.php b/src/library/BTree.php
index 791c0cb3d..afa02a907 100644
--- a/src/library/BTree.php
+++ b/src/library/BTree.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/BloomFilterBundle.php b/src/library/BloomFilterBundle.php
index 8df52f625..e5c9e9b40 100644
--- a/src/library/BloomFilterBundle.php
+++ b/src/library/BloomFilterBundle.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/BloomFilterFile.php b/src/library/BloomFilterFile.php
index aaa419b74..7290efd9e 100755
--- a/src/library/BloomFilterFile.php
+++ b/src/library/BloomFilterFile.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/BrowserRunner.php b/src/library/BrowserRunner.php
index d466935ca..287b0947b 100644
--- a/src/library/BrowserRunner.php
+++ b/src/library/BrowserRunner.php
@@ -2,7 +2,7 @@
 /**
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  * LICENSE:
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/Bzip2BlockIterator.php b/src/library/Bzip2BlockIterator.php
index e481828db..d64c1f156 100644
--- a/src/library/Bzip2BlockIterator.php
+++ b/src/library/Bzip2BlockIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Shawn Tice, (docs added by Chris Pollett chris@pollett.org)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/CrawlConstants.php b/src/library/CrawlConstants.php
index 88317ff70..a0bb01eeb 100755
--- a/src/library/CrawlConstants.php
+++ b/src/library/CrawlConstants.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/CrawlDaemon.php b/src/library/CrawlDaemon.php
index cb1682d2d..36695530c 100644
--- a/src/library/CrawlDaemon.php
+++ b/src/library/CrawlDaemon.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -217,7 +217,7 @@ class CrawlDaemon implements CrawlConstants
            of the owner of the webserver process so it can write
            a .hhvm.hhbc file
          */
-        if(function_exists("posix_getpwuid")) {
+        if (function_exists("posix_getpwuid")) {
             $process_user_info = posix_getpwuid(posix_getuid());
             $process_home = $process_user_info['dir'];
             if (C\nsdefined("FORCE_HHVM") || (
@@ -369,4 +369,3 @@ class CrawlDaemon implements CrawlConstants
         return $active_daemons;
     }
 }
-
diff --git a/src/library/FetchGitRepositoryUrls.php b/src/library/FetchGitRepositoryUrls.php
index 8664cbd9e..bd1c26dc4 100755
--- a/src/library/FetchGitRepositoryUrls.php
+++ b/src/library/FetchGitRepositoryUrls.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Snigdha Rao Parvatneni
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/FetchUrl.php b/src/library/FetchUrl.php
index de384a2e6..ca5339fd8 100755
--- a/src/library/FetchUrl.php
+++ b/src/library/FetchUrl.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -76,7 +76,7 @@ class FetchUrl implements CrawlConstants
     {
         static $agent_handler = null;
         static $handler_time = 0;
-        if(empty($agent_handler)) {
+        if (empty($agent_handler)) {
             /* try to keep handler around between calls to allow for connection
                 reuse
              */
@@ -275,7 +275,7 @@ class FetchUrl implements CrawlConstants
                         curl_getinfo($sites[$i][0], CURLINFO_HTTP_CODE);
                     if (!$sites[$i][self::HTTP_CODE] && !$is_gopher) {
                         $sites[$i][self::HTTP_CODE] = curl_error($sites[$i][0]);
-                    } else if($is_gopher) {
+                    } else if ($is_gopher) {
                         $sites[$i][self::HTTP_CODE] = 200;
                     }
                     if ($ip_addresses) {
@@ -367,7 +367,7 @@ class FetchUrl implements CrawlConstants
             crawlLog("  Get Page Content time ".
                 (changeInMicrotime($start_time)));
         }
-        if(microtime(true) - $handler_time > C\PAGE_TIMEOUT) {
+        if (microtime(true) - $handler_time > C\PAGE_TIMEOUT) {
             if (!empty($agent_handler)) {
                 curl_multi_close($agent_handler);
             }
@@ -750,7 +750,7 @@ class FetchUrl implements CrawlConstants
             // as post and so query string ignored for get's
             curl_setopt($agents[$host], CURLOPT_HTTPGET, true);
         }
-        if($user_password != null) {
+        if ($user_password != null) {
             curl_setopt($agents[$host], CURLOPT_FAILONERROR, false);
             curl_setopt($agents[$host], CURLOPT_USERPWD, $user_password);
             curl_setopt($agents[$host], CURLOPT_SSL_VERIFYHOST, 2);
@@ -792,4 +792,4 @@ class FetchUrl implements CrawlConstants
             crawlLog(wordwrap($response));
         }
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/FileCache.php b/src/library/FileCache.php
index e39fa77c1..a712cd2d3 100644
--- a/src/library/FileCache.php
+++ b/src/library/FileCache.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/HashTable.php b/src/library/HashTable.php
index 0de919968..c4b3fc358 100755
--- a/src/library/HashTable.php
+++ b/src/library/HashTable.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/IndexArchiveBundle.php b/src/library/IndexArchiveBundle.php
index dc2fac337..289789c80 100644
--- a/src/library/IndexArchiveBundle.php
+++ b/src/library/IndexArchiveBundle.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -132,7 +132,7 @@ class IndexArchiveBundle implements CrawlConstants
      *      in a single shard
      */
     public function __construct($dir_name, $read_only_archive = true,
-        $description = null, $num_docs_per_generation =
+        $description = null, $num_docs_per_generation =
         C\NUM_DOCS_PER_GENERATION)
     {
         $this->dir_name = $dir_name;
@@ -442,7 +442,7 @@ class IndexArchiveBundle implements CrawlConstants
         }
         if (file_exists($dir_name . "/description.txt")) {
             $info = WebArchiveBundle::getArchiveInfo($dir_name);
-            if(isset($info['DESCRIPTION'])) {
+            if (isset($info['DESCRIPTION'])) {
                 return $info;
             }
         }
@@ -470,4 +470,4 @@ class IndexArchiveBundle implements CrawlConstants
     {
         return WebArchiveBundle::getParamModifiedTime($dir_name."/summaries");
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/IndexDictionary.php b/src/library/IndexDictionary.php
index 6e96a2755..fae272139 100644
--- a/src/library/IndexDictionary.php
+++ b/src/library/IndexDictionary.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -602,9 +602,6 @@ class IndexDictionary implements CrawlConstants
      *
      * @param string $record_string string in which dictionary records occur
      * @param string $offset a byte offset into $record_string
-     * @param string $complete_decode whether to leave the decoded
-     *      records as 10 byte strings or to further to decode them as
-     *      (generation, posting list offset, length) triples
      * @return array of up to three strings
      */
     public function decodeAuxRecord($record_string, $offset = 0)
@@ -794,13 +791,16 @@ class IndexDictionary implements CrawlConstants
      * @param int $shift how many low order bits to drop from $word_id's
      *    when checking for a match
      * @param string $mask bit mask to be applied to bytes after the 8th
-     *     byte through 20th byte of word_id. In single word case these
-     *     bytes contain safe:, media:, and class: meta word info
+     *      byte through 20th byte of word_id. In single word case these
+     *      bytes contain safe:, media:, and class: meta word info
      * @param int $threshold if greater than zero how many posting list
-     *    results in dictionary info returned before stopping looking for
-     *    more matches
-     * @param int $start_generation
-     * @param int $num_generations
+     *      results in dictionary info returned before stopping looking for
+     *      more matches
+     * @param int $start_generation if  positive the first generation to
+            return information about
+     * @param int $num_distinct_generations if positive number of then
+     *      determines the number of generations after the starting gneration
+     *      to return information about
      * @return mixed a pair(total_count, max_found_generation,
      *      an array of entries of the form
      *      generation, first offset, last offset, count) or false if
@@ -1074,16 +1074,17 @@ class IndexDictionary implements CrawlConstants
             $info);
     }
     /**
-     * Adds auxiliary records for a given word id
+     * Adds auxiliary records for a given word id if after merging info for
+     * a given word id can't be stored in a single record
      *
-     * @param string $id
+     * @param string $id word id to add aux records for
      * @param int $file_num
      * @param int $num_aux_records
      * @param int& $total_count
      * @param int $threshold
      * @param array& $info
      * @param int& $previous_generation
-     * @param int& $num_generation
+     * @param int& $num_generations
      * @param int $offset
      * @param int $num_distinct_generations
      * @param int& $max_retained_generation
@@ -1137,10 +1138,10 @@ class IndexDictionary implements CrawlConstants
     }
     /**
      * Auxiliary methods that takes the input triple ($total_count,
-     * $max_retained_generation, $info) and filters blank entries from
+     * $max_retained_generation, $info) and filters blank entries from
      * $info and returns the resulting triple
      *
-     * @param int& $total_count
+     * @param int& $total_count
      * @param int $max_retained_generation
      * @param array $info
      * @return array resulting triple
@@ -1301,4 +1302,4 @@ class IndexDictionary implements CrawlConstants
             $this->fhs[$file_num][$tier], self::DICT_BLOCK_SIZE);
         return $this->blocks[$file_num][$tier][$bytes];
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/IndexManager.php b/src/library/IndexManager.php
index f81c0d926..b5dc3ae26 100644
--- a/src/library/IndexManager.php
+++ b/src/library/IndexManager.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -211,7 +211,7 @@ class IndexManager implements CrawlConstants
                             if ($add_flag) {
                                 $out_info[$record[0]] = $record;
                             } else {
-                                if($record[3] < $total) {
+                                if ($record[3] < $total) {
                                     $total -= $record[3];
                                 }
                             }
@@ -306,4 +306,4 @@ class IndexManager implements CrawlConstants
         }
         return $total_num_docs;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/IndexShard.php b/src/library/IndexShard.php
index f775cb5e4..23db7c52b 100644
--- a/src/library/IndexShard.php
+++ b/src/library/IndexShard.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -528,10 +528,10 @@ class IndexShard extends PersistentStructure implements
      *  Return word record (word key + posting lookup data )from the shard
      *  from the shard posting list
      *
-     *  @param boolean $is_disk whether the shard is on disk or in memory
-     *  @param int $start offset to start of the dictionary
-     *  @param int $location index of record to extract from dictionary
-     *  @param int $word_item_len length of a word + data record
+     * @param bool $is_disk whether the shard is on disk or in memory
+     * @param int $start offset to start of the dictionary
+     * @param int $location index of record to extract from dictionary
+     * @param int $word_item_len length of a word + data record
      */
     function getWordString($is_disk, $start, $location, $word_item_len)
     {
@@ -798,7 +798,7 @@ class IndexShard extends PersistentStructure implements
      * @return int a score for proximity
      */
     public function computeProximity($position_list, $is_doc) {
-        return (!$is_doc) ? floatval(C\LINK_WEIGHT):
+        return (!$is_doc) ? floatval(C\LINK_WEIGHT):
             (isset($position_list[0]) &&
             $position_list[0] < C\AD_HOC_TITLE_LENGTH) ?
             floatval(C\TITLE_WEIGHT) : floatval(C\DESCRIPTION_WEIGHT);
@@ -1870,4 +1870,4 @@ class IndexShard extends PersistentStructure implements
             substr($value, self::WORD_KEY_LEN,
                 self::WORD_DATA_LEN);
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/JavascriptUnitTest.php b/src/library/JavascriptUnitTest.php
index 3f6a8d027..7c4c8b566 100644
--- a/src/library/JavascriptUnitTest.php
+++ b/src/library/JavascriptUnitTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/Join.php b/src/library/Join.php
index 9137532bd..c30f6c122 100644
--- a/src/library/Join.php
+++ b/src/library/Join.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/LocaleFunctions.php b/src/library/LocaleFunctions.php
index a8ffa1155..745f5de6b 100755
--- a/src/library/LocaleFunctions.php
+++ b/src/library/LocaleFunctions.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -124,7 +124,7 @@ function guessLocaleFromString($phrase_string, $locale_tag = null)
         } else if ($start == 5 && $next >= 144) {
             $guess['he'] += 2;
         } else if ($start >= 6 && $start <= 7) {
-            if($locale_tag == "fa") {
+            if ($locale_tag == "fa") {
                 $guess[$locale_tag] +=2;
             } else {
                 $guess['ar'] += 2;
@@ -480,4 +480,4 @@ function formatDateByLocale($timestamp, $locale_tag)
         default:
             return date("F d Y H:i", intval($timestamp));
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/MailServer.php b/src/library/MailServer.php
index 5629bc115..6dc016653 100644
--- a/src/library/MailServer.php
+++ b/src/library/MailServer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -239,7 +239,7 @@ class MailServer implements MediaConstants
         return $this->readResponseGetCode();
     }
     /**
-     * Sends (or queues for media updater)an email
+     * Sends (or queues for media updater)an email
      * (much like PHP's mail command, but not requiring
      * a configured smtp server on the current machine)
      *
@@ -293,7 +293,7 @@ class MailServer implements MediaConstants
     public function sendImmediate($subject, $from, $to, $message)
     {
         $eol = self::EOL;
-        if(C\USE_MAIL_PHP) {
+        if (C\USE_MAIL_PHP) {
             $header = "From: " . $from . $eol;
             mail($to, $subject, $message, $header);
             return;
@@ -334,10 +334,10 @@ class MailServer implements MediaConstants
     public function sendQueue($subject, $from, $to, $message)
     {
         $mail_directory = C\WORK_DIRECTORY . self::MAIL_FOLDER;
-        if(!file_exists($mail_directory)) {
+        if (!file_exists($mail_directory)) {
             mkdir($mail_directory);
             setWorldPermissions($mail_directory);
-            if(!file_exists($mail_directory)) {
+            if (!file_exists($mail_directory)) {
                 crawlLog("Could not create mail directory!");
                 exit();
             }
@@ -387,4 +387,4 @@ class MailServer implements MediaConstants
         }
         return;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/MediaConstants.php b/src/library/MediaConstants.php
index e7a577266..f6a1faa94 100644
--- a/src/library/MediaConstants.php
+++ b/src/library/MediaConstants.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -39,17 +39,17 @@ namespace seekquarry\yioop\library;
 interface MediaConstants
 {
      /**
-     * Used to define folder used for
-     * placing video files to be converted.
+     * Used to define folder used for
+     * placing video files to be converted.
      */
     const CONVERT_FOLDER = "/schedules/media_convert";
      /**
-     * Used to define folder used for
-     * placing video files after conversion.
+     * Used to define folder used for
+     * placing video files after conversion.
      */
     const CONVERTED_FOLDER = "/schedules/media_converted";
     /**
-     * The text file used to recognize the video file is
+     * The text file used to recognize the video file is
      * about to be split.
      */
     const SPLIT_FILE = "/split.txt";
@@ -57,12 +57,12 @@ interface MediaConstants
     const FILE_INFO = "/file_info.txt";
     /**
      * The text file used to store the count of split files
-     * generated from a video file.
+     * generated from a video file.
      */
     const COUNT_FILE = "/count.txt";
     /**
      * The text file used to store the list of split file
-     * names to concatenate them.
+     * names to concatenate them.
      */
     const ASSEMBLE_FILE = "/ready_to_assemble.txt";
     /**
@@ -74,4 +74,4 @@ interface MediaConstants
      * Magic string used to separate mail messages
      */
     const MESSAGE_SEPARATOR = "+-7b6Ze3ef#a";
-}
+}
\ No newline at end of file
diff --git a/src/library/NWordGrams.php b/src/library/NWordGrams.php
index c3e2efbe1..c36895489 100644
--- a/src/library/NWordGrams.php
+++ b/src/library/NWordGrams.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Ravi Dhillon ravi.dhillon@yahoo.com, Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/Notifier.php b/src/library/Notifier.php
index 4ee6a959d..f5c8b8151 100755
--- a/src/library/Notifier.php
+++ b/src/library/Notifier.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/PageRuleParser.php b/src/library/PageRuleParser.php
index 0a6fc6431..fd6edf288 100644
--- a/src/library/PageRuleParser.php
+++ b/src/library/PageRuleParser.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/PartialZipArchive.php b/src/library/PartialZipArchive.php
index 5c2aa69e0..d7662b0a3 100644
--- a/src/library/PartialZipArchive.php
+++ b/src/library/PartialZipArchive.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/PersistentStructure.php b/src/library/PersistentStructure.php
index ab320c3d5..356722915 100755
--- a/src/library/PersistentStructure.php
+++ b/src/library/PersistentStructure.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/PhraseParser.php b/src/library/PhraseParser.php
index 12ddb6c21..29c677f1b 100755
--- a/src/library/PhraseParser.php
+++ b/src/library/PhraseParser.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/PriorityQueue.php b/src/library/PriorityQueue.php
index d03119a5e..942ac14c5 100755
--- a/src/library/PriorityQueue.php
+++ b/src/library/PriorityQueue.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/ScraperManager.php b/src/library/ScraperManager.php
index 5e297f3f8..aad467ed9 100644
--- a/src/library/ScraperManager.php
+++ b/src/library/ScraperManager.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Charles Bocage (charles.bocage@sjsu.edu)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -102,14 +102,14 @@ class ScraperManager
         return empty($temp_page) ? $page : $temp_page;
     }
     /**
-     * If $signature begins with '/', checks to see if applying
+     * If $signature begins with '/', checks to see if applying
      * the xpath in $signature to $page results
      * in a non-empty dom node list. Otherwise, does a match of the
      * regex (without matching start and end delimiters (say, /)
      * against $page and returns whether found
      *
-     * @var string $page a web document to check
-     * @var string $signature an xpath to check against
+     * @param string $page a web document to check
+     * @param string $signature an xpath to check against
      * @return boolean true if the given xpath return a non empty dom node list
      */
     public static function checkSignature($page, $signature)
@@ -182,4 +182,4 @@ class ScraperManager
         set_error_handler(C\NS_LIB . "yioop_error_handler");
         return $result;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/StringArray.php b/src/library/StringArray.php
index 87572d1b0..90174c89c 100755
--- a/src/library/StringArray.php
+++ b/src/library/StringArray.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/SuffixTree.php b/src/library/SuffixTree.php
index f48e8b531..8780399e6 100644
--- a/src/library/SuffixTree.php
+++ b/src/library/SuffixTree.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/Thesaurus.php b/src/library/Thesaurus.php
index 916d7163b..cb2e93b8f 100644
--- a/src/library/Thesaurus.php
+++ b/src/library/Thesaurus.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Shailesh Padave shaileshpadave49@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/Trie.php b/src/library/Trie.php
index a216823f9..9c49c4bb7 100644
--- a/src/library/Trie.php
+++ b/src/library/Trie.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -26,7 +26,7 @@
  *     code into a separate file and cleaned up)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/UnitTest.php b/src/library/UnitTest.php
index 959c86a17..afe37a3e7 100644
--- a/src/library/UnitTest.php
+++ b/src/library/UnitTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/UpgradeFunctions.php b/src/library/UpgradeFunctions.php
index 12925fc6b..f0bc8255e 100644
--- a/src/library/UpgradeFunctions.php
+++ b/src/library/UpgradeFunctions.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -30,7 +30,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/UrlParser.php b/src/library/UrlParser.php
index 469f3c96b..45e1b5ed2 100755
--- a/src/library/UrlParser.php
+++ b/src/library/UrlParser.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -922,7 +922,7 @@ class UrlParser
             }
         }
         arsort($info_link);
-        $link_urls = array_keys(array_slice($info_link, 0,
+        $link_urls = array_keys(array_slice($info_link, 0,
             C\MAX_LINKS_PER_PAGE));
         $out_links = [];
         foreach ($link_urls as $url) {
@@ -1037,4 +1037,4 @@ class UrlParser
         }
         return $mime_type;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/Utility.php b/src/library/Utility.php
index 01d68bf69..e4c428106 100755
--- a/src/library/Utility.php
+++ b/src/library/Utility.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -448,7 +448,7 @@ class Mod9Constants
         2,  1,  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
         1, 1, 1, 1];
     /**
-     * Used in Modified 9 encoding. Key values are the number of elements we
+     * Used in Modified 9 encoding. Key values are the number of elements we
      * would like to store in the current word. Values are the bit prefix to use
      * on first byte of word. Notices bits 7 and 6 (128 and 64) are not parts of
      * prefixes as used for continuation bits.
@@ -695,7 +695,7 @@ function docIndexModified9($encoded_list)
             $shift = 18;
         break;
         default:
-            $MOD9_NUM_BITS_CODES = Mod9Constants::$MOD9_NUM_BITS_CODES;
+            $MOD9_NUM_BITS_CODES = Mod9Constants::$MOD9_NUM_BITS_CODES;
             $MOD9_NUM_ELTS_DECODES = Mod9Constants::$MOD9_NUM_ELTS_DECODES;
             $first_char = $encoded_list >> 24;
             foreach ($MOD9_NUM_BITS_CODES as $code => $num_bits) {
@@ -776,7 +776,7 @@ function packFloat($my_float)
  */
 function renameSerializedObject($class_name, $object_string)
 {
-    /*  number of digits in the length of name of the object needs to be
+    /*  number of digits in the length of name of the object needs to be
         less than 12 digits (probably more like 4) for this to work.
     */
     $name_length = intval(substr($object_string, 2, 14));
@@ -852,7 +852,7 @@ function metricToInt($metric_num)
  * Converts a number to a string followed by nothing, K, M, G, T
  * depending on whether number is < 1000, < 10^6, < 10^9, or < 10^(12)
  *
- * @param int $numnumber to convert
+ * @param int $num number to convert
  * @return string number the metric string corresponded to
  */
 function intToMetric($num)
@@ -2298,19 +2298,19 @@ function tail($file_name, $num_lines)
  * filter string or filter array
  *
  * @param string $lines to search
- * @param mixed $filter either string to filter lines with or an array of
+ * @param mixed $filters either string to filter lines with or an array of
  *      strings (any of which can be present to pass the filter)
  * @return array lines containing the string
  */
 function lineFilter($lines, $filters)
 {
     $out_lines = [$filters];
-    if(is_string($filters)) {
+    if (is_string($filters)) {
         $filters = [$filters];
     }
     foreach ($lines as $line) {
         foreach ($filters as $filter) {
-            if(stripos($line, $filter) !== false) {
+            if (stripos($line, $filter) !== false) {
                 $out_lines[] = $line;
                 break;
             }
@@ -2322,7 +2322,7 @@ function lineFilter($lines, $filters)
  * Tries to extract a timestamp from a line which is presumed to come from
  * a Yioop log file
  *
- * @param string $lines to search
+ * @param string $line to search
  * @return int timestamp of that log entry
  */
 function logLineTimestamp($line)
@@ -2461,4 +2461,4 @@ function bchexdec($hex)
             bcpow('16', strval($len - $i))));
     }
     return $dec;
-}
+}
\ No newline at end of file
diff --git a/src/library/VersionFunctions.php b/src/library/VersionFunctions.php
index 79c6c6b96..2282a0098 100644
--- a/src/library/VersionFunctions.php
+++ b/src/library/VersionFunctions.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -1146,9 +1146,9 @@ function upgradeDatabaseVersion42(&$db)
 function upgradeDatabaseVersion43(&$db)
 {
     $db->execute("INSERT INTO ITEM_IMPRESSION_SUMMARY
-        SELECT DISTINCT I.USER_ID AS USER_ID,
-            I.ITEM_ID AS ITEM_ID, I.ITEM_TYPE AS ITEM_TYPE,
-            " . C\FOREVER . " AS UPDATE_PERIOD,
+        SELECT DISTINCT I.USER_ID AS USER_ID,
+            I.ITEM_ID AS ITEM_ID, I.ITEM_TYPE AS ITEM_TYPE,
+            " . C\FOREVER . " AS UPDATE_PERIOD,
             0 AS UPDATE_TIMESTAMP,
             0 AS NUM_VIEWS
         FROM ITEM_IMPRESSION I WHERE I.ITEM_ID > 0 AND NOT EXISTS
@@ -1230,7 +1230,7 @@ function upgradeDatabaseVersion45(&$db)
             "//*[contains(@id, 'message')]###//*[contains(@id, 'help')]###" .
             "//*[contains(@id, 'MathJax')]###" .
             "//*[contains(@class, 'component-container')]###" .
-            "//*[contains(@class, 'top-bar')]###".
+            "//*[contains(@class, 'top-bar')]###".
             "//*[contains(@class, 'query-statistics')]###" .
             "//*[contains(@class, 'admin-collapse')]###" .
             "//option[not(contains(@selected, 'selected'))]###" .
@@ -1347,4 +1347,4 @@ function upgradeDatabaseVersion49(&$db)
         FROM_ID INTEGER, TO_GROUP_ID INTEGER, TO_PAGE_NAME VARCHAR(" .
         C\TITLE_LEN ."), PRIMARY KEY(LINK_TYPE_ID, FROM_ID, TO_GROUP_ID,
         TO_PAGE_NAME))");
-}
+}
\ No newline at end of file
diff --git a/src/library/WebArchive.php b/src/library/WebArchive.php
index bcda039be..9b146f901 100755
--- a/src/library/WebArchive.php
+++ b/src/library/WebArchive.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/WebArchiveBundle.php b/src/library/WebArchiveBundle.php
index e60507a24..235e2fcd5 100755
--- a/src/library/WebArchiveBundle.php
+++ b/src/library/WebArchiveBundle.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -295,7 +295,7 @@ class WebArchiveBundle
         $info =
             unserialize(file_get_contents($this->dir_name."/description.txt"));
         $info[$field] += $num;
-        if($field == "COUNT") {
+        if ($field == "COUNT") {
             $this->count = $info[$field];
         }
         if (!$this->read_only_archive) {
@@ -354,4 +354,4 @@ class WebArchiveBundle
         }
         return false;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/WebQueueBundle.php b/src/library/WebQueueBundle.php
index bdec8e032..77593d1f5 100755
--- a/src/library/WebQueueBundle.php
+++ b/src/library/WebQueueBundle.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
diff --git a/src/library/WikiParser.php b/src/library/WikiParser.php
index 07e714339..e06288539 100644
--- a/src/library/WikiParser.php
+++ b/src/library/WikiParser.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library;
@@ -270,7 +270,7 @@ class WikiParser implements CrawlConstants
             list($this->braces_matches[], $this->braces_replaces[]) =
                 $substitution;
         }
-        foreach($link_substitutions as $link_substitution) {
+        foreach ($link_substitutions as $link_substitution) {
             list($this->link_matches[], $this->link_replaces[]) =
                 $link_substitution;
         }
@@ -567,7 +567,7 @@ class WikiParser implements CrawlConstants
                     for ($i = 2; $i < 6; $i++) {
                         if (!isset($ref_data["author$i"]) &&
                             isset($ref_data["last$i"])
-                            && isset($ref_data['first'])) {
+                            && isset($ref_data["first$i"])) {
                             $ref_data["author$i"] = $ref_data["last$i"].", ".
                                 $ref_data["first$i"];
                         }
@@ -581,7 +581,7 @@ class WikiParser implements CrawlConstants
                                 $ref_data["author$i"].
                                 "\">".$ref_data["author$i"]."</a>";
                         }
-                        if(isset($ref_data["author"])) {
+                        if (isset($ref_data["author"])) {
                             $ref_data["author"] .=
                                 " and " . $ref_data["author$i"];
                         }
@@ -602,7 +602,6 @@ class WikiParser implements CrawlConstants
                     if (isset($ref_data['title'])) {
                         $references .= '"'.$ref_data['title'].'". ';
                     }
-
                     if (isset($ref_data['accessdate']) &&
                         !isset($ref_data['archivedate'])) {
                         $references .= '('.$ref_data['accessdate'].') ';
@@ -696,7 +695,7 @@ class WikiParser implements CrawlConstants
         return $page;
     }
     /**
-     * Fetches internal links from wiki syntax.
+     * Fetches internal links from wiki syntax.
      *
      * @param array $document a wiki document
      * @return array of linked page names in the format
@@ -727,7 +726,7 @@ class WikiParser implements CrawlConstants
             // make in format page_name|relationship_type
             $internal_parts = explode('|', $internal_link);
             if (count($internal_parts) == 3) {
-                $internal_link = trim($internal_parts[1]) . "|" .
+                $internal_link = trim($internal_parts[1]) . "|" .
                     trim(mb_strtolower($internal_parts[0]));
             } else {
                 $internal_link = trim($internal_parts[0]) . "|";
@@ -892,4 +891,4 @@ function spanEncodeCallback($matches)
 function base64DecodeCallback($matches)
 {
     return "<pre>".base64_decode($matches[1])."</pre>";
-}
+}
\ No newline at end of file
diff --git a/src/library/archive_bundle_iterators/ArcArchiveBundleIterator.php b/src/library/archive_bundle_iterators/ArcArchiveBundleIterator.php
index 7b0049547..a7419d9fc 100644
--- a/src/library/archive_bundle_iterators/ArcArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/ArcArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;
diff --git a/src/library/archive_bundle_iterators/ArchiveBundleIterator.php b/src/library/archive_bundle_iterators/ArchiveBundleIterator.php
index cf2fd0f5c..3af2e7e80 100644
--- a/src/library/archive_bundle_iterators/ArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/ArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;
diff --git a/src/library/archive_bundle_iterators/DatabaseBundleIterator.php b/src/library/archive_bundle_iterators/DatabaseBundleIterator.php
index 2dbd7b542..8482f4803 100644
--- a/src/library/archive_bundle_iterators/DatabaseBundleIterator.php
+++ b/src/library/archive_bundle_iterators/DatabaseBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;
diff --git a/src/library/archive_bundle_iterators/MediaWikiArchiveBundleIterator.php b/src/library/archive_bundle_iterators/MediaWikiArchiveBundleIterator.php
index aa90f8394..7576a94ab 100644
--- a/src/library/archive_bundle_iterators/MediaWikiArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/MediaWikiArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,11 +25,12 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;

+use seekquarry\yioop\configs as C;
 use seekquarry\yioop\library as L;
 use seekquarry\yioop\library\BZip2BlockIterator;
 use seekquarry\yioop\library\CrawlConstants;
@@ -142,7 +143,9 @@ EOD;
             $this->getTextContent($dom, "/siteinfo/base");
         $this->header['base_address'] = substr($pre_host_name, 0,
             strrpos($pre_host_name, "/") + 1);
+        restore_error_handler();
         $url_parts = @parse_url($this->header['base_address']);
+        set_error_handler(C\NS_LIB . "yioop_error_handler");
         $this->header['ip_address'] = gethostbyname($url_parts['host']);
         return true;
     }
@@ -250,7 +253,9 @@ EOD;
         $page_info = $this->getNextTagData("page");
         if ($no_process) { return $page_info; }
         $dom = new \DOMDocument();
+        restore_error_handler();
         @$dom->loadXML($page_info);
+        set_error_handler(C\NS_LIB . "yioop_error_handler");
         $site = [];
         $pre_url = $this->getTextContent($dom, "/page/title");
         $pre_url = str_replace(" ", "_", $pre_url);
diff --git a/src/library/archive_bundle_iterators/MixArchiveBundleIterator.php b/src/library/archive_bundle_iterators/MixArchiveBundleIterator.php
index bfc77400a..4c2d8002f 100644
--- a/src/library/archive_bundle_iterators/MixArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/MixArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;
diff --git a/src/library/archive_bundle_iterators/OdpRdfArchiveBundleIterator.php b/src/library/archive_bundle_iterators/OdpRdfArchiveBundleIterator.php
index 9a0bd1a51..8063f0b46 100644
--- a/src/library/archive_bundle_iterators/OdpRdfArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/OdpRdfArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;
diff --git a/src/library/archive_bundle_iterators/TextArchiveBundleIterator.php b/src/library/archive_bundle_iterators/TextArchiveBundleIterator.php
index 2ff4b9748..e081151af 100644
--- a/src/library/archive_bundle_iterators/TextArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/TextArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;
diff --git a/src/library/archive_bundle_iterators/WarcArchiveBundleIterator.php b/src/library/archive_bundle_iterators/WarcArchiveBundleIterator.php
index 2a4f1e8a7..68d4e970e 100644
--- a/src/library/archive_bundle_iterators/WarcArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/WarcArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;
diff --git a/src/library/archive_bundle_iterators/WebArchiveBundleIterator.php b/src/library/archive_bundle_iterators/WebArchiveBundleIterator.php
index 039f26179..3946d896f 100644
--- a/src/library/archive_bundle_iterators/WebArchiveBundleIterator.php
+++ b/src/library/archive_bundle_iterators/WebArchiveBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,11 +25,12 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\archive_bundle_iterators;

+use seekquarry\yioop\configs as C;
 use seekquarry\yioop\library as L;
 use seekquarry\yioop\library\CrawlConstants;
 use seekquarry\yioop\library\WebArchiveBundle;
@@ -96,7 +97,7 @@ class WebArchiveBundleIterator extends ArchiveBundleIterator
      */
     public function getArchiveName($timestamp)
     {
-        return CRAWL_DIR.'/cache/'.$this->fetcher_prefix.
+        return C\CRAWL_DIR . '/cache/'.$this->fetcher_prefix.
             self::archive_base_name.$timestamp;
     }
     /**
diff --git a/src/library/classifiers/BinaryFeatures.php b/src/library/classifiers/BinaryFeatures.php
index fa277d5c3..4c222b337 100644
--- a/src/library/classifiers/BinaryFeatures.php
+++ b/src/library/classifiers/BinaryFeatures.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/ChiSquaredFeatureSelection.php b/src/library/classifiers/ChiSquaredFeatureSelection.php
index 497b76549..5c42dcbad 100644
--- a/src/library/classifiers/ChiSquaredFeatureSelection.php
+++ b/src/library/classifiers/ChiSquaredFeatureSelection.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/Classifier.php b/src/library/classifiers/Classifier.php
index 56f442575..881c21f97 100644
--- a/src/library/classifiers/Classifier.php
+++ b/src/library/classifiers/Classifier.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/ClassifierAlgorithm.php b/src/library/classifiers/ClassifierAlgorithm.php
index 9c731dee8..440c3c065 100644
--- a/src/library/classifiers/ClassifierAlgorithm.php
+++ b/src/library/classifiers/ClassifierAlgorithm.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/FeatureSelection.php b/src/library/classifiers/FeatureSelection.php
index 2c9e11661..f307135c1 100644
--- a/src/library/classifiers/FeatureSelection.php
+++ b/src/library/classifiers/FeatureSelection.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/Features.php b/src/library/classifiers/Features.php
index e924b07ee..7d30c5bf2 100644
--- a/src/library/classifiers/Features.php
+++ b/src/library/classifiers/Features.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/LassoRegression.php b/src/library/classifiers/LassoRegression.php
index edc0d04af..fbfc3c7d0 100644
--- a/src/library/classifiers/LassoRegression.php
+++ b/src/library/classifiers/LassoRegression.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/NaiveBayes.php b/src/library/classifiers/NaiveBayes.php
index 4031196c9..c01f24a3c 100644
--- a/src/library/classifiers/NaiveBayes.php
+++ b/src/library/classifiers/NaiveBayes.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/SparseMatrix.php b/src/library/classifiers/SparseMatrix.php
index 78344ffe0..8280446c2 100644
--- a/src/library/classifiers/SparseMatrix.php
+++ b/src/library/classifiers/SparseMatrix.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/classifiers/WeightedFeatures.php b/src/library/classifiers/WeightedFeatures.php
index 2414c889e..50102f929 100644
--- a/src/library/classifiers/WeightedFeatures.php
+++ b/src/library/classifiers/WeightedFeatures.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\classifiers;
diff --git a/src/library/compressors/Compressor.php b/src/library/compressors/Compressor.php
index b95248a5f..2e6c0593b 100755
--- a/src/library/compressors/Compressor.php
+++ b/src/library/compressors/Compressor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\compressors;
diff --git a/src/library/compressors/GzipCompressor.php b/src/library/compressors/GzipCompressor.php
index cdfb991da..4d54e5368 100755
--- a/src/library/compressors/GzipCompressor.php
+++ b/src/library/compressors/GzipCompressor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\compressors;
diff --git a/src/library/compressors/NonCompressor.php b/src/library/compressors/NonCompressor.php
index 9bb76f7f4..815f682ab 100755
--- a/src/library/compressors/NonCompressor.php
+++ b/src/library/compressors/NonCompressor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\compressors;
diff --git a/src/library/index_bundle_iterators/DisjointIterator.php b/src/library/index_bundle_iterators/DisjointIterator.php
index 5ac69fd7f..b55cfc1b7 100644
--- a/src/library/index_bundle_iterators/DisjointIterator.php
+++ b/src/library/index_bundle_iterators/DisjointIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/index_bundle_iterators/DocIterator.php b/src/library/index_bundle_iterators/DocIterator.php
index 30c8381df..3371be38e 100755
--- a/src/library/index_bundle_iterators/DocIterator.php
+++ b/src/library/index_bundle_iterators/DocIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/index_bundle_iterators/GroupIterator.php b/src/library/index_bundle_iterators/GroupIterator.php
index 7f7c56eca..6c93e51ff 100644
--- a/src/library/index_bundle_iterators/GroupIterator.php
+++ b/src/library/index_bundle_iterators/GroupIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
@@ -348,7 +348,7 @@ class GroupIterator extends IndexBundleIterator
             $add_lookup = false;
             if ($this->network_flag) {
                 $hash = $out_pages[$hash_url][self::HASH];
-                $is_location =
+                $is_location =
                     (L\crawlHash($hash_url."LOCATION", true) == $hash);
                 if (!$out_pages[$hash_url][self::IS_DOC] || $is_location) {
                     $add_lookup = true;
@@ -480,4 +480,4 @@ class GroupIterator extends IndexBundleIterator
     public function currentGenDocOffsetWithWord() {
         $this->index_bundle_iterator->currentGenDocOffsetWithWord();
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/index_bundle_iterators/IndexBundleIterator.php b/src/library/index_bundle_iterators/IndexBundleIterator.php
index 4f79ab07e..9f1ea9c55 100644
--- a/src/library/index_bundle_iterators/IndexBundleIterator.php
+++ b/src/library/index_bundle_iterators/IndexBundleIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/index_bundle_iterators/IntersectIterator.php b/src/library/index_bundle_iterators/IntersectIterator.php
index 972d71b1a..5f010fbcf 100644
--- a/src/library/index_bundle_iterators/IntersectIterator.php
+++ b/src/library/index_bundle_iterators/IntersectIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/index_bundle_iterators/NegationIterator.php b/src/library/index_bundle_iterators/NegationIterator.php
index 7626db1b2..28b159bab 100644
--- a/src/library/index_bundle_iterators/NegationIterator.php
+++ b/src/library/index_bundle_iterators/NegationIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/index_bundle_iterators/NetworkIterator.php b/src/library/index_bundle_iterators/NetworkIterator.php
index e3f0a28da..5d745f8e2 100644
--- a/src/library/index_bundle_iterators/NetworkIterator.php
+++ b/src/library/index_bundle_iterators/NetworkIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/index_bundle_iterators/UnionIterator.php b/src/library/index_bundle_iterators/UnionIterator.php
index b47923366..22944a1f4 100644
--- a/src/library/index_bundle_iterators/UnionIterator.php
+++ b/src/library/index_bundle_iterators/UnionIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/index_bundle_iterators/WordIterator.php b/src/library/index_bundle_iterators/WordIterator.php
index b4d31c403..01dd4ec22 100644
--- a/src/library/index_bundle_iterators/WordIterator.php
+++ b/src/library/index_bundle_iterators/WordIterator.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\index_bundle_iterators;
diff --git a/src/library/indexing_plugins/AddressesPlugin.php b/src/library/indexing_plugins/AddressesPlugin.php
index 60c6b6983..3d202442b 100644
--- a/src/library/indexing_plugins/AddressesPlugin.php
+++ b/src/library/indexing_plugins/AddressesPlugin.php
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\indexing_plugins;
diff --git a/src/library/indexing_plugins/WordfilterPlugin.php b/src/library/indexing_plugins/WordfilterPlugin.php
index fd1aaf66b..bca70f797 100644
--- a/src/library/indexing_plugins/WordfilterPlugin.php
+++ b/src/library/indexing_plugins/WordfilterPlugin.php
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\indexing_plugins;
diff --git a/src/library/media_jobs/AnalyticsJob.php b/src/library/media_jobs/AnalyticsJob.php
index 7874a2517..047e80f3b 100644
--- a/src/library/media_jobs/AnalyticsJob.php
+++ b/src/library/media_jobs/AnalyticsJob.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\media_jobs;
diff --git a/src/library/media_jobs/BulkEmailJob.php b/src/library/media_jobs/BulkEmailJob.php
index 72dab4269..55d82032e 100644
--- a/src/library/media_jobs/BulkEmailJob.php
+++ b/src/library/media_jobs/BulkEmailJob.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -26,7 +26,7 @@
  *      and subclasses based on work of Pooja Mishra for her master's)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\media_jobs;
@@ -76,7 +76,7 @@ class BulkEmailJob extends MediaJob
     public function nondistributedTasks()
     {
         $mail_directory = C\WORK_DIRECTORY . self::MAIL_FOLDER;
-        if(!file_exists($mail_directory)) {
+        if (!file_exists($mail_directory)) {
             return;
         }
         $files = glob($mail_directory."/*.txt");
@@ -85,7 +85,7 @@ class BulkEmailJob extends MediaJob
         }
         $sendable_file = false;
         foreach ($files as $email_file) {
-            if(time() - filemtime($email_file) >
+            if (time() - filemtime($email_file) >
                 C\MAX_MAIL_TIMESTAMP_LIMIT) {
                 $sendable_file = $email_file;
                 break;
@@ -100,7 +100,7 @@ class BulkEmailJob extends MediaJob
         $emails = explode(self::MESSAGE_SEPARATOR, $emails_string);
         foreach ($emails as $serialized_email) {
             $email = unserialize($serialized_email);
-            if(count($email) == 4) {
+            if (count($email) == 4) {
                 L\crawlLog(
                     "Sending email to {$email[2]} about {$email[0]}");
                 $this->mail_server->sendImmediate(
@@ -126,7 +126,7 @@ class BulkEmailJob extends MediaJob
         $emails = explode(self::MESSAGE_SEPARATOR, $tasks["data"]);
         foreach ($emails as $serialized_email) {
             $email = unserialize($serialized_email);
-            if(count($email) == 4) {
+            if (count($email) == 4) {
                 L\crawlLog("Sending email to {$email[2]} about {$email[0]}");
                 $this->mail_server->sendImmediate(
                     $email[0], $email[1], $email[2], $email[3]);
@@ -152,8 +152,8 @@ class BulkEmailJob extends MediaJob
         }
         $files = glob($mail_directory."/*.txt");
         $sendable_file = false;
-        foreach($files as $email_file) {
-            if(time() - filemtime($email_file) >
+        foreach ($files as $email_file) {
+            if (time() - filemtime($email_file) >
                 C\MAX_MAIL_TIMESTAMP_LIMIT) {
                 $sendable_file = $email_file;
                 break;
@@ -169,4 +169,4 @@ class BulkEmailJob extends MediaJob
         unlink($file);
         return $task;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/media_jobs/FeedsUpdateJob.php b/src/library/media_jobs/FeedsUpdateJob.php
index 41b163557..4a75ecfd9 100644
--- a/src/library/media_jobs/FeedsUpdateJob.php
+++ b/src/library/media_jobs/FeedsUpdateJob.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -26,7 +26,7 @@
  *      and subclasses based on work of Pooja Mishra for her master's)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\media_jobs;
@@ -50,7 +50,7 @@ class FeedsUpdateJob extends MediaJob
      * how long in seconds before a feed item expires
      */
     const ITEM_EXPIRES_TIME = C\ONE_WEEK;
-    /**
+    /**
      * Mamimum number of feeds to download in one try
      */
     const MAX_FEEDS_ONE_GO = 100;
@@ -60,7 +60,7 @@ class FeedsUpdateJob extends MediaJob
      */
     public $update_time;
     /**
-     * Datasource object used to run db queries related to fes items
+     * Datasource object used to run db queries related to fes items
      * (for storing and updating them)
      * @var object
      */
@@ -714,7 +714,7 @@ class FeedsUpdateJob extends MediaJob
             foreach ($json_decode as $key => $value) {
                 $tag_name = $key;
                 $attributes = "";
-                if(is_int($tag_name)) {
+                if (is_int($tag_name)) {
                     $tag_name = "item";
                     $attributes = "data-number='$key'";
                 }
@@ -731,7 +731,16 @@ class FeedsUpdateJob extends MediaJob
         return $out;
     }
     /**
+     * Information about how to parse non-rss and atom feeds is stored in the
+     * MEDIA_SOURCE table in the AUX_INFO column. When a feed is read from
+     * this table this method is used to parse this column into additional
+     * fields which are easier to use for manipulating feed data. Example feed
+     * types for which this parsing is readed are html, json and regex feeds.
+     * In the case of an rss or atom feed this method assumes the AUX_INFO field
+     * just contains an xpath expression for finding a feed_item's image, and
+     * so just parses the AUX_INFO field into an IMAGE_XPATH field.
      *
+     * @param array &$feed associative array of data about one particular feed
      */
     public function parseFeedAuxInfo(&$feed)
     {
@@ -775,4 +784,4 @@ class FeedsUpdateJob extends MediaJob
             }
         }
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/media_jobs/MediaJob.php b/src/library/media_jobs/MediaJob.php
index eec0c90ae..a6abd8886 100644
--- a/src/library/media_jobs/MediaJob.php
+++ b/src/library/media_jobs/MediaJob.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -26,7 +26,7 @@
  *      and subclasses based on work of Pooja Mishra for her master's)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\media_jobs;
@@ -99,7 +99,7 @@ class MediaJob implements CrawlConstants, MediaConstants
         $this->init();
     }
     /**
-     * Overridable methods in which a job can carry out any initialization
+     * Overridable methods in which a job can carry out any initialization
      * needed before it is run
      */
     public function init()
@@ -232,12 +232,12 @@ class MediaJob implements CrawlConstants, MediaConstants
     }
     /**
      * Executes a method on the name server's JobController.
-     * It will typically execute either getTask or putTask for a specific
+     * It will typically execute either getTask or putTask for a specific
      * Mediajob or getUpdateProperties to find out the current MediaUpdater
      * should be configured.
      *
      * @param string $command the method to invoke on the name server
-     * @param string $arg additional arguments to be passed to the name
+     * @param string $args additional arguments to be passed to the name
      *      server
      * @return array data returned by the name server.
      */
@@ -251,7 +251,7 @@ class MediaJob implements CrawlConstants, MediaConstants
             $query .= "&args=$args";
         }
         $job_name = self::getJobName();
-        if($job_name) {
+        if ($job_name) {
             $query .= "&job=$job_name";
         }
         $current_machine = self::getCurrentmachine();
@@ -301,4 +301,4 @@ class MediaJob implements CrawlConstants, MediaConstants
          }
          return $current_machine;
      }
-}
+}
\ No newline at end of file
diff --git a/src/library/media_jobs/VideoConvertJob.php b/src/library/media_jobs/VideoConvertJob.php
index e02c0b636..280a6a4e8 100644
--- a/src/library/media_jobs/VideoConvertJob.php
+++ b/src/library/media_jobs/VideoConvertJob.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -26,7 +26,7 @@
  *      and subclasses based on work of Pooja Mishra for her master's)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\media_jobs;
@@ -109,7 +109,7 @@ class VideoConvertJob extends MediaJob
         $db = $this->db;
         $folders = glob($convert_folder."/*", GLOB_ONLYDIR);
         if (count($folders) > 0) {
-            foreach($folders as $folder) {
+            foreach ($folders as $folder) {
                 $db->unlinkRecursive($folder);
             }
         }
@@ -119,7 +119,7 @@ class VideoConvertJob extends MediaJob
             $folder_name = $tasks['folder_name'];
             $file_name = $tasks['file_name'];
             $convert_path = $convert_folder . "/" . $folder_name;
-            if(file_exists( $convert_path)) {
+            if (file_exists( $convert_path)) {
                 $db->unlinkRecursive( $convert_path);
             }
             mkdir($convert_path);
@@ -229,7 +229,7 @@ class VideoConvertJob extends MediaJob
             "converted...");
         $convert_folder = C\WORK_DIRECTORY . self::CONVERT_FOLDER;
         $converted_folder = C\WORK_DIRECTORY . self::CONVERTED_FOLDER;
-        if(!file_exists($converted_folder)) {
+        if (!file_exists($converted_folder)) {
             mkdir($converted_folder);
         }
         $video_paths = glob($convert_folder . "/*");
@@ -264,7 +264,7 @@ class VideoConvertJob extends MediaJob
     {
         L\crawlLog("----Inside generateAssembleVideoFile function...");
         $converted_folder = C\WORK_DIRECTORY . self::CONVERTED_FOLDER;
-        if(!file_exists($converted_folder)) {
+        if (!file_exists($converted_folder)) {
             mkdir($converted_folder);
         }
         foreach (glob($converted_folder."/*") as $video_path) {
@@ -278,7 +278,7 @@ class VideoConvertJob extends MediaJob
             $video_segments = glob($video_path . "/*.mp4");
             $converted_count = count($video_segments);
             if ($actual_count == $converted_count) {
-                foreach($video_segments as $video_segment){
+                foreach ($video_segments as $video_segment){
                     file_put_contents($video_path . self::ASSEMBLE_FILE,
                         "file "."'".(str_replace($video_path."/", "",
                         $video_segment))."'", FILE_APPEND);
@@ -293,11 +293,11 @@ class VideoConvertJob extends MediaJob
      *
      * @param string.$text_file_name file path containing.the relative file.
      *      paths of the files to be concatenated
-     * @param string file_name name of video file to be given to output file.
-     * @param string $destination_directory.destination directory.name
+     * @param string $file_name name of video file to be given to output file.
+     * @param string $destination_directory destination directory name
      *      where concatenated file would be produced
      */
-    public function mergeVideo($text_file_name , $file_name,
+    public function mergeVideo($text_file_name, $file_name,
         $destination_directory)
     {
         $extension = "." . UrlParser::getDocumentType($file_name, "");
@@ -308,7 +308,7 @@ class VideoConvertJob extends MediaJob
             "\"$generate_output\"";
         L\crawlLog($ffmpeg);
         exec($ffmpeg);
-        if(file_exists($generate_output)) {
+        if (file_exists($generate_output)) {
             return true;
         }
         return false;
@@ -321,13 +321,13 @@ class VideoConvertJob extends MediaJob
     {
         L\crawlLog("--Concatenating videos...");
         $converted_folder = C\WORK_DIRECTORY . self::CONVERTED_FOLDER;
-        if(!file_exists($converted_folder)) {
+        if (!file_exists($converted_folder)) {
             mkdir($converted_folder);
         }
         foreach (glob($converted_folder."/*") as $video_path) {
             L\crawlLog("----Video Path " . $video_path);
             if (is_dir($video_path)){
-                if(!file_exists($video_path . self::ASSEMBLE_FILE)) {
+                if (!file_exists($video_path . self::ASSEMBLE_FILE)) {
                     continue;
                 }
                 $assemble_file = $video_path . self::ASSEMBLE_FILE;
@@ -335,7 +335,7 @@ class VideoConvertJob extends MediaJob
                 $folder = trim($lines[1]);
                 $thumb_folder = trim($lines[2]);
                 $file_name = trim($lines[3]);
-                if($this->mergeVideo($assemble_file, $file_name, $folder)){
+                if ($this->mergeVideo($assemble_file, $file_name, $folder)){
                     $this->db->unlinkRecursive($video_path);
                     $video_name = $folder. "/" . $file_name;
                     $extension_len = strlen(
@@ -357,7 +357,7 @@ class VideoConvertJob extends MediaJob
     {
         $extension = "." . UrlParser::getDocumentType($file_name, "");
         $new_name = substr($file_name, 0, -strlen($extension));
-        switch($extension)
+        switch ($extension)
         {
             case '.mov':
                 $ffmpeg = C\FFMPEG." -i \"$file_name\" ".
@@ -377,6 +377,8 @@ class VideoConvertJob extends MediaJob
      * Handles request to upload the posted data (video file data)
      * in correct location as per the request attributes such as
      * folder name and file name.
+     * @param int $machine_id
+     * @param array $data
      * @return string message concerning success or non-success of upload
      */
     public function putTasks($machine_id, $data)
@@ -417,7 +419,7 @@ class VideoConvertJob extends MediaJob
         if ($upload_flag) {
             $originals =
                 glob($original_split_pre_file.".{mov,avi}", GLOB_BRACE);
-            foreach($originals as $original) {
+            foreach ($originals as $original) {
                 unlink($original);
             }
         }
@@ -444,7 +446,7 @@ class VideoConvertJob extends MediaJob
                 $folder_name = str_replace("$convert_folder/", "", $folder);
                 $file_name = str_replace($folder."/", "", $file);
                 $time_file_name = $folder . "/" . $file_name . ".time.txt";
-                if(file_exists($time_file_name)) {
+                if (file_exists($time_file_name)) {
                     $file_time = file_get_contents($time_file_name);
                     if ($current_time - $file_time >
                         C\MAX_FILE_TIMESTAMP_LIMIT) {
@@ -471,4 +473,4 @@ class VideoConvertJob extends MediaJob
         }
         return false;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/processors/BmpProcessor.php b/src/library/processors/BmpProcessor.php
index 624c31afb..6365fa033 100644
--- a/src/library/processors/BmpProcessor.php
+++ b/src/library/processors/BmpProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
@@ -161,7 +161,7 @@ class BmpProcessor extends ImageProcessor
                 if ($y > $height) break;
             }
             $i_pos  = $i << 1;
-            if(!isset($body[$i_pos + 5])) { break; }
+            if (!isset($body[$i_pos + 5])) { break; }
             $r =hexdec($body[$i_pos + 4] . $body[$i_pos + 5]);
             $g = hexdec($body[$i_pos + 2] . $body[$i_pos + 3]);
             $b  = hexdec($body[$i_pos].$body[$i_pos + 1]);
@@ -172,4 +172,4 @@ class BmpProcessor extends ImageProcessor
         unset($body);
         return $image;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/processors/DocProcessor.php b/src/library/processors/DocProcessor.php
index d0822d467..7513e6819 100755
--- a/src/library/processors/DocProcessor.php
+++ b/src/library/processors/DocProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/DocxProcessor.php b/src/library/processors/DocxProcessor.php
index 8a19df2d1..83bbef65e 100644
--- a/src/library/processors/DocxProcessor.php
+++ b/src/library/processors/DocxProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/EpubProcessor.php b/src/library/processors/EpubProcessor.php
index 83518ad83..ab1a5202a 100644
--- a/src/library/processors/EpubProcessor.php
+++ b/src/library/processors/EpubProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Vijeth Patil vijeth.patil@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/GifProcessor.php b/src/library/processors/GifProcessor.php
index 83457956e..adf404129 100755
--- a/src/library/processors/GifProcessor.php
+++ b/src/library/processors/GifProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
@@ -55,7 +55,7 @@ class GifProcessor extends ImageProcessor
      *      self::CENTROID_SUMMARIZER
      */
     public function __construct($plugins = [], $max_description_len = null,
-        $summarizer_option = self::BASIC_SUMMARIZER)
+        $summarizer_option = self::BASIC_SUMMARIZER)
     {
         parent::__construct($plugins, $max_description_len, $summarizer_option);
         /** Register File Types We Handle*/
@@ -92,4 +92,4 @@ class GifProcessor extends ImageProcessor
         }
         return $summary;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/processors/GitXmlProcessor.php b/src/library/processors/GitXmlProcessor.php
index 659e46bf4..386a40256 100755
--- a/src/library/processors/GitXmlProcessor.php
+++ b/src/library/processors/GitXmlProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Snigdha Rao Parvatneni
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/GopherProcessor.php b/src/library/processors/GopherProcessor.php
index 39c106d3d..fa160055a 100644
--- a/src/library/processors/GopherProcessor.php
+++ b/src/library/processors/GopherProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/HtmlProcessor.php b/src/library/processors/HtmlProcessor.php
index 14cd8039a..b7fc0a8e8 100755
--- a/src/library/processors/HtmlProcessor.php
+++ b/src/library/processors/HtmlProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/ImageProcessor.php b/src/library/processors/ImageProcessor.php
index 733f5bf15..4db11951b 100755
--- a/src/library/processors/ImageProcessor.php
+++ b/src/library/processors/ImageProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
@@ -52,7 +52,7 @@ class ImageProcessor extends PageProcessor
      * @return array summary information including a thumbnail and a
      *     description (where the description is just the url)
      */
-    public function process($page, $url)
+    public function process($page, $url)
     {
         return null;
     }
@@ -84,4 +84,4 @@ class ImageProcessor extends PageProcessor
         imagedestroy($thumb);
         return $thumb_string;
     }
-}
+}
\ No newline at end of file
diff --git a/src/library/processors/JavaProcessor.php b/src/library/processors/JavaProcessor.php
index ab3f5da8c..976713d04 100755
--- a/src/library/processors/JavaProcessor.php
+++ b/src/library/processors/JavaProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Snigdha Rao Parvatneni
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/JpgProcessor.php b/src/library/processors/JpgProcessor.php
index b6973a78b..5e81f9855 100755
--- a/src/library/processors/JpgProcessor.php
+++ b/src/library/processors/JpgProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/PageProcessor.php b/src/library/processors/PageProcessor.php
index 33af68107..d3532e313 100644
--- a/src/library/processors/PageProcessor.php
+++ b/src/library/processors/PageProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/PdfProcessor.php b/src/library/processors/PdfProcessor.php
index 4575f8300..789760fb3 100755
--- a/src/library/processors/PdfProcessor.php
+++ b/src/library/processors/PdfProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/PngProcessor.php b/src/library/processors/PngProcessor.php
index c921f3c1b..fa0714838 100755
--- a/src/library/processors/PngProcessor.php
+++ b/src/library/processors/PngProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/PptProcessor.php b/src/library/processors/PptProcessor.php
index 77a4173be..46aea0074 100755
--- a/src/library/processors/PptProcessor.php
+++ b/src/library/processors/PptProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/PptxProcessor.php b/src/library/processors/PptxProcessor.php
index 7cb3091a1..ee3f7af6b 100644
--- a/src/library/processors/PptxProcessor.php
+++ b/src/library/processors/PptxProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Nakul Natu nakul.natu@gmail.com
  * @license http://www.gnu.org/licenses/ GPLv3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/PythonProcessor.php b/src/library/processors/PythonProcessor.php
index d6ac6306d..18e09780e 100755
--- a/src/library/processors/PythonProcessor.php
+++ b/src/library/processors/PythonProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Snigdha Rao Parvatneni
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/RobotProcessor.php b/src/library/processors/RobotProcessor.php
index 975b613d6..211d8817c 100644
--- a/src/library/processors/RobotProcessor.php
+++ b/src/library/processors/RobotProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/RssProcessor.php b/src/library/processors/RssProcessor.php
index b26ab47ba..9b010dbbe 100644
--- a/src/library/processors/RssProcessor.php
+++ b/src/library/processors/RssProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/RtfProcessor.php b/src/library/processors/RtfProcessor.php
index f35374a77..436ee5cd8 100755
--- a/src/library/processors/RtfProcessor.php
+++ b/src/library/processors/RtfProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/SitemapProcessor.php b/src/library/processors/SitemapProcessor.php
index c2f1d99c0..f3f5a2531 100644
--- a/src/library/processors/SitemapProcessor.php
+++ b/src/library/processors/SitemapProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/SvgProcessor.php b/src/library/processors/SvgProcessor.php
index cdac71939..7cfcd3d12 100644
--- a/src/library/processors/SvgProcessor.php
+++ b/src/library/processors/SvgProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/TextProcessor.php b/src/library/processors/TextProcessor.php
index a386c8582..5b5ecba3f 100755
--- a/src/library/processors/TextProcessor.php
+++ b/src/library/processors/TextProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/XlsxProcessor.php b/src/library/processors/XlsxProcessor.php
index 095406a5f..cea2631f0 100644
--- a/src/library/processors/XlsxProcessor.php
+++ b/src/library/processors/XlsxProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Tarun Ramaswamy tarun.pepira@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/processors/XmlProcessor.php b/src/library/processors/XmlProcessor.php
index cf94f871d..892d2c915 100644
--- a/src/library/processors/XmlProcessor.php
+++ b/src/library/processors/XmlProcessor.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\processors;
diff --git a/src/library/summarizers/CentroidSummarizer.php b/src/library/summarizers/CentroidSummarizer.php
index ae7b88d58..371ad432e 100644
--- a/src/library/summarizers/CentroidSummarizer.php
+++ b/src/library/summarizers/CentroidSummarizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Mangesh Dahale mangeshadahale@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\summarizers;
@@ -78,10 +78,11 @@ class CentroidSummarizer extends Summarizer
     /**
      * Generates a centroid with which every sentence is ranked with cosine
      * ranking method and also generates a word cloud.
+     *
+     * @param object $dom document object model of page to summarize
      * @param string $page complete raw page to generate the summary from.
      * @param string $lang language of the page to decide which stop words to
      *     call proper tokenizer.php of the specified language.
-     *
      * @return array array of summary and word cloud
      */
     public static function getSummary($dom, $page, $lang)
@@ -155,7 +156,7 @@ class CentroidSummarizer extends Summarizer
         }
         restore_error_handler();
         for ($j = 0; $j < $t; $j++) {
-            $quoted = preg_quote($terms[$j]);
+            $quoted = preg_quote($terms[$j], '/');
             $nt = @preg_match_all("/$b" . $quoted . "$b/", $formatted_doc,
                 $matches); //$matches included for backwards compatibility
             $wc[$j] = $nt * $idf[$j];
diff --git a/src/library/summarizers/CentroidWeightedSummarizer.php b/src/library/summarizers/CentroidWeightedSummarizer.php
index 4de3fd4d5..90f244199 100644
--- a/src/library/summarizers/CentroidWeightedSummarizer.php
+++ b/src/library/summarizers/CentroidWeightedSummarizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett (chris@pollett.org)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\summarizers;
@@ -318,8 +318,8 @@ class CentroidWeightedSummarizer extends Summarizer
         $nk = array_fill(0, $t, 0);
         $nt = [];
         for ($j = 0; $j < $t; $j++) {
-            $nk[$j] += preg_match_all("/\b" . $terms[$j] . "\b/iu",
-                    $sentence, $matches);
+            $nk[$j] += preg_match_all("/\b" . preg_quote($terms[$j],'/') .
+                "\b/iu", $sentence, $matches);
         }
         $term_frequencies = [];
         for ($i = 0; $i <  count($nk); $i++ ) {
diff --git a/src/library/summarizers/GraphBasedSummarizer.php b/src/library/summarizers/GraphBasedSummarizer.php
index 22543817f..190502972 100644
--- a/src/library/summarizers/GraphBasedSummarizer.php
+++ b/src/library/summarizers/GraphBasedSummarizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Charles Bocage charles.bocage@sjsu.edu
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\summarizers;
@@ -112,6 +112,9 @@ class GraphBasedSummarizer extends Summarizer
         for ($i = 0; $i < $n; $i++ ) {
             $index = self::findLargestIndex($p);
             $p[$index] = -1;
+            if (empty($sentences[$index])) {
+                continue;
+            }
             $sentence = PhraseParser::compressSentence($sentences[$index],
                 $lang);
             if ($result_length + strlen($sentence) >
@@ -208,6 +211,7 @@ class GraphBasedSummarizer extends Summarizer
         for ($i = 0; $i < $n; $i++ ) {
             $result[$i] = 0;
             for ($j = 0; $j < $n; $j++ ) {
+                $mat[$i][$j] = (empty($mat[$i][$j])) ? 0 : $mat[$i][$j];
                 $result[$i] += $mat[$i][$j] * $vec[$j];
             }
         }
@@ -229,7 +233,7 @@ class GraphBasedSummarizer extends Summarizer
         for ($i = 0; $i < $n; $i++ ) {
             $result[$i][$i] = 0;
             for ($j = $i + 1; $j < $n; $j++ ) {
-                $result[$i][$j] =
+                $result[$i][$j] =
                     self::findDistortion($sentences[$i], $sentences[$j],
                     $term_frequencies_normalized, $lang, $doc);
                 $result[$j][$i] = $result[$i][$j];
@@ -360,12 +364,19 @@ class GraphBasedSummarizer extends Summarizer
             $sum_of_squares += ($v * $v);
         }
         $square_root = sqrt($sum_of_squares);
+        if ($square_root == 0) {
+            $num_terms = count($term_frequencies);
+            if ($num_terms == 0) {
+                return false;
+            }
+            foreach ($term_frequencies as $k => $v) {
+                $result[$k] = 1/$num_terms;
+            }
+            return $result;
+        }
         foreach ($term_frequencies as $k => $v) {
             $result[$k] = ($v / $square_root);
         }
-        foreach ($result as $k => $v) {
-            $result_sum += $v;
-        }
         return $result;
     }
     /**
@@ -413,16 +424,21 @@ class GraphBasedSummarizer extends Summarizer
                     }
                     $non_common_words++;
                 } else {
-                    $terms = self::getTerms(array($second_sentence), $lang);
+                    $terms = self::getTerms([$second_sentence], $lang);
                     $temp_term_frequencies = self::getTermFrequencies(
                         $terms, [$second_sentence], $doc);
                     $temp_term_frequencies_normalized =
                         self::normalizeTermFrequencies(
                         $temp_term_frequencies);
-                    $new_term_frequency =
-                        $term_frequencies[$word_to_search_for] -
-                        $temp_term_frequencies_normalized[$word_to_search_for];
-                    $sum += ($new_term_frequency * $new_term_frequency);
+                    if (isset($term_frequencies[$word_to_search_for]) &&
+                        isset($temp_term_frequencies_normalized[
+                        $word_to_search_for])) {
+                        $new_term_frequency =
+                            $term_frequencies[$word_to_search_for] -
+                            $temp_term_frequencies_normalized[
+                            $word_to_search_for];
+                        $sum += ($new_term_frequency * $new_term_frequency);
+                    }
                 }
             }
         }
diff --git a/src/library/summarizers/ScrapeSummarizer.php b/src/library/summarizers/ScrapeSummarizer.php
index fde11bdc1..b7816def5 100644
--- a/src/library/summarizers/ScrapeSummarizer.php
+++ b/src/library/summarizers/ScrapeSummarizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Charles Bocage charles.bocage@sjsu.edu
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\summarizers;
diff --git a/src/library/summarizers/Summarizer.php b/src/library/summarizers/Summarizer.php
index e1adec1dd..f3e76551c 100644
--- a/src/library/summarizers/Summarizer.php
+++ b/src/library/summarizers/Summarizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Charles Bocage charles.bocage@sjsu.edu
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\library\summarizers;
diff --git a/src/locale/ar/configure.ini b/src/locale/ar/configure.ini
index a358fef0f..8e813b7e2 100755
--- a/src/locale/ar/configure.ini
+++ b/src/locale/ar/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/ar/resources/Tokenizer.php b/src/locale/ar/resources/Tokenizer.php
index 8d82fc71e..e70c07e0a 100755
--- a/src/locale/ar/resources/Tokenizer.php
+++ b/src/locale/ar/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\ar\resources;
@@ -128,7 +128,7 @@ class Tokenizer
         $modifiers = ["\u0621", "\u0640", "\u064B", "\u064C", "\u064D",
             "\u064E", "\u064F", "\u0650", "\u0651", "\u0652", "\u0653",
             "\u0654", "\u0655", "\u0656", "\u0674", "\u0677", "\u0679"];
-        foreach($modifiers as $modifier) {
+        foreach ($modifiers as $modifier) {
             $m = json_decode('"'.$modifier.'"');
             $word = preg_replace("/".$m."/u", "", $word);
         }
@@ -145,7 +145,7 @@ class Tokenizer
         $length = mb_strlen($word);
         if ($length > 5) {
             $last_two = mb_substr($word, -2);
-            if(in_array($last_two,["ون", "آه", "أه", "آت", "أت", "آن",
+            if (in_array($last_two,["ون", "آه", "أه", "آت", "أت", "آن",
                 "أن", "ىة", "ىه", "ىن", "ةئ", "ئن", "ئه"])) {
                 $word = mb_substr($word, 0, -2);
                 return $word;
@@ -153,7 +153,7 @@ class Tokenizer
         }
         if ($length > 4) {
             $last_one = mb_substr($word, -1);
-            if(in_array($last_one, ["ى", "ۃ", "ه", "ئ"])) {
+            if (in_array($last_one, ["ى", "ۃ", "ه", "ئ"])) {
                 $word = mb_substr($word, 0, -1);
                 return $word;
             }
@@ -171,7 +171,7 @@ class Tokenizer
         $length = mb_strlen($word);
         if ($length > 6) {
             $start_three = mb_substr($word, 0, 3);
-            if(in_array($start_three, ["ڡآل", "ۀآل", "بآل", "وآل",
+            if (in_array($start_three, ["ڡآل", "ۀآل", "بآل", "وآل",
                 "ڡأل", "ۀأل", "بأل", "وأل"])) {
                 $word = mb_substr($word, 3);
                 return $word;
@@ -179,18 +179,18 @@ class Tokenizer
         }
         if ($length > 5) {
             $start_two = mb_substr($word, 0, 2);
-            if(in_array($start_two, ["آل", "أل"])) {
+            if (in_array($start_two, ["آل", "أل"])) {
                 $word = mb_substr($word, 2);
                 return $word;
             }
         }
         if ($length > 4) {
             $start_one = mb_substr($word, 0, 1);
-            if(in_array($start_one, ["Ùˆ", "Ù‰", "Ù¸"])) {
+            if (in_array($start_one, ["Ùˆ", "Ù‰", "Ù¸"])) {
                 $word = mb_substr($word, 1);
                 return $word;
             }
         }
         return $word;
     }
-}
+}
\ No newline at end of file
diff --git a/src/locale/ar/resources/locale.js b/src/locale/ar/resources/locale.js
index 0df9ceb39..a84c2be94 100755
--- a/src/locale/ar/resources/locale.js
+++ b/src/locale/ar/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */

diff --git a/src/locale/bn/configure.ini b/src/locale/bn/configure.ini
index 988c3fa18..7eff5356a 100755
--- a/src/locale/bn/configure.ini
+++ b/src/locale/bn/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/bn/resources/Tokenizer.php b/src/locale/bn/resources/Tokenizer.php
index 9402c6bcd..eb38b78e2 100755
--- a/src/locale/bn/resources/Tokenizer.php
+++ b/src/locale/bn/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Snigdha Rao Parvatneni
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\bn\resources;
diff --git a/src/locale/bn/resources/locale.js b/src/locale/bn/resources/locale.js
index 4e1143cbf..4b09908a6 100755
--- a/src/locale/bn/resources/locale.js
+++ b/src/locale/bn/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Snigdha Rao Parvatneni
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */

diff --git a/src/locale/de/configure.ini b/src/locale/de/configure.ini
index 648e5c0d9..cf6d06b20 100755
--- a/src/locale/de/configure.ini
+++ b/src/locale/de/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/de/resources/Tokenizer.php b/src/locale/de/resources/Tokenizer.php
index a2f408072..6d8d5b96a 100755
--- a/src/locale/de/resources/Tokenizer.php
+++ b/src/locale/de/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\de\resources;
diff --git a/src/locale/de/resources/locale.js b/src/locale/de/resources/locale.js
index 82d43d53a..8db6a05b6 100755
--- a/src/locale/de/resources/locale.js
+++ b/src/locale/de/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */

diff --git a/src/locale/en_US/configure.ini b/src/locale/en_US/configure.ini
index be6bf55b3..a54c797ea 100644
--- a/src/locale/en_US/configure.ini
+++ b/src/locale/en_US/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/en_US/resources/Tokenizer.php b/src/locale/en_US/resources/Tokenizer.php
index 4eb2c4712..a2d611e63 100755
--- a/src/locale/en_US/resources/Tokenizer.php
+++ b/src/locale/en_US/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\en_US\resources;
@@ -82,15 +82,18 @@ class Tokenizer
      */
     public static $question_marker = "qqq";
     /**
+     * List of verb-like parts of speech that might appear in lexicon file
      * @array
      */
     public static $verb_phrases = ["VB", "VBD", "VBG", "VBN", "VBP",
         "VBZ"];
     /**
+     * List of noun-like parts of speech that might appear in lexicon file
      * @array
      */
     public static $noun_phrases = ["NN", "NNS", "NNP", "NNPS", "PRP"];
     /**
+     * List of adjective-like parts of speech that might appear in lexicon file
      * @array
      */
     public static $adjective_phrases = ["JJ", "JJR", "JJS"];
@@ -651,6 +654,8 @@ class Tokenizer
      *     "tag"=> part_of_speech_tag_for_term)
      * @param array $tree that consists of ["cur_node" =>
      *      current parse position in $tagged_phrase]
+     * @param int $index which term in $tagged_phrase to start to try to extract
+     *      a preposition from
      * @return array has fields
      *      "cur_node" index of how far we parsed $tagged_phrase
      *      parsed followed by additional possible fields (here i
@@ -878,7 +883,7 @@ class Tokenizer
      * original phrase and RAW to the case where extraneous words have been
      * removed
      *
-     * @param are $parse_tree a parse tree for a sentence
+     * @param are $tree a parse tree for a sentence
      * @return array triplet array
      */
     public static function extractTripletsParseTree($tree)
@@ -935,8 +940,9 @@ class Tokenizer
      * Takes phrase tree $tree and a part-of-speech $pos returns
      * the deepest $pos only path in tree.
      *
-     * @param $tree phrase to extract type from
-     * @return string deepest verb
+     * @param array $tree phrase to extract type from
+     * @param string $pos the part of speech to extract
+     * @return string the label of deepest $pos only path in $tree
      */
     public static function extractDeepestSpeechPartPhrase($tree, $pos)
     {
@@ -1164,6 +1170,7 @@ class Tokenizer
      * and QUESTION_ANSWER_LIST subfields
      *
      * @param array $sub_pred_obj_triplets  in format described above
+     * @param string $type either CONCISE or RAW
      * @return array $triplets in format described above
      */
     public static function extractTripletByType($sub_pred_obj_triplets, $type)
@@ -1613,7 +1620,6 @@ class Tokenizer
     {
         return self::$question_marker;
     }
-    //private methods for sentence compression
     /**
      * From Back to Basics: CLASSY 2006 page 3:
      * 2. We remove many adverbs and all conjunctions, including phrases such
@@ -1656,7 +1662,7 @@ class Tokenizer
      * 4. For DUC 2006, we added the removal of ages such as ", 51," or
      * ", aged 24,".
      *
-     * @param string $sentenceToCompress the sentence to compress
+     * @param string $sentence_to_compress the sentence to compress
      * @return the compressed sentence
      */
     public static function compressSentenceStep4($sentence_to_compress)
diff --git a/src/locale/en_US/resources/locale.js b/src/locale/en_US/resources/locale.js
index 584c605c6..f097296b3 100755
--- a/src/locale/en_US/resources/locale.js
+++ b/src/locale/en_US/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */

diff --git a/src/locale/es/configure.ini b/src/locale/es/configure.ini
index 83f105896..d98df3774 100755
--- a/src/locale/es/configure.ini
+++ b/src/locale/es/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/es/resources/Tokenizer.php b/src/locale/es/resources/Tokenizer.php
index fe89879d8..56f60df6c 100755
--- a/src/locale/es/resources/Tokenizer.php
+++ b/src/locale/es/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\es\resources;
diff --git a/src/locale/es/resources/locale.js b/src/locale/es/resources/locale.js
index 327e934e1..79b0b5ca4 100755
--- a/src/locale/es/resources/locale.js
+++ b/src/locale/es/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/fa/configure.ini b/src/locale/fa/configure.ini
index fe549f9be..529a2fb8c 100755
--- a/src/locale/fa/configure.ini
+++ b/src/locale/fa/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/fa/resources/Tokenizer.php b/src/locale/fa/resources/Tokenizer.php
index a1d4a01dc..1dd5cd636 100755
--- a/src/locale/fa/resources/Tokenizer.php
+++ b/src/locale/fa/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\fa\resources;
@@ -36,7 +36,7 @@ namespace seekquarry\yioop\locale\fa\resources;
  * stemming algorithm by Ljiljana Dolamic and Jacques
  * Savoy of the University of Neuchâtel. The Java version of this is at
  * http://members.unine.ch/jacques.savoy/clef/persianStemmerUnicode.txt
- * (beware of Java's handling of Unicode).
+ * (beware of Java's handling of Unicode).
  * Here given a word, its stem is that part of the word that
  * is common to all its inflected variants. For example,
  * tall is common to tall, taller, tallest. A stemmer takes
@@ -152,7 +152,7 @@ class Tokenizer
      */
     private static function simplifyPrefix($word)
     {
-        if(mb_strlen($word) < 5) {
+        if (mb_strlen($word) < 5) {
             return $word;
         }
         $word = preg_replace('/^ا/u', "آ", $word);
@@ -166,7 +166,7 @@ class Tokenizer
      */
     private static function removeKasra($word)
     {
-        if(mb_strlen($word) < 5) {
+        if (mb_strlen($word) < 5) {
             return $word;
         }
         $kasra = json_decode('"\u0650"');
@@ -187,7 +187,7 @@ class Tokenizer
                 آباد | باره | بندی | بندي | ترین | ترين | ریزی |
                 ريزي | سازی | سازي | گیری | گيري | هایی | هايي
                 ) $/xu", "", $word);
-            if($modified_word != $word) {
+            if ($modified_word != $word) {
                 return $modified_word;
             }
         }
@@ -195,26 +195,26 @@ class Tokenizer
             $modified_word = preg_replace("/(?:
                     اند | ایم | ايم | شان | های | هاي
                 ) $/xu", "", $word);
-            if($modified_word != $word) {
+            if ($modified_word != $word) {
                 return $modified_word;
             }
         }
         if ($length > 5) {
             $modified_word = preg_replace("/ ان $/xu", "", $word);
-            if($modified_word != $word) {
+            if ($modified_word != $word) {
                 return self::normalize($word);
             }
             $modified_word = preg_replace("/(?:
                     ات | اش | ام | تر | را | ون | ها | هء | ین | ين
                 ) $/xu", "", $word);
-            if($modified_word != $word) {
+            if ($modified_word != $word) {
                 return $modified_word;
             }
         }
         if ($length > 3) {
             $modified_word = preg_replace("/(?: ت | ش | م | ه | ی | ي ) $/xu",
                 "", $word);
-            if($modified_word != $word) {
+            if ($modified_word != $word) {
                 return $modified_word;
             }
         }
@@ -229,14 +229,14 @@ class Tokenizer
     private static function normalize($word)
     {
         $length = mb_strlen($word);
-        if($length < 4) {
+        if ($length < 4) {
             return $word;
         }
         $modified_word = preg_replace("/(?: ت | ر | ش | گ | م | ى ) $/xu", "",
             $word);
-        if($modified_word != $word) {
+        if ($modified_word != $word) {
             $word = $modified_word;
-            if(mb_strlen($word) < 4) {
+            if (mb_strlen($word) < 4) {
                 return $word;
             }
             $word = preg_replace("/(?: ی | ي ) $/xu", "", $word);
@@ -244,4 +244,3 @@ class Tokenizer
         return $word;
     }
 }
-
diff --git a/src/locale/fa/resources/locale.js b/src/locale/fa/resources/locale.js
index 3f7631496..6178759eb 100755
--- a/src/locale/fa/resources/locale.js
+++ b/src/locale/fa/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/fr_FR/configure.ini b/src/locale/fr_FR/configure.ini
index 7d86aa86f..f3efbd61b 100755
--- a/src/locale/fr_FR/configure.ini
+++ b/src/locale/fr_FR/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/fr_FR/resources/Tokenizer.php b/src/locale/fr_FR/resources/Tokenizer.php
index f7e57883c..8d89fbf0b 100755
--- a/src/locale/fr_FR/resources/Tokenizer.php
+++ b/src/locale/fr_FR/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\fr_FR\resources;
diff --git a/src/locale/fr_FR/resources/locale.js b/src/locale/fr_FR/resources/locale.js
index 925eb280e..f74b01097 100755
--- a/src/locale/fr_FR/resources/locale.js
+++ b/src/locale/fr_FR/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/he/configure.ini b/src/locale/he/configure.ini
index 2b798b4e1..892ec3311 100755
--- a/src/locale/he/configure.ini
+++ b/src/locale/he/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/he/resources/Tokenizer.php b/src/locale/he/resources/Tokenizer.php
index 5f46551c4..aeb155828 100755
--- a/src/locale/he/resources/Tokenizer.php
+++ b/src/locale/he/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\he\resources;
diff --git a/src/locale/he/resources/locale.js b/src/locale/he/resources/locale.js
index 568b7a5f6..9b4607f6f 100755
--- a/src/locale/he/resources/locale.js
+++ b/src/locale/he/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/hi/configure.ini b/src/locale/hi/configure.ini
index 58c85e7f3..79a695c1b 100755
--- a/src/locale/hi/configure.ini
+++ b/src/locale/hi/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/hi/resources/Tokenizer.php b/src/locale/hi/resources/Tokenizer.php
index 4d90565ac..771f1e3c0 100755
--- a/src/locale/hi/resources/Tokenizer.php
+++ b/src/locale/hi/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\hi\resources;
diff --git a/src/locale/hi/resources/locale.js b/src/locale/hi/resources/locale.js
index d8e434745..115381968 100755
--- a/src/locale/hi/resources/locale.js
+++ b/src/locale/hi/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Mallika Perepa
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */

diff --git a/src/locale/in_ID/configure.ini b/src/locale/in_ID/configure.ini
index 67cddd555..ed733eaea 100755
--- a/src/locale/in_ID/configure.ini
+++ b/src/locale/in_ID/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/in_ID/resources/Tokenizer.php b/src/locale/in_ID/resources/Tokenizer.php
index 14d29aa4f..7d1e1e46b 100755
--- a/src/locale/in_ID/resources/Tokenizer.php
+++ b/src/locale/in_ID/resources/Tokenizer.php
@@ -4,7 +4,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\in_ID\resources;
diff --git a/src/locale/in_ID/resources/locale.js b/src/locale/in_ID/resources/locale.js
index 8e0d03607..fb40863ea 100755
--- a/src/locale/in_ID/resources/locale.js
+++ b/src/locale/in_ID/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/it/configure.ini b/src/locale/it/configure.ini
index 58d8f1d1f..20dff2bdb 100755
--- a/src/locale/it/configure.ini
+++ b/src/locale/it/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/it/resources/Tokenizer.php b/src/locale/it/resources/Tokenizer.php
index 57a36e7fc..bfecce67c 100755
--- a/src/locale/it/resources/Tokenizer.php
+++ b/src/locale/it/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\it\resources;
diff --git a/src/locale/it/resources/locale.js b/src/locale/it/resources/locale.js
index 82a098a9b..fe6a22e94 100755
--- a/src/locale/it/resources/locale.js
+++ b/src/locale/it/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/ja/configure.ini b/src/locale/ja/configure.ini
index 6d5f6f7c3..6cb42ec2f 100755
--- a/src/locale/ja/configure.ini
+++ b/src/locale/ja/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/ja/resources/Tokenizer.php b/src/locale/ja/resources/Tokenizer.php
index c0a6c4478..fa387c855 100755
--- a/src/locale/ja/resources/Tokenizer.php
+++ b/src/locale/ja/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\ja\resources;
diff --git a/src/locale/ja/resources/locale.js b/src/locale/ja/resources/locale.js
index 4c06a90dd..57c29b7d2 100755
--- a/src/locale/ja/resources/locale.js
+++ b/src/locale/ja/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/locale/kn/configure.ini b/src/locale/kn/configure.ini
index 96614d33b..a98651d56 100755
--- a/src/locale/kn/configure.ini
+++ b/src/locale/kn/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/kn/resources/Tokenizer.php b/src/locale/kn/resources/Tokenizer.php
index 566e97d01..a69ac77fd 100755
--- a/src/locale/kn/resources/Tokenizer.php
+++ b/src/locale/kn/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\kn\resources;
diff --git a/src/locale/kn/resources/locale.js b/src/locale/kn/resources/locale.js
index 684686446..cd4929c69 100755
--- a/src/locale/kn/resources/locale.js
+++ b/src/locale/kn/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/ko/configure.ini b/src/locale/ko/configure.ini
index 90aab0ac2..737794e3f 100755
--- a/src/locale/ko/configure.ini
+++ b/src/locale/ko/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/ko/resources/Tokenizer.php b/src/locale/ko/resources/Tokenizer.php
index ca3d3cf83..f739c6453 100755
--- a/src/locale/ko/resources/Tokenizer.php
+++ b/src/locale/ko/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\ko\resources;
diff --git a/src/locale/ko/resources/locale.js b/src/locale/ko/resources/locale.js
index 684686446..cd4929c69 100755
--- a/src/locale/ko/resources/locale.js
+++ b/src/locale/ko/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/nl/configure.ini b/src/locale/nl/configure.ini
index 62615bdb9..2f0877343 100644
--- a/src/locale/nl/configure.ini
+++ b/src/locale/nl/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/nl/resources/Tokenizer.php b/src/locale/nl/resources/Tokenizer.php
index 83f65132c..570e31ed2 100755
--- a/src/locale/nl/resources/Tokenizer.php
+++ b/src/locale/nl/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\nl\resources;
diff --git a/src/locale/nl/resources/locale.js b/src/locale/nl/resources/locale.js
index 36357b76e..2614b3aa1 100755
--- a/src/locale/nl/resources/locale.js
+++ b/src/locale/nl/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/pl/configure.ini b/src/locale/pl/configure.ini
index dc9acf05b..3482d6c0e 100755
--- a/src/locale/pl/configure.ini
+++ b/src/locale/pl/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/pl/resources/Tokenizer.php b/src/locale/pl/resources/Tokenizer.php
index a8378e937..3df51f2b9 100755
--- a/src/locale/pl/resources/Tokenizer.php
+++ b/src/locale/pl/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\pl\resources;
diff --git a/src/locale/pl/resources/locale.js b/src/locale/pl/resources/locale.js
index f2f7616e1..afc03db3a 100755
--- a/src/locale/pl/resources/locale.js
+++ b/src/locale/pl/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/pt/configure.ini b/src/locale/pt/configure.ini
index f116862b8..8e5a99fa8 100755
--- a/src/locale/pt/configure.ini
+++ b/src/locale/pt/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/pt/resources/Tokenizer.php b/src/locale/pt/resources/Tokenizer.php
index 232848ced..8f142b5e4 100755
--- a/src/locale/pt/resources/Tokenizer.php
+++ b/src/locale/pt/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Niravkumar Patel niravkumar.patel1989@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\pt\resources;
diff --git a/src/locale/pt/resources/locale.js b/src/locale/pt/resources/locale.js
index 82a098a9b..fe6a22e94 100755
--- a/src/locale/pt/resources/locale.js
+++ b/src/locale/pt/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/ru/configure.ini b/src/locale/ru/configure.ini
index a84c7af70..cf90f6d75 100755
--- a/src/locale/ru/configure.ini
+++ b/src/locale/ru/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/ru/resources/Tokenizer.php b/src/locale/ru/resources/Tokenizer.php
index 0b87b07b7..dd50299a8 100755
--- a/src/locale/ru/resources/Tokenizer.php
+++ b/src/locale/ru/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\ru\resources;
diff --git a/src/locale/ru/resources/locale.js b/src/locale/ru/resources/locale.js
index b418496d6..1f06d3a5e 100755
--- a/src/locale/ru/resources/locale.js
+++ b/src/locale/ru/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/te/configure.ini b/src/locale/te/configure.ini
index 37136dd27..7f36b6d8a 100644
--- a/src/locale/te/configure.ini
+++ b/src/locale/te/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/te/resources/Tokenizer.php b/src/locale/te/resources/Tokenizer.php
index b24ef7d04..e80056950 100755
--- a/src/locale/te/resources/Tokenizer.php
+++ b/src/locale/te/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\te\resources;
diff --git a/src/locale/te/resources/locale.js b/src/locale/te/resources/locale.js
index f8b5e2bf9..f4a7b2d89 100755
--- a/src/locale/te/resources/locale.js
+++ b/src/locale/te/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/locale/th/configure.ini b/src/locale/th/configure.ini
index e15c19279..add52ca2f 100755
--- a/src/locale/th/configure.ini
+++ b/src/locale/th/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/th/resources/Tokenizer.php b/src/locale/th/resources/Tokenizer.php
index d320cdece..86a2556d9 100755
--- a/src/locale/th/resources/Tokenizer.php
+++ b/src/locale/th/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\th\resources;
diff --git a/src/locale/th/resources/locale.js b/src/locale/th/resources/locale.js
index 684686446..cd4929c69 100755
--- a/src/locale/th/resources/locale.js
+++ b/src/locale/th/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/locale/tr/configure.ini b/src/locale/tr/configure.ini
index a7e0102c0..d74067cca 100755
--- a/src/locale/tr/configure.ini
+++ b/src/locale/tr/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/tr/resources/Tokenizer.php b/src/locale/tr/resources/Tokenizer.php
index d03cfae6b..2784870ec 100755
--- a/src/locale/tr/resources/Tokenizer.php
+++ b/src/locale/tr/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  *
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\tr\resources;
diff --git a/src/locale/tr/resources/locale.js b/src/locale/tr/resources/locale.js
index f6c727fab..51a44bfd9 100755
--- a/src/locale/tr/resources/locale.js
+++ b/src/locale/tr/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */

diff --git a/src/locale/vi_VN/configure.ini b/src/locale/vi_VN/configure.ini
index 505f29c0b..0cd1d60b5 100755
--- a/src/locale/vi_VN/configure.ini
+++ b/src/locale/vi_VN/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/vi_VN/resources/Tokenizer.php b/src/locale/vi_VN/resources/Tokenizer.php
index aa774e83a..4bcedd7ab 100755
--- a/src/locale/vi_VN/resources/Tokenizer.php
+++ b/src/locale/vi_VN/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\vi_VN\resources;
@@ -31,7 +31,7 @@ namespace seekquarry\yioop\locale\vi_VN\resources;
 /**
  * Vietnamese specific tokenization code. Typically, tokenizer.php
  * either contains a stemmer for the language in question or
- * it specifies how many characters in a char gram for Vietnamese neither
+ * it specifies how many characters in a char gram for Vietnamese neither
  * char gramming or stemming seemed to make sense, so
  * for now this file is blank.
  *
@@ -40,4 +40,4 @@ namespace seekquarry\yioop\locale\vi_VN\resources;
 class Tokenizer
 {

-}
+}
\ No newline at end of file
diff --git a/src/locale/vi_VN/resources/locale.js b/src/locale/vi_VN/resources/locale.js
index 2872f4a8f..dd9fcd318 100755
--- a/src/locale/vi_VN/resources/locale.js
+++ b/src/locale/vi_VN/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */

diff --git a/src/locale/zh_CN/configure.ini b/src/locale/zh_CN/configure.ini
index 26190ce19..fec14539c 100755
--- a/src/locale/zh_CN/configure.ini
+++ b/src/locale/zh_CN/configure.ini
@@ -1,6 +1,6 @@
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
diff --git a/src/locale/zh_CN/resources/Tokenizer.php b/src/locale/zh_CN/resources/Tokenizer.php
index 3e5d6c05b..7f7c7b0a3 100755
--- a/src/locale/zh_CN/resources/Tokenizer.php
+++ b/src/locale/zh_CN/resources/Tokenizer.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -23,7 +23,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\locale\zh_CN\resources;
diff --git a/src/locale/zh_CN/resources/locale.js b/src/locale/zh_CN/resources/locale.js
index e59c73ee6..c37d83731 100755
--- a/src/locale/zh_CN/resources/locale.js
+++ b/src/locale/zh_CN/resources/locale.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */

diff --git a/src/models/ActivityModel.php b/src/models/ActivityModel.php
index 5c2821c29..5547e8533 100755
--- a/src/models/ActivityModel.php
+++ b/src/models/ActivityModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/AdvertisementModel.php b/src/models/AdvertisementModel.php
index d2c0a9644..6ab0807ac 100644
--- a/src/models/AdvertisementModel.php
+++ b/src/models/AdvertisementModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Pushkar Umaranikar
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -73,7 +73,7 @@ class AdvertisementModel extends Model
      */
     public function selectCallback($args = null)
     {
-        if($args['ADMIN']) {
+        if ($args['ADMIN']) {
             return "A.*, U.USER_NAME";
         }
         return "*";
@@ -93,7 +93,7 @@ class AdvertisementModel extends Model
      */
     public function fromCallback($args = null)
     {
-        if($args['ADMIN']) {
+        if ($args['ADMIN']) {
             return "ADVERTISEMENT A, USERS U";
         }
         return "ADVERTISEMENT";
@@ -109,7 +109,7 @@ class AdvertisementModel extends Model
      */
     public function whereCallback($args = null)
     {
-        if($args['ADMIN']) {
+        if ($args['ADMIN']) {
             return "A.USER_ID = U.USER_ID";
         }
         return "USER_ID = '".$args['USER_ID']."'";
@@ -135,10 +135,10 @@ class AdvertisementModel extends Model
             (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
         $result = $db->execute($sql, [$user_id,
             $ad['NAME'], $ad['DESCRIPTION'], $ad['DESTINATION'],
-            mb_strtoupper($ad['KEYWORDS']), $ad['BUDGET'],
+            mb_strtoupper($ad['KEYWORDS']), $ad['BUDGET'],
             C\ADVERTISEMENT_ACTIVE_STATUS, 0, 0,
             $ad['START_DATE'], $ad['END_DATE']]);
-        if(!$result) {return; }
+        if (!$result) {return; }
         $ad_id = $db->insertID('ADVERTISEMENT');
         $ad_date_diff = strtotime($ad['END_DATE']) -
             strtotime($ad['START_DATE']) + C\ONE_DAY;
@@ -200,7 +200,7 @@ class AdvertisementModel extends Model
     public function getRelevantAdvertisement($query)
     {
         //don't serve ads of disjunctive or presentational queries
-        if(stristr($query, "|") || stristr($query, "#")) {
+        if (stristr($query, "|") || stristr($query, "#")) {
             return [];
         }
         $db = $this->db;
@@ -227,7 +227,7 @@ class AdvertisementModel extends Model
         if (!$total_row) {
             $total_sql = "
                 SELECT B.KEYWORD AS KEYWORD, SUM(B.BID_AMOUNT) AS TOTAL_AMOUNT
-                FROM ADVERTISEMENT A, ACCEPTED_AD_BIDS B
+                FROM ADVERTISEMENT A, ACCEPTED_AD_BIDS B
                 WHERE A.ID = B.AD_ID AND B.KEYWORD IN $keywords
                 AND BID_DATE = ?
                 AND A.STATUS=".C\ADVERTISEMENT_ACTIVE_STATUS. "
@@ -257,11 +257,11 @@ class AdvertisementModel extends Model
         $result = $db->execute($bid_sql, [$total_row['KEYWORD'],
             $today_date]);
         $row = [];
-        if($result) {
+        if ($result) {
             // since $rand_amount is at least 1 will go through at least once
             while($sum_seen < $rand_amount) {
                 $next_row = $db->fetchArray($result);
-                if(!$next_row) {
+                if (!$next_row) {
                     break;
                 }
                 $row = $next_row;
@@ -281,7 +281,7 @@ class AdvertisementModel extends Model
         $db = $this->db;
         $sql = "SELECT * FROM ADVERTISEMENT WHERE ID = ?";
         $result = $db->execute($sql, [$id] );
-        if($result) {
+        if ($result) {
             $row = $db->fetchArray($result);
             return $row;
         }
@@ -347,7 +347,7 @@ class AdvertisementModel extends Model
         if (!$result) {
             return C\AD_KEYWORD_INIT_BID;
         }
-        if($row = $db->fetchArray($result)) {
+        if ($row = $db->fetchArray($result)) {
             return max($row['BID_TOTAL'], C\AD_KEYWORD_INIT_BID);
         }
         return C\AD_KEYWORD_INIT_BID;
@@ -368,4 +368,4 @@ class AdvertisementModel extends Model
         $result = $this->db->execute($sql, [$ad_id, mb_strtoupper(
             $keyword), $bid_amount, $bid_date]);
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/CaptchaModel.php b/src/models/CaptchaModel.php
index 3123c5ec0..3910c7bb8 100755
--- a/src/models/CaptchaModel.php
+++ b/src/models/CaptchaModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/CrawlModel.php b/src/models/CrawlModel.php
index f613198e3..cfe1f4d1e 100755
--- a/src/models/CrawlModel.php
+++ b/src/models/CrawlModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -282,7 +282,7 @@ class CrawlModel extends ParallelModel
             $result = $db->execute($sql, $params);
             $mix['COMPONENTS'] = [];
             $count = 0;
-            if($result) {
+            if ($result) {
                 while ($row =  $db->fetchArray($result)) {
                     $mix['FRAGMENTS'][$fragment_id]['COMPONENTS'][$count] =$row;
                     $count++;
@@ -465,7 +465,7 @@ class CrawlModel extends ParallelModel
         $n[] = <<<EOT
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
@@ -1031,7 +1031,8 @@ EOT;
                 continue;
             } elseif ($return_recrawls  &&
                 isset($index_info[self::CRAWL_TYPE]) &&
-                $index_info[self::CRAWL_TYPE] == self::ARCHIVE_CRAWL) {
+                $index_info[self::CRAWL_TYPE] == self::ARCHIVE_CRAWL
+                && empty($index_info[self::ARC_TYPE])) {
                 $crawl['DESCRIPTION'] = "RECRAWL::";
             }
             $sched_path = C\CRAWL_DIR.'/schedules/'.
@@ -1047,7 +1048,8 @@ EOT;
                     }
                     $sub_dir = opendir($sub_path);
                     $i = 0;
-                    while (($sub_name = readdir($sub_dir)) !==  false && $i < 5) {
+                    while (($sub_name = readdir($sub_dir)) !==  false &&
+                        $i < 5) {
                         if ($sub_name[0] == 'A' && $sub_name[1] == 't') {
                             $crawl['RESUMABLE'] = true;
                             break 2;
@@ -1145,8 +1147,6 @@ EOT;
      * typically the caller of this method would do something such as officially
      * stop the crawl.
      *
-     * @param array $list_strings serialized crawl list data from different
-     *  queue servers
      * @param array $machine_urls an array of urls of yioop queue servers
      * @return bool whether the current crawl is stalled or not
      */
@@ -1156,7 +1156,6 @@ EOT;
             $outputs = $this->execMachines("crawlStalled", $machine_urls);
             return $this->aggregateStalled($outputs);
         }
-
         if (file_exists(C\CRAWL_DIR."/schedules/crawl_status.txt")) {
             /* assume if status not updated for CRAWL_TIME_OUT
                crawl not active (do check for both scheduler and indexer) */
@@ -1472,4 +1471,4 @@ EOT;
          }
          return $word_counts;
      }
-}
+}
\ No newline at end of file
diff --git a/src/models/CreditModel.php b/src/models/CreditModel.php
index e672dd159..41e7a4056 100644
--- a/src/models/CreditModel.php
+++ b/src/models/CreditModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -46,7 +46,7 @@ class CreditModel extends Model
      * var array
      */
     public $search_table_column_map = ["timestamp"=>"TIMESTAMP"];
-
+
     /**
      * Controls which tables and the names of tables
      * underlie the given model and should be used in a getRows call
@@ -89,7 +89,7 @@ class CreditModel extends Model
         $sql = "SELECT BALANCE FROM CREDIT_LEDGER WHERE USER_ID=?
             ORDER BY TIMESTAMP DESC " . $db->limitOffset(1);
         $result = $db->execute($sql, [$user_id]);
-        if($result && $row = $db->fetchArray($result)) {
+        if ($result && $row = $db->fetchArray($result)) {
             return $row['BALANCE'];
         } else {
             $time = time();
@@ -117,4 +117,4 @@ class CreditModel extends Model
         $db->execute($ledger_sql, [$user_id, $amount, $type,
             $balance + $amount, $time]);
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/CronModel.php b/src/models/CronModel.php
index ccbf266f7..50a3a331a 100644
--- a/src/models/CronModel.php
+++ b/src/models/CronModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/GroupModel.php b/src/models/GroupModel.php
index 6d4674c5e..197595677 100644
--- a/src/models/GroupModel.php
+++ b/src/models/GroupModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Mallika Perepa, Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -569,8 +569,8 @@ class GroupModel extends Model implements MediaConstants
     /**
      * To update the OWNER_ID of a group
      *
-     * @param string $group_id  the group id  to transfer admin privileges
      * @param string $user_id the id of the user who becomes the admin of group
+     * @param string $group_id  the group id  to transfer admin privileges
      */
     public function changeOwnerGroup($user_id, $group_id)
     {
@@ -898,10 +898,15 @@ class GroupModel extends Model implements MediaConstants
         return $groups;
     }
     /**
-     * Update privacy_views in item_impression_summary table
+     * Used to update the fuzzified view counts of a thread item.
      *
-     * @param int $item_id id of the item
-     * @param int $num_views number of views
+     * @param int $item_id id of the thread item to update fuzzified counts for
+     * @param int $num_views current number of views for item. This value
+     *  is stored in the TMP_NUM_VIEWS column to remember the last time the
+     *  FUZZY_NUM_VIEWS column was updated. Only when the TMP_NUM_VIEWS column
+     *  differs from the NUM_VIEWS COLUMN will this method need to be called.
+     * @param int $fuzzy_num_views number of views after epsilon privacy
+     *  fuzzification applied.
      */
     public function updatePrivacyViews($item_id, $num_views, $fuzzy_num_views)
     {
@@ -1135,7 +1140,7 @@ class GroupModel extends Model implements MediaConstants
             $linked_page_id = $this->getPageId($group_id, $link_page_name,
                 $locale_tag);
             //insert into GROUP_PAGE_LINK values of parent and child links
-            if(!$linked_page_id) {
+            if (!$linked_page_id) {
                 $db->execute($pre_link_sql, [$relationship_id, $page_id,
                     $group_id, $link_page_name]);
             } else {
@@ -1151,7 +1156,13 @@ class GroupModel extends Model implements MediaConstants
         return $page_id;
     }
     /**
+     * Returns an array page_id => page_name of all templates for a given
+     * Group for a given language
      *
+     * @param int $group_id id of group to produce template map for
+     * @param string $locale_tag of language to produce template map for
+     * @return array page_id => page_name for each template for the given
+     *  group in the provided language
      */
     public function getTemplateMap($group_id, $locale_tag)
     {
@@ -1200,6 +1211,9 @@ class GroupModel extends Model implements MediaConstants
      * by providing a particular relationship type.
      *
      * @param int $page_id identifier for the current page
+     * @param int $group_id group that wiki page belongs
+     * @param string $page_name name of the current page (in case page didn't
+     *   exist before)
      * @param string $relationship the type of relationship
            linking the wiki pages
      * @param string $limit first row we want from the result set
@@ -1474,8 +1488,9 @@ class GroupModel extends Model implements MediaConstants
      *
      * @param int $group_id group identifier of group wiki page belongs to
      * @param int $page_id identifier for page want folder paths for
-     * @param bool $create whether to create folders or not if these don't
-     *      exist
+     * @param string $sub_path file system path within the resource folder
+     *      to get the folder name for
+     * @param bool $create if folder doesn't exist whether to create it or not
      * @param bool $check_redirect whether to check the default group page
      *      folder for a redirect to a different folder
      * @return array (page_folder, thumb_folder)
@@ -1567,14 +1582,16 @@ class GroupModel extends Model implements MediaConstants
         return false;
     }
     /**
-     * Given a wiki that has been parsed to html except for wiki syntax related
-     * to resource, this method add the html to include these resources
+     * Given a wiki page that has been parsed to html except for wiki syntax
+     * related to resource, this method add the html to include these resources
      *
      * @param int $group_id group identifier of group wiki page belongs to
      * @param int $page_id identifier for page want to parse resources for
      * @param string $locale_tag the locale of the parsed page.
      * @param string $parsed_page the parsed wiki page before resources added
      * @param string $csrf_token to prevent cross-site request forgery
+     * @param string $controller name of controller (admin or group) that
+     *  inserted urls should be for
      * @return string resulting html page
      */
     public function insertResourcesParsePage($group_id, $page_id, $locale_tag,
@@ -1968,7 +1985,7 @@ class GroupModel extends Model implements MediaConstants
         if (!move_uploaded_file($tmp_name, "$folder/$file_name")) {
             return;
         }
-        $this->makeThumbStripExif($file_name, $folder, $thumb_folder,
+        $this->makeThumbStripExif ($file_name, $folder, $thumb_folder,
             $mime_type);
         if (C\nsdefined('FFMPEG') && in_array($mime_type, [
             'video/mp4', 'video/webm', 'video/ogg', 'video/avi',
@@ -2002,6 +2019,8 @@ class GroupModel extends Model implements MediaConstants
      * @param string $file_name file name of page resource desired
      * @param int $group_id group identifier of group wiki page belongs to
      * @param int $page_id identifier for page want copy a page resource for
+     * @param string $sub_path subpath with the resource folder that should be
+     *  used to look up filename in
      */
     public function getPageResource($file_name, $group_id, $page_id,
         $sub_path = "")
@@ -2019,8 +2038,11 @@ class GroupModel extends Model implements MediaConstants
      * to the appropriate folder for that wiki page.
      *
      * @param string $file_name file name of page resource desired
+     * @param string $resource_data the data to be saved
      * @param int $group_id group identifier of group wiki page belongs to
      * @param int $page_id identifier for page want copy a page resource for
+     * @param string $sub_path subpath with the resource folder that should be
+     *  add to resource path and filename
      */
     public function setPageResource($file_name, $resource_data, $group_id,
         $page_id, $sub_path = "")
@@ -2045,10 +2067,10 @@ class GroupModel extends Model implements MediaConstants
      * @param string $mime_type the mime type of the file
      * @return bool whether a thumb was made or not
      */
-    function makeThumbStripExif($file_name, $folder, $thumb_folder,
+    function makeThumbStripExif ($file_name, $folder, $thumb_folder,
         $mime_type = "")
     {
-        if($mime_type == "") {
+        if ($mime_type == "") {
             $mime_type = L\mimeType($file_name, true);
         }
         $image_types = ['image/png', 'image/gif', 'image/jpeg',
@@ -2067,8 +2089,8 @@ class GroupModel extends Model implements MediaConstants
                 restore_error_handler();
                 $exif = @exif_read_data("$folder/$file_name");
                 set_error_handler(C\NS_LIB . "yioop_error_handler");
-                if(!empty($exif['Orientation'])) {
-                    switch($exif['Orientation']) {
+                if (!empty($exif['Orientation'])) {
+                    switch ($exif['Orientation']) {
                         case 8:
                             $image = imagerotate($image, 90, 0);
                             break;
@@ -2157,8 +2179,7 @@ class GroupModel extends Model implements MediaConstants
      *      file name of the resource, has_thumb a boolean as to whether the
      *      resource has a thumb)
      */
-    public function getGroupPageResourceUrls($group_id, $page_id, $sub_path="",
-        $filter = [])
+    public function getGroupPageResourceUrls($group_id, $page_id, $sub_path="")
     {
         $folders = $this->getGroupPageResourcesFolders($group_id, $page_id,
             $sub_path);
@@ -2226,7 +2247,7 @@ class GroupModel extends Model implements MediaConstants
             } else if (!$resource['is_dir'] &&
                 time() < $time + C\PAGE_TIMEOUT/2) {
                 $resource['has_thumb'] =
-                    $this->makeThumbStripExif($name, $folder, $thumb_folder);
+                    $this->makeThumbStripExif ($name, $folder, $thumb_folder);
             }
             $resources[] = $resource;
         }
@@ -2401,4 +2422,4 @@ class GroupModel extends Model implements MediaConstants
         unset($bots[$i]); //last one will be null
         return $bots;
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/ImpressionModel.php b/src/models/ImpressionModel.php
index 94d26edea..4713f3f25 100644
--- a/src/models/ImpressionModel.php
+++ b/src/models/ImpressionModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -286,7 +286,7 @@ class ImpressionModel extends Model
      * @param int $type the impression type to get data for
      * @param int $period time period for which to show stats
      * @param int $item_id item identifier of item for which to show stats
-     * @return array
+     * @return array
      */
     public function getPeriodHistogramData($type, $period, $item_id)
     {
@@ -409,4 +409,4 @@ class ImpressionModel extends Model
         $db->execute($sql, [$user_id, $item_id, $type_id]);
         $db->execute($sql, [C\PUBLIC_USER_ID, $item_id, $type_id]);
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/LocaleModel.php b/src/models/LocaleModel.php
index 469bfb5d2..a315d82c9 100755
--- a/src/models/LocaleModel.php
+++ b/src/models/LocaleModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -191,9 +191,9 @@ class LocaleModel extends Model
         // renames locale using old style locale dir naming
         if (file_exists($old_style_dir)) {
             $get_update_dirs = glob(C\LOCALE_DIR . "/*",  GLOB_ONLYDIR);
-            foreach($get_update_dirs as $dir) {
+            foreach ($get_update_dirs as $dir) {
                 $new_dir = str_replace("-", "_", $dir);
-                if($new_dir != $dir) {
+                if ($new_dir != $dir) {
                     rename($dir, $new_dir);
                 }
                 if  (file_exists($new_dir . "/resources/tokenizer.php")) {
@@ -699,7 +699,7 @@ class LocaleModel extends Model
         $n[] = <<<EOT
 ; ***** BEGIN LICENSE BLOCK *****
 ;  SeekQuarry/Yioop Open Source Pure PHP Search Engine, Crawler, and Indexer
-;  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+;  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
 ;
 ;  This program is free software: you can redistribute it and/or modify
 ;  it under the terms of the GNU General Public License as published by
@@ -963,4 +963,4 @@ EOT;
         closedir($dh);
         return $strings;
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/MachineModel.php b/src/models/MachineModel.php
index f1e2cf7b3..87c81bd39 100644
--- a/src/models/MachineModel.php
+++ b/src/models/MachineModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/Model.php b/src/models/Model.php
index c47c93904..17f2d9b16 100755
--- a/src/models/Model.php
+++ b/src/models/Model.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */

@@ -233,7 +233,7 @@ class Model implements CrawlConstants
             return $text;
         }
         $ellipsis = "";
-        if($words_change || empty($search_words)) {
+        if ($words_change || empty($search_words)) {
             $search_words = [];
             foreach ($words as $word) {
                 $search_words = array_merge($search_words, explode(" ", $word));
@@ -242,7 +242,7 @@ class Model implements CrawlConstants

             $word_regex = "";
             $delim = "";
-            foreach($search_words as $word) {
+            foreach ($search_words as $word) {
                 $word_regex .= $delim . preg_quote($word, '/');
                 $delim = "|";
             }
@@ -270,12 +270,12 @@ class Model implements CrawlConstants
             $word_locations = [];
             preg_match_all($start_regex2 .$word_regex. $end_regex2,
                 $text_source, $matches);
-            if(isset($matches[0])) {
-                foreach($matches[0] as $match) {
-                    if($match >= $description_length) {
+            if (isset($matches[0])) {
+                foreach ($matches[0] as $match) {
+                    if ($match >= $description_length) {
                         $match = mb_substr($match, 0, $description_length);
                         $rpos = strrpos($match, " ");
-                        if($rpos) {
+                        if ($rpos) {
                             $match = mb_substr($match, 0, $rpos);
                         }
                     }
@@ -626,4 +626,4 @@ class Model implements CrawlConstants
     {
         return $rows;
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/ParallelModel.php b/src/models/ParallelModel.php
index 1c283cbbf..a52662aa3 100755
--- a/src/models/ParallelModel.php
+++ b/src/models/ParallelModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/PhraseModel.php b/src/models/PhraseModel.php
index cc6689e67..ee93a6637 100755
--- a/src/models/PhraseModel.php
+++ b/src/models/PhraseModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/ProfileModel.php b/src/models/ProfileModel.php
index 974ffcecc..30e8bda11 100755
--- a/src/models/ProfileModel.php
+++ b/src/models/ProfileModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -272,7 +272,7 @@ class ProfileModel extends Model
             "SCRAPER" =>
                 "CREATE TABLE SCRAPER (ID $serial PRIMARY KEY
                 $auto_increment, NAME VARCHAR(" .
-                C\TITLE_LEN . ") UNIQUE, SIGNATURE VARCHAR("
+                C\TITLE_LEN . ") UNIQUE, SIGNATURE VARCHAR("
                 . C\TITLE_LEN . ")," .
                 "SCRAPE_RULES VARCHAR(" . C\TITLE_LEN . "))",
             "SUBSEARCH" => "CREATE TABLE SUBSEARCH (
@@ -767,4 +767,4 @@ EOT;
         }
         return $match;
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/RoleModel.php b/src/models/RoleModel.php
index 864ca2438..e488616b2 100644
--- a/src/models/RoleModel.php
+++ b/src/models/RoleModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -308,7 +308,7 @@ class RoleModel extends Model
      * @param string $role_name to use to look up a role_id
      * @param object $db a $database source used to run the role table queries
      *  on
-     *
+     *
      * @return string  role_id corresponding to the rolename.
      */
     public static function getRoleIdWithDb($role_name, $db)
@@ -320,4 +320,4 @@ class RoleModel extends Model
         }
         return $row['ROLE_ID'];
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/ScraperModel.php b/src/models/ScraperModel.php
index ca9e0b5ff..2648c2af1 100644
--- a/src/models/ScraperModel.php
+++ b/src/models/ScraperModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.orgs
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/SearchfiltersModel.php b/src/models/SearchfiltersModel.php
index 109c81932..3d2a989f4 100644
--- a/src/models/SearchfiltersModel.php
+++ b/src/models/SearchfiltersModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/SigninModel.php b/src/models/SigninModel.php
index 3771a1066..1c89e13b7 100755
--- a/src/models/SigninModel.php
+++ b/src/models/SigninModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.orgs
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/SourceModel.php b/src/models/SourceModel.php
index e1a002e41..ad3008950 100644
--- a/src/models/SourceModel.php
+++ b/src/models/SourceModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.orgs
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -284,7 +284,7 @@ class SourceModel extends ParallelModel
     public function getSubsearchName($folder_name, $locale_tag)
     {
         $subsearch = $this->getSubsearch($folder_name);
-        if(isset($subsearch['LOCALE_STRING'])) {
+        if (isset($subsearch['LOCALE_STRING'])) {
             return $this->translateDb($subsearch['LOCALE_STRING'], $locale_tag);
         }
         return $folder_name;
@@ -358,4 +358,4 @@ class SourceModel extends ParallelModel
         $sql = "DELETE FROM TRANSLATION WHERE IDENTIFIER_STRING = ?";
         $db->execute($sql, [$locale_string]);
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/UserModel.php b/src/models/UserModel.php
index 8d3802679..e8bb7b2da 100755
--- a/src/models/UserModel.php
+++ b/src/models/UserModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
@@ -157,7 +157,7 @@ class UserModel extends Model
         $get_roles = false)
     {
         $db = $this->db;
-        if($get_roles) {
+        if ($get_roles) {
             $select = "UR.ROLE_ID";
         } else {
             $select = "COUNT(*)";
@@ -170,14 +170,14 @@ class UserModel extends Model
         $role_ids = [];
         if ($result) {
             while($row = $db->fetchArray($result)) {
-                if($get_roles) {
+                if ($get_roles) {
                     $role_ids[] = $row["ALLOWED"];
                 } else if (isset($row["ALLOWED"]) && $row["ALLOWED"] > 0) {
                     return true;
                 }
             }
         }
-        if($role_ids == []) {
+        if ($role_ids == []) {
             return false;
         }
         return $role_ids;
@@ -374,7 +374,7 @@ class UserModel extends Model
      * Add a user with a given username and password to the list of users
      * that can login to the admin panel
      *
-     * @param string $user_name  the username of the user to be added
+     * @param string $username  the username of the user to be added
      * @param string $password  the password in plaintext
      *      of the user to be added, and ZKP auth not being used (else
      *      this can be the empty string)
@@ -498,7 +498,7 @@ class UserModel extends Model
             $result = $db->execute($sql, [$user_id, $bot_id]);
             if ($result) {
                 while ($row = $db->fetchArray($result)) {
-                    if($row["NUM"] > 0) {
+                    if ($row["NUM"] > 0) {
                         $is_bot = true;
                     } else {
                         $is_bot = false;
@@ -524,16 +524,16 @@ class UserModel extends Model
             "CHAT_BOT CB WHERE CB.USER_ID = ? ";
         $result = $db->execute($sql, [$user['USER_ID']]);
         $is_new_bot = false;
-        if($result) {
+        if ($result) {
             while ($row = $db->fetchArray($result)) {
-                if($row["NUM"] > 0) {
+                if ($row["NUM"] > 0) {
                     $is_new_bot = false;
                 } else {
                     $is_new_bot = true;
                 }
             }
         }
-        if($is_new_bot) {
+        if ($is_new_bot) {
             $sql = "INSERT INTO CHAT_BOT(USER_ID, BOT_TOKEN,
                 CALLBACK_URL) VALUES (?, ?, ?)";
             $result = $db->execute($sql,[$user['USER_ID'], $user['BOT_TOKEN'],
@@ -562,4 +562,4 @@ class UserModel extends Model
             $this->db->execute($sql, $params);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/VisitorModel.php b/src/models/VisitorModel.php
index 6601f3e80..b41805fb1 100644
--- a/src/models/VisitorModel.php
+++ b/src/models/VisitorModel.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models;
diff --git a/src/models/datasources/DatasourceManager.php b/src/models/datasources/DatasourceManager.php
index 78f3330a0..630e6b49c 100755
--- a/src/models/datasources/DatasourceManager.php
+++ b/src/models/datasources/DatasourceManager.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models\datasources;
@@ -34,7 +34,7 @@ use seekquarry\yioop\configs as C;
 use seekquarry\yioop\library as L;

 /**
- * For timer function, if debug level set to include query statistics
+ * For timer function, if debug level set to include query statistics
  * and Yioop constants
  */
 require_once __DIR__."/../../library/Utility.php";
@@ -317,7 +317,7 @@ abstract class DatasourceManager
     public function serialType($dbinfo)
     {
         $serial = "INTEGER"; //ONLY POSTGRES IS WEIRD
-        if (strtolower($dbinfo['DBMS']) == 'pdo' &&
+        if (strtolower($dbinfo['DBMS']) == 'pdo' &&
             stristr($dbinfo['DB_HOST'], 'PGSQL')) {
             $serial = "SERIAL"; //POSTGRES
         }
@@ -332,7 +332,7 @@ abstract class DatasourceManager
      * rows. In the case that $dbinfo is not provided the current Yioop
      * default database is used.
      *
-     * @param int $start starting row to return from if($num == -1, i.e.,
+     * @param int $start starting row to return from if ($num == -1, i.e.,
      *      not supplied in the call) then this is is the number of rows desired
      * @param int $num number of rows to return
      * @param array $dbinfo containing fields for how to connect to a database
@@ -385,4 +385,4 @@ abstract class DatasourceManager
         }
         return true;
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/datasources/MysqlManager.php b/src/models/datasources/MysqlManager.php
index 54ca3a2f5..1506e55a7 100755
--- a/src/models/datasources/MysqlManager.php
+++ b/src/models/datasources/MysqlManager.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models\datasources;
diff --git a/src/models/datasources/PdoManager.php b/src/models/datasources/PdoManager.php
index 0c22f00ba..d858668f4 100644
--- a/src/models/datasources/PdoManager.php
+++ b/src/models/datasources/PdoManager.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models\datasources;
@@ -115,7 +115,7 @@ class PdoManager extends DatasourceManager
             if (!$statement) {
                 $statement = $this->pdo->prepare($sql);
             }
-            if(!$statement) {
+            if (!$statement) {
                 return false;
             }
             try {
@@ -215,4 +215,4 @@ class PdoManager extends DatasourceManager
             pair of quotes we need to strip inner quotes
         */
     }
-}
+}
\ No newline at end of file
diff --git a/src/models/datasources/Sqlite3Manager.php b/src/models/datasources/Sqlite3Manager.php
index 96980e792..4b9e2d143 100644
--- a/src/models/datasources/Sqlite3Manager.php
+++ b/src/models/datasources/Sqlite3Manager.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\models\datasources;
diff --git a/src/privacy.php b/src/privacy.php
index 491ce7ceb..bd7713eef 100755
--- a/src/privacy.php
+++ b/src/privacy.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
diff --git a/src/scripts/basic.js b/src/scripts/basic.js
index e5ea0add2..166911ac1 100755
--- a/src/scripts/basic.js
+++ b/src/scripts/basic.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
@@ -278,7 +278,7 @@ function updateCharCountdown(text_field_id, display_box_id)
 {
     text_field = elt(text_field_id);
     display_box = elt(display_box_id);
-    if(typeof text_field.maxLength != 'undefined' && display_box) {
+    if (typeof text_field.maxLength != 'undefined' && display_box) {
         display_box.innerHTML = text_field.maxLength - text_field.value.length;
     }
 }
@@ -716,4 +716,4 @@ function renderPdfPage(media_obj, num)
     elt('pos-'+media_name).innerHTML = (ready) ? current_page + "/" +
         total_pages : "-/-";
     elt('range-'+media_name).value = percent;
- }
+ }
\ No newline at end of file
diff --git a/src/scripts/big_int.js b/src/scripts/big_int.js
index 2663a13a4..6739f07e3 100644
--- a/src/scripts/big_int.js
+++ b/src/scripts/big_int.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016    Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017    Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  *     Ideas adapted Leemon Baird's bigint.js
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/scripts/chart.js b/src/scripts/chart.js
index e5f62d3e0..a782f3661 100644
--- a/src/scripts/chart.js
+++ b/src/scripts/chart.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -159,7 +159,7 @@ function Chart(chart_id, data)
             {"maximumFractionDigits":2});
         // Draw y ticks and values
         for (var val = min_y; val < max_y + spacing_y; val += spacing_y) {
-            y = self.tick_length + height *
+            y = self.tick_length + height *
                 (1 - (val - self.min_value)/self.range);
             c.font = self.tick_font_size + "px serif";
             c.fillText(num_format.format(val), 0, y + self.tick_font_size/2,
@@ -175,7 +175,7 @@ function Chart(chart_id, data)
         var x = self.x_padding;
         for (key in data) {
             c.font = self.tick_font_size + "px serif";
-            c.fillText(key, x - self.tick_font_size/2 * (key.length - 0.5),
+            c.fillText(key, x - self.tick_font_size/2 * (key.length - 0.5),
                 self.height - self.y_padding +  self.tick_length +
                 self.tick_font_size, self.tick_font_size * (key.length - 0.5));
             c.beginPath();
@@ -223,11 +223,11 @@ function Chart(chart_id, data)
         c.moveTo(x, self.tick_length + height * (1 -
             (data[self.start] - self.min_value)/self.range));
         for (key in data) {
-            y = self.tick_length + height *
+            y = self.tick_length + height *
                 (1 - (data[key] - self.min_value)/self.range);
             c.lineTo(x, y);
             x += dx;
         }
         c.stroke();
     }
-}
+}
\ No newline at end of file
diff --git a/src/scripts/classifiers.js b/src/scripts/classifiers.js
index 3ae85ff17..2f91940a2 100644
--- a/src/scripts/classifiers.js
+++ b/src/scripts/classifiers.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /**
diff --git a/src/scripts/hash_captcha.js b/src/scripts/hash_captcha.js
index 7ae0c1111..ea3414903 100644
--- a/src/scripts/hash_captcha.js
+++ b/src/scripts/hash_captcha.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/scripts/help.js b/src/scripts/help.js
index 5a45e6f1c..57c8bb92f 100644
--- a/src/scripts/help.js
+++ b/src/scripts/help.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 current_activity_closed = true;
diff --git a/src/scripts/history.js b/src/scripts/history.js
index 044c154cc..f26681229 100644
--- a/src/scripts/history.js
+++ b/src/scripts/history.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Akshat Kukreti
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 if (typeof(elt) == "undefined") {
diff --git a/src/scripts/mix.js b/src/scripts/mix.js
index 8dc9ad816..063eb0452 100644
--- a/src/scripts/mix.js
+++ b/src/scripts/mix.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/scripts/register_validator.js b/src/scripts/register_validator.js
index c3547fa3f..dfb858074 100644
--- a/src/scripts/register_validator.js
+++ b/src/scripts/register_validator.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sarika Padmashali (tweaks cpollett)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
@@ -41,7 +41,7 @@ function emailValid()
 {
     var mail_format = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
     var email_field = elt("email");
-    if(email_field.value.match(mail_format)) {
+    if (email_field.value.match(mail_format)) {
         var email_error = elt("email-error");
         email_error.innerHTML = "<span class=\"green\">" +
             tl['register_validator_js_valid_email'] + "</span>";
@@ -201,4 +201,4 @@ elt("pass-word").addEventListener("keyup", function() {
 elt("retype-password").addEventListener("keyup",  function() {
     passwordMatch();
     setSubmitStatus();
-});
+});
\ No newline at end of file
diff --git a/src/scripts/sha1.js b/src/scripts/sha1.js
index 8c3dd7657..861c9c03f 100644
--- a/src/scripts/sha1.js
+++ b/src/scripts/sha1.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/scripts/slidy.js b/src/scripts/slidy.js
index ecf58387a..9692c2896 100644
--- a/src/scripts/slidy.js
+++ b/src/scripts/slidy.js
@@ -711,9 +711,9 @@ var w3c_slidy = {
         left.appendChild(contents);
         var gap2 = document.createTextNode(" ");
         left.appendChild(gap2);
-        var links = document.getElementsByTagName("link");
-        for (var i = 0; i < links.length; i++) {
-            if (links[i].getAttribute("rel") == "prev" ) {
+        var links = document.getElementsByTagName("link");
+        for (var i = 0; i < links.length; i++) {
+            if (links[i].getAttribute("rel") == "prev" ) {
                 w3c_slidy.up_link = links[i].getAttribute("href");
             }
         }
@@ -946,7 +946,7 @@ var w3c_slidy = {
         if (w3c_slidy.slide_number >= 0)
         uri = uri + hash;
         if (typeof(history.pushState) != "undefined") {
-            document.title = w3c_slidy.title + " (" +
+            document.title = w3c_slidy.title + " (" +
                 (w3c_slidy.slide_number+1) + ")";
             history.pushState(0, document.title, hash);
             w3c_slidy.show_slide_number();
@@ -1160,7 +1160,7 @@ var w3c_slidy = {
     last_slide: function () {
         if (!w3c_slidy.view_all) {
             var slide;
-            w3c_slidy.last_shown = null;
+            w3c_slidy.last_shown = null;
             if (w3c_slidy.last_shown == null &&
               w3c_slidy.slide_number < w3c_slidy.slides.length - 1) {
                 slide = w3c_slidy.slides[w3c_slidy.slide_number];
@@ -2377,4 +2377,4 @@ var w3c_slidy = {
 w3c_slidy.set_up();
 // hide the slides as soon as body element is available
 // to reduce annoying screen mess before the onload event
-setTimeout(w3c_slidy.hide_slides, 50);
+setTimeout(w3c_slidy.hide_slides, 50);
\ No newline at end of file
diff --git a/src/scripts/suggest.js b/src/scripts/suggest.js
index 6402bae2a..a51acbfca 100644
--- a/src/scripts/suggest.js
+++ b/src/scripts/suggest.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Sandhya Vissapragada, Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016s
+ * @copyright 2009 - 2017s
  * @filesource
  */
 /*
diff --git a/src/scripts/wiki.js b/src/scripts/wiki.js
index f23661d27..52d8415e6 100755
--- a/src/scripts/wiki.js
+++ b/src/scripts/wiki.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
diff --git a/src/scripts/zkp.js b/src/scripts/zkp.js
index 859a029b3..e3a5cd047 100644
--- a/src/scripts/zkp.js
+++ b/src/scripts/zkp.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Akash Patel (edited by Chris Pollett chris@pollett.org)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /*
diff --git a/src/terms.php b/src/terms.php
index 01db9dbcd..00c8c3523 100755
--- a/src/terms.php
+++ b/src/terms.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
diff --git a/src/views/AdminView.php b/src/views/AdminView.php
index a60436ee8..7a102068e 100755
--- a/src/views/AdminView.php
+++ b/src/views/AdminView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/ApiView.php b/src/views/ApiView.php
index a9d3d175c..aa1524f6e 100644
--- a/src/views/ApiView.php
+++ b/src/views/ApiView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/CrawlstatusView.php b/src/views/CrawlstatusView.php
index 4b6eaa5e7..e0b26a26d 100755
--- a/src/views/CrawlstatusView.php
+++ b/src/views/CrawlstatusView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/FeedstatusView.php b/src/views/FeedstatusView.php
index 5c0c4b869..423c55cf5 100644
--- a/src/views/FeedstatusView.php
+++ b/src/views/FeedstatusView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/FetchView.php b/src/views/FetchView.php
index c17da965b..18a3b02d6 100755
--- a/src/views/FetchView.php
+++ b/src/views/FetchView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/GroupView.php b/src/views/GroupView.php
index acefe8072..9848ceff2 100644
--- a/src/views/GroupView.php
+++ b/src/views/GroupView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/MachinestatusView.php b/src/views/MachinestatusView.php
index 3a8cce195..fe4ef111a 100644
--- a/src/views/MachinestatusView.php
+++ b/src/views/MachinestatusView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
@@ -197,7 +197,7 @@ class MachinestatusView extends View
             }
             if (!$name_server_update) {
                 $colspan = " colspan='2' ";
-                if(C\MOBILE) {
+                if (C\MOBILE) {
                     e('</tr><tr>');
                     $colspan = "";
                 }
@@ -219,7 +219,7 @@ class MachinestatusView extends View
             ?>
             </tr>
             <?php
-            if(!C\MOBILE) {
+            if (!C\MOBILE) {
                 ?>
                 <tr class="machine-table-hr"><td class="machine-table-hr"
                     colspan="10"><hr/></td></tr>
@@ -258,7 +258,7 @@ class MachinestatusView extends View
                         $toggle, $on_fetcher, $off_fetcher, $caution);?></td>
                     </tr>
                     </table></td><?php
-                    if($i % $machine_wrap_number ==
+                    if ($i % $machine_wrap_number ==
                         ($machine_wrap_number - 1) % $machine_wrap_number){
                         ?>
                         </tr><tr>
@@ -271,4 +271,4 @@ class MachinestatusView extends View
         }
     }
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/NocacheView.php b/src/views/NocacheView.php
index d77236c51..b1f33b42d 100755
--- a/src/views/NocacheView.php
+++ b/src/views/NocacheView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/RecoverView.php b/src/views/RecoverView.php
index 9144d0831..0023eecf6 100644
--- a/src/views/RecoverView.php
+++ b/src/views/RecoverView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/RegisterView.php b/src/views/RegisterView.php
index 3629ba666..acea9bd7d 100755
--- a/src/views/RegisterView.php
+++ b/src/views/RegisterView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
@@ -345,7 +345,7 @@ class RegisterView extends View
                         <input type="hidden"
                             name="<?php e(C\CSRF_TOKEN);?>"
                             value="<?php e($data[C\CSRF_TOKEN]); ?>"/>
-                            <button id="submit" type="submit"><?=
+                            <button id="submit" type="submit"><?=
                             tl('register_view_create_account')
                             ?></button>
                         </td>
@@ -374,4 +374,4 @@ class RegisterView extends View
         }
       }
     }
-    ?>
+    ?>
\ No newline at end of file
diff --git a/src/views/ResendEmailView.php b/src/views/ResendEmailView.php
index 22bd74e1e..0a43a9fb0 100644
--- a/src/views/ResendEmailView.php
+++ b/src/views/ResendEmailView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/RssView.php b/src/views/RssView.php
index 840ef41ac..5bb88429d 100644
--- a/src/views/RssView.php
+++ b/src/views/RssView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/SearchView.php b/src/views/SearchView.php
index a22457b39..6e4a9681b 100755
--- a/src/views/SearchView.php
+++ b/src/views/SearchView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
@@ -74,8 +74,8 @@ class SearchView extends View implements CrawlConstants
         <?php
         }
         $logged_in = isset($data["ADMIN"]) && $data["ADMIN"];
-        $query_parts = [];
-        if($logged_in) {
+        $query_parts = [];
+        if ($logged_in) {
             $query_parts[C\CSRF_TOKEN] = $data[C\CSRF_TOKEN];
         }
         $logo = C\BASE_URL . C\LOGO;
@@ -453,4 +453,4 @@ class SearchView extends View implements CrawlConstants
         </div>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/SettingsView.php b/src/views/SettingsView.php
index 6cf51927c..819167bcf 100755
--- a/src/views/SettingsView.php
+++ b/src/views/SettingsView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
@@ -99,7 +99,7 @@ if (count($data['LANGUAGES']) > 1) { ?>
         type="hidden" name="return" value="<?= $data['return'] ?>" />
     <?php } ?><?php if (isset($data['oldc'])){ ?><input
         type="hidden" name="oldc" value="<?= $data['oldc'] ?>" />
-    <?php } ?><input type="hidden" name="its" value="<?=$data['its']
+    <?php } ?><input type="hidden" name="its" value="<?=$data['its']
     ?>" /><button class="top-margin" name="c" value="search" <?php
         if (isset($data['RETURN'])) {
             e(' onclick="javascript:window.location.href='."'".
@@ -119,4 +119,4 @@ if (count($data['LANGUAGES']) > 1) { ?>
 </div>
 <div class='landing-spacer'></div><?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/SigninView.php b/src/views/SigninView.php
index 5423fbe5e..8f96d1a19 100755
--- a/src/views/SigninView.php
+++ b/src/views/SigninView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/StaticView.php b/src/views/StaticView.php
index f9be6476d..4922abe4a 100644
--- a/src/views/StaticView.php
+++ b/src/views/StaticView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
@@ -98,7 +98,7 @@ class StaticView extends View
                         $data["value"]);
                     e($page);
                 } else {
-                    if (!empty($data['MEDIA_NAME'])) {
+                    if (!empty($data['MEDIA_NAME'])) {
                         $folder_prefix = C\BASE_URL . "/p/".
                             $data['PAGE_NAME']. '?' . $token_string;
                         ?>
@@ -120,7 +120,7 @@ class StaticView extends View
                         </div><?php
                         e($this->element("wiki")->dynamicSubstitutions(
                             C\PUBLIC_GROUP_ID, $data, $data['PAGE']));
-                    } else if(isset($data['page_type']) &&
+                    } else if (isset($data['page_type']) &&
                         $data['page_type'] == 'media_list') {
                         $this->element("wiki")->renderResources($data, true,
                             false);
@@ -145,4 +145,4 @@ class StaticView extends View
             <?php
         }
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/SuggestView.php b/src/views/SuggestView.php
index cca150a6d..13b67c5e4 100644
--- a/src/views/SuggestView.php
+++ b/src/views/SuggestView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/View.php b/src/views/View.php
index 02ae33ca4..a5b8d3691 100644
--- a/src/views/View.php
+++ b/src/views/View.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/WikiView.php b/src/views/WikiView.php
index 7f5fab7c5..60e180871 100644
--- a/src/views/WikiView.php
+++ b/src/views/WikiView.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views;
diff --git a/src/views/elements/ActivityElement.php b/src/views/elements/ActivityElement.php
index a23d5aa4b..93420b8c8 100755
--- a/src/views/elements/ActivityElement.php
+++ b/src/views/elements/ActivityElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.orgs
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ApiElement.php b/src/views/elements/ApiElement.php
index 3667289ac..d47d94710 100644
--- a/src/views/elements/ApiElement.php
+++ b/src/views/elements/ApiElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/AppearanceElement.php b/src/views/elements/AppearanceElement.php
index aed50f27d..419a35e06 100644
--- a/src/views/elements/AppearanceElement.php
+++ b/src/views/elements/AppearanceElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -74,14 +74,14 @@ class AppearanceElement extends Element
                 name="LANDING_PAGE" value='true' <?php
                 if ($data['LANDING_PAGE'] == true) {
                     e("checked='checked'");} ?>/></div>
-            <div class="top-margin"><label for="back-color"><?=
+            <div class="top-margin"><label for="back-color"><?=
                 tl('appearance_element_background_color') ?></label>
             <input type="color" id="back-color"
                 name="BACKGROUND_COLOR" class="narrow-field" value='<?=
                 $data["BACKGROUND_COLOR"] ?>' /></div>
             <div class="top-margin">
             <table><tr>
-            <td><label for="back-image"><?=
+            <td><label for="back-image"><?=
                 tl('appearance_element_background_image')
                 ?></label></td><td class="user-icon-td"><?php
                 $image = (isset($data['BACKGROUND_IMAGE']) &&
@@ -104,7 +104,7 @@ class AppearanceElement extends Element
             <div class="top-margin"><label for="top-color"><?=
                 tl('appearance_element_topbar_color') ?></label>
             <input type="color" id="top-color"
-                name="TOPBAR_COLOR" class="narrow-field" value='<?=
+                name="TOPBAR_COLOR" class="narrow-field" value='<?=
                 $data["TOPBAR_COLOR"]?>' /></div>
             <div class="top-margin"><label for="side-color"><?=
                 tl('appearance_element_sidebar_color') ?></label>
@@ -204,4 +204,4 @@ class AppearanceElement extends Element
         </div>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/ConfigureElement.php b/src/views/elements/ConfigureElement.php
index 90190dfcf..51e0dc071 100644
--- a/src/views/elements/ConfigureElement.php
+++ b/src/views/elements/ConfigureElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -50,7 +50,7 @@ class ConfigureElement extends Element
      * for crawls, the other to set-up profile information which is mainly
      * stored in the profile.php file in the working directory. The exception
      * is longer data concerning the crawl robot description which is stored
-     * in bot.txt.
+     * in bot.txt.
      *
      * @param array $data holds data on the profile elements which have been
      *     filled in as well as data about which form fields to display
@@ -181,4 +181,4 @@ class ConfigureElement extends Element
         </div>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/CrawloptionsElement.php b/src/views/elements/CrawloptionsElement.php
index 5172040c4..066ab66f0 100644
--- a/src/views/elements/CrawloptionsElement.php
+++ b/src/views/elements/CrawloptionsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -139,8 +139,8 @@ class CrawloptionsElement extends Element
         if (!isset($data['ts'])) { ?>
             <div class="top-margin"><label for="seed-sites"><b><?=
                 tl('crawloptions_element_seed_sites')?></b></label><?php
-                if(!C\DIRECT_ADD_SUGGEST) {
-                    ?>[<a href="<?=$admin_url
+                if (!C\DIRECT_ADD_SUGGEST) {
+                    ?>[<a href="<?=$admin_url
                     ?>&amp;a=manageCrawls&amp;arg=options<?=
                     '&amp;' . C\CSRF_TOKEN . '=' . $data[C\CSRF_TOKEN]
                     ?>&amp;suggest=add"><?=
@@ -157,7 +157,7 @@ class CrawloptionsElement extends Element
         } else { ?>
             <div class="top-margin"><label for="inject-sites"><b><?=
                 tl('crawloptions_element_inject_sites')?></b></label><?php
-            if(!C\DIRECT_ADD_SUGGEST) {
+            if (!C\DIRECT_ADD_SUGGEST) {
                 ?>[<a href="?c=admin&amp;a=manageCrawls&amp;arg=options<?=
                     '&amp;'.C\CSRF_TOKEN.'='.$data[C\CSRF_TOKEN].'&amp;ts='.
                     $data['ts'] ?>&amp;suggest=add"><?=
@@ -222,4 +222,4 @@ class CrawloptionsElement extends Element
         </script>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/DisplayadvertisementElement.php b/src/views/elements/DisplayadvertisementElement.php
index 1d193dae6..c13aabe4e 100644
--- a/src/views/elements/DisplayadvertisementElement.php
+++ b/src/views/elements/DisplayadvertisementElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Pushkar Umaranikar
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/EditclassifierElement.php b/src/views/elements/EditclassifierElement.php
index d30f35822..ddce7dd6b 100644
--- a/src/views/elements/EditclassifierElement.php
+++ b/src/views/elements/EditclassifierElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -123,7 +123,7 @@ class EditclassifierElement extends Element
                     tl('editclassifier_element_default_crawl') ?></option><?php
                     foreach ($data['CRAWLS'] as $crawl) { ?>
                         <option value="<?= $crawl['CRAWL_TIME'] ?>"><?=
-                        $crawl['DESCRIPTION'] ?></option><?php
+                        $crawl['DESCRIPTION'] ?></option><?php
                     } ?>
                 </select>
             </td>
@@ -168,4 +168,4 @@ class EditclassifierElement extends Element
         </form>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/EditlocalesElement.php b/src/views/elements/EditlocalesElement.php
index 8361ef5b5..418c19907 100644
--- a/src/views/elements/EditlocalesElement.php
+++ b/src/views/elements/EditlocalesElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/EditmixElement.php b/src/views/elements/EditmixElement.php
index 2186d45a1..4617262a9 100644
--- a/src/views/elements/EditmixElement.php
+++ b/src/views/elements/EditmixElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/Element.php b/src/views/elements/Element.php
index 5e44b4503..dcd8cfaab 100755
--- a/src/views/elements/Element.php
+++ b/src/views/elements/Element.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/FooterElement.php b/src/views/elements/FooterElement.php
index 382661f56..dfeab35e8 100755
--- a/src/views/elements/FooterElement.php
+++ b/src/views/elements/FooterElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/GroupfeedElement.php b/src/views/elements/GroupfeedElement.php
index d9c5802a6..d6a6dba44 100644
--- a/src/views/elements/GroupfeedElement.php
+++ b/src/views/elements/GroupfeedElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -104,7 +104,7 @@ class GroupfeedElement extends Element implements CrawlConstants
                     }
                     ?></div>
                     <?php
-
+
                 }
             }
             if (!C\MOBILE && !$is_admin && isset($data["AD_LOCATION"]) &&
@@ -594,9 +594,10 @@ class GroupfeedElement extends Element implements CrawlConstants
      *
      * @param array $data set up in controller and SocialComponent with
      *      data fields view and this element are supposed to render
-     * @param string $groupfeed_url url of current group feed
+     * @param array $feed_array (url => path) options
      * @param string $aux_url url of current group wiki in the case of a group
      *      feed. Url of all groups in the case of user feed.
+     * @param string $groups_url link to the all feeds feed for a given user
      * @param string $group_name name of current groupfeed
      * @param string $render_type if "user" then prints feed info appropriate
      *      for a single use, if "just_group_and_thread" doesn't print group
@@ -614,7 +615,7 @@ class GroupfeedElement extends Element implements CrawlConstants
             $selected_url = $groups_url;
         } else  if ($render_type == "user") {
             $options = [tl('groupfeed_element_userplaces') => ""];
-            foreach($feed_array as $url => $name) {
+            foreach ($feed_array as $url => $name) {
                 $selected_url = $url;
                 break;
             }
@@ -622,7 +623,7 @@ class GroupfeedElement extends Element implements CrawlConstants
             $options[$aux_url] = tl('groupfeed_element_mygroups');
         } else {
             $options = [tl('groupfeed_element_groupplaces', $group_name) => ""];
-            foreach($feed_array as $url => $name) {
+            foreach ($feed_array as $url => $name) {
                 $selected_url = $url;
                 break;
             }
@@ -891,4 +892,4 @@ class GroupfeedElement extends Element implements CrawlConstants
         </script>
         <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/HelpElement.php b/src/views/elements/HelpElement.php
index c4605e856..be85a953d 100644
--- a/src/views/elements/HelpElement.php
+++ b/src/views/elements/HelpElement.php
@@ -3,7 +3,7 @@
  *  SeekQuarry/Yioop --
  *  Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- *  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ *  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  *  LICENSE:
  *
@@ -25,7 +25,7 @@
  *  @author Eswara Rajesh Pinapala epinapala@live.com
  *  @license http://www.gnu.org/licenses/ GPL3
  *  @link http://www.seekquarry.com/
- *  @copyright 2009 - 2016
+ *  @copyright 2009 - 2017
  *  @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/LanguageElement.php b/src/views/elements/LanguageElement.php
index dd5de591c..807a81a94 100755
--- a/src/views/elements/LanguageElement.php
+++ b/src/views/elements/LanguageElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/MachinelogElement.php b/src/views/elements/MachinelogElement.php
index 2d4ffbcf5..c9aeee34d 100644
--- a/src/views/elements/MachinelogElement.php
+++ b/src/views/elements/MachinelogElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ManageaccountElement.php b/src/views/elements/ManageaccountElement.php
index 0a9f2e516..719716d49 100755
--- a/src/views/elements/ManageaccountElement.php
+++ b/src/views/elements/ManageaccountElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -108,7 +108,7 @@ class ManageaccountElement extends Element
                 if (isset($data['EDIT_PASSWORD'])) {
                     $row_col_span = 'rowspan="12"';
                 }
-                if(!empty($data['USER']['IS_BOT_USER'])) {
+                if (!empty($data['USER']['IS_BOT_USER'])) {
                     $row_col_span = 'rowspan="17"';
                 }
                 if (C\MOBILE) {
@@ -172,21 +172,21 @@ class ManageaccountElement extends Element
                     class="narrow-field"/></td></tr>
             <?php
             if (isset($data['EDIT_USER'])) {
-                if(!empty($data['yioop_advertisement'])) {
+                if (!empty($data['yioop_advertisement'])) {
                     ?>
                     <tr><th class="table-label"><label for="is_advertiser"><?php
                     e(tl('manageaccount_element_is_advertiser'));
                     ?></label></th>
                     <td><input type="checkbox" id="is_advertiser"
                         name="IS_ADVERTISER" value="true"
-                        <?php if(isset($data['USER']['IS_ADVERTISER'])) {
-                            if($data['USER']['IS_ADVERTISER'] == true) {
+                        <?php if (isset($data['USER']['IS_ADVERTISER'])) {
+                            if ($data['USER']['IS_ADVERTISER'] == true) {
                                 e("checked='checked'");
                             }
                         }?>/>
                     </td></tr><?php
                 }
-                if(!empty($data['yioop_bot_configuration'])) {
+                if (!empty($data['yioop_bot_configuration'])) {
                     ?>
                     <tr>
                     <th class="table-label"><label for="is_bot"><?php
@@ -378,4 +378,4 @@ class ManageaccountElement extends Element
         </div>
         <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/ManageadvertisementsElement.php b/src/views/elements/ManageadvertisementsElement.php
index 1ee76441b..20486231f 100644
--- a/src/views/elements/ManageadvertisementsElement.php
+++ b/src/views/elements/ManageadvertisementsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Pushkar Umaranikar
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -67,8 +67,8 @@ class ManageadvertisementsElement extends Element
                     <th><?= tl('manageadvertisements_element_adname')?>
                     </th>
                     <?php
-                    if (!C\MOBILE) {
-                        if($data['HAS_ADMIN_ROLE']) { ?>
+                    if (!C\MOBILE) {
+                        if ($data['HAS_ADMIN_ROLE']) { ?>
                             <th><?=tl('manageadvertisements_element_username')
                             ?></th><?php
                         } ?>
@@ -132,8 +132,8 @@ class ManageadvertisementsElement extends Element
                     <tr>
                     <td><a href='<?=$ad['DESTINATION'] ?>'><?=
                         $ad['NAME'] ?></a></td><?php
-                    if (!C\MOBILE) {
-                        if($data['HAS_ADMIN_ROLE']) { ?>
+                    if (!C\MOBILE) {
+                        if ($data['HAS_ADMIN_ROLE']) { ?>
                             <td><a href="<?=$user_url . $ad['USER_NAME']?>"><?=
                             $ad['USER_NAME'] ?></a></td><?php
                         }
@@ -147,7 +147,7 @@ class ManageadvertisementsElement extends Element
                     ?>
                     <td><?=$ad_trans[$ad['STATUS']] ?></td>
                     <td><?php
-                    if(($is_active || $is_active_admin) && $time_okay) { ?>
+                    if (($is_active || $is_active_admin) && $time_okay) { ?>
                         <a href="<?= $edit_url . 'id=' . $ad['ID'] ?>"><?=
                         tl('manageadvertisements_element_edit') ?></a><?php
                     } else {?>
@@ -158,7 +158,7 @@ class ManageadvertisementsElement extends Element
                     }?>
                     </td>
                     <td><?php
-                    if($time_okay) {
+                    if ($time_okay) {
                         if ($is_active) {
                             ?>
                             <a onclick='return confirm("<?=
@@ -212,7 +212,7 @@ class ManageadvertisementsElement extends Element
      */
     public function renderAdvertisementForm($data)
     {
-        $admin_url = htmlentities(B\controllerUrl('admin', true)) .
+        $admin_url = htmlentities(B\controllerUrl('admin', true)) .
             C\CSRF_TOKEN . "=" .$data[C\CSRF_TOKEN];
         $base_url = $admin_url . "&amp;a=manageAdvertisements";
         $user_url = $admin_url . "&amp;a=manageUsers&amp;arg=edituser".
@@ -254,7 +254,7 @@ class ManageadvertisementsElement extends Element
             ?>
             <table>
             <?php
-            if($edit_advertisement && $data['HAS_ADMIN_ROLE']) { ?>
+            if ($edit_advertisement && $data['HAS_ADMIN_ROLE']) { ?>
                 <tr>
                 <th class="table-label">
                 <label for="ad-name"><?=
@@ -300,7 +300,7 @@ class ManageadvertisementsElement extends Element
                 onblur="toggleDisplay('ad-desc-count', 'none')"
                 onfocus="toggleDisplay('ad-desc-count', 'inline')"
                 value="<?php
-                if(isset($data['DESCRIPTION'])) {
+                if (isset($data['DESCRIPTION'])) {
                     e($data['DESCRIPTION']);
                 }
                 ?>" class="narrow-field" <?php e($preview_script);
@@ -465,7 +465,7 @@ class ManageadvertisementsElement extends Element
             } ?>
             </table>
             <?php
-            if(C\MOBILE) {
+            if (C\MOBILE) {
                 ?>
                <div class="clear">&nbsp;</div>
                 <?php
@@ -473,7 +473,7 @@ class ManageadvertisementsElement extends Element
             ?>
         </form>
         <?php
-        if(!C\MOBILE){ ?>
+        if (!C\MOBILE){ ?>
             <div class="ad-preview">
                 <p><b><?=tl('manageadvertisements_element_preview')
                 ?>:</b></p>
@@ -528,4 +528,4 @@ class ManageadvertisementsElement extends Element
         $view->helper("searchform")->render($data, $controller, $activity,
             $view, $title, $return_form_name, $fields);
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/ManageclassifiersElement.php b/src/views/elements/ManageclassifiersElement.php
index e0dbaf76a..66e63d6d0 100644
--- a/src/views/elements/ManageclassifiersElement.php
+++ b/src/views/elements/ManageclassifiersElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ManagecrawlsElement.php b/src/views/elements/ManagecrawlsElement.php
index cb3c12bfd..bfd287696 100755
--- a/src/views/elements/ManagecrawlsElement.php
+++ b/src/views/elements/ManagecrawlsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ManagecreditsElement.php b/src/views/elements/ManagecreditsElement.php
index 736358ea3..03c24f601 100644
--- a/src/views/elements/ManagecreditsElement.php
+++ b/src/views/elements/ManagecreditsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -103,7 +103,7 @@ class ManagecreditsElement extends Element
             ?> / <?php
             $this->view->helper('options')->render('', '',
                 $data['YEARS'], 0, false, [
-                    C\CreditConfig::getAttribute('exp-year','name') =>
+                    C\CreditConfig::getAttribute('exp-year','name') =>
                     C\CreditConfig::getAttribute('exp-year','value')]);
             ?>
             </td></tr>
@@ -140,7 +140,7 @@ class ManagecreditsElement extends Element
                     $data['SCRIPT'] .=
                         e(C\CreditConfig::$get_submit_purchase_script());
                 } else {
-                    e("<br /><span class='red'>".
+                    e("<br /><span class='red'>".
                         tl('managecredits_element_script_failure')."</span>");
                 }
             }
@@ -185,4 +185,4 @@ class ManagecreditsElement extends Element
         </div>
         <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/ManagegroupsElement.php b/src/views/elements/ManagegroupsElement.php
index 7fdecc7d6..13a239ad9 100755
--- a/src/views/elements/ManagegroupsElement.php
+++ b/src/views/elements/ManagegroupsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Mallika Perepa (Creator), Chris Pollett (rewrote)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -510,7 +510,7 @@ class ManagegroupsElement extends Element
                     if (!C\MOBILE) { ?>
                         <th><a href='<?=$sort_urls['JOIN_DATE'] ?>'><?=
                             tl('managegroups_element_join_date') ?></a></th>
-                    <?php
+                    <?php
                     } ?>
                     <th><a href='<?=$sort_urls['STATUS'] ?>'><?=
                         tl('managegroups_element_status') ?></a></th>
@@ -546,7 +546,7 @@ class ManagegroupsElement extends Element
                             e("<td>".
                             $data['MEMBERSHIP_CODES'][$user_array['STATUS']] .
                                 "</td>");
-
+
                             e("<td>" . tl('managegroups_element_groupowner') .
                                 "</td>");
                             e("<td><span class='gray'>".
@@ -1016,4 +1016,4 @@ class ManagegroupsElement extends Element
         </table>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/ManagelocalesElement.php b/src/views/elements/ManagelocalesElement.php
index 4af0b1a16..b8e05250d 100644
--- a/src/views/elements/ManagelocalesElement.php
+++ b/src/views/elements/ManagelocalesElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ManagemachinesElement.php b/src/views/elements/ManagemachinesElement.php
index 4f5cf3462..5ae69106e 100644
--- a/src/views/elements/ManagemachinesElement.php
+++ b/src/views/elements/ManagemachinesElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ManagerolesElement.php b/src/views/elements/ManagerolesElement.php
index 40af388ef..1a6ee2ded 100644
--- a/src/views/elements/ManagerolesElement.php
+++ b/src/views/elements/ManagerolesElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -78,7 +78,7 @@ class ManagerolesElement extends Element
                     "&amp;num_show=".$data['NUM_SHOW'];
             }
             $context = "";
-            if ($data['FORM_TYPE'] == 'search' ||
+            if ($data['FORM_TYPE'] == 'search' ||
                 !empty($data['context']) && $data['context'] == 'search') {
                 $context = 'context=search&amp;';
             }
@@ -235,4 +235,4 @@ class ManagerolesElement extends Element
         $view->helper("searchform")->render($data, $controller, $activity,
                 $view, $title, $return_form_name, $fields);
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/ManageusersElement.php b/src/views/elements/ManageusersElement.php
index 6049a7f2d..bb9f6041f 100644
--- a/src/views/elements/ManageusersElement.php
+++ b/src/views/elements/ManageusersElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -235,7 +235,7 @@ class ManageusersElement extends Element
         <input type="hidden" id="visible-groups" name="visible_groups"
             value="<?= $data['visible_groups'] ?>" />
         <table class="name-table">
-        <tr><th class="table-label"><label for="user-name"><?=
+        <tr><th class="table-label"><label for="user-name"><?=
             tl('manageusers_element_username')?>:</label></th>
             <td><input type="text" id="user-name"
                 name="user_name"  maxlength="<?= C\NAME_LEN ?>"
@@ -650,4 +650,4 @@ class ManageusersElement extends Element
             $view, $title, $return_form_name, $fields, $dropdowns,
             $postfix);
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/MixcrawlsElement.php b/src/views/elements/MixcrawlsElement.php
index 11d886d28..758172912 100644
--- a/src/views/elements/MixcrawlsElement.php
+++ b/src/views/elements/MixcrawlsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/MoreoptionsElement.php b/src/views/elements/MoreoptionsElement.php
index 8ca691b31..b70c1be63 100644
--- a/src/views/elements/MoreoptionsElement.php
+++ b/src/views/elements/MoreoptionsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -175,7 +175,7 @@ class MoreoptionsElement extends Element
         </table>
         <?php
         $tools = [];
-        if(empty($token_query))  {
+        if (empty($token_query))  {
             $suggest_url = B\suggestUrl();
             $pages_url = B\wikiUrl('pages');
         } else {
@@ -224,4 +224,4 @@ class MoreoptionsElement extends Element
             <?php
         }
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/PageoptionsElement.php b/src/views/elements/PageoptionsElement.php
index 1cbe589dd..3f031df90 100644
--- a/src/views/elements/PageoptionsElement.php
+++ b/src/views/elements/PageoptionsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -404,7 +404,7 @@ class PageOptionsElement extends Element
                 e("<pre>\n{$data['EXTRACTED_WORDS']}\n</pre>");
             }
             if (isset($data["QUESTIONS_TRIPLET"])) {
-                e("<h3>" . tl('pageoptions_element_extracted_questions') .
+                e("<h3>" . tl('pageoptions_element_extracted_questions') .
                     "</h3>");
                 e("<pre>\n{$data['QUESTIONS_TRIPLET']}\n</pre>");
             }
@@ -495,4 +495,4 @@ class PageOptionsElement extends Element
         </script>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/QuerystatsElement.php b/src/views/elements/QuerystatsElement.php
index a453329a6..b8d0334e7 100644
--- a/src/views/elements/QuerystatsElement.php
+++ b/src/views/elements/QuerystatsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -82,7 +82,7 @@ class QuerystatsElement extends Element
            C\FOREVER => tl('querystats_element_all_time'),
         ];
         foreach ($time_periods as  $time_period => $period_heading) {
-            if(!empty($data['STATISTICS'][
+            if (!empty($data['STATISTICS'][
                 $time_period])) {
                 ?><h4><?=$period_heading ?>:</h4><?php
                 foreach ($data['STATISTICS'][
@@ -100,4 +100,4 @@ class QuerystatsElement extends Element
         </div>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/ResultseditorElement.php b/src/views/elements/ResultseditorElement.php
index 1f47a7b20..ea7b54f66 100644
--- a/src/views/elements/ResultseditorElement.php
+++ b/src/views/elements/ResultseditorElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ScrapersElement.php b/src/views/elements/ScrapersElement.php
index e27c1d0b7..3b31e0de8 100644
--- a/src/views/elements/ScrapersElement.php
+++ b/src/views/elements/ScrapersElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/SearchsourcesElement.php b/src/views/elements/SearchsourcesElement.php
index d778939e3..0b712e8db 100644
--- a/src/views/elements/SearchsourcesElement.php
+++ b/src/views/elements/SearchsourcesElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -142,7 +142,7 @@ class SearchsourcesElement extends Element
                 maxlength="<?= $sub_aux_len ?>"
                 class="wide-field" /></td></tr>
         <tr><td><label for="item-path"><b id="item-text"><?=
-            tl('searchsources_element_item_text') ?></b><b
+            tl('searchsources_element_item_text') ?></b><b
             id="item-text-regex"><?= tl('searchsources_element_item_regex')
             ?></b></label></td><td>
             <input type="text" id="item-path" name="item_path"
@@ -443,4 +443,4 @@ class SearchsourcesElement extends Element
         </script>
     <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/elements/SecurityElement.php b/src/views/elements/SecurityElement.php
index 2461ea597..c87ef3fd1 100755
--- a/src/views/elements/SecurityElement.php
+++ b/src/views/elements/SecurityElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Sreenidhi Muralidharan
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/ServersettingsElement.php b/src/views/elements/ServersettingsElement.php
index 999c85740..b5d6eb63c 100644
--- a/src/views/elements/ServersettingsElement.php
+++ b/src/views/elements/ServersettingsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016 Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017 Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/SigninElement.php b/src/views/elements/SigninElement.php
index 70fd88e98..a09788c92 100755
--- a/src/views/elements/SigninElement.php
+++ b/src/views/elements/SigninElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/StatisticsElement.php b/src/views/elements/StatisticsElement.php
index fddfded4f..b9d6cefcd 100644
--- a/src/views/elements/StatisticsElement.php
+++ b/src/views/elements/StatisticsElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/SubsearchElement.php b/src/views/elements/SubsearchElement.php
index 1a858f052..d44ffc0c2 100644
--- a/src/views/elements/SubsearchElement.php
+++ b/src/views/elements/SubsearchElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
diff --git a/src/views/elements/WikiElement.php b/src/views/elements/WikiElement.php
index 9d5c8942d..8f9d148ab 100644
--- a/src/views/elements/WikiElement.php
+++ b/src/views/elements/WikiElement.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\elements;
@@ -444,7 +444,8 @@ class WikiElement extends Element implements CrawlConstants
                 "\n", true)) .
                 "</h2>");
         }
-        if ($data["HEAD"]['page_type'] == 'page_and_feedback') {
+        if (!empty($data["HEAD"]['page_type']) &&
+            $data["HEAD"]['page_type'] == 'page_and_feedback') {
             ?><hr /><h2><?=tl('wiki_element_user_feedback'); ?></h2>
             <?php
             $data['FRAGMENT'] = '#result-'.$data['DISCUSS_THREAD'];
@@ -1085,7 +1086,7 @@ class WikiElement extends Element implements CrawlConstants
      * @param array $data set up in controller and SocialComponent with
      *      data fields view and this element are supposed to render
      * @param array $options if nonempty, then this should be items, key-values
-     *      in the form (url => label), to list first in dropdown
+     *      in the form (url => label), to list first in dropdown
      * @param string $selected_url url which is selected by default in dropdown.
      * @param string $top_name name of root media list folder (defaults
      *      to something like "Root Folder" in the language of current locale)
@@ -1102,7 +1103,7 @@ class WikiElement extends Element implements CrawlConstants
         } else if ($render_type != "just_groups_and_pages") {
             $folder_prefix = key($options);
             $root_name = $options[$folder_prefix];
-            if(empty($root_name)) {
+            if (empty($root_name)) {
                 $root_name = tl('wiki_element_root_folder');
             }
             $options[$folder_prefix] = $root_name;
@@ -1301,7 +1302,7 @@ class WikiElement extends Element implements CrawlConstants
         $rel_top = (!empty($data["TOTAL_TO_PAGES"])) ? "rel-type-top" : "";
         ?>
         <tr><td class="<?=$rel_top ?> center">|</td></tr><?php
-        //displaying the middle table - Current Page Name
+        //displaying the middle table - Current Page Name
         ?><tr><td><div class="rel-type-current"><b><a
             href='<?=$url_main ?>' ><?=$page_name?></a></b><br /><?php
             if (empty($data["RELATIONSHIPS"])) {
diff --git a/src/views/helpers/DisplayresultsHelper.php b/src/views/helpers/DisplayresultsHelper.php
index 2dd5db40a..6df01d2a7 100644
--- a/src/views/helpers/DisplayresultsHelper.php
+++ b/src/views/helpers/DisplayresultsHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Priya Gangaraju priya.gangaraju@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/FeedsHelper.php b/src/views/helpers/FeedsHelper.php
index b61b8f56b..075ea4f2f 100644
--- a/src/views/helpers/FeedsHelper.php
+++ b/src/views/helpers/FeedsHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/FiletypeHelper.php b/src/views/helpers/FiletypeHelper.php
index 213ff80c4..99b8cb0c6 100644
--- a/src/views/helpers/FiletypeHelper.php
+++ b/src/views/helpers/FiletypeHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/FileuploadHelper.php b/src/views/helpers/FileuploadHelper.php
index 01ca38d59..b8aa3b1af 100644
--- a/src/views/helpers/FileuploadHelper.php
+++ b/src/views/helpers/FileuploadHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/HelpbuttonHelper.php b/src/views/helpers/HelpbuttonHelper.php
index bef540680..696fea8e8 100644
--- a/src/views/helpers/HelpbuttonHelper.php
+++ b/src/views/helpers/HelpbuttonHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/Helper.php b/src/views/helpers/Helper.php
index 9adb8da34..0095d38fa 100755
--- a/src/views/helpers/Helper.php
+++ b/src/views/helpers/Helper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/ImagesHelper.php b/src/views/helpers/ImagesHelper.php
index cbf94e2ab..d9d8a087f 100644
--- a/src/views/helpers/ImagesHelper.php
+++ b/src/views/helpers/ImagesHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/OptionsHelper.php b/src/views/helpers/OptionsHelper.php
index 4ec134a5c..afd36e5af 100755
--- a/src/views/helpers/OptionsHelper.php
+++ b/src/views/helpers/OptionsHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
@@ -107,7 +107,7 @@ class OptionsHelper extends Helper
     }
     /**
      * Creates a dropdown where selecting an item redirects to a given url.
-     *
+     *
      * @param string $id  the id attribute the select tag should have
      *      If empty string id attribute not echo'd
      * @param array $options an array of key value pairs for the options
@@ -115,6 +115,7 @@ class OptionsHelper extends Helper
      *    value and the value being used as its contents. If the value
      *    is empty in a key value pair then the key is taken as the
      *    label of a new optgroup.
+     * @param string $selected which url should be selected in dropdown
      * @param string $url_prefix keys in $options should correspond to urls.
      *      if such a key doesn't begin with http, it is assumed to be
      *      a url suffix and the value $url_prefix is put before it to get
@@ -125,7 +126,7 @@ class OptionsHelper extends Helper
         $stretch = (C\MOBILE) ? 4 : 6;
         $word_wrap_len = $stretch * C\NAME_TRUNCATE_LEN;
         $id_info = ($id != "") ? " id='$id' " : " ";
-
+
         ?>
         <select class='link-dropdown' <?= $id_info ?>  <?php
             e(' onchange="var next_loc = '. "'$url_prefix'" .
@@ -185,4 +186,4 @@ class OptionsHelper extends Helper
         </select>
         <?php
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/helpers/PaginationHelper.php b/src/views/helpers/PaginationHelper.php
index 4588f633f..c17e89368 100755
--- a/src/views/helpers/PaginationHelper.php
+++ b/src/views/helpers/PaginationHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/PagingtableHelper.php b/src/views/helpers/PagingtableHelper.php
index 564632eef..a8b30f698 100644
--- a/src/views/helpers/PagingtableHelper.php
+++ b/src/views/helpers/PagingtableHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/SearchformHelper.php b/src/views/helpers/SearchformHelper.php
index e61dc7356..da27afcfa 100644
--- a/src/views/helpers/SearchformHelper.php
+++ b/src/views/helpers/SearchformHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/ToggleHelper.php b/src/views/helpers/ToggleHelper.php
index 924980e49..dc0c0bd79 100644
--- a/src/views/helpers/ToggleHelper.php
+++ b/src/views/helpers/ToggleHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
diff --git a/src/views/helpers/VideourlHelper.php b/src/views/helpers/VideourlHelper.php
index 3a28d02e2..a12692b92 100644
--- a/src/views/helpers/VideourlHelper.php
+++ b/src/views/helpers/VideourlHelper.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\helpers;
@@ -80,7 +80,7 @@ class VideourlHelper extends Helper
                     $thumb_url .= $thumb_parts[1];
                 }
                 ?><a class="video-link" href="<?= $url ?>" <?php
-                if ($open_in_tabs) { ?>
+                if ($open_in_tabs) { ?>
                     target="_blank" rel="noopener"<?php
                 }?>><img
                 class="thumb" src="<?= $thumb_url  ?>"
@@ -91,4 +91,4 @@ class VideourlHelper extends Helper
             }
         }
     }
-}
+}
\ No newline at end of file
diff --git a/src/views/layouts/ApiLayout.php b/src/views/layouts/ApiLayout.php
index 801e94f2b..5d14b937c 100644
--- a/src/views/layouts/ApiLayout.php
+++ b/src/views/layouts/ApiLayout.php
@@ -3,7 +3,7 @@
  *  SeekQuarry/Yioop --
  *  Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- *  Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ *  Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  *  LICENSE:
  *
@@ -25,7 +25,7 @@
  *  @author Eswara Rajesh Pinapala epinapala@live.com
  *  @license http://www.gnu.org/licenses/ GPL3
  *  @link http://www.seekquarry.com/
- *  @copyright 2009 - 2016
+ *  @copyright 2009 - 2017
  *  @filesource
  */
 namespace seekquarry\yioop\views\layouts;
diff --git a/src/views/layouts/Layout.php b/src/views/layouts/Layout.php
index 6836817b6..8b865ba65 100755
--- a/src/views/layouts/Layout.php
+++ b/src/views/layouts/Layout.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\layouts;
diff --git a/src/views/layouts/RssLayout.php b/src/views/layouts/RssLayout.php
index 692873a14..13b13cfef 100644
--- a/src/views/layouts/RssLayout.php
+++ b/src/views/layouts/RssLayout.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\layouts;
diff --git a/src/views/layouts/WebLayout.php b/src/views/layouts/WebLayout.php
index 793dce3cd..320434d6b 100755
--- a/src/views/layouts/WebLayout.php
+++ b/src/views/layouts/WebLayout.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\views\layouts;
diff --git a/tests/BloomFilterFileTest.php b/tests/BloomFilterFileTest.php
index 5a1a2ff4b..f7271c79c 100755
--- a/tests/BloomFilterFileTest.php
+++ b/tests/BloomFilterFileTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/BtreeTest.php b/tests/BtreeTest.php
index 2d1bc20e4..a35cf8386 100644
--- a/tests/BtreeTest.php
+++ b/tests/BtreeTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
@@ -64,7 +64,7 @@ use seekquarry\yioop\library\UnitTest;
      */
     public function setUp()
     {
-        $this->test_objects['FILE1'] = new BTree(__DIR__ . self::TEST_DIR,
+        $this->test_objects['FILE1'] = new BTree(__DIR__ . self::TEST_DIR,
             self::DEGREE);
     }
     /**
@@ -201,4 +201,4 @@ use seekquarry\yioop\library\UnitTest;
                 'Deleted Value not found');
         }
     }
-}
+}
\ No newline at end of file
diff --git a/tests/DeTokenizerTest.php b/tests/DeTokenizerTest.php
index 0695d7744..b70403004 100644
--- a/tests/DeTokenizerTest.php
+++ b/tests/DeTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/DocxProcessorTest.php b/tests/DocxProcessorTest.php
index c82908ef2..044906969 100644
--- a/tests/DocxProcessorTest.php
+++ b/tests/DocxProcessorTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Nakul Natu nakul.natu@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/EnTokenizerTest.php b/tests/EnTokenizerTest.php
index 7163781a8..543b51559 100644
--- a/tests/EnTokenizerTest.php
+++ b/tests/EnTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/EpubProcessorTest.php b/tests/EpubProcessorTest.php
index 0641676d6..d7dba3be5 100644
--- a/tests/EpubProcessorTest.php
+++ b/tests/EpubProcessorTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Vijeth Patil vijeth.patil@gmail.coms
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/EsTokenizerTest.php b/tests/EsTokenizerTest.php
index a469e65b6..1e96bd04c 100644
--- a/tests/EsTokenizerTest.php
+++ b/tests/EsTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/FaTokenizerTest.php b/tests/FaTokenizerTest.php
index eab33f772..e0c30e2f4 100644
--- a/tests/FaTokenizerTest.php
+++ b/tests/FaTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/FrTokenizerTest.php b/tests/FrTokenizerTest.php
index 14d3a41d5..35dcf0329 100644
--- a/tests/FrTokenizerTest.php
+++ b/tests/FrTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/HashTableTest.php b/tests/HashTableTest.php
index c865c0d14..0dda57704 100755
--- a/tests/HashTableTest.php
+++ b/tests/HashTableTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/HiTokenizerTest.php b/tests/HiTokenizerTest.php
index da0be1e5f..88d1ac53d 100644
--- a/tests/HiTokenizerTest.php
+++ b/tests/HiTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/IndexShardTest.php b/tests/IndexShardTest.php
index 376ca0273..694a34525 100644
--- a/tests/IndexShardTest.php
+++ b/tests/IndexShardTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/ItTokenizerTest.php b/tests/ItTokenizerTest.php
index 75e89a617..8868dca33 100644
--- a/tests/ItTokenizerTest.php
+++ b/tests/ItTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/ManyScrapersExperiment.php b/tests/ManyScrapersExperiment.php
index a89f55b78..f5fb7884c 100644
--- a/tests/ManyScrapersExperiment.php
+++ b/tests/ManyScrapersExperiment.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -26,7 +26,7 @@
  *  (changed to web scrapers by Chris Pollett)
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/ManyUserExperiment.php b/tests/ManyUserExperiment.php
index 53ba7ab00..5f93ed5eb 100644
--- a/tests/ManyUserExperiment.php
+++ b/tests/ManyUserExperiment.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.orgs
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/NlTokenizerTest.php b/tests/NlTokenizerTest.php
index 64e037e16..532ac07fc 100644
--- a/tests/NlTokenizerTest.php
+++ b/tests/NlTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/PdfProcessorTest.php b/tests/PdfProcessorTest.php
index 1d72e279b..ed708d2a6 100644
--- a/tests/PdfProcessorTest.php
+++ b/tests/PdfProcessorTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/PhantomjsUiTest.php b/tests/PhantomjsUiTest.php
index 32319e762..9c859a839 100644
--- a/tests/PhantomjsUiTest.php
+++ b/tests/PhantomjsUiTest.php
@@ -2,7 +2,7 @@
 /**
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  * LICENSE:
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/PhraseParserTest.php b/tests/PhraseParserTest.php
index 76d927311..a1e4ed4e4 100644
--- a/tests/PhraseParserTest.php
+++ b/tests/PhraseParserTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/PptxProcessorTest.php b/tests/PptxProcessorTest.php
index c96dc4e34..8ff5bdaea 100644
--- a/tests/PptxProcessorTest.php
+++ b/tests/PptxProcessorTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Nakul Natu nakul.natu@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/PriorityQueueTest.php b/tests/PriorityQueueTest.php
index 58994ece9..eb054f969 100755
--- a/tests/PriorityQueueTest.php
+++ b/tests/PriorityQueueTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/PtTokenizerTest.php b/tests/PtTokenizerTest.php
index 229c4935e..bc1da3f9d 100644
--- a/tests/PtTokenizerTest.php
+++ b/tests/PtTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Niravkumar Patel niravkumar.patel1989@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/QueueServerTest.php b/tests/QueueServerTest.php
index 6b7e41255..811207a15 100644
--- a/tests/QueueServerTest.php
+++ b/tests/QueueServerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/RuTokenizerTest.php b/tests/RuTokenizerTest.php
index e2f61c204..5532bdb93 100644
--- a/tests/RuTokenizerTest.php
+++ b/tests/RuTokenizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/ScraperManagerTest.php b/tests/ScraperManagerTest.php
index aa69f8bba..3cb58b52b 100644
--- a/tests/ScraperManagerTest.php
+++ b/tests/ScraperManagerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Charles Bocage charles.bocage@sjsu.edu
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/Sha1JavascriptTest.php b/tests/Sha1JavascriptTest.php
index 6475e8f9e..d7de27209 100644
--- a/tests/Sha1JavascriptTest.php
+++ b/tests/Sha1JavascriptTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/SocketExperiment.php b/tests/SocketExperiment.php
index 80aaaf3ad..1f010c594 100755
--- a/tests/SocketExperiment.php
+++ b/tests/SocketExperiment.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -39,7 +39,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/StringArrayTest.php b/tests/StringArrayTest.php
index dfdcdcfbf..1797d425d 100644
--- a/tests/StringArrayTest.php
+++ b/tests/StringArrayTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/StringCatExperiment.php b/tests/StringCatExperiment.php
index fd3565fec..785410c7e 100644
--- a/tests/StringCatExperiment.php
+++ b/tests/StringCatExperiment.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/SummarizerTest.php b/tests/SummarizerTest.php
index d0f66444a..d3e9271b3 100644
--- a/tests/SummarizerTest.php
+++ b/tests/SummarizerTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/TrieTest.php b/tests/TrieTest.php
index 6cfec3e1c..f2f5a9829 100755
--- a/tests/TrieTest.php
+++ b/tests/TrieTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/UrlParserTest.php b/tests/UrlParserTest.php
index a2ba0a35f..ab484ce0d 100644
--- a/tests/UrlParserTest.php
+++ b/tests/UrlParserTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/UtilityTest.php b/tests/UtilityTest.php
index 7f027ca2f..06dbda092 100644
--- a/tests/UtilityTest.php
+++ b/tests/UtilityTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/WebArchiveTest.php b/tests/WebArchiveTest.php
index 338363080..21b852cd5 100755
--- a/tests/WebArchiveTest.php
+++ b/tests/WebArchiveTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/WebQueueBundleTest.php b/tests/WebQueueBundleTest.php
index 0c55de8f1..e896457ad 100644
--- a/tests/WebQueueBundleTest.php
+++ b/tests/WebQueueBundleTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/XlsxProcessorTest.php b/tests/XlsxProcessorTest.php
index 4524ce2b1..01485cd7a 100644
--- a/tests/XlsxProcessorTest.php
+++ b/tests/XlsxProcessorTest.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -25,7 +25,7 @@
  * @author Tarun Ramaswamy tarun.pepira@gmail.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
diff --git a/tests/index.php b/tests/index.php
index 7a5043ea1..863b2934b 100644
--- a/tests/index.php
+++ b/tests/index.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop\tests;
@@ -55,7 +55,7 @@ if (!C\PROFILE || !C\DISPLAY_TESTS) {
     echo "BAD REQUEST";
     exit();
 }
-/**
+/**
  *Error handler so  catch errors as exceptions too
  *
  * @param int $errno number code of error
@@ -341,4 +341,4 @@ function getClassNameFromFileName($name)
 }
 ?>
     </body>
-</html>
+</html>
\ No newline at end of file
diff --git a/tests/mobile_ui_tests.js b/tests/mobile_ui_tests.js
index bd65b4b36..9cae928f6 100644
--- a/tests/mobile_ui_tests.js
+++ b/tests/mobile_ui_tests.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /**
diff --git a/tests/phantomjs_runner.js b/tests/phantomjs_runner.js
index 20a1f860c..f28720db7 100644
--- a/tests/phantomjs_runner.js
+++ b/tests/phantomjs_runner.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /**
diff --git a/tests/test_files/VocabSampler.php b/tests/test_files/VocabSampler.php
index 5a46301d2..ad0227d20 100644
--- a/tests/test_files/VocabSampler.php
+++ b/tests/test_files/VocabSampler.php
@@ -3,7 +3,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -28,7 +28,7 @@
  * @author Chris Pollett chris@pollett.org
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 namespace seekquarry\yioop;
diff --git a/tests/web_ui_tests.js b/tests/web_ui_tests.js
index 7d30548d2..284c185c7 100644
--- a/tests/web_ui_tests.js
+++ b/tests/web_ui_tests.js
@@ -2,7 +2,7 @@
  * SeekQuarry/Yioop --
  * Open Source Pure PHP Search Engine, Crawler, and Indexer
  *
- * Copyright (C) 2009 - 2016  Chris Pollett chris@pollett.org
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
  *
  * LICENSE:
  *
@@ -24,7 +24,7 @@
  * @author Eswara Rajesh Pinapala epinapala@live.com
  * @license http://www.gnu.org/licenses/ GPL3
  * @link http://www.seekquarry.com/
- * @copyright 2009 - 2016
+ * @copyright 2009 - 2017
  * @filesource
  */
 /**
diff --git a/work_directory/_placeholder.php b/work_directory/_placeholder.php
index b3d9bbc7f..ea2e2e9a0 100644
--- a/work_directory/_placeholder.php
+++ b/work_directory/_placeholder.php
@@ -1 +1,36 @@
 <?php
+/**
+ * SeekQuarry/Yioop --
+ * Open Source Pure PHP Search Engine, Crawler, and Indexer
+ *
+ * Copyright (C) 2009 - 2017  Chris Pollett chris@pollett.org
+ *
+ * LICENSE:
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * END LICENSE
+ *
+ * @author Chris Pollett chris@pollett.org
+ * @license http://www.gnu.org/licenses/ GPL3
+ * @link http://www.seekquarry.com/
+ * @copyright 2009-2017
+ * @filesource
+ */
+namespace seekquarry\yioop\configs;
+
+/**
+ * File used before work_directory auto-populated so that git knows about
+ * work_directory
+ */
ViewGit