Fixes issues with BASE_DIR under Windows

Chris Pollett [2010-07-28 07:Jul:th]
Fixes issues with BASE_DIR under Windows
Filename
INSTALL
README
bin/fetcher.php
bin/queue_server.php
configs/createdb.php
locale/en-US/configure.ini
locale/en-US/statistics.txt
locale/extract_merge.php
locale/fr-FR/configure.ini
locale/ko/configure.ini
locale/rn-US/configure.ini
locale/vi-VN/configure.ini
locale/vn-US/configure.ini
diff --git a/INSTALL b/INSTALL
index c80b98197..198fb6fbc 100755
--- a/INSTALL
+++ b/INSTALL
@@ -40,34 +40,34 @@ database settings, queue server and robot settings.
 After filling in this form and submitting it,
 the installation is complete.

-(3) To start the queue server you type:
+(2) To start the queue server you type:

-php queue_server.php
+php queue_server.php terminal

 from the bin folder.

-(4) You need at least one fetcher running
+(3) You need at least one fetcher running
 to download pages. You can set fetchers up either on the
 same machine or on other machines. The QUEUE_SERVER
 in config.php says the url of the server to get fetch batches
 from. To run a fetcher, simply type:

-php fetcher.php
+php fetcher.php terminal

 from the bin folder.

-(5) To start a crawl, you need to point your browser at the url
+(4) To start a crawl, you need to point your browser at the url
 of your seek_quarry installation. Click on the admin link,
 then the manage crawl link. Type in a description of your
 crawl and click "Start New Crawl". After about a minute you should
 start the Currently Processing and Most Recent Urls sections updating
 with info about the current crawl.

-(6) After running your crawl for a while you can click the Stop
+(5) After running your crawl for a while you can click the Stop
 button to stop it. The crawl should show up after a delay in the
 Previous Crawls table. Their you can choose to resume a crawl,
 delete it, or set it as the current index.

-(7) If you set a crawl as the current index. Then when you go
+(6) If you set a crawl as the current index. Then when you go
 back to your installations web page and type a query in the search bar,
 the query will be answered with the results from that crawl.
diff --git a/README b/README
index 01fa3f72a..727bb3d1c 100755
--- a/README
+++ b/README
@@ -33,7 +33,7 @@ fetcher.php -- used to download batches of urls provided
 queue_server.php - maintains a queue of urls that are
     going to be scheduled to be seen. It also keeps
     track of what has been seen and robots.txt info.
-    It's last responsibility is to create the index_archive
+    Its last responsibility is to create the index_archive
     that is used by the search front end.

 index.php -- a search engine web page. It is also used
diff --git a/bin/fetcher.php b/bin/fetcher.php
index ccebdc2b2..bffb56ae4 100755
--- a/bin/fetcher.php
+++ b/bin/fetcher.php
@@ -32,11 +32,11 @@
  */

 /** Calculate base directory of script */
-define("BASE_DIR",
-    substr($_SERVER['PWD'].'/'.$_SERVER["SCRIPT_FILENAME"], 0,
-    -strlen("/bin/fetcher.php")));
+define("BASE_DIR", substr(
+    dirname(realpath($_SERVER['PHP_SELF'])), 0,
+    -strlen("/bin")));

-ini_set("memory_limit","500M"); //so have enough memory to crawl big pages
+ini_set("memory_limit","550M"); //so have enough memory to crawl big pages

 /** Load in global configuration settings */
 require_once BASE_DIR.'/configs/config.php';
diff --git a/bin/queue_server.php b/bin/queue_server.php
index 13332c08f..3ca7b021c 100755
--- a/bin/queue_server.php
+++ b/bin/queue_server.php
@@ -32,9 +32,9 @@
  */

 /** Calculate base directory of script */
-define("BASE_DIR",
-    substr($_SERVER['PWD'].'/'.$_SERVER["SCRIPT_FILENAME"], 0,
-    -strlen("/bin/queue_server.php")));
+define("BASE_DIR", substr(
+    dirname(realpath($_SERVER['PHP_SELF'])), 0,
+    -strlen("/bin")));

 ini_set("memory_limit","900M"); //so have enough memory to crawl big pages

@@ -76,7 +76,12 @@ mb_regex_encoding("UTF-8");


 /**
- *
+ * Command line program responsible for managing Yioop crawls.
+ *
+ * It maintains a queue of urls that are going to be scheduled to be seen.
+ * It also keeps track of what has been seen and robots.txt info.
+ * Its last responsibility is to create and populate the IndexArchiveBundle
+ * that is used by the search front end.
  *
  * @author Chris Pollett
  * @package seek_quarry
@@ -84,51 +89,70 @@ mb_regex_encoding("UTF-8");
 class QueueServer implements CrawlConstants
 {
     /**
+     * Reference to a database object. Used since has directory manipulation
+     * functions
      * @var object
      */
     var $db;
     /**
+     * Web-sites that crawler can crawl. If used, ONLY these will be crawled
      * @var array
      */
     var $allowed_sites;
     /**
+     * Web-sites that the crawler must not crawl
      * @var array
      */
     var $disallowed_sites;
     /**
+     * Constant saying the method used to order the priority queue for the crawl
      * @var string
      */
     var $crawl_order;
     /**
+     * Says whether the $allowed_sites array is being used or not
      * @var bool
      */
     var $restrict_sites_by_url;
     /**
+     * List of file extensions supported for the crawl
      * @var array
      */
     var $indexed_file_types;
     /**
+     * Holds the WebQueueBundle for the crawl. This bundle encapsulates
+     * the priority queue of urls that specifies what to crawl next
      * @var object
      */
     var $web_queue;
     /**
+     * Holds the IndexArchiveBundle for the current crawl. This encapsulates
+     * the inverted index word-->documents for the crawls as well as document
+     * summaries of each document.
      * @var object
      */
     var $index_archive;
     /**
+     * The timestamp of the current active crawl
      * @var int
      */
     var $crawl_time;
     /**
+     * This is a list of hosts whose robots.txt file had a Crawl-delay directive
+     * and which we have produced a schedule with urls for, but we have not
+     * heard back from the fetcher who was processing those urls. Hosts on
+     * this list will not be scheduled for more downloads until the fetcher
+     * with earlier urls has gotten back to the queue_server.
      * @var array
      */
     var $waiting_hosts;
     /**
+     * IP address as a string of the fetcher that most recently spoke with the
+     * queue_server.
      * @var string
      */
     var $most_recent_fetcher;

-
     /**
      *
      */
@@ -147,7 +171,9 @@ class QueueServer implements CrawlConstants
     }

     /**
-     *
+     * This is the function that should be called to get the queue_server
+     * to start. Calls init to handle the command line arguments then enters
+     * the queue_server's main loop
      */
     function start()
     {
diff --git a/configs/createdb.php b/configs/createdb.php
index 83a577393..e6d45670f 100755
--- a/configs/createdb.php
+++ b/configs/createdb.php
@@ -43,9 +43,9 @@ if(isset($_SERVER['DOCUMENT_ROOT']) && strlen($_SERVER['DOCUMENT_ROOT']) > 0) {
  *
  *
  */
-define("BASE_DIR", substr($_SERVER['DOCUMENT_ROOT'].
-    $_SERVER['PWD'].$_SERVER["SCRIPT_NAME"], 0,
-    -strlen("configs/createdb.php")));
+define("BASE_DIR", substr(
+    dirname(realpath($_SERVER['PHP_SELF'])), 0,
+    -strlen("/configs")));
 require_once BASE_DIR.'/configs/config.php';
 require_once BASE_DIR."/models/datasources/".DBMS."_manager.php";
     //get the database library
diff --git a/locale/en-US/configure.ini b/locale/en-US/configure.ini
index 5dccc69e4..265df66b2 100755
--- a/locale/en-US/configure.ini
+++ b/locale/en-US/configure.ini
@@ -34,166 +34,166 @@ admin_controller_login_successful = "Login Successful!!"
 ; admin_controller.php line: 119
 admin_controller_login_failed = "Username or Password Incorrect!"
 ;
-; admin_controller.php line: 266
+; admin_controller.php line: 285
 admin_controller_passwords_dont_match = "Typed passwords do not match."
 ;
-; admin_controller.php line: 276
+; admin_controller.php line: 295
 admin_controller_invalid_old_password = "Current password incorrect."
 ;
-; admin_controller.php line: 283
+; admin_controller.php line: 302
 admin_controller_change_password = "Password change successful!!"
 ;
-; admin_controller.php line: 308
+; admin_controller.php line: 333
 admin_controller_select_username = "Select Username"
 ;
-; admin_controller.php line: 345
+; admin_controller.php line: 370
 admin_controller_select_rolename = "Select Role"
 ;
-; admin_controller.php line: 371
+; admin_controller.php line: 396
 admin_controller_passwords_dont_match = "Typed passwords do not match."
 ;
-; admin_controller.php line: 378
+; admin_controller.php line: 403
 admin_controller_username_exists = "Cannot Create User As Username Exists"
 ;
-; admin_controller.php line: 385
+; admin_controller.php line: 410
 admin_controller_username_added = "User Created"
 ;
-; admin_controller.php line: 394
+; admin_controller.php line: 419
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 401
+; admin_controller.php line: 426
 admin_controller_username_deleted = "User Deleted"
 ;
-; admin_controller.php line: 408
+; admin_controller.php line: 433
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 414
+; admin_controller.php line: 439
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 445
 admin_controller_rolename_added = "Role Name Added"
 ;
-; admin_controller.php line: 431
+; admin_controller.php line: 456
 admin_controller_username_doesnt_exists = "Username Does Not Exist"
 ;
-; admin_controller.php line: 437
+; admin_controller.php line: 462
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 447
+; admin_controller.php line: 472
 admin_controller_rolename_deleted = "Role Name Deleted"
 ;
-; admin_controller.php line: 470
+; admin_controller.php line: 502
 admin_controller_select_rolename = "Select Role"
 ;
-; admin_controller.php line: 505
+; admin_controller.php line: 537
 admin_controller_select_activityname = "Select Activity"
 ;
-; admin_controller.php line: 538
+; admin_controller.php line: 570
 admin_controller_rolename_exists = "Role Name Exists"
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 580
 admin_controller_rolename_added = "Role Name Added"
 ;
-; admin_controller.php line: 559
+; admin_controller.php line: 591
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 567
+; admin_controller.php line: 599
 admin_controller_rolename_deleted = "Role Name Deleted"
 ;
-; admin_controller.php line: 573
+; admin_controller.php line: 605
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 611
 admin_controller_activityname_doesnt_exists = "Activity Name Does not Exist"
 ;
-; admin_controller.php line: 589
+; admin_controller.php line: 621
 admin_controller_activity_added = "Activity Added"
 ;
-; admin_controller.php line: 595
+; admin_controller.php line: 627
 admin_controller_rolename_doesnt_exists = "Role Name Does not Exist"
 ;
-; admin_controller.php line: 602
+; admin_controller.php line: 634
 admin_controller_activityname_doesnt_exists = "Activity Name Does not Exist"
 ;
-; admin_controller.php line: 614
+; admin_controller.php line: 646
 admin_controller_activity_deleted = "Activity Deleted"
 ;
-; admin_controller.php line: 639
+; admin_controller.php line: 680
 admin_controller_starting_new_crawl = "Starting New Crawl!"
 ;
-; admin_controller.php line: 659
+; admin_controller.php line: 700
 admin_controller_no_description = "No Description for Crawl"
 ;
-; admin_controller.php line: 684
+; admin_controller.php line: 725
 admin_controller_stop_crawl = "Stopping crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 697
+; admin_controller.php line: 738
 admin_controller_resume_crawl = "Resuming crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 728
+; admin_controller.php line: 769
 admin_controller_delete_crawl_success = "Deleting Crawl. . .This will take a moment to refresh."
 ;
-; admin_controller.php line: 733
+; admin_controller.php line: 774
 admin_controller_delete_crawl_fail = "Delete Crawl Failed!!"
 ;
-; admin_controller.php line: 740
+; admin_controller.php line: 781
 admin_controller_set_index = "Setting Crawl To Use as Index"
 ;
-; admin_controller.php line: 753
+; admin_controller.php line: 794
 admin_controller_breadth_first = "Breadth First"
 ;
-; admin_controller.php line: 755
+; admin_controller.php line: 796
 admin_controller_page_importance = "Page Importance"
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 835
 admin_controller_update_seed_info = "Updating Seed Site Info!"
 ;
-; admin_controller.php line: 845
+; admin_controller.php line: 903
 admin_controller_select_localename = "Select Locale"
 ;
-; admin_controller.php line: 888
+; admin_controller.php line: 946
 admin_controller_locale_added = "Locale Added!"
 ;
-; admin_controller.php line: 895
+; admin_controller.php line: 953
 admin_controller_localename_doesnt_exists = "Locale Does Not Exist!"
 ;
-; admin_controller.php line: 904
+; admin_controller.php line: 962
 admin_controller_localename_deleted = "Locale Deleted"
 ;
-; admin_controller.php line: 924
+; admin_controller.php line: 982
 admin_controller_localestrings_updated = "Locale Strings Updated!"
 ;
-; admin_controller.php line: 994
+; admin_controller.php line: 1060
 admin_controller_configure_work_dir_set = "Work Directory Set! You may need to re-login!"
 ;
-; admin_controller.php line: 1006
+; admin_controller.php line: 1072
 admin_controller_name_your_bot = "Please Name Your robot"
 ;
-; admin_controller.php line: 1015
+; admin_controller.php line: 1081
 admin_controller_configure_work_profile_made = "Working Directory and Profile Created!"
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1087
 admin_controller_configure_no_set_config = "Unable to Update config.php File!"
 ;
-; admin_controller.php line: 1032
+; admin_controller.php line: 1098
 admin_controller_configure_no_create_profile = "Unable to Create Profile!"
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1107
 admin_controller_configure_work_dir_invalid = "Work Directory is Invalid! Cannot Create Profile!"
 ;
-; admin_controller.php line: 1052
+; admin_controller.php line: 1118
 admin_controller_configure_work_dir_invalid = "Work Directory is Invalid! Cannot Create Profile!"
 ;
-; admin_controller.php line: 1112
+; admin_controller.php line: 1178
 admin_controller_configure_no_change_db = "Problem Updating Database!"
 ;
-; admin_controller.php line: 1126
+; admin_controller.php line: 1192
 admin_controller_configure_profile_change = "Profile Updated!"
 ;
-; admin_controller.php line: 1140
+; admin_controller.php line: 1206
 admin_controller_configure_no_change_profile = "There was a Problem Updating Profile!"
 ;
-; admin_controller.php line: 1174
+; admin_controller.php line: 1240
 admin_controller_describe_robot = "Please Describe Your Robot"
 ;
 ; search_controller.php line: 119
@@ -202,7 +202,7 @@ search_controller_logout_successful = "Logout Successful!!"
 ; search_controller.php line: 366
 search_controller_cached_version = "This cached version of %s was obtained by the Yioop crawler on %s."
 ;
-; settings_controller.php line: 132
+; settings_controller.php line: 134
 settings_controller_settings_saved = "Settings Saved!"
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
@@ -591,25 +591,25 @@ search_view_as_text = "View as text"
 ; search_view.php line: 151
 search_view_similar = "Similar"
 ;
-; settings_view.php line: 75
+; settings_view.php line: 76
 settings_view_settings = "Settings"
 ;
-; settings_view.php line: 81
+; settings_view.php line: 82
 settings_view_results_per_page = "Results per Page:"
 ;
-; settings_view.php line: 86
+; settings_view.php line: 87
 settings_view_language_label = "Language:"
 ;
-; settings_view.php line: 90
+; settings_view.php line: 91
 settings_view_search_index = "Search Index:"
 ;
-; settings_view.php line: 97
+; settings_view.php line: 99
 settings_view_return_yioop = "Return to Yioop!"
 ;
-; settings_view.php line: 100
+; settings_view.php line: 102
 settings_view_save = "Save Settings"
 ;
-; settings_view.php line: 108
+; settings_view.php line: 110
 setting_install_search_plugin = "Install Yioop! Open Search Plugin"
 ;
 ; signin_view.php line: 63
diff --git a/locale/en-US/statistics.txt b/locale/en-US/statistics.txt
index b6bef56f0..5a165df53 100755
--- a/locale/en-US/statistics.txt
+++ b/locale/en-US/statistics.txt
@@ -1 +1 @@
-d:99;
\ No newline at end of file
+d:100;
\ No newline at end of file
diff --git a/locale/extract_merge.php b/locale/extract_merge.php
index 91f55b574..4f5221829 100755
--- a/locale/extract_merge.php
+++ b/locale/extract_merge.php
@@ -45,9 +45,9 @@ if(isset($_SERVER['DOCUMENT_ROOT']) && strlen($_SERVER['DOCUMENT_ROOT']) > 0) {
 }

 /** Calculate base directory of script */
-define("BASE_DIR", substr($_SERVER['DOCUMENT_ROOT'].$_SERVER['PWD'].
-    $_SERVER["SCRIPT_NAME"], 0,
-    -strlen("locale/extract_merge.php")));
+define("BASE_DIR", substr(
+    dirname(realpath($_SERVER['PHP_SELF'])), 0,
+    -strlen("/locale")));

 /** Loads config info */
 require_once BASE_DIR."/configs/config.php";
diff --git a/locale/fr-FR/configure.ini b/locale/fr-FR/configure.ini
index 3aefc20b4..3e833c7df 100755
--- a/locale/fr-FR/configure.ini
+++ b/locale/fr-FR/configure.ini
@@ -34,166 +34,166 @@ admin_controller_login_successful = ""
 ; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 266
+; admin_controller.php line: 285
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 276
+; admin_controller.php line: 295
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 283
+; admin_controller.php line: 302
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 308
+; admin_controller.php line: 333
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 345
+; admin_controller.php line: 370
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 371
+; admin_controller.php line: 396
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 378
+; admin_controller.php line: 403
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 385
+; admin_controller.php line: 410
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 394
+; admin_controller.php line: 419
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 401
+; admin_controller.php line: 426
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 408
+; admin_controller.php line: 433
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 414
+; admin_controller.php line: 439
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 445
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 431
+; admin_controller.php line: 456
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 437
+; admin_controller.php line: 462
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 447
+; admin_controller.php line: 472
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 470
+; admin_controller.php line: 502
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 505
+; admin_controller.php line: 537
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 538
+; admin_controller.php line: 570
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 580
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 559
+; admin_controller.php line: 591
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 567
+; admin_controller.php line: 599
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 573
+; admin_controller.php line: 605
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 611
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 589
+; admin_controller.php line: 621
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 595
+; admin_controller.php line: 627
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 602
+; admin_controller.php line: 634
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 614
+; admin_controller.php line: 646
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 639
+; admin_controller.php line: 680
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 659
+; admin_controller.php line: 700
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 684
+; admin_controller.php line: 725
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 697
+; admin_controller.php line: 738
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 728
+; admin_controller.php line: 769
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 733
+; admin_controller.php line: 774
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 740
+; admin_controller.php line: 781
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 753
+; admin_controller.php line: 794
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 755
+; admin_controller.php line: 796
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 835
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 845
+; admin_controller.php line: 903
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 888
+; admin_controller.php line: 946
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 895
+; admin_controller.php line: 953
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 904
+; admin_controller.php line: 962
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 924
+; admin_controller.php line: 982
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 994
+; admin_controller.php line: 1060
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1006
+; admin_controller.php line: 1072
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1015
+; admin_controller.php line: 1081
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1087
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1032
+; admin_controller.php line: 1098
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1107
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1052
+; admin_controller.php line: 1118
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1112
+; admin_controller.php line: 1178
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1126
+; admin_controller.php line: 1192
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1140
+; admin_controller.php line: 1206
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1174
+; admin_controller.php line: 1240
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 119
@@ -202,7 +202,7 @@ search_controller_logout_successful = ""
 ; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 132
+; settings_controller.php line: 134
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
@@ -591,25 +591,25 @@ search_view_as_text = "Version texte"
 ; search_view.php line: 151
 search_view_similar = "Pages similaires"
 ;
-; settings_view.php line: 75
+; settings_view.php line: 76
 settings_view_settings = "Préférences"
 ;
-; settings_view.php line: 81
+; settings_view.php line: 82
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 86
+; settings_view.php line: 87
 settings_view_language_label = ""
 ;
-; settings_view.php line: 90
+; settings_view.php line: 91
 settings_view_search_index = ""
 ;
-; settings_view.php line: 97
+; settings_view.php line: 99
 settings_view_return_yioop = "Retourner à Yioop"
 ;
-; settings_view.php line: 100
+; settings_view.php line: 102
 settings_view_save = "Enregistrer les préférences"
 ;
-; settings_view.php line: 108
+; settings_view.php line: 110
 setting_install_search_plugin = ""
 ;
 ; signin_view.php line: 63
diff --git a/locale/ko/configure.ini b/locale/ko/configure.ini
index 8a41679af..8eed0e92e 100755
--- a/locale/ko/configure.ini
+++ b/locale/ko/configure.ini
@@ -34,166 +34,166 @@ admin_controller_login_successful = ""
 ; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 266
+; admin_controller.php line: 285
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 276
+; admin_controller.php line: 295
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 283
+; admin_controller.php line: 302
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 308
+; admin_controller.php line: 333
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 345
+; admin_controller.php line: 370
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 371
+; admin_controller.php line: 396
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 378
+; admin_controller.php line: 403
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 385
+; admin_controller.php line: 410
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 394
+; admin_controller.php line: 419
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 401
+; admin_controller.php line: 426
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 408
+; admin_controller.php line: 433
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 414
+; admin_controller.php line: 439
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 445
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 431
+; admin_controller.php line: 456
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 437
+; admin_controller.php line: 462
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 447
+; admin_controller.php line: 472
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 470
+; admin_controller.php line: 502
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 505
+; admin_controller.php line: 537
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 538
+; admin_controller.php line: 570
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 580
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 559
+; admin_controller.php line: 591
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 567
+; admin_controller.php line: 599
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 573
+; admin_controller.php line: 605
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 611
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 589
+; admin_controller.php line: 621
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 595
+; admin_controller.php line: 627
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 602
+; admin_controller.php line: 634
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 614
+; admin_controller.php line: 646
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 639
+; admin_controller.php line: 680
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 659
+; admin_controller.php line: 700
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 684
+; admin_controller.php line: 725
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 697
+; admin_controller.php line: 738
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 728
+; admin_controller.php line: 769
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 733
+; admin_controller.php line: 774
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 740
+; admin_controller.php line: 781
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 753
+; admin_controller.php line: 794
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 755
+; admin_controller.php line: 796
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 835
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 845
+; admin_controller.php line: 903
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 888
+; admin_controller.php line: 946
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 895
+; admin_controller.php line: 953
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 904
+; admin_controller.php line: 962
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 924
+; admin_controller.php line: 982
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 994
+; admin_controller.php line: 1060
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1006
+; admin_controller.php line: 1072
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1015
+; admin_controller.php line: 1081
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1087
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1032
+; admin_controller.php line: 1098
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1107
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1052
+; admin_controller.php line: 1118
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1112
+; admin_controller.php line: 1178
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1126
+; admin_controller.php line: 1192
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1140
+; admin_controller.php line: 1206
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1174
+; admin_controller.php line: 1240
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 119
@@ -202,7 +202,7 @@ search_controller_logout_successful = ""
 ; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 132
+; settings_controller.php line: 134
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
@@ -591,25 +591,25 @@ search_view_as_text = ""
 ; search_view.php line: 151
 search_view_similar = ""
 ;
-; settings_view.php line: 75
+; settings_view.php line: 76
 settings_view_settings = ""
 ;
-; settings_view.php line: 81
+; settings_view.php line: 82
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 86
+; settings_view.php line: 87
 settings_view_language_label = ""
 ;
-; settings_view.php line: 90
+; settings_view.php line: 91
 settings_view_search_index = ""
 ;
-; settings_view.php line: 97
+; settings_view.php line: 99
 settings_view_return_yioop = ""
 ;
-; settings_view.php line: 100
+; settings_view.php line: 102
 settings_view_save = ""
 ;
-; settings_view.php line: 108
+; settings_view.php line: 110
 setting_install_search_plugin = ""
 ;
 ; signin_view.php line: 63
diff --git a/locale/rn-US/configure.ini b/locale/rn-US/configure.ini
index 3090d7715..03f846c9d 100755
--- a/locale/rn-US/configure.ini
+++ b/locale/rn-US/configure.ini
@@ -34,166 +34,166 @@ admin_controller_login_successful = ""
 ; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 266
+; admin_controller.php line: 285
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 276
+; admin_controller.php line: 295
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 283
+; admin_controller.php line: 302
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 308
+; admin_controller.php line: 333
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 345
+; admin_controller.php line: 370
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 371
+; admin_controller.php line: 396
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 378
+; admin_controller.php line: 403
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 385
+; admin_controller.php line: 410
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 394
+; admin_controller.php line: 419
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 401
+; admin_controller.php line: 426
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 408
+; admin_controller.php line: 433
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 414
+; admin_controller.php line: 439
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 445
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 431
+; admin_controller.php line: 456
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 437
+; admin_controller.php line: 462
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 447
+; admin_controller.php line: 472
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 470
+; admin_controller.php line: 502
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 505
+; admin_controller.php line: 537
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 538
+; admin_controller.php line: 570
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 580
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 559
+; admin_controller.php line: 591
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 567
+; admin_controller.php line: 599
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 573
+; admin_controller.php line: 605
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 611
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 589
+; admin_controller.php line: 621
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 595
+; admin_controller.php line: 627
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 602
+; admin_controller.php line: 634
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 614
+; admin_controller.php line: 646
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 639
+; admin_controller.php line: 680
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 659
+; admin_controller.php line: 700
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 684
+; admin_controller.php line: 725
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 697
+; admin_controller.php line: 738
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 728
+; admin_controller.php line: 769
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 733
+; admin_controller.php line: 774
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 740
+; admin_controller.php line: 781
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 753
+; admin_controller.php line: 794
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 755
+; admin_controller.php line: 796
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 835
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 845
+; admin_controller.php line: 903
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 888
+; admin_controller.php line: 946
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 895
+; admin_controller.php line: 953
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 904
+; admin_controller.php line: 962
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 924
+; admin_controller.php line: 982
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 994
+; admin_controller.php line: 1060
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1006
+; admin_controller.php line: 1072
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1015
+; admin_controller.php line: 1081
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1087
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1032
+; admin_controller.php line: 1098
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1107
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1052
+; admin_controller.php line: 1118
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1112
+; admin_controller.php line: 1178
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1126
+; admin_controller.php line: 1192
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1140
+; admin_controller.php line: 1206
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1174
+; admin_controller.php line: 1240
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 119
@@ -202,7 +202,7 @@ search_controller_logout_successful = "Logout Successful!"
 ; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 132
+; settings_controller.php line: 134
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
@@ -591,25 +591,25 @@ search_view_as_text = ""
 ; search_view.php line: 151
 search_view_similar = ""
 ;
-; settings_view.php line: 75
+; settings_view.php line: 76
 settings_view_settings = ""
 ;
-; settings_view.php line: 81
+; settings_view.php line: 82
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 86
+; settings_view.php line: 87
 settings_view_language_label = ""
 ;
-; settings_view.php line: 90
+; settings_view.php line: 91
 settings_view_search_index = ""
 ;
-; settings_view.php line: 97
+; settings_view.php line: 99
 settings_view_return_yioop = ""
 ;
-; settings_view.php line: 100
+; settings_view.php line: 102
 settings_view_save = ""
 ;
-; settings_view.php line: 108
+; settings_view.php line: 110
 setting_install_search_plugin = ""
 ;
 ; signin_view.php line: 63
diff --git a/locale/vi-VN/configure.ini b/locale/vi-VN/configure.ini
index c12055675..f8f1d9329 100755
--- a/locale/vi-VN/configure.ini
+++ b/locale/vi-VN/configure.ini
@@ -34,166 +34,166 @@ admin_controller_login_successful = ""
 ; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 266
+; admin_controller.php line: 285
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 276
+; admin_controller.php line: 295
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 283
+; admin_controller.php line: 302
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 308
+; admin_controller.php line: 333
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 345
+; admin_controller.php line: 370
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 371
+; admin_controller.php line: 396
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 378
+; admin_controller.php line: 403
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 385
+; admin_controller.php line: 410
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 394
+; admin_controller.php line: 419
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 401
+; admin_controller.php line: 426
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 408
+; admin_controller.php line: 433
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 414
+; admin_controller.php line: 439
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 445
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 431
+; admin_controller.php line: 456
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 437
+; admin_controller.php line: 462
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 447
+; admin_controller.php line: 472
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 470
+; admin_controller.php line: 502
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 505
+; admin_controller.php line: 537
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 538
+; admin_controller.php line: 570
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 580
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 559
+; admin_controller.php line: 591
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 567
+; admin_controller.php line: 599
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 573
+; admin_controller.php line: 605
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 611
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 589
+; admin_controller.php line: 621
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 595
+; admin_controller.php line: 627
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 602
+; admin_controller.php line: 634
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 614
+; admin_controller.php line: 646
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 639
+; admin_controller.php line: 680
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 659
+; admin_controller.php line: 700
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 684
+; admin_controller.php line: 725
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 697
+; admin_controller.php line: 738
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 728
+; admin_controller.php line: 769
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 733
+; admin_controller.php line: 774
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 740
+; admin_controller.php line: 781
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 753
+; admin_controller.php line: 794
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 755
+; admin_controller.php line: 796
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 835
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 845
+; admin_controller.php line: 903
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 888
+; admin_controller.php line: 946
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 895
+; admin_controller.php line: 953
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 904
+; admin_controller.php line: 962
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 924
+; admin_controller.php line: 982
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 994
+; admin_controller.php line: 1060
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1006
+; admin_controller.php line: 1072
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1015
+; admin_controller.php line: 1081
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1087
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1032
+; admin_controller.php line: 1098
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1107
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1052
+; admin_controller.php line: 1118
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1112
+; admin_controller.php line: 1178
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1126
+; admin_controller.php line: 1192
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1140
+; admin_controller.php line: 1206
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1174
+; admin_controller.php line: 1240
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 119
@@ -202,7 +202,7 @@ search_controller_logout_successful = ""
 ; search_controller.php line: 366
 search_controller_cached_version = "Trang gốc này: %s đã tìm được bởi công cụ tìm kiẽm Yioop vào ngày %s."
 ;
-; settings_controller.php line: 132
+; settings_controller.php line: 134
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
@@ -591,25 +591,25 @@ search_view_as_text = "Trang Web Bắng Chữ"
 ; search_view.php line: 151
 search_view_similar = "Tương Tự"
 ;
-; settings_view.php line: 75
+; settings_view.php line: 76
 settings_view_settings = "Sự sắp đặt"
 ;
-; settings_view.php line: 81
+; settings_view.php line: 82
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 86
+; settings_view.php line: 87
 settings_view_language_label = ""
 ;
-; settings_view.php line: 90
+; settings_view.php line: 91
 settings_view_search_index = ""
 ;
-; settings_view.php line: 97
+; settings_view.php line: 99
 settings_view_return_yioop = "Trở lại trang Yioop"
 ;
-; settings_view.php line: 100
+; settings_view.php line: 102
 settings_view_save = "Giữ sự sắp đặt"
 ;
-; settings_view.php line: 108
+; settings_view.php line: 110
 setting_install_search_plugin = ""
 ;
 ; signin_view.php line: 63
diff --git a/locale/vn-US/configure.ini b/locale/vn-US/configure.ini
index 8a5019195..7908df79c 100755
--- a/locale/vn-US/configure.ini
+++ b/locale/vn-US/configure.ini
@@ -34,166 +34,166 @@ admin_controller_login_successful = ""
 ; admin_controller.php line: 119
 admin_controller_login_failed = ""
 ;
-; admin_controller.php line: 266
+; admin_controller.php line: 285
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 276
+; admin_controller.php line: 295
 admin_controller_invalid_old_password = ""
 ;
-; admin_controller.php line: 283
+; admin_controller.php line: 302
 admin_controller_change_password = ""
 ;
-; admin_controller.php line: 308
+; admin_controller.php line: 333
 admin_controller_select_username = ""
 ;
-; admin_controller.php line: 345
+; admin_controller.php line: 370
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 371
+; admin_controller.php line: 396
 admin_controller_passwords_dont_match = ""
 ;
-; admin_controller.php line: 378
+; admin_controller.php line: 403
 admin_controller_username_exists = ""
 ;
-; admin_controller.php line: 385
+; admin_controller.php line: 410
 admin_controller_username_added = ""
 ;
-; admin_controller.php line: 394
+; admin_controller.php line: 419
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 401
+; admin_controller.php line: 426
 admin_controller_username_deleted = ""
 ;
-; admin_controller.php line: 408
+; admin_controller.php line: 433
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 414
+; admin_controller.php line: 439
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 420
+; admin_controller.php line: 445
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 431
+; admin_controller.php line: 456
 admin_controller_username_doesnt_exists = ""
 ;
-; admin_controller.php line: 437
+; admin_controller.php line: 462
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 447
+; admin_controller.php line: 472
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 470
+; admin_controller.php line: 502
 admin_controller_select_rolename = ""
 ;
-; admin_controller.php line: 505
+; admin_controller.php line: 537
 admin_controller_select_activityname = ""
 ;
-; admin_controller.php line: 538
+; admin_controller.php line: 570
 admin_controller_rolename_exists = ""
 ;
-; admin_controller.php line: 548
+; admin_controller.php line: 580
 admin_controller_rolename_added = ""
 ;
-; admin_controller.php line: 559
+; admin_controller.php line: 591
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 567
+; admin_controller.php line: 599
 admin_controller_rolename_deleted = ""
 ;
-; admin_controller.php line: 573
+; admin_controller.php line: 605
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 579
+; admin_controller.php line: 611
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 589
+; admin_controller.php line: 621
 admin_controller_activity_added = ""
 ;
-; admin_controller.php line: 595
+; admin_controller.php line: 627
 admin_controller_rolename_doesnt_exists = ""
 ;
-; admin_controller.php line: 602
+; admin_controller.php line: 634
 admin_controller_activityname_doesnt_exists = ""
 ;
-; admin_controller.php line: 614
+; admin_controller.php line: 646
 admin_controller_activity_deleted = ""
 ;
-; admin_controller.php line: 639
+; admin_controller.php line: 680
 admin_controller_starting_new_crawl = ""
 ;
-; admin_controller.php line: 659
+; admin_controller.php line: 700
 admin_controller_no_description = ""
 ;
-; admin_controller.php line: 684
+; admin_controller.php line: 725
 admin_controller_stop_crawl = ""
 ;
-; admin_controller.php line: 697
+; admin_controller.php line: 738
 admin_controller_resume_crawl = ""
 ;
-; admin_controller.php line: 728
+; admin_controller.php line: 769
 admin_controller_delete_crawl_success = ""
 ;
-; admin_controller.php line: 733
+; admin_controller.php line: 774
 admin_controller_delete_crawl_fail = ""
 ;
-; admin_controller.php line: 740
+; admin_controller.php line: 781
 admin_controller_set_index = ""
 ;
-; admin_controller.php line: 753
+; admin_controller.php line: 794
 admin_controller_breadth_first = ""
 ;
-; admin_controller.php line: 755
+; admin_controller.php line: 796
 admin_controller_page_importance = ""
 ;
-; admin_controller.php line: 794
+; admin_controller.php line: 835
 admin_controller_update_seed_info = ""
 ;
-; admin_controller.php line: 845
+; admin_controller.php line: 903
 admin_controller_select_localename = ""
 ;
-; admin_controller.php line: 888
+; admin_controller.php line: 946
 admin_controller_locale_added = ""
 ;
-; admin_controller.php line: 895
+; admin_controller.php line: 953
 admin_controller_localename_doesnt_exists = ""
 ;
-; admin_controller.php line: 904
+; admin_controller.php line: 962
 admin_controller_localename_deleted = ""
 ;
-; admin_controller.php line: 924
+; admin_controller.php line: 982
 admin_controller_localestrings_updated = ""
 ;
-; admin_controller.php line: 994
+; admin_controller.php line: 1060
 admin_controller_configure_work_dir_set = ""
 ;
-; admin_controller.php line: 1006
+; admin_controller.php line: 1072
 admin_controller_name_your_bot = ""
 ;
-; admin_controller.php line: 1015
+; admin_controller.php line: 1081
 admin_controller_configure_work_profile_made = ""
 ;
-; admin_controller.php line: 1021
+; admin_controller.php line: 1087
 admin_controller_configure_no_set_config = ""
 ;
-; admin_controller.php line: 1032
+; admin_controller.php line: 1098
 admin_controller_configure_no_create_profile = ""
 ;
-; admin_controller.php line: 1041
+; admin_controller.php line: 1107
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1052
+; admin_controller.php line: 1118
 admin_controller_configure_work_dir_invalid = ""
 ;
-; admin_controller.php line: 1112
+; admin_controller.php line: 1178
 admin_controller_configure_no_change_db = ""
 ;
-; admin_controller.php line: 1126
+; admin_controller.php line: 1192
 admin_controller_configure_profile_change = ""
 ;
-; admin_controller.php line: 1140
+; admin_controller.php line: 1206
 admin_controller_configure_no_change_profile = ""
 ;
-; admin_controller.php line: 1174
+; admin_controller.php line: 1240
 admin_controller_describe_robot = ""
 ;
 ; search_controller.php line: 119
@@ -202,7 +202,7 @@ search_controller_logout_successful = ""
 ; search_controller.php line: 366
 search_controller_cached_version = ""
 ;
-; settings_controller.php line: 132
+; settings_controller.php line: 134
 settings_controller_settings_saved = ""
 ;
 ; /Applications/XAMPP/xamppfiles/htdocs/git/yioop//views
@@ -591,25 +591,25 @@ search_view_as_text = ""
 ; search_view.php line: 151
 search_view_similar = ""
 ;
-; settings_view.php line: 75
+; settings_view.php line: 76
 settings_view_settings = ""
 ;
-; settings_view.php line: 81
+; settings_view.php line: 82
 settings_view_results_per_page = ""
 ;
-; settings_view.php line: 86
+; settings_view.php line: 87
 settings_view_language_label = ""
 ;
-; settings_view.php line: 90
+; settings_view.php line: 91
 settings_view_search_index = ""
 ;
-; settings_view.php line: 97
+; settings_view.php line: 99
 settings_view_return_yioop = ""
 ;
-; settings_view.php line: 100
+; settings_view.php line: 102
 settings_view_save = ""
 ;
-; settings_view.php line: 108
+; settings_view.php line: 110
 setting_install_search_plugin = ""
 ;
 ; signin_view.php line: 63
ViewGit