From a85053e13c0aabd362eabc9fcb48e5ab93435472 Mon Sep 17 00:00:00 2001 From: RussH Date: Thu, 15 Oct 2020 14:30:33 +0100 Subject: [PATCH] Merge develop back to Master for a new release. (#493) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merging the feature branch (PHP 7.2 compatibility) back to master. * toggle quickactionmenu visibility by clicking it * Candidate duplicates module added and integrated with other modules * corrected header of file to follow license * duplicates module integrated into candidates module and added access level checks for duplicate functions * added duplicates quick action menu * quickaction for duplicates added * rename of DuplicateCandidate to CandidateDuplicate * tag fix * quickaction fixes * acl related refactoring ifor duplicates * fixed typo error * fixed typo error * fixed duplicate quick action menu - added permissions and access level * fixed duplicate quick action menu - added permissions and access level * removing duplicate info from function parameters * adjusting candidate datagrid * removing unnecessary duplicate code * adding includes * added duplicate info into candidate show page * config update * changed duplicate secure object names * removed unused template * db upgrade, not tested * updated migration from 0.9.4 to 0.9.5 * added duplicate db table to test db * correction in javascript based on codacy review * js code fixes based on codacy review * removed forgotten or badly merged parameter from a function * duplicate initialization * fixed (hopefully well) duplicate primary key errors during update by using delete and insert ignore * add ckeditor to composer * updated reference to ckeditor in tpl files * removed embedded ckeditor files * added legacy_root into includes, defined in config.php * added legacy root into tests * missing legacy_root added * small typo fixes in Legacy root usage * added duplicate candidate icon to pipeline grids * fixed duplicate rows after merge of candidate pipeline details and history * fixed some logical errors and added input trim and whitespace removal to phone numbers * removed unused function * removed old todo * fixed list entry duplicates in duplicate merge and moved it into separate functions * fixed missing access level * added URI encoding to AJAX call so "&" can be a part of a list name, not taken as a new URI parameter and thrown away (#251) * Added a Public/Private column into job order datagrid (#239) * updated import * Ckeditor font plugin only where needed (#229) * font plugin moved to instantiation of ckeditor * remove duplicated code by extracting a common method * travis build fix * added indexes to duplicates table * Job order import (#230) * added class JobOrderImport * added options for job order import * added job order import into ImportUI * fix in importUI to use joborder not candidate * added import_id into job order import so that it can be reverted * added import_id into job order import also in test.sql database * added migration script * Email templates support (#231) * get, add, delete, update email templates lib changes * Add/Delete template in template manager * Add/Delete/Update template in SettingsUI * new ajax functions to choose an email template and to preview how it'll look like for each candidate * new ajax calls for emails * send emails in bulk when not using template, send by one when using it * getting neccesary info from db * added js lib * added fields to email form * disabled checking of empty email body, ckeditor had problems with it * preview css changes * add comment to unused code * files reformat * single quotes to double quotes and changed order of functions (based on codacy review) * codacy review comments applied and format changes * further change based on codacy review * code cleanup * Update db/cats_testdata.bak (#398) Updated sample OpenCATS test data for MySQL; - strict mode compliant (now the default), and; - added in candidate_tag tables to MySQL table structure Installer does not error now when you select the demonstration data. Resolves ancient issue #9 * Revert "Update db/cats_testdata.bak (#398)" (#399) This reverts commit 7f4b669d5653370ce720ad61f79b27b0e206a0ba. * Update db/cats_testdata.bak (#400) Updated test data for MySQL; - strict mode compliant (now the default), and; - added in candidate_tag tables to MySQL table structure Installer does not error now when you select the demonstration data. * Job order statuses configurable (#236) * changes in variable name * new class for job order statuses * new status configuration in config * replacing hard coded statuses/filters with ones from config/default * removing mention of free version of opencats and replacing hardcoded statuses with ones from config * hardcoded statuses to config Open statuses * removed never used code/constants and replacing one mention with config statuses * replaced hardcoded statuses with equivalent Open statuses from config * replacing hardcoded default filter with the first one from config * creating job order from existing one extended for job orders of all statuses * changing JobOrderStatuses to static class * altered default job order status in db to 'New', it should never be used though because in next commit a default new job order status from config or JobOrderStatuses class shall be used * added default new job order status to code, didn't leave it to database to set its default * added new job status const to config * changed config statuses to correspond with the old ones * database default status revert * config status variables renaming * added config info into class * variable/method renaming * method rename * commented examples in config.php * added include * 16 chars is not enough for status, e.g. 'Candidate selected' is longer * Corrected Lead status (not prospective) * merge error fixed * Import of files in different encoding (#238) * added input file encoding to import, so we can convert it to UTF-8 if necessary * encoding option won't show if the config variable is missing or empty * fixed method comment * renamed file to its class name and because there were two Import.php files already * split modules/import/Import.php file into more files by classes, created an abstract parent class and kept only 'add' functions in child classes * Whats left of modules/import/Import.php * moved one function to Companies because it was duplicated in CompaniesImport and ContactsImport classes and shouldnt be in their parent class * fixed/added includes * removed encoding from import code to replace it somewhere else * moved file encoding closer to file upload, commented out config options because they are not all supported * removed duplicate definitions of import classes * Pipeline in GUI changed to Job Order or Candidates based on context where it is displayed. (#243) tested locally, seems intuitive, can revert if issues. * Fix state location mapping (#245) * Fix state location mapping Replace administrative_area_level_2 which returns the county with administrative_area_level_1 which returns the state (expected). * Update ZipLookup.php Set return address values based on US vs non-US lookup location * updated travis.yml to add in php 7.3 testing * updated travis.yml to remove php 7.3 testing Thought I could run testing for both versions - but i'll have ot have a separate branch; need to specify a different version of phpunit for php7.x * Spelling Vetran -> Veteran * Spelling Vetran -> Veteran * Resolved issue #444 - rss is not valid (#447) - Further analyzing the project source code for the use of getRSSDate(), it is confirmed that the call should be made statically, as CATSUtility::getAbsoluteURI() is done. - To resolve the issue we needed to correct the function’s signature declaration in OpenCATS/lib/DateUtility.php, as such: - Added the “static” property at the beginning of the function signature line 350, as such: - static public function getRSSDate($unixTime = false) * Closing out the 'test-php-7' feature branch and merging back to develop (#420) * Fixed #171 Used mysqli procedural methods instead of mysql methods. This is a quick fix to make OpenCATS compatible with PHP7. * Updated mysql extension in docker config * Fix insecure SMTP (#357) A past phpmailer update changed to assume to use TLS even if its not enabled. This breaks insecure SMTP connections. * Fix deprecated PHP4-style constructors (#358) In some cases the file name implies it's for use with PHP4 which probably doesn't work anymore. I changed those too so there isn't noise in php7cc output * Gate set_magic_quotes_runtime calls Function was removed in PHP 7. Versions of PHP where this functionality exists are theoretically not supported and these calls could be removed entirely instead of placed behind function_exists() checks * Validate emails with filter_var() instead of eregi() The ereg functions were removed in PHP 7. In this specific use case filter_var() seems like a better solution than migrating to a preg regex. * Replace ereg functions with preg functions erege functions were removed in PHP 7. FPDF has the same patch upstream; artichow doesn't appear to have been updated upstream. * Use explode() instead of split() split() was removed in PHP 7. Code was simply splitting on different single character delimiters so using explode() instead works fine. * Don't combine `&` and `new` operators This is a syntax error in PHP 7. It's been deprecated for a long time so this change probably has no impact on behavior * Updated issue template to be more specific * Update issue_template.md * config file for the ProBot no-response bot add the tag more-information-required to issues, if no response then will auto-close in 14 days. * Update no-response.yml * Updated test data for MySQL; - strict mode compliant (now the default), and; - added in candidate_tag tables to MySQL table structure Installer does not error now when you select the demonstration data. * Revert "Updated test data for MySQL;" This reverts commit 2ce655a40c227c471709db702b08e31ed668bc43. * Update modules/settings/SettingsUI.php Co-Authored-By: gohanman * $co$conn is presumably a typo * Correct mysqli_select_db argument order * Missing paren in mysqli refactor * Use MYSQLI_ASSOC consistently * Update travis.yml for php 7.3 checks exclusively * revised composer.json to require php v7 * Fix the PHP7 build in travis (#419) * Rename composer.lock to ~composer.lock * revert custom php image to generic * Update .travis.yml * Update .travis.yml * revert custom php image * Update docker-compose-test.yml * Update docker-compose.yml * Update docker-compose.yml * Update docker-compose.yml * Update docker-compose-test.yml * Update docker-compose-test.yml * Update docker-compose.yml * Update docker-compose.yml * Update docker-compose-test.yml * Update docker-compose.yml * Update docker-compose-test.yml * Rename ~composer.lock to composer.lock * Update .travis.yml * Update .travis.yml * pointed to russh dockerhub image for php 7.2 * update travis to use php 7.2 * Rename composer.lock to composer.lock_OFF * tracking composer.lock for php 7.2 * updated target for php to be 7.2-fpm-alpine * fixed typos * remove redundant filew * test fix for travis build errors * simple rename php5 -> php7 in user instructions * quick update to address XXE vulnerability * New set of fixes for PHP 7.2 (#429) * Updated PHPMailer to support PHP 7.2 - PHPMailer 5.2 is no longer supported. - Legacy PHPMailer, which was under /lib didn't support PHP 7 best practices. - Removed /lib/PHPMailer directory. - Updated /lib/Mailer.php to support the new PHPMailer v6. - Updated code to support PHPMailer v6. - Tested the work locally and works fine. * Resolved mysqli_error() handling by leveraging provided and tested PHP library function utilities. - Where mysqli_connect was verified, I simplified and replaced error handling with with mysqli_connect_errno() and mysqli_connect_error(). - Where query request was verified, I simplified and replaced error handling with queryResult->connect_errno() and queryResult->connect_error(). * Added .DS_Store file in .gitignore - Specified common Mac OS specific .DS_Store file to be ignored by git. * Added codacy/coverage vendor library to the project's Composer dev dependencies list. * Resolved issue with non-static method calls, as such: - Corrected DatabaseSearch's fulltextDecode() and fulltextEncord() methods' signatures to be static. - Corrected Contacts' getDepartmentIDByName() method call. Since, it was used differently multiple places. * Resolved issue related to innaccessible property, as such: - Reinforced query result object property existance check with isset(). * Resolved issue around referencing a non-existing scope property, as such: - Replaced $sql with $this to correctly access class properties. * Artichow - Resolved graph generation issue with PHP 7.2 - Label.class.php was complaining about count() param (texts) not being an array. Variable value needed to be verified prior the call to count(). - Label.class.php and Axis.class.php were complaining about function name was malformed for eval() to handle. microtime() needed to be carefully handled. * Updated .gitignore to dismiss /vendor folder, which get generated by composer. * Sphinx Search fixes for PHP 7.2 - Resolved deprecated create_function() by replacing with closure/anonymous function in Search.php. - Resolved count() complaining about $this->_rs not being an array in Search.php on line 2091. - Resolved by creating sphinx.conf to support newer Sphinx 2.2.4+ features. - Resolved by creating the missing required folders for Sphinx use. * Fixed #451 there was an issue with the installer, this was an issue with the the mysqli call that now now changed how errors number and error descriptions are captured * Revert "Fixed #451 there was an issue with the installer, this was an issue with the the mysqli call that now now changed how errors number and error descriptions are captured" This reverts commit a924d087caeb2e91ebab1f7a6e73f64d75267729. * Fixed #451 there was an issue with the installer, this was an issue with the the mysqli call that now now changed how errors number and error descriptions are captured * Two (2) Fixes - Resolved issue #444 + A missing class reference (#456) * Resolved issue #444 - rss is not valid - Further analyzing the project source code for the use of getRSSDate(), it is confirmed that the call should be made statically, as CATSUtility::getAbsoluteURI() is done. - To resolve the issue we needed to correct the function’s signature declaration in OpenCATS/lib/DateUtility.php, as such: - Added the “static” property at the beginning of the function signature line 350, as such: - static public function getRSSDate($unixTime = false) * Resolve issue with missing class reference to JobOrderStatuses which is used on line 1028 of Search.php as JobOrderStatuses::getOpenStatusSQL(). * Update ActivityEntries.php (#450) minor change updates activity list for candidates to show most recent activity first. Previous behaviour shows oldest activity first. * Update mailer.php to support umlauts (enforce UTF-8) (#449) Submitted on behalf of @dveos from https://forums.opencats.org/viewtopic.php?f=4&t=1509 * added job reference number to pipeline datagrid on candidate show page (#268) * Show 'lists' on candidates page (#269) * added table to candidate show page to display lists where candidate belongs * sending lists to template * added lib function to get list names and ids for given candidate id * fix LDAP module (#366) * added activity logging after adding new candidate (#270) * added the option to email a candidate from the candidate show page (it was already implemented through mailto:, but this option is through OpenCATS so the email templates can be used) (#246) (#457) * Revert "added the option to email a candidate from the candidate show page (it was already implemented through mailto:, but this option is through OpenCATS so the email templates can be used) (#246) (#457)" This reverts commit 0cd2295658df22432913be33673e796bf650a0c0. * PHP7 Test build and tag (#461) * fix package generation * updated secure api_key value for travis-ci * Update .travis.yml * adding php version currently under active support tot the test matrix (#465) * adding php version currently under active support Adding missing closing tag * bumping docker compose to , fixing php 7.4 decprecation warnings * Update the encrypted secure api_key for Travis CI to generate releases. * Develop (#473) * Resolved issue #444 - rss is not valid - Further analyzing the project source code for the use of getRSSDate(), it is confirmed that the call should be made statically, as CATSUtility::getAbsoluteURI() is done. - To resolve the issue we needed to correct the function’s signature declaration in OpenCATS/lib/DateUtility.php, as such: - Added the “static” property at the beginning of the function signature line 350, as such: - static public function getRSSDate($unixTime = false) * Resolve issue with missing class reference to JobOrderStatuses which is used on line 1028 of Search.php as JobOrderStatuses::getOpenStatusSQL(). * Resolved an issue with MySQL fetch command failing due to empty record set. Safeguarding MySQL function call. * Resolved an issue with SQL logic failing to safe keyword 'system'. Safeguarded by wrapping the keyword 'system' with backtick marks. * Resolved issue with limited character space for site source URL that may contain long query strings. * Updated OpenCATS version * Resolved outdated artichow library related functional issues. * Changed the organization's UI visible copyright statement to show OpenCAT. * Travis.yml validation (#492) * update travis.yml after yml validation - corrected syntax error * Update Mailer.php - corrected syntax error Co-authored-by: Kristina Odziomkova Co-authored-by: skrchnavy Co-authored-by: SvetoKrchnavy Co-authored-by: Sveto Krchnavy Co-authored-by: Matias Lespiau Co-authored-by: Sveto Krchnavy Co-authored-by: smackjack3 Co-authored-by: Shant Adam Co-authored-by: amaisonneuve Co-authored-by: Alain Maisonneuve Co-authored-by: wumb0 Co-authored-by: Bram Vogelaar --- .github/no-response.yml | 1 + .gitignore | 5 +- .travis.yml | 10 +- QueueCLI.php | 32 +- ajax.php | 16 +- ajax/deleteActivity.php | 2 +- ajax/editActivity.php | 6 +- ajax/getAttachmentLocal.php | 4 +- ajax/getCandidateIdByEmail.php | 2 +- ajax/getCandidateIdByPhone.php | 2 +- ajax/getCompanyContacts.php | 2 +- ajax/getCompanyLocation.php | 2 +- ajax/getCompanyLocationAndDepartments.php | 2 +- ajax/getCompanyNames.php | 4 +- ajax/getDataGridPager.php | 6 +- ajax/getDataItemJobOrders.php | 6 +- ajax/getParsedAddress.php | 6 +- ajax/getPipelineDetails.php | 2 +- ajax/getPipelineJobOrder.php | 28 +- ajax/replaceTemplateTags.php | 56 + ajax/setCandidateJobOrderRating.php | 2 +- ajax/showTemplate.php | 36 + ajax/testEmailSettings.php | 2 +- ajax/zipLookup.php | 4 +- careers/index.php | 2 +- ci/package-code.sh | 3 +- ckeditor/.htaccess | 24 - ckeditor/CHANGES.html | 538 --- ckeditor/CHANGES.md | 1118 ----- ckeditor/INSTALL.html | 92 - ckeditor/LICENSE.html | 1334 ------ ckeditor/LICENSE.md | 1420 ------ ckeditor/README.md | 39 - ckeditor/adapters/jquery.js | 10 - ckeditor/build-config.js | 159 - ckeditor/ckeditor.js | 1017 ----- ckeditor/ckeditor.pack | 205 - ckeditor/ckeditor.php | 29 - ckeditor/ckeditor_basic.js | 8 - ckeditor/ckeditor_basic_source.js | 20 - ckeditor/ckeditor_php4.php | 593 --- ckeditor/ckeditor_php5.php | 583 --- ckeditor/ckeditor_source.js | 25 - ckeditor/config.js | 40 - ckeditor/contents.css | 135 - ckeditor/lang/af.js | 5 - ckeditor/lang/ar.js | 5 - ckeditor/lang/bg.js | 5 - ckeditor/lang/bn.js | 5 - ckeditor/lang/bs.js | 5 - ckeditor/lang/ca.js | 5 - ckeditor/lang/cs.js | 5 - ckeditor/lang/cy.js | 5 - ckeditor/lang/da.js | 5 - ckeditor/lang/de-ch.js | 5 - ckeditor/lang/de.js | 5 - ckeditor/lang/el.js | 5 - ckeditor/lang/en-au.js | 5 - ckeditor/lang/en-ca.js | 5 - ckeditor/lang/en-gb.js | 5 - ckeditor/lang/en.js | 5 - ckeditor/lang/eo.js | 5 - ckeditor/lang/es.js | 5 - ckeditor/lang/et.js | 5 - ckeditor/lang/eu.js | 5 - ckeditor/lang/fa.js | 5 - ckeditor/lang/fi.js | 5 - ckeditor/lang/fo.js | 5 - ckeditor/lang/fr-ca.js | 5 - ckeditor/lang/fr.js | 5 - ckeditor/lang/gl.js | 5 - ckeditor/lang/gu.js | 5 - ckeditor/lang/he.js | 5 - ckeditor/lang/hi.js | 5 - ckeditor/lang/hr.js | 5 - ckeditor/lang/hu.js | 5 - ckeditor/lang/id.js | 5 - ckeditor/lang/is.js | 5 - ckeditor/lang/it.js | 5 - ckeditor/lang/ja.js | 5 - ckeditor/lang/ka.js | 5 - ckeditor/lang/km.js | 5 - ckeditor/lang/ko.js | 5 - ckeditor/lang/ku.js | 5 - ckeditor/lang/lt.js | 5 - ckeditor/lang/lv.js | 5 - ckeditor/lang/mk.js | 5 - ckeditor/lang/mn.js | 5 - ckeditor/lang/ms.js | 5 - ckeditor/lang/nb.js | 5 - ckeditor/lang/nl.js | 5 - ckeditor/lang/no.js | 5 - ckeditor/lang/pl.js | 5 - ckeditor/lang/pt-br.js | 5 - ckeditor/lang/pt.js | 5 - ckeditor/lang/ro.js | 5 - ckeditor/lang/ru.js | 5 - ckeditor/lang/si.js | 5 - ckeditor/lang/sk.js | 5 - ckeditor/lang/sl.js | 5 - ckeditor/lang/sq.js | 5 - ckeditor/lang/sr-latn.js | 5 - ckeditor/lang/sr.js | 5 - ckeditor/lang/sv.js | 5 - ckeditor/lang/th.js | 5 - ckeditor/lang/tr.js | 5 - ckeditor/lang/tt.js | 5 - ckeditor/lang/ug.js | 5 - ckeditor/lang/uk.js | 5 - ckeditor/lang/vi.js | 5 - ckeditor/lang/zh-cn.js | 5 - ckeditor/lang/zh.js | 5 - ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js | 10 - .../dialogs/lang/_translationstatus.txt | 25 - ckeditor/plugins/a11yhelp/dialogs/lang/af.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/ar.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/bg.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/ca.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/cs.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/cy.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/da.js | 11 - .../plugins/a11yhelp/dialogs/lang/de-ch.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/de.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/el.js | 12 - .../plugins/a11yhelp/dialogs/lang/en-gb.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/en.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/eo.js | 13 - ckeditor/plugins/a11yhelp/dialogs/lang/es.js | 13 - ckeditor/plugins/a11yhelp/dialogs/lang/et.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/eu.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/fa.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/fi.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/fo.js | 11 - .../plugins/a11yhelp/dialogs/lang/fr-ca.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/fr.js | 13 - ckeditor/plugins/a11yhelp/dialogs/lang/gl.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/gu.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/he.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/hi.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/hr.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/hu.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/id.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/it.js | 13 - ckeditor/plugins/a11yhelp/dialogs/lang/ja.js | 9 - ckeditor/plugins/a11yhelp/dialogs/lang/km.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/ko.js | 10 - ckeditor/plugins/a11yhelp/dialogs/lang/ku.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/lt.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/lv.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/mk.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/mn.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/nb.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/nl.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/no.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/pl.js | 13 - .../plugins/a11yhelp/dialogs/lang/pt-br.js | 13 - ckeditor/plugins/a11yhelp/dialogs/lang/pt.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/ro.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/ru.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/si.js | 10 - ckeditor/plugins/a11yhelp/dialogs/lang/sk.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/sl.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/sq.js | 11 - .../plugins/a11yhelp/dialogs/lang/sr-latn.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/sr.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/sv.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/th.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/tr.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/tt.js | 11 - ckeditor/plugins/a11yhelp/dialogs/lang/ug.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/uk.js | 12 - ckeditor/plugins/a11yhelp/dialogs/lang/vi.js | 11 - .../plugins/a11yhelp/dialogs/lang/zh-cn.js | 9 - ckeditor/plugins/a11yhelp/dialogs/lang/zh.js | 9 - ckeditor/plugins/about/dialogs/about.js | 8 - .../about/dialogs/hidpi/logo_ckeditor.png | Bin 13339 -> 0 bytes .../plugins/about/dialogs/logo_ckeditor.png | Bin 6757 -> 0 bytes ckeditor/plugins/clipboard/dialogs/paste.js | 12 - ckeditor/plugins/dialog/dialogDefinition.js | 4 - ckeditor/plugins/font/lang/af.js | 14 - ckeditor/plugins/font/lang/ar.js | 14 - ckeditor/plugins/font/lang/bg.js | 14 - ckeditor/plugins/font/lang/bn.js | 14 - ckeditor/plugins/font/lang/bs.js | 14 - ckeditor/plugins/font/lang/ca.js | 14 - ckeditor/plugins/font/lang/cs.js | 14 - ckeditor/plugins/font/lang/cy.js | 14 - ckeditor/plugins/font/lang/da.js | 14 - ckeditor/plugins/font/lang/de-ch.js | 14 - ckeditor/plugins/font/lang/de.js | 14 - ckeditor/plugins/font/lang/el.js | 14 - ckeditor/plugins/font/lang/en-au.js | 14 - ckeditor/plugins/font/lang/en-ca.js | 14 - ckeditor/plugins/font/lang/en-gb.js | 14 - ckeditor/plugins/font/lang/en.js | 14 - ckeditor/plugins/font/lang/eo.js | 14 - ckeditor/plugins/font/lang/es.js | 14 - ckeditor/plugins/font/lang/et.js | 14 - ckeditor/plugins/font/lang/eu.js | 14 - ckeditor/plugins/font/lang/fa.js | 14 - ckeditor/plugins/font/lang/fi.js | 14 - ckeditor/plugins/font/lang/fo.js | 14 - ckeditor/plugins/font/lang/fr-ca.js | 14 - ckeditor/plugins/font/lang/fr.js | 14 - ckeditor/plugins/font/lang/gl.js | 14 - ckeditor/plugins/font/lang/gu.js | 14 - ckeditor/plugins/font/lang/he.js | 14 - ckeditor/plugins/font/lang/hi.js | 14 - ckeditor/plugins/font/lang/hr.js | 14 - ckeditor/plugins/font/lang/hu.js | 14 - ckeditor/plugins/font/lang/id.js | 14 - ckeditor/plugins/font/lang/is.js | 14 - ckeditor/plugins/font/lang/it.js | 14 - ckeditor/plugins/font/lang/ja.js | 14 - ckeditor/plugins/font/lang/ka.js | 14 - ckeditor/plugins/font/lang/km.js | 14 - ckeditor/plugins/font/lang/ko.js | 14 - ckeditor/plugins/font/lang/ku.js | 14 - ckeditor/plugins/font/lang/lt.js | 14 - ckeditor/plugins/font/lang/lv.js | 14 - ckeditor/plugins/font/lang/mk.js | 14 - ckeditor/plugins/font/lang/mn.js | 14 - ckeditor/plugins/font/lang/ms.js | 14 - ckeditor/plugins/font/lang/nb.js | 14 - ckeditor/plugins/font/lang/nl.js | 14 - ckeditor/plugins/font/lang/no.js | 14 - ckeditor/plugins/font/lang/oc.js | 14 - ckeditor/plugins/font/lang/pl.js | 14 - ckeditor/plugins/font/lang/pt-br.js | 14 - ckeditor/plugins/font/lang/pt.js | 14 - ckeditor/plugins/font/lang/ro.js | 14 - ckeditor/plugins/font/lang/ru.js | 14 - ckeditor/plugins/font/lang/si.js | 14 - ckeditor/plugins/font/lang/sk.js | 14 - ckeditor/plugins/font/lang/sl.js | 14 - ckeditor/plugins/font/lang/sq.js | 14 - ckeditor/plugins/font/lang/sr-latn.js | 14 - ckeditor/plugins/font/lang/sr.js | 14 - ckeditor/plugins/font/lang/sv.js | 14 - ckeditor/plugins/font/lang/th.js | 14 - ckeditor/plugins/font/lang/tr.js | 14 - ckeditor/plugins/font/lang/tt.js | 14 - ckeditor/plugins/font/lang/ug.js | 14 - ckeditor/plugins/font/lang/uk.js | 14 - ckeditor/plugins/font/lang/vi.js | 14 - ckeditor/plugins/font/lang/zh-cn.js | 14 - ckeditor/plugins/font/lang/zh.js | 14 - ckeditor/plugins/font/plugin.js | 354 -- ckeditor/plugins/icons.png | Bin 10227 -> 0 bytes ckeditor/plugins/icons_hidpi.png | Bin 34465 -> 0 bytes ckeditor/plugins/image/dialogs/image.js | 44 - ckeditor/plugins/image/images/noimage.png | Bin 1610 -> 0 bytes ckeditor/plugins/link/dialogs/anchor.js | 7 - ckeditor/plugins/link/dialogs/link.js | 27 - ckeditor/plugins/link/images/anchor.png | Bin 589 -> 0 bytes ckeditor/plugins/link/images/hidpi/anchor.png | Bin 1379 -> 0 bytes .../magicline/images/hidpi/icon-rtl.png | Bin 176 -> 0 bytes .../plugins/magicline/images/hidpi/icon.png | Bin 199 -> 0 bytes .../plugins/magicline/images/icon-rtl.png | Bin 138 -> 0 bytes ckeditor/plugins/magicline/images/icon.png | Bin 133 -> 0 bytes .../plugins/pastefromword/filter/default.js | 32 - ckeditor/plugins/scayt/CHANGELOG.md | 20 - ckeditor/plugins/scayt/LICENSE.md | 28 - ckeditor/plugins/scayt/README.md | 25 - ckeditor/plugins/scayt/dialogs/options.js | 19 - ckeditor/plugins/scayt/dialogs/toolbar.css | 71 - .../dialogs/lang/_translationstatus.txt | 20 - .../plugins/specialchar/dialogs/lang/af.js | 13 - .../plugins/specialchar/dialogs/lang/ar.js | 13 - .../plugins/specialchar/dialogs/lang/bg.js | 13 - .../plugins/specialchar/dialogs/lang/ca.js | 14 - .../plugins/specialchar/dialogs/lang/cs.js | 13 - .../plugins/specialchar/dialogs/lang/cy.js | 14 - .../plugins/specialchar/dialogs/lang/da.js | 11 - .../plugins/specialchar/dialogs/lang/de-ch.js | 13 - .../plugins/specialchar/dialogs/lang/de.js | 13 - .../plugins/specialchar/dialogs/lang/el.js | 13 - .../plugins/specialchar/dialogs/lang/en-gb.js | 13 - .../plugins/specialchar/dialogs/lang/en.js | 13 - .../plugins/specialchar/dialogs/lang/eo.js | 12 - .../plugins/specialchar/dialogs/lang/es.js | 13 - .../plugins/specialchar/dialogs/lang/et.js | 13 - .../plugins/specialchar/dialogs/lang/eu.js | 13 - .../plugins/specialchar/dialogs/lang/fa.js | 12 - .../plugins/specialchar/dialogs/lang/fi.js | 13 - .../plugins/specialchar/dialogs/lang/fr-ca.js | 10 - .../plugins/specialchar/dialogs/lang/fr.js | 12 - .../plugins/specialchar/dialogs/lang/gl.js | 13 - .../plugins/specialchar/dialogs/lang/he.js | 12 - .../plugins/specialchar/dialogs/lang/hr.js | 13 - .../plugins/specialchar/dialogs/lang/hu.js | 12 - .../plugins/specialchar/dialogs/lang/id.js | 13 - .../plugins/specialchar/dialogs/lang/it.js | 14 - .../plugins/specialchar/dialogs/lang/ja.js | 9 - .../plugins/specialchar/dialogs/lang/km.js | 13 - .../plugins/specialchar/dialogs/lang/ko.js | 10 - .../plugins/specialchar/dialogs/lang/ku.js | 13 - .../plugins/specialchar/dialogs/lang/lt.js | 13 - .../plugins/specialchar/dialogs/lang/lv.js | 13 - .../plugins/specialchar/dialogs/lang/nb.js | 11 - .../plugins/specialchar/dialogs/lang/nl.js | 13 - .../plugins/specialchar/dialogs/lang/no.js | 11 - .../plugins/specialchar/dialogs/lang/pl.js | 12 - .../plugins/specialchar/dialogs/lang/pt-br.js | 11 - .../plugins/specialchar/dialogs/lang/pt.js | 13 - .../plugins/specialchar/dialogs/lang/ru.js | 13 - .../plugins/specialchar/dialogs/lang/si.js | 13 - .../plugins/specialchar/dialogs/lang/sk.js | 13 - .../plugins/specialchar/dialogs/lang/sl.js | 12 - .../plugins/specialchar/dialogs/lang/sq.js | 13 - .../plugins/specialchar/dialogs/lang/sv.js | 11 - .../plugins/specialchar/dialogs/lang/th.js | 13 - .../plugins/specialchar/dialogs/lang/tr.js | 12 - .../plugins/specialchar/dialogs/lang/tt.js | 13 - .../plugins/specialchar/dialogs/lang/ug.js | 13 - .../plugins/specialchar/dialogs/lang/uk.js | 12 - .../plugins/specialchar/dialogs/lang/vi.js | 14 - .../plugins/specialchar/dialogs/lang/zh-cn.js | 9 - .../plugins/specialchar/dialogs/lang/zh.js | 9 - .../specialchar/dialogs/specialchar.js | 14 - ckeditor/plugins/table/dialogs/table.js | 21 - .../plugins/tabletools/dialogs/tableCell.js | 17 - ckeditor/plugins/wsc/LICENSE.md | 28 - ckeditor/plugins/wsc/README.md | 25 - ckeditor/plugins/wsc/dialogs/ciframe.html | 66 - ckeditor/plugins/wsc/dialogs/tmpFrameset.html | 52 - ckeditor/plugins/wsc/dialogs/wsc.css | 82 - ckeditor/plugins/wsc/dialogs/wsc.js | 92 - ckeditor/plugins/wsc/dialogs/wsc_ie.js | 11 - ckeditor/samples/css/samples.css | 1640 ------- ckeditor/samples/img/github-top.png | Bin 383 -> 0 bytes ckeditor/samples/img/header-bg.png | Bin 13086 -> 0 bytes ckeditor/samples/img/header-separator.png | Bin 123 -> 0 bytes ckeditor/samples/img/logo.png | Bin 5891 -> 0 bytes ckeditor/samples/img/navigation-tip.png | Bin 12029 -> 0 bytes ckeditor/samples/index.html | 128 - ckeditor/samples/js/sample.js | 53 - ckeditor/samples/js/sf.js | 17 - ckeditor/samples/old/ajax.html | 85 - ckeditor/samples/old/api.html | 210 - ckeditor/samples/old/appendto.html | 59 - .../samples/old/assets/inlineall/logo.png | Bin 4283 -> 0 bytes .../old/assets/outputxhtml/outputxhtml.css | 204 - ckeditor/samples/old/assets/posteddata.php | 59 - ckeditor/samples/old/assets/sample.jpg | Bin 14449 -> 0 bytes .../old/assets/uilanguages/languages.js | 7 - ckeditor/samples/old/datafiltering.html | 508 --- .../samples/old/dialog/assets/my_dialog.js | 48 - ckeditor/samples/old/dialog/dialog.html | 190 - ckeditor/samples/old/divreplace.html | 144 - ckeditor/samples/old/enterkey/enterkey.html | 106 - .../assets/outputforflash/outputforflash.fla | Bin 85504 -> 0 bytes .../assets/outputforflash/outputforflash.swf | Bin 15571 -> 0 bytes .../assets/outputforflash/swfobject.js | 19 - .../old/htmlwriter/outputforflash.html | 283 -- .../samples/old/htmlwriter/outputhtml.html | 224 - ckeditor/samples/old/index.html | 131 - ckeditor/samples/old/inlineall.html | 314 -- ckeditor/samples/old/inlinebycode.html | 124 - ckeditor/samples/old/inlinetextarea.html | 113 - ckeditor/samples/old/jquery.html | 103 - ckeditor/samples/old/magicline/magicline.html | 209 - ckeditor/samples/old/readonly.html | 76 - ckeditor/samples/old/replacebyclass.html | 60 - ckeditor/samples/old/replacebycode.html | 59 - ckeditor/samples/old/sample.css | 357 -- ckeditor/samples/old/sample.js | 50 - ckeditor/samples/old/sample_posteddata.php | 16 - ckeditor/samples/old/tabindex.html | 78 - ckeditor/samples/old/toolbar/toolbar.html | 235 - ckeditor/samples/old/uicolor.html | 72 - ckeditor/samples/old/uilanguages.html | 122 - .../samples/old/wysiwygarea/fullpage.html | 80 - ckeditor/samples/old/xhtmlstyle.html | 234 - .../toolbarconfigurator/css/fontello.css | 55 - .../toolbarconfigurator/font/LICENSE.txt | 10 - .../toolbarconfigurator/font/config.json | 28 - .../toolbarconfigurator/font/fontello.eot | Bin 4988 -> 0 bytes .../toolbarconfigurator/font/fontello.svg | 14 - .../toolbarconfigurator/font/fontello.ttf | Bin 4820 -> 0 bytes .../toolbarconfigurator/font/fontello.woff | Bin 2904 -> 0 bytes .../samples/toolbarconfigurator/index.html | 446 -- .../js/abstracttoolbarmodifier.js | 13 - .../js/fulltoolbareditor.js | 9 - .../toolbarconfigurator/js/toolbarmodifier.js | 33 - .../js/toolbartextmodifier.js | 14 - .../lib/codemirror/LICENSE | 19 - .../lib/codemirror/codemirror.css | 325 -- .../lib/codemirror/codemirror.js | 288 -- .../lib/codemirror/javascript.js | 25 - .../lib/codemirror/neo.css | 36 - .../lib/codemirror/show-hint.css | 38 - .../lib/codemirror/show-hint.js | 16 - ckeditor/skins/moono/dialog.css | 5 - ckeditor/skins/moono/dialog_ie.css | 5 - ckeditor/skins/moono/dialog_ie7.css | 5 - ckeditor/skins/moono/dialog_ie8.css | 5 - ckeditor/skins/moono/dialog_iequirks.css | 5 - ckeditor/skins/moono/editor.css | 5 - ckeditor/skins/moono/editor_gecko.css | 5 - ckeditor/skins/moono/editor_ie.css | 5 - ckeditor/skins/moono/editor_ie7.css | 5 - ckeditor/skins/moono/editor_ie8.css | 5 - ckeditor/skins/moono/editor_iequirks.css | 5 - ckeditor/skins/moono/icons.png | Bin 10227 -> 0 bytes ckeditor/skins/moono/icons_hidpi.png | Bin 34465 -> 0 bytes ckeditor/skins/moono/images/arrow.png | Bin 191 -> 0 bytes ckeditor/skins/moono/images/close.png | Bin 468 -> 0 bytes ckeditor/skins/moono/images/hidpi/close.png | Bin 1271 -> 0 bytes .../skins/moono/images/hidpi/lock-open.png | Bin 1329 -> 0 bytes ckeditor/skins/moono/images/hidpi/lock.png | Bin 1299 -> 0 bytes ckeditor/skins/moono/images/hidpi/refresh.png | Bin 1842 -> 0 bytes ckeditor/skins/moono/images/lock-open.png | Bin 349 -> 0 bytes ckeditor/skins/moono/images/lock.png | Bin 475 -> 0 bytes ckeditor/skins/moono/images/refresh.png | Bin 422 -> 0 bytes ckeditor/skins/moono/images/spinner.gif | Bin 2984 -> 0 bytes ckeditor/skins/moono/readme.md | 49 - ckeditor/styles.js | 111 - composer.json | 9 +- composer.lock | 1490 ++++-- config.php | 61 +- constants.php | 5 +- db/cats_schema.sql | 16 +- db/cats_testdata.bak | Bin 86611 -> 86113 bytes db/upgrade-0.9.4-0.9.5.sql | 15 + docker/docker-compose-test.yml | 2 +- docker/docker-compose.yml | 2 +- images/actions/duplicates.png | Bin 0 -> 157485 bytes index.php | 40 +- installtest.php | 4 +- installwizard.php | 2 +- js/ckeditor-manager.js | 21 + js/emailHandler.js | 195 +- js/lists.js | 2 +- js/quickAction.js | 2 +- lib/ActivityEntries.php | 8 +- lib/AddressParser.php | 4 +- lib/Attachments.php | 10 +- lib/CATSUtility.php | 2 +- lib/CBFUtility.php | 2 +- lib/Calendar.php | 16 +- lib/Candidates.php | 868 +++- lib/CandidatesImport.php | 61 + lib/CareerPortal.php | 2 +- lib/CommonErrors.php | 4 +- lib/Companies.php | 42 +- lib/CompaniesImport.php | 60 + lib/Contacts.php | 10 +- lib/ContactsImport.php | 58 + lib/ControlPanel.php | 24 +- lib/Dashboard.php | 2 +- lib/DataGrid.php | 4 +- lib/DatabaseConnection.php | 76 +- lib/DatabaseSearch.php | 24 +- lib/DateUtility.php | 4 +- lib/DefaultQuestionnaires.php | 2 +- lib/Display.php | 2 +- lib/DocumentToText.php | 4 +- lib/EmailTemplates.php | 142 +- lib/Export.php | 8 +- lib/ExtraFields.php | 2 +- lib/FileCompressor.php | 2 +- lib/GraphGenerator.php | 14 +- lib/Graphs.php | 2 +- lib/{Import.php => ImportUtility.php} | 2 +- lib/ImportableEntity.php | 28 + lib/InstallationTests.php | 110 +- lib/JavaScriptCompressor.php | 2 +- lib/JobOrderStatuses.php | 154 + lib/JobOrders.php | 71 +- lib/LDAP.php | 47 +- lib/License.php | 4 +- lib/ListEditor.php | 2 +- lib/LoginActivity.php | 4 +- lib/Mailer.php | 40 +- lib/ModuleUtility.php | 10 +- lib/NewVersionCheck.php | 4 +- lib/Pipelines.php | 6 +- lib/Profile.php | 4 +- lib/Questionnaire.php | 4 +- lib/QueueProcessor.php | 3 +- lib/Search.php | 102 +- lib/Session.php | 2 +- lib/Statistics.php | 12 +- lib/StringUtility.php | 4 +- lib/SystemInfo.php | 8 +- lib/SystemUtility.php | 2 +- lib/Tags.php | 2 +- lib/TemplateUtility.php | 26 +- lib/Users.php | 4 +- lib/WebForm.php | 2 +- lib/Wizard.php | 2 +- lib/XmlJobExport.php | 2 +- lib/ZipLookup.php | 22 +- lib/artichow/Artichow.class.php | 2 +- lib/artichow/Graph.class.php | 2 +- lib/artichow/inc/Axis.class.php | 17 +- lib/artichow/inc/Label.class.php | 12 +- lib/fpdf/font/makefont/makefont.php | 6 +- lib/fpdf/fpdf.php | 16 +- lib/phpmailer/.gitignore | 7 - lib/phpmailer/.scrutinizer.yml | 132 - lib/phpmailer/.travis.yml | 32 - lib/phpmailer/LICENSE | 504 --- lib/phpmailer/PHPMailerAutoload.php | 49 - lib/phpmailer/VERSION | 1 - lib/phpmailer/class.phpmailer.php | 3984 ----------------- lib/phpmailer/class.phpmaileroauth.php | 197 - lib/phpmailer/class.phpmaileroauthgoogle.php | 77 - lib/phpmailer/class.pop3.php | 407 -- lib/phpmailer/class.smtp.php | 1257 ------ lib/phpmailer/composer.json | 44 - lib/phpmailer/composer.lock | 3576 --------------- lib/phpmailer/extras/EasyPeasyICS.php | 148 - lib/phpmailer/extras/README.md | 17 - lib/phpmailer/extras/htmlfilter.php | 1159 ----- lib/phpmailer/extras/ntlm_sasl_client.php | 185 - lib/phpmailer/language/phpmailer.lang-am.php | 26 - lib/phpmailer/language/phpmailer.lang-ar.php | 27 - lib/phpmailer/language/phpmailer.lang-az.php | 26 - lib/phpmailer/language/phpmailer.lang-be.php | 26 - lib/phpmailer/language/phpmailer.lang-bg.php | 26 - lib/phpmailer/language/phpmailer.lang-ca.php | 26 - lib/phpmailer/language/phpmailer.lang-ch.php | 26 - lib/phpmailer/language/phpmailer.lang-cs.php | 25 - lib/phpmailer/language/phpmailer.lang-da.php | 26 - lib/phpmailer/language/phpmailer.lang-de.php | 25 - lib/phpmailer/language/phpmailer.lang-el.php | 25 - lib/phpmailer/language/phpmailer.lang-eo.php | 25 - lib/phpmailer/language/phpmailer.lang-es.php | 26 - lib/phpmailer/language/phpmailer.lang-et.php | 27 - lib/phpmailer/language/phpmailer.lang-fa.php | 27 - lib/phpmailer/language/phpmailer.lang-fi.php | 27 - lib/phpmailer/language/phpmailer.lang-fo.php | 26 - lib/phpmailer/language/phpmailer.lang-fr.php | 29 - lib/phpmailer/language/phpmailer.lang-gl.php | 26 - lib/phpmailer/language/phpmailer.lang-he.php | 26 - lib/phpmailer/language/phpmailer.lang-hr.php | 26 - lib/phpmailer/language/phpmailer.lang-hu.php | 26 - lib/phpmailer/language/phpmailer.lang-id.php | 26 - lib/phpmailer/language/phpmailer.lang-it.php | 27 - lib/phpmailer/language/phpmailer.lang-ja.php | 27 - lib/phpmailer/language/phpmailer.lang-ka.php | 26 - lib/phpmailer/language/phpmailer.lang-ko.php | 26 - lib/phpmailer/language/phpmailer.lang-lt.php | 26 - lib/phpmailer/language/phpmailer.lang-lv.php | 26 - lib/phpmailer/language/phpmailer.lang-ms.php | 26 - lib/phpmailer/language/phpmailer.lang-nb.php | 25 - lib/phpmailer/language/phpmailer.lang-nl.php | 26 - lib/phpmailer/language/phpmailer.lang-pl.php | 26 - lib/phpmailer/language/phpmailer.lang-pt.php | 26 - .../language/phpmailer.lang-pt_br.php | 28 - lib/phpmailer/language/phpmailer.lang-ro.php | 26 - lib/phpmailer/language/phpmailer.lang-ru.php | 27 - lib/phpmailer/language/phpmailer.lang-sk.php | 26 - lib/phpmailer/language/phpmailer.lang-sl.php | 26 - lib/phpmailer/language/phpmailer.lang-sr.php | 26 - lib/phpmailer/language/phpmailer.lang-sv.php | 26 - lib/phpmailer/language/phpmailer.lang-tr.php | 29 - lib/phpmailer/language/phpmailer.lang-uk.php | 27 - lib/phpmailer/language/phpmailer.lang-vi.php | 26 - lib/phpmailer/language/phpmailer.lang-zh.php | 28 - .../language/phpmailer.lang-zh_cn.php | 27 - lib/simpletest/detached.php | 8 +- lib/simpletest/eclipse.php | 6 +- lib/simpletest/test/eclipse_test.php | 6 +- lib/simpletest/test/parse_error_test.php | 4 +- lib/simpletest/test/visual_test.php | 34 +- lib/sphinx/{ => conf/old}/sphinx-fs1.conf | 41 +- lib/sphinx/{ => conf/old}/sphinx-www.conf | 45 +- lib/sphinx/conf/sphinx.conf | 114 + lib/sphinx/index/cats/empty | 0 lib/sphinx/index/cats_delta/empty | 0 lib/sphinx/var/log/empty | 0 lib/sphinx/var/run/empty | 0 main.css | 10 + modules/activity/ActivityUI.php | 12 +- modules/activity/dataGrids.php | 8 +- modules/attachments/AttachmentsUI.php | 4 +- modules/calendar/CalendarUI.php | 6 +- modules/calendar/tasks/Reminders.php | 8 +- modules/candidates/Add.tpl | 2 +- modules/candidates/CandidatesUI.php | 323 +- modules/candidates/ConsiderSearchModal.tpl | 4 +- modules/candidates/Duplicates.tpl | 158 + modules/candidates/Edit.tpl | 2 +- modules/candidates/LinkDuplicity.tpl | 161 + modules/candidates/Merge.tpl | 170 + modules/candidates/SendEmail.tpl | 48 +- modules/candidates/Show.tpl | 52 +- modules/candidates/dataGrids.php | 16 +- modules/candidates/quickAction-candidates.js | 2 +- modules/candidates/quickAction-duplicates.js | 25 + modules/candidates/validator.js | 4 +- modules/careers/Blank.tpl | 4 +- modules/careers/Blank2.tpl | 4 +- modules/careers/BlankNoMargin.tpl | 4 +- modules/careers/CareersUI.php | 38 +- modules/companies/CompaniesUI.php | 28 +- modules/companies/dataGrids.php | 6 +- modules/contacts/ContactsUI.php | 26 +- modules/contacts/dataGrids.php | 6 +- modules/export/ExportUI.php | 4 +- modules/graphs/GraphsUI.php | 14 +- modules/home/HomeUI.php | 16 +- modules/home/dataGrids.php | 23 +- modules/import/Import.php | 293 +- modules/import/Import1.tpl | 1 + modules/import/Import2.tpl | 2 + modules/import/ImportUI.php | 130 +- modules/import/MassImportStep4.tpl | 2 +- modules/import/ajax/processMassImportItem.php | 2 +- modules/install/CATSUI.php | 2 +- modules/install/OptionalComponents.php | 2 +- modules/install/ajax/attachmentsReindex.php | 6 +- .../ajax/attachmentsToThreeDirectory.php | 6 +- modules/install/ajax/ui.php | 115 +- modules/install/backupDB.php | 21 +- modules/install/scripts/114.php | 2 +- modules/install/scripts/150.php | 2 +- modules/joborders/Add.tpl | 20 +- modules/joborders/ConsiderSearchModal.tpl | 12 +- modules/joborders/Edit.tpl | 38 +- modules/joborders/JobOrders.tpl | 14 +- modules/joborders/JobOrdersUI.php | 65 +- modules/joborders/Show.tpl | 6 +- modules/joborders/dataGrids.php | 6 +- modules/lists/ListsUI.php | 24 +- modules/lists/ajax/addToLists.php | 6 +- modules/lists/ajax/deleteList.php | 6 +- modules/lists/ajax/editListName.php | 6 +- modules/lists/ajax/newList.php | 6 +- modules/lists/dataGrids.php | 6 +- modules/login/Login.tpl | 2 +- modules/login/LoginUI.php | 12 +- modules/queue/tasks/CleanExceptions.php | 2 +- modules/queue/tasks/SampleRecurring.php | 2 +- modules/queue/tasks/SampleTask.php | 2 +- modules/reports/GraphView.tpl | 4 +- modules/reports/ReportsUI.php | 10 +- modules/rss/RssUI.php | 12 +- modules/settings/EEOEOCSettings.tpl | 4 +- modules/settings/EmailTemplates.tpl | 26 + modules/settings/SettingsUI.php | 104 +- modules/settings/ajax/backup.php | 12 +- modules/tests/TestsUI.php | 12 +- modules/tests/ajax/getCandidateJobOrderID.php | 2 +- modules/tests/testcases/AJAXTests.php | 4 +- modules/tests/testcases/WebTests.php | 2 +- modules/tests/waitForDb.php | 8 +- modules/toolbar/ToolbarUI.php | 11 +- modules/wizard/WizardUI.php | 12 +- modules/xml/XmlUI.php | 18 +- .../latest-sphinx-search/Search.php | 4 +- rebuild_old_docs.php | 27 +- rss/index.php | 2 +- scripts/makeBackup.php | 22 +- src/OpenCATS/Entity/CompanyRepository.php | 2 +- src/OpenCATS/Entity/JobOrder.php | 10 +- src/OpenCATS/Entity/JobOrderRepository.php | 9 +- .../DatabaseConnectionTest.php | 2 +- .../IntegrationTests/DatabaseSearchTest.php | 7 +- .../IntegrationTests/DatabaseTestCase.php | 11 +- .../Tests/UnitTests/AJAXInterfaceTest.php | 7 +- .../Tests/UnitTests/AddressParserTest.php | 9 +- .../Tests/UnitTests/ArrayUtilityTest.php | 7 +- .../Tests/UnitTests/BrowserDetectionTest.php | 7 +- .../Tests/UnitTests/CompanyRepositoryTest.php | 8 +- .../Tests/UnitTests/DateUtilityTest.php | 11 +- .../Tests/UnitTests/FileUtilityTest.php | 7 +- .../Tests/UnitTests/ResultSetUtilityTest.php | 7 +- .../Tests/UnitTests/StringUtilityTest.php | 7 +- src/OpenCATS/Tests/UnitTests/VCardTest.php | 7 +- .../UI/CandidateDuplicateQuickActionMenu.php | 28 + src/OpenCATS/UI/QuickActionMenu.php | 3 +- test/config.php | 7 + test/data/securityTests.sql | 4 +- test/data/test.sql | 15 + test/features/bootstrap/FeatureContext.php | 12 +- test/features/job-orders.feature | 8 +- test/features/moduleMainPagesSecurity.feature | 2 +- test/features/moduleSubPagesSecurity.feature | 12 +- xml/index.php | 2 +- 683 files changed, 5275 insertions(+), 33905 deletions(-) create mode 100644 ajax/replaceTemplateTags.php create mode 100644 ajax/showTemplate.php delete mode 100644 ckeditor/.htaccess delete mode 100644 ckeditor/CHANGES.html delete mode 100644 ckeditor/CHANGES.md delete mode 100644 ckeditor/INSTALL.html delete mode 100644 ckeditor/LICENSE.html delete mode 100644 ckeditor/LICENSE.md delete mode 100644 ckeditor/README.md delete mode 100644 ckeditor/adapters/jquery.js delete mode 100644 ckeditor/build-config.js delete mode 100644 ckeditor/ckeditor.js delete mode 100644 ckeditor/ckeditor.pack delete mode 100644 ckeditor/ckeditor.php delete mode 100644 ckeditor/ckeditor_basic.js delete mode 100644 ckeditor/ckeditor_basic_source.js delete mode 100644 ckeditor/ckeditor_php4.php delete mode 100644 ckeditor/ckeditor_php5.php delete mode 100644 ckeditor/ckeditor_source.js delete mode 100644 ckeditor/config.js delete mode 100644 ckeditor/contents.css delete mode 100644 ckeditor/lang/af.js delete mode 100644 ckeditor/lang/ar.js delete mode 100644 ckeditor/lang/bg.js delete mode 100644 ckeditor/lang/bn.js delete mode 100644 ckeditor/lang/bs.js delete mode 100644 ckeditor/lang/ca.js delete mode 100644 ckeditor/lang/cs.js delete mode 100644 ckeditor/lang/cy.js delete mode 100644 ckeditor/lang/da.js delete mode 100644 ckeditor/lang/de-ch.js delete mode 100644 ckeditor/lang/de.js delete mode 100644 ckeditor/lang/el.js delete mode 100644 ckeditor/lang/en-au.js delete mode 100644 ckeditor/lang/en-ca.js delete mode 100644 ckeditor/lang/en-gb.js delete mode 100644 ckeditor/lang/en.js delete mode 100644 ckeditor/lang/eo.js delete mode 100644 ckeditor/lang/es.js delete mode 100644 ckeditor/lang/et.js delete mode 100644 ckeditor/lang/eu.js delete mode 100644 ckeditor/lang/fa.js delete mode 100644 ckeditor/lang/fi.js delete mode 100644 ckeditor/lang/fo.js delete mode 100644 ckeditor/lang/fr-ca.js delete mode 100644 ckeditor/lang/fr.js delete mode 100644 ckeditor/lang/gl.js delete mode 100644 ckeditor/lang/gu.js delete mode 100644 ckeditor/lang/he.js delete mode 100644 ckeditor/lang/hi.js delete mode 100644 ckeditor/lang/hr.js delete mode 100644 ckeditor/lang/hu.js delete mode 100644 ckeditor/lang/id.js delete mode 100644 ckeditor/lang/is.js delete mode 100644 ckeditor/lang/it.js delete mode 100644 ckeditor/lang/ja.js delete mode 100644 ckeditor/lang/ka.js delete mode 100644 ckeditor/lang/km.js delete mode 100644 ckeditor/lang/ko.js delete mode 100644 ckeditor/lang/ku.js delete mode 100644 ckeditor/lang/lt.js delete mode 100644 ckeditor/lang/lv.js delete mode 100644 ckeditor/lang/mk.js delete mode 100644 ckeditor/lang/mn.js delete mode 100644 ckeditor/lang/ms.js delete mode 100644 ckeditor/lang/nb.js delete mode 100644 ckeditor/lang/nl.js delete mode 100644 ckeditor/lang/no.js delete mode 100644 ckeditor/lang/pl.js delete mode 100644 ckeditor/lang/pt-br.js delete mode 100644 ckeditor/lang/pt.js delete mode 100644 ckeditor/lang/ro.js delete mode 100644 ckeditor/lang/ru.js delete mode 100644 ckeditor/lang/si.js delete mode 100644 ckeditor/lang/sk.js delete mode 100644 ckeditor/lang/sl.js delete mode 100644 ckeditor/lang/sq.js delete mode 100644 ckeditor/lang/sr-latn.js delete mode 100644 ckeditor/lang/sr.js delete mode 100644 ckeditor/lang/sv.js delete mode 100644 ckeditor/lang/th.js delete mode 100644 ckeditor/lang/tr.js delete mode 100644 ckeditor/lang/tt.js delete mode 100644 ckeditor/lang/ug.js delete mode 100644 ckeditor/lang/uk.js delete mode 100644 ckeditor/lang/vi.js delete mode 100644 ckeditor/lang/zh-cn.js delete mode 100644 ckeditor/lang/zh.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/af.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ar.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/bg.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ca.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/cs.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/cy.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/da.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/de.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/el.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/en.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/eo.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/es.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/et.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/eu.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/fa.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/fi.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/fo.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/fr.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/gl.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/gu.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/he.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/hi.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/hr.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/hu.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/id.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/it.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ja.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/km.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ko.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ku.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/lt.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/lv.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/mk.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/mn.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/nb.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/nl.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/no.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/pl.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/pt.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ro.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ru.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/si.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/sk.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/sl.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/sq.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/sr.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/sv.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/th.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/tr.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/tt.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/ug.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/uk.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/vi.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js delete mode 100644 ckeditor/plugins/a11yhelp/dialogs/lang/zh.js delete mode 100644 ckeditor/plugins/about/dialogs/about.js delete mode 100644 ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png delete mode 100644 ckeditor/plugins/about/dialogs/logo_ckeditor.png delete mode 100644 ckeditor/plugins/clipboard/dialogs/paste.js delete mode 100644 ckeditor/plugins/dialog/dialogDefinition.js delete mode 100644 ckeditor/plugins/font/lang/af.js delete mode 100644 ckeditor/plugins/font/lang/ar.js delete mode 100644 ckeditor/plugins/font/lang/bg.js delete mode 100644 ckeditor/plugins/font/lang/bn.js delete mode 100644 ckeditor/plugins/font/lang/bs.js delete mode 100644 ckeditor/plugins/font/lang/ca.js delete mode 100644 ckeditor/plugins/font/lang/cs.js delete mode 100644 ckeditor/plugins/font/lang/cy.js delete mode 100644 ckeditor/plugins/font/lang/da.js delete mode 100644 ckeditor/plugins/font/lang/de-ch.js delete mode 100644 ckeditor/plugins/font/lang/de.js delete mode 100644 ckeditor/plugins/font/lang/el.js delete mode 100644 ckeditor/plugins/font/lang/en-au.js delete mode 100644 ckeditor/plugins/font/lang/en-ca.js delete mode 100644 ckeditor/plugins/font/lang/en-gb.js delete mode 100644 ckeditor/plugins/font/lang/en.js delete mode 100644 ckeditor/plugins/font/lang/eo.js delete mode 100644 ckeditor/plugins/font/lang/es.js delete mode 100644 ckeditor/plugins/font/lang/et.js delete mode 100644 ckeditor/plugins/font/lang/eu.js delete mode 100644 ckeditor/plugins/font/lang/fa.js delete mode 100644 ckeditor/plugins/font/lang/fi.js delete mode 100644 ckeditor/plugins/font/lang/fo.js delete mode 100644 ckeditor/plugins/font/lang/fr-ca.js delete mode 100644 ckeditor/plugins/font/lang/fr.js delete mode 100644 ckeditor/plugins/font/lang/gl.js delete mode 100644 ckeditor/plugins/font/lang/gu.js delete mode 100644 ckeditor/plugins/font/lang/he.js delete mode 100644 ckeditor/plugins/font/lang/hi.js delete mode 100644 ckeditor/plugins/font/lang/hr.js delete mode 100644 ckeditor/plugins/font/lang/hu.js delete mode 100644 ckeditor/plugins/font/lang/id.js delete mode 100644 ckeditor/plugins/font/lang/is.js delete mode 100644 ckeditor/plugins/font/lang/it.js delete mode 100644 ckeditor/plugins/font/lang/ja.js delete mode 100644 ckeditor/plugins/font/lang/ka.js delete mode 100644 ckeditor/plugins/font/lang/km.js delete mode 100644 ckeditor/plugins/font/lang/ko.js delete mode 100644 ckeditor/plugins/font/lang/ku.js delete mode 100644 ckeditor/plugins/font/lang/lt.js delete mode 100644 ckeditor/plugins/font/lang/lv.js delete mode 100644 ckeditor/plugins/font/lang/mk.js delete mode 100644 ckeditor/plugins/font/lang/mn.js delete mode 100644 ckeditor/plugins/font/lang/ms.js delete mode 100644 ckeditor/plugins/font/lang/nb.js delete mode 100644 ckeditor/plugins/font/lang/nl.js delete mode 100644 ckeditor/plugins/font/lang/no.js delete mode 100644 ckeditor/plugins/font/lang/oc.js delete mode 100644 ckeditor/plugins/font/lang/pl.js delete mode 100644 ckeditor/plugins/font/lang/pt-br.js delete mode 100644 ckeditor/plugins/font/lang/pt.js delete mode 100644 ckeditor/plugins/font/lang/ro.js delete mode 100644 ckeditor/plugins/font/lang/ru.js delete mode 100644 ckeditor/plugins/font/lang/si.js delete mode 100644 ckeditor/plugins/font/lang/sk.js delete mode 100644 ckeditor/plugins/font/lang/sl.js delete mode 100644 ckeditor/plugins/font/lang/sq.js delete mode 100644 ckeditor/plugins/font/lang/sr-latn.js delete mode 100644 ckeditor/plugins/font/lang/sr.js delete mode 100644 ckeditor/plugins/font/lang/sv.js delete mode 100644 ckeditor/plugins/font/lang/th.js delete mode 100644 ckeditor/plugins/font/lang/tr.js delete mode 100644 ckeditor/plugins/font/lang/tt.js delete mode 100644 ckeditor/plugins/font/lang/ug.js delete mode 100644 ckeditor/plugins/font/lang/uk.js delete mode 100644 ckeditor/plugins/font/lang/vi.js delete mode 100644 ckeditor/plugins/font/lang/zh-cn.js delete mode 100644 ckeditor/plugins/font/lang/zh.js delete mode 100644 ckeditor/plugins/font/plugin.js delete mode 100644 ckeditor/plugins/icons.png delete mode 100644 ckeditor/plugins/icons_hidpi.png delete mode 100644 ckeditor/plugins/image/dialogs/image.js delete mode 100644 ckeditor/plugins/image/images/noimage.png delete mode 100644 ckeditor/plugins/link/dialogs/anchor.js delete mode 100644 ckeditor/plugins/link/dialogs/link.js delete mode 100644 ckeditor/plugins/link/images/anchor.png delete mode 100644 ckeditor/plugins/link/images/hidpi/anchor.png delete mode 100644 ckeditor/plugins/magicline/images/hidpi/icon-rtl.png delete mode 100644 ckeditor/plugins/magicline/images/hidpi/icon.png delete mode 100644 ckeditor/plugins/magicline/images/icon-rtl.png delete mode 100644 ckeditor/plugins/magicline/images/icon.png delete mode 100644 ckeditor/plugins/pastefromword/filter/default.js delete mode 100644 ckeditor/plugins/scayt/CHANGELOG.md delete mode 100644 ckeditor/plugins/scayt/LICENSE.md delete mode 100644 ckeditor/plugins/scayt/README.md delete mode 100644 ckeditor/plugins/scayt/dialogs/options.js delete mode 100644 ckeditor/plugins/scayt/dialogs/toolbar.css delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/af.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/ar.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/bg.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/ca.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/cs.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/cy.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/da.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/de-ch.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/de.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/el.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/en-gb.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/en.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/eo.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/es.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/et.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/eu.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/fa.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/fi.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/fr.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/gl.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/he.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/hr.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/hu.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/id.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/it.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/ja.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/km.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/ko.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/ku.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/lt.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/lv.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/nb.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/nl.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/no.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/pl.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/pt-br.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/pt.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/ru.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/si.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/sk.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/sl.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/sq.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/sv.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/th.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/tr.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/tt.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/ug.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/uk.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/vi.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/lang/zh.js delete mode 100644 ckeditor/plugins/specialchar/dialogs/specialchar.js delete mode 100644 ckeditor/plugins/table/dialogs/table.js delete mode 100644 ckeditor/plugins/tabletools/dialogs/tableCell.js delete mode 100644 ckeditor/plugins/wsc/LICENSE.md delete mode 100644 ckeditor/plugins/wsc/README.md delete mode 100644 ckeditor/plugins/wsc/dialogs/ciframe.html delete mode 100644 ckeditor/plugins/wsc/dialogs/tmpFrameset.html delete mode 100644 ckeditor/plugins/wsc/dialogs/wsc.css delete mode 100644 ckeditor/plugins/wsc/dialogs/wsc.js delete mode 100644 ckeditor/plugins/wsc/dialogs/wsc_ie.js delete mode 100644 ckeditor/samples/css/samples.css delete mode 100644 ckeditor/samples/img/github-top.png delete mode 100644 ckeditor/samples/img/header-bg.png delete mode 100644 ckeditor/samples/img/header-separator.png delete mode 100644 ckeditor/samples/img/logo.png delete mode 100644 ckeditor/samples/img/navigation-tip.png delete mode 100644 ckeditor/samples/index.html delete mode 100644 ckeditor/samples/js/sample.js delete mode 100644 ckeditor/samples/js/sf.js delete mode 100644 ckeditor/samples/old/ajax.html delete mode 100644 ckeditor/samples/old/api.html delete mode 100644 ckeditor/samples/old/appendto.html delete mode 100644 ckeditor/samples/old/assets/inlineall/logo.png delete mode 100644 ckeditor/samples/old/assets/outputxhtml/outputxhtml.css delete mode 100644 ckeditor/samples/old/assets/posteddata.php delete mode 100644 ckeditor/samples/old/assets/sample.jpg delete mode 100644 ckeditor/samples/old/assets/uilanguages/languages.js delete mode 100644 ckeditor/samples/old/datafiltering.html delete mode 100644 ckeditor/samples/old/dialog/assets/my_dialog.js delete mode 100644 ckeditor/samples/old/dialog/dialog.html delete mode 100644 ckeditor/samples/old/divreplace.html delete mode 100644 ckeditor/samples/old/enterkey/enterkey.html delete mode 100644 ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla delete mode 100644 ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf delete mode 100644 ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js delete mode 100644 ckeditor/samples/old/htmlwriter/outputforflash.html delete mode 100644 ckeditor/samples/old/htmlwriter/outputhtml.html delete mode 100644 ckeditor/samples/old/index.html delete mode 100644 ckeditor/samples/old/inlineall.html delete mode 100644 ckeditor/samples/old/inlinebycode.html delete mode 100644 ckeditor/samples/old/inlinetextarea.html delete mode 100644 ckeditor/samples/old/jquery.html delete mode 100644 ckeditor/samples/old/magicline/magicline.html delete mode 100644 ckeditor/samples/old/readonly.html delete mode 100644 ckeditor/samples/old/replacebyclass.html delete mode 100644 ckeditor/samples/old/replacebycode.html delete mode 100644 ckeditor/samples/old/sample.css delete mode 100644 ckeditor/samples/old/sample.js delete mode 100644 ckeditor/samples/old/sample_posteddata.php delete mode 100644 ckeditor/samples/old/tabindex.html delete mode 100644 ckeditor/samples/old/toolbar/toolbar.html delete mode 100644 ckeditor/samples/old/uicolor.html delete mode 100644 ckeditor/samples/old/uilanguages.html delete mode 100644 ckeditor/samples/old/wysiwygarea/fullpage.html delete mode 100644 ckeditor/samples/old/xhtmlstyle.html delete mode 100644 ckeditor/samples/toolbarconfigurator/css/fontello.css delete mode 100644 ckeditor/samples/toolbarconfigurator/font/LICENSE.txt delete mode 100644 ckeditor/samples/toolbarconfigurator/font/config.json delete mode 100644 ckeditor/samples/toolbarconfigurator/font/fontello.eot delete mode 100644 ckeditor/samples/toolbarconfigurator/font/fontello.svg delete mode 100644 ckeditor/samples/toolbarconfigurator/font/fontello.ttf delete mode 100644 ckeditor/samples/toolbarconfigurator/font/fontello.woff delete mode 100644 ckeditor/samples/toolbarconfigurator/index.html delete mode 100644 ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js delete mode 100644 ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js delete mode 100644 ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js delete mode 100644 ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js delete mode 100644 ckeditor/samples/toolbarconfigurator/lib/codemirror/LICENSE delete mode 100644 ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css delete mode 100644 ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js delete mode 100644 ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js delete mode 100644 ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css delete mode 100644 ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css delete mode 100644 ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js delete mode 100644 ckeditor/skins/moono/dialog.css delete mode 100644 ckeditor/skins/moono/dialog_ie.css delete mode 100644 ckeditor/skins/moono/dialog_ie7.css delete mode 100644 ckeditor/skins/moono/dialog_ie8.css delete mode 100644 ckeditor/skins/moono/dialog_iequirks.css delete mode 100644 ckeditor/skins/moono/editor.css delete mode 100644 ckeditor/skins/moono/editor_gecko.css delete mode 100644 ckeditor/skins/moono/editor_ie.css delete mode 100644 ckeditor/skins/moono/editor_ie7.css delete mode 100644 ckeditor/skins/moono/editor_ie8.css delete mode 100644 ckeditor/skins/moono/editor_iequirks.css delete mode 100644 ckeditor/skins/moono/icons.png delete mode 100644 ckeditor/skins/moono/icons_hidpi.png delete mode 100644 ckeditor/skins/moono/images/arrow.png delete mode 100644 ckeditor/skins/moono/images/close.png delete mode 100644 ckeditor/skins/moono/images/hidpi/close.png delete mode 100644 ckeditor/skins/moono/images/hidpi/lock-open.png delete mode 100644 ckeditor/skins/moono/images/hidpi/lock.png delete mode 100644 ckeditor/skins/moono/images/hidpi/refresh.png delete mode 100644 ckeditor/skins/moono/images/lock-open.png delete mode 100644 ckeditor/skins/moono/images/lock.png delete mode 100644 ckeditor/skins/moono/images/refresh.png delete mode 100644 ckeditor/skins/moono/images/spinner.gif delete mode 100644 ckeditor/skins/moono/readme.md delete mode 100644 ckeditor/styles.js mode change 100755 => 100644 db/cats_testdata.bak create mode 100644 db/upgrade-0.9.4-0.9.5.sql create mode 100644 images/actions/duplicates.png create mode 100644 js/ckeditor-manager.js create mode 100644 lib/CandidatesImport.php create mode 100644 lib/CompaniesImport.php create mode 100644 lib/ContactsImport.php rename lib/{Import.php => ImportUtility.php} (97%) mode change 100755 => 100644 create mode 100644 lib/ImportableEntity.php create mode 100644 lib/JobOrderStatuses.php mode change 100755 => 100644 lib/Mailer.php delete mode 100644 lib/phpmailer/.gitignore delete mode 100644 lib/phpmailer/.scrutinizer.yml delete mode 100644 lib/phpmailer/.travis.yml delete mode 100644 lib/phpmailer/LICENSE delete mode 100644 lib/phpmailer/PHPMailerAutoload.php delete mode 100644 lib/phpmailer/VERSION delete mode 100644 lib/phpmailer/class.phpmailer.php delete mode 100644 lib/phpmailer/class.phpmaileroauth.php delete mode 100644 lib/phpmailer/class.phpmaileroauthgoogle.php delete mode 100644 lib/phpmailer/class.pop3.php delete mode 100644 lib/phpmailer/class.smtp.php delete mode 100644 lib/phpmailer/composer.json delete mode 100644 lib/phpmailer/composer.lock delete mode 100644 lib/phpmailer/extras/EasyPeasyICS.php delete mode 100644 lib/phpmailer/extras/README.md delete mode 100644 lib/phpmailer/extras/htmlfilter.php delete mode 100644 lib/phpmailer/extras/ntlm_sasl_client.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-am.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ar.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-az.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-be.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-bg.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ca.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ch.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-cs.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-da.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-de.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-el.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-eo.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-es.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-et.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-fa.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-fi.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-fo.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-fr.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-gl.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-he.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-hr.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-hu.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-id.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-it.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ja.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ka.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ko.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-lt.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-lv.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ms.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-nb.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-nl.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-pl.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-pt.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-pt_br.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ro.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-ru.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-sk.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-sl.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-sr.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-sv.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-tr.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-uk.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-vi.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-zh.php delete mode 100644 lib/phpmailer/language/phpmailer.lang-zh_cn.php rename lib/sphinx/{ => conf/old}/sphinx-fs1.conf (77%) rename lib/sphinx/{ => conf/old}/sphinx-www.conf (74%) create mode 100755 lib/sphinx/conf/sphinx.conf create mode 100644 lib/sphinx/index/cats/empty create mode 100644 lib/sphinx/index/cats_delta/empty create mode 100644 lib/sphinx/var/log/empty create mode 100644 lib/sphinx/var/run/empty create mode 100644 modules/candidates/Duplicates.tpl create mode 100644 modules/candidates/LinkDuplicity.tpl create mode 100644 modules/candidates/Merge.tpl create mode 100644 modules/candidates/quickAction-duplicates.js create mode 100644 src/OpenCATS/UI/CandidateDuplicateQuickActionMenu.php diff --git a/.github/no-response.yml b/.github/no-response.yml index 18dda67f4..673dccf65 100644 --- a/.github/no-response.yml +++ b/.github/no-response.yml @@ -2,6 +2,7 @@ # Number of days of inactivity before an Issue is closed for lack of response daysUntilClose: 16 + # Label requiring a response responseRequiredLabel: more-information-required # Comment to post when closing an Issue for lack of response. Set to `false` to disable diff --git a/.gitignore b/.gitignore index 70aaf70ed..05f0022d8 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ docker/data/* docker/persist/* vendor/* attachments/* -temp/* \ No newline at end of file +temp/* +# Ignore Mac DS_Store files +.DS_Store +/vendor/ diff --git a/.travis.yml b/.travis.yml index f3cf78aae..46c05e0a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ services: - docker env: - COMPOSE_VERSION: 1.7.1 + COMPOSE_VERSION: 1.25.3 before_install: - sudo apt-get update -qq @@ -14,8 +14,9 @@ before_install: language: php php: -- 5.6 - +- 7.2 +- 7.3 +- 7.4 script: - composer install - ./vendor/bin/phpunit src/OpenCATS/Tests/UnitTests @@ -26,11 +27,10 @@ script: deploy: provider: releases api_key: - secure: Srgq/VW4yoYg0yWq/llOix47MAe2EKccqxfdukxrm6fePKRRv6bVBQXH/0hhrTTn4Q6xrmVycqC36SD9/JVL684xNYBESlT4V3DpZ6vxPYeNzU2GjtoMBqGCOgjZvxpq5AGIf7gXZ9GdM4+xikBPthspCcUorg8hkLgaOQ5PPlI0dC7cdFPjQweoxAqDe6VwQ31J1MiO+DPI+69GHb/KukHkS/sjhZTMZoO0shfw5dhv0TSuaeaPzWYw1+g6sNdgNurNbi4bPEEpofUdfA+WaWw7oapsO7ZW4qTqKxsrsrCf1ZgTnynm2Kow5D7oFVqRkt/kpoQ/UzwZUalzm8JrVeYPbQ2j7mYxOh3TcTYn24NSm8xuDgF8ZaG3BxoWCLQSA8pdJZRI7QbWrDdFA93ZD1EWRW0amL3rOGLED61K0ZFhulUBy1bKyjAnT2T6FPsKk4hOwFDo1nojzemQnl6PfPT6Lsuvk5FotevsemBUQl+xx7UQsxhDM3kw3/IheE/abOYmIK+qRKdcH5J04m+dadXKZBa+h/Jsd5AdC7Yp3Si74IhJFceyvQIx7GkkG4fo/0Y34mCAXuwEN7acB7RbNU8DVyzfUtpWSPwkw2iDTJshDsV1RN94Xzt+k/GvLAvAOttozkhruYV563+MEYizBRN+96jaF/35dZYd+X3UwBA= + secure: ke80rN2W+MZWizqUbd9ENVOYLYiQy29oAdyqD61Q2rLunnFXm0LgDv/6Bddav6/Lherv+sFmN6LIa9IF3iD/oO7nUuzuRhsL4E9Pib5Al3TEIDZoOeeXyVinO/v2QaWjs+ufAswUESch0/+8p6bowiwGwaCJw0S4EA+jA/PacKHYxYG2cIbk9Rl7/HlSmirAQpkw2n+xUx4pQZj0bQRd5mILFxyLuFa5ct8y3Ya+Bo4gCBgJnXEITufbeuQmcEeK/4Zec8G5xZOIfoiTV7gT4nEBWl1wUK8FxFoEytG6NrHP8fRSkpgmecuZwzQI1zX5ORZaVTzLpC5Mw10/AZmBWYxkZN9ALYpQ9xKvFhxL4kurRZQOdfpepc3gvC6rCNE0Q+OYHD38Y3Nb6rdnOcqdkROdNkPPL+OierOgatgG4grlYLZq4tu9fnqRXYgT4UNrDiV6hAG8OPIIkHRWItPIr5HIjGkAPIos/fs20rBan/uqms9vZjzijfUjOwbold5t1fMTuO1zx/UytANunIWMbajP8puuO+GeEAB8vkE9CBC7ZR+pXDqap3qewCmg4FeclPc24wPcYUM0RRUSOFrBarlM/pQBHIidkgrh3hu48qyXGTw/HzxrgzEatKBgR+Nht2dKml7uEFTJVZnq91VVjlnYOlNv4u+jgNt8z0VxG7Q= file: - $TRAVIS_BUILD_DIR/opencats-$TRAVIS_TAG-full.tar.gz - $TRAVIS_BUILD_DIR/opencats-$TRAVIS_TAG-full.zip skip_cleanup: true on: tags: true - diff --git a/QueueCLI.php b/QueueCLI.php index 549b98457..bb11e0771 100755 --- a/QueueCLI.php +++ b/QueueCLI.php @@ -36,20 +36,20 @@ chdir($CATSHome); include_once('./config.php'); -include_once('./constants.php'); -include_once('./lib/CATSUtility.php'); -include_once('./lib/DatabaseConnection.php'); -include_once('./lib/DateUtility.php'); -include_once('./lib/Template.php'); -include_once('./lib/Users.php'); -include_once('./lib/MRU.php'); -include_once('./lib/Hooks.php'); -include_once('./lib/Session.php'); /* Depends: MRU, Users, DatabaseConnection. */ -include_once('./lib/UserInterface.php'); /* Depends: Template, Session. */ -include_once('./lib/ModuleUtility.php'); /* Depends: UserInterface */ -include_once('./lib/TemplateUtility.php'); /* Depends: ModuleUtility, Hooks */ -include_once('./lib/QueueProcessor.php'); -include_once('./modules/queue/constants.php'); +include_once(LEGACY_ROOT . '/constants.php'); +include_once(LEGACY_ROOT . '/lib/CATSUtility.php'); +include_once(LEGACY_ROOT . '/lib/DatabaseConnection.php'); +include_once(LEGACY_ROOT . '/lib/DateUtility.php'); +include_once(LEGACY_ROOT . '/lib/Template.php'); +include_once(LEGACY_ROOT . '/lib/Users.php'); +include_once(LEGACY_ROOT . '/lib/MRU.php'); +include_once(LEGACY_ROOT . '/lib/Hooks.php'); +include_once(LEGACY_ROOT . '/lib/Session.php'); /* Depends: MRU, Users, DatabaseConnection. */ +include_once(LEGACY_ROOT . '/lib/UserInterface.php'); /* Depends: Template, Session. */ +include_once(LEGACY_ROOT . '/lib/ModuleUtility.php'); /* Depends: UserInterface */ +include_once(LEGACY_ROOT . '/lib/TemplateUtility.php'); /* Depends: ModuleUtility, Hooks */ +include_once(LEGACY_ROOT . '/lib/QueueProcessor.php'); +include_once(LEGACY_ROOT . '/modules/queue/constants.php'); /* Give the session a unique name to avoid conflicts and start the session. */ @session_name(CATS_SESSION_NAME); @@ -58,7 +58,9 @@ /* Make sure we aren't getting screwed over by magic quotes. */ if (get_magic_quotes_runtime()) { - set_magic_quotes_runtime(0); + if (function_exists('set_magic_quotes_runtime')) { + set_magic_quotes_runtime(0); + } } if (get_magic_quotes_gpc()) { diff --git a/ajax.php b/ajax.php index fcf9ad9d4..2e4dd4d6d 100644 --- a/ajax.php +++ b/ajax.php @@ -36,11 +36,11 @@ include_once('./config.php'); -include_once('./constants.php'); -include_once('./lib/DatabaseConnection.php'); -include_once('./lib/Session.php'); /* Depends: MRU, Users, DatabaseConnection. */ -include_once('./lib/AJAXInterface.php'); -include_once('./lib/CATSUtility.php'); +include_once(LEGACY_ROOT . '/constants.php'); +include_once(LEGACY_ROOT . '/lib/DatabaseConnection.php'); +include_once(LEGACY_ROOT . '/lib/Session.php'); /* Depends: MRU, Users, DatabaseConnection. */ +include_once(LEGACY_ROOT . '/lib/AJAXInterface.php'); +include_once(LEGACY_ROOT . '/lib/CATSUtility.php'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); @@ -49,7 +49,9 @@ /* Make sure we aren't getting screwed over by magic quotes. */ if (get_magic_quotes_runtime()) { - set_magic_quotes_runtime(0); + if (function_exists('set_magic_quotes_runtime')) { + set_magic_quotes_runtime(0); + } } if (get_magic_quotes_gpc()) { @@ -107,7 +109,7 @@ if (!isset($_REQUEST['nobuffer'])) { - include_once('./lib/Hooks.php'); + include_once(LEGACY_ROOT . '/lib/Hooks.php'); ob_start(); include($filename); diff --git a/ajax/deleteActivity.php b/ajax/deleteActivity.php index 1983a573a..180fc6946 100755 --- a/ajax/deleteActivity.php +++ b/ajax/deleteActivity.php @@ -27,7 +27,7 @@ * $Id: deleteActivity.php 1479 2007-01-17 00:22:21Z will $ */ -include_once('./lib/ActivityEntries.php'); +include_once(LEGACY_ROOT . '/lib/ActivityEntries.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/editActivity.php b/ajax/editActivity.php index 5c41f01fd..91e7a5835 100755 --- a/ajax/editActivity.php +++ b/ajax/editActivity.php @@ -28,9 +28,9 @@ */ -include_once('./lib/StringUtility.php'); -include_once('./lib/ActivityEntries.php'); -include_once('./lib/Pipelines.php'); +include_once(LEGACY_ROOT . '/lib/StringUtility.php'); +include_once(LEGACY_ROOT . '/lib/ActivityEntries.php'); +include_once(LEGACY_ROOT . '/lib/Pipelines.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/getAttachmentLocal.php b/ajax/getAttachmentLocal.php index 62cf87f9d..5710b9a15 100755 --- a/ajax/getAttachmentLocal.php +++ b/ajax/getAttachmentLocal.php @@ -30,8 +30,8 @@ $interface = new SecureAJAXInterface(); -include_once('./lib/CommonErrors.php'); -include_once('./lib/Attachments.php'); +include_once(LEGACY_ROOT . '/lib/CommonErrors.php'); +include_once(LEGACY_ROOT . '/lib/Attachments.php'); @ini_set('memory_limit', '256M'); diff --git a/ajax/getCandidateIdByEmail.php b/ajax/getCandidateIdByEmail.php index a10f24496..90b44b6b2 100755 --- a/ajax/getCandidateIdByEmail.php +++ b/ajax/getCandidateIdByEmail.php @@ -29,7 +29,7 @@ $interface = new SecureAJAXInterface(); -include ('lib/Candidates.php'); +include (LEGACY_ROOT . '/lib/Candidates.php'); if (!isset($_REQUEST['email'])) { diff --git a/ajax/getCandidateIdByPhone.php b/ajax/getCandidateIdByPhone.php index 04418b20b..43c69d0ba 100644 --- a/ajax/getCandidateIdByPhone.php +++ b/ajax/getCandidateIdByPhone.php @@ -29,7 +29,7 @@ $interface = new SecureAJAXInterface(); -include ('lib/Candidates.php'); +include (LEGACY_ROOT . '/lib/Candidates.php'); if (!isset($_REQUEST['phone'])) { diff --git a/ajax/getCompanyContacts.php b/ajax/getCompanyContacts.php index f94bbb9c0..01fa82df5 100755 --- a/ajax/getCompanyContacts.php +++ b/ajax/getCompanyContacts.php @@ -27,7 +27,7 @@ * $Id: getCompanyContacts.php 1892 2007-02-20 06:44:04Z will $ */ -include_once('./lib/Companies.php'); +include_once(LEGACY_ROOT . '/lib/Companies.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/getCompanyLocation.php b/ajax/getCompanyLocation.php index f308a765d..a0cce48f0 100755 --- a/ajax/getCompanyLocation.php +++ b/ajax/getCompanyLocation.php @@ -27,7 +27,7 @@ * $Id: getCompanyLocation.php 2359 2007-04-21 22:49:17Z will $ */ -include_once('./lib/Companies.php'); +include_once(LEGACY_ROOT . '/lib/Companies.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/getCompanyLocationAndDepartments.php b/ajax/getCompanyLocationAndDepartments.php index fa73cb57d..25abb2023 100755 --- a/ajax/getCompanyLocationAndDepartments.php +++ b/ajax/getCompanyLocationAndDepartments.php @@ -27,7 +27,7 @@ * $Id: getCompanyLocationAndDepartments.php 2359 2007-04-21 22:49:17Z will $ */ -include_once('./lib/Companies.php'); +include_once(LEGACY_ROOT . '/lib/Companies.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/getCompanyNames.php b/ajax/getCompanyNames.php index eccd8e743..83c3a1eeb 100755 --- a/ajax/getCompanyNames.php +++ b/ajax/getCompanyNames.php @@ -27,8 +27,8 @@ * $Id: getCompanyNames.php 2367 2007-04-23 23:24:05Z will $ */ -include_once('./lib/Companies.php'); -include_once('./lib/Search.php'); +include_once(LEGACY_ROOT . '/lib/Companies.php'); +include_once(LEGACY_ROOT . '/lib/Search.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/getDataGridPager.php b/ajax/getDataGridPager.php index b3a406a13..7e8d3c4bb 100755 --- a/ajax/getDataGridPager.php +++ b/ajax/getDataGridPager.php @@ -27,9 +27,9 @@ * $Id: getDataGridPager.php 3078 2007-09-21 20:25:28Z will $ */ -include_once('./lib/CATSUtility.php'); -include_once('./lib/TemplateUtility.php'); -include_once('./lib/DataGrid.php'); +include_once(LEGACY_ROOT . '/lib/CATSUtility.php'); +include_once(LEGACY_ROOT . '/lib/TemplateUtility.php'); +include_once(LEGACY_ROOT . '/lib/DataGrid.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/getDataItemJobOrders.php b/ajax/getDataItemJobOrders.php index 061d8cb9c..f39ce37ac 100755 --- a/ajax/getDataItemJobOrders.php +++ b/ajax/getDataItemJobOrders.php @@ -49,17 +49,17 @@ switch ($dataItemType) { case DATA_ITEM_CANDIDATE: - include_once('./lib/Candidates.php'); + include_once(LEGACY_ROOT . '/lib/Candidates.php'); $dataItem = new Candidates($siteID); break; case DATA_ITEM_COMPANY: - include_once('./lib/Companies.php'); + include_once(LEGACY_ROOT . '/lib/Companies.php'); $dataItem = new Companies($siteID); break; case DATA_ITEM_CONTACT: - include_once('./lib/Contacts.php'); + include_once(LEGACY_ROOT . '/lib/Contacts.php'); $dataItem = new Contacts($siteID); break; diff --git a/ajax/getParsedAddress.php b/ajax/getParsedAddress.php index 1ab9f112e..aea55ff64 100755 --- a/ajax/getParsedAddress.php +++ b/ajax/getParsedAddress.php @@ -27,9 +27,9 @@ * $Id: getParsedAddress.php 2492 2007-05-25 21:12:47Z will $ */ -include_once('./lib/StringUtility.php'); -include_once('./lib/AddressParser.php'); -include_once('./lib/ResultSetUtility.php'); +include_once(LEGACY_ROOT . '/lib/StringUtility.php'); +include_once(LEGACY_ROOT . '/lib/AddressParser.php'); +include_once(LEGACY_ROOT . '/lib/ResultSetUtility.php'); $interface = new AJAXInterface(); diff --git a/ajax/getPipelineDetails.php b/ajax/getPipelineDetails.php index 1636acf1f..2dcaf15d9 100755 --- a/ajax/getPipelineDetails.php +++ b/ajax/getPipelineDetails.php @@ -27,7 +27,7 @@ * $Id: getPipelineDetails.php 2976 2007-08-30 18:18:48Z andrew $ */ -include_once('./lib/Pipelines.php'); +include_once(LEGACY_ROOT . '/lib/Pipelines.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/getPipelineJobOrder.php b/ajax/getPipelineJobOrder.php index ed298f8cf..0986cdd0f 100755 --- a/ajax/getPipelineJobOrder.php +++ b/ajax/getPipelineJobOrder.php @@ -27,12 +27,12 @@ * $Id: getPipelineJobOrder.php 3814 2007-12-06 17:54:28Z brian $ */ -include_once('./lib/Pipelines.php'); -include_once('./lib/TemplateUtility.php'); -include_once('./lib/StringUtility.php'); -include_once('./lib/CATSUtility.php'); -include_once('./lib/Hooks.php'); -include_once('./lib/JobOrders.php'); +include_once(LEGACY_ROOT . '/lib/Pipelines.php'); +include_once(LEGACY_ROOT . '/lib/TemplateUtility.php'); +include_once(LEGACY_ROOT . '/lib/StringUtility.php'); +include_once(LEGACY_ROOT . '/lib/CATSUtility.php'); +include_once(LEGACY_ROOT . '/lib/Hooks.php'); +include_once(LEGACY_ROOT . '/lib/JobOrders.php'); $interface = new SecureAJAXInterface(); @@ -93,7 +93,17 @@ } else { - $pipelinesRS[$rowIndex]['iconTag'] = ' '; + $pipelinesRS[$rowIndex]['iconTag'] = ''; + } + + if ($row['isDuplicateCandidate'] == 1) + { + $pipelinesRS[$rowIndex]['iconTag'] .= ''; + } + + if($pipelinesRS[$rowIndex]['iconTag'] == '') + { + $pipelinesRS[$rowIndex]['iconTag'] .= ' '; } $pipelinesRS[$rowIndex]['ratingLine'] = TemplateUtility::getRatingObject( @@ -193,7 +203,7 @@ function printSortLink($field, $delimiter = "'", $changeDirection = true) - + Match @@ -297,7 +307,7 @@ function printSortLink($field, $delimiter = "'", $changeDirection = true) getAccessLevel('pipelines.removeFromPipeline') >= ACCESS_LEVEL_DELETE): ?> - remove + remove diff --git a/ajax/replaceTemplateTags.php b/ajax/replaceTemplateTags.php new file mode 100644 index 000000000..eebcf379f --- /dev/null +++ b/ajax/replaceTemplateTags.php @@ -0,0 +1,56 @@ +isRequiredIDValid('candidateID', false)) + { + $interface->outputXMLErrorPage(-1, 'Invalid candidate ID.'); + die(); + } + + $siteID = $interface->getSiteID(); + + $candidateID = $_REQUEST['candidateID']; + $templateText = $_REQUEST['templateText']; + + /* Get an array of the company's location data. */ + $candidates = new Candidates($siteID); + $candidateData = $candidates->get($candidateID); + $emailTemplates = new EmailTemplates($siteID); + $emailTemplateText = $emailTemplates->replaceVariables($templateText); + + if (empty($candidateData)) + { + $interface->outputXMLErrorPage(-2, 'No candidate data.'); + die(); + } + + $stringsToFind = array( + '%CANDOWNER%', + '%CANDFIRSTNAME%', + '%CANDFULLNAME%' + ); + $replacementStrings = array( + $candidateData['ownerFullName'], + $candidateData['firstName'], + $candidateData['candidateFullName'], + ); + $emailTemplateText = str_replace( + $stringsToFind, + $replacementStrings, + $emailTemplateText + ); + + /* Send back the XML data. */ + $interface->outputXMLPage( + "\n" . + " 0\n" . + " \n" . + " " . htmlspecialchars($emailTemplateText) . "\n" . + "\n" + ); + +?> \ No newline at end of file diff --git a/ajax/setCandidateJobOrderRating.php b/ajax/setCandidateJobOrderRating.php index 6d15de240..19236e202 100755 --- a/ajax/setCandidateJobOrderRating.php +++ b/ajax/setCandidateJobOrderRating.php @@ -27,7 +27,7 @@ * $Id: setCandidateJobOrderRating.php 1479 2007-01-17 00:22:21Z will $ */ -include_once('./lib/Pipelines.php'); +include_once(LEGACY_ROOT . '/lib/Pipelines.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/showTemplate.php b/ajax/showTemplate.php new file mode 100644 index 000000000..4a39c4e92 --- /dev/null +++ b/ajax/showTemplate.php @@ -0,0 +1,36 @@ +isRequiredIDValid('templateID', false)) + { + $interface->outputXMLErrorPage(-1, 'Invalid template ID.'); + die(); + } + + $siteID = $interface->getSiteID(); + + $templateID = $_REQUEST['templateID']; + + /* Get an array of the company's location data. */ + $emailTemplates = new EmailTemplates($siteID); + $emailTemplateText = $emailTemplates->get($templateID)['text']; + + if (empty($emailTemplateText)) + { + $interface->outputXMLErrorPage(-2, 'No template data.'); + die(); + } + + /* Send back the XML data. */ + $interface->outputXMLPage( + "\n" . + " 0\n" . + " \n" . + " " . htmlspecialchars($emailTemplateText) . "\n" . + "\n" + ); + +?> \ No newline at end of file diff --git a/ajax/testEmailSettings.php b/ajax/testEmailSettings.php index ef3ddb4f1..5845e4b53 100755 --- a/ajax/testEmailSettings.php +++ b/ajax/testEmailSettings.php @@ -27,7 +27,7 @@ * $Id: testEmailSettings.php 2101 2007-03-06 00:20:17Z brian $ */ -include_once('./lib/Mailer.php'); +include_once(LEGACY_ROOT . '/lib/Mailer.php'); $interface = new SecureAJAXInterface(); diff --git a/ajax/zipLookup.php b/ajax/zipLookup.php index a879991a1..b87e166e9 100755 --- a/ajax/zipLookup.php +++ b/ajax/zipLookup.php @@ -3,8 +3,8 @@ * OpenCATS * AJAX Street/City/State lookup via Zip Interface */ -include_once('./lib/ZipLookup.php'); -include_once('./lib/StringUtility.php'); +include_once(LEGACY_ROOT . '/lib/ZipLookup.php'); +include_once(LEGACY_ROOT . '/lib/StringUtility.php'); $interface = new AJAXInterface(); diff --git a/careers/index.php b/careers/index.php index 41ee15372..fd0a69ff6 100644 --- a/careers/index.php +++ b/careers/index.php @@ -34,7 +34,7 @@ $careerPage = true; chdir('..'); -include_once('./lib/CATSUtility.php'); +include_once(LEGACY_ROOT . '/lib/CATSUtility.php'); include_once(CATSUtility::getIndexName()); ?> diff --git a/ci/package-code.sh b/ci/package-code.sh index 936d967e6..bc536ee42 100755 --- a/ci/package-code.sh +++ b/ci/package-code.sh @@ -1,9 +1,10 @@ #!/bin/bash set -ev echo $TRAVIS_TAG -if [ "${TRAVIS_TAG}" != "" ]; then +if [ "${TRAVIS_TAG}" != "false" ]; then if [ "${TRAVIS_TAG}" != "" ]; then tar -czf /tmp/opencats-$TRAVIS_TAG-full.tar.gz --exclude=INSTALL_BLOCK -C $TRAVIS_BUILD_DIR . zip -q -x INSTALL_BLOCK -r /tmp/opencats-$TRAVIS_TAG-full.zip $TRAVIS_BUILD_DIR cp /tmp/opencats-$TRAVIS_TAG-full.tar.gz $TRAVIS_BUILD_DIR cp /tmp/opencats-$TRAVIS_TAG-full.zip $TRAVIS_BUILD_DIR fi +fi diff --git a/ckeditor/.htaccess b/ckeditor/.htaccess deleted file mode 100644 index ed1d794fe..000000000 --- a/ckeditor/.htaccess +++ /dev/null @@ -1,24 +0,0 @@ -# -# Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -# For licensing, see LICENSE.html or http://ckeditor.com/license -# - -# -# On some specific Linux installations you could face problems with Firefox. -# It could give you errors when loading the editor saying that some illegal -# characters were found (three strange chars in the beginning of the file). -# This could happen if you map the .js or .css files to PHP, for example. -# -# Those characters are the Byte Order Mask (BOM) of the Unicode encoded files. -# All FCKeditor files are Unicode encoded. -# - -AddType application/x-javascript .js -AddType text/css .css - -# -# If PHP is mapped to handle XML files, you could have some issues. The -# following will disable it. -# - -AddType text/xml .xml diff --git a/ckeditor/CHANGES.html b/ckeditor/CHANGES.html deleted file mode 100644 index 9b763b035..000000000 --- a/ckeditor/CHANGES.html +++ /dev/null @@ -1,538 +0,0 @@ - - - - - Changelog - CKEditor - - - - -

- CKEditor Changelog -

-

- CKEditor 3.2

-

- New features:

-
    -
  • Several accessibility enhancements:
      -
    • #4502 : The editor accessibility is now totally based on WAI-ARIA.
    • -
    • #5015 : Adding accessibility help dialog plugin.
    • -
    • #5014 : Keyboard navigation compliance with screen reader suggested keys.
    • -
    • #4595 : Better accessibility in the Templates dialog.
    • -
    • #3389 : Esc/Arrow Key now works for closing sub menu.
    • -
  • -
  • #4973 : The Style field in the Div Container dialog is now loading the styles defined in the default styleset used by the Styles toolbar combo.
  • -
-

- Fixed issues:

-
    -
  • #5049 : Form Field list command in JAWS incorrectly lists extra fields.
  • -
  • #5008 : Lock/Unlock ratio buttons in the Image dialog was poorly designed in High Contrast mode.
  • -
  • #3980 : All labels in dialogs now use <label> instead of <div>.
  • -
  • #5213 : Reorganization of some entries in the language files to make it more consistent.
  • -
  • #5199 : In IE, single row toolbars didn't have the bottom padding.
  • -
-

- CKEditor 3.1.1

-

- New features:

-
    -
  • #4399 : Improved support for external file browsers by allowing executing a callback function.
  • -
  • #4612 : The text of links is now updated if it matches the URL to which it points to.
  • -
  • #4936 : New localization support for the Welsh language.
  • -
-

- Fixed issues:

-
    -
  • #4272 : Kama skin toolbar was broken in IE+Quirks+RTL.
  • -
  • #4987 : Changed the url which is called by the Browser Server button in the Link tab of Image Properties dialog.
  • -
  • #5030 : The CKEDITOR.timestamp wasn't been appended to the skin.js file.
  • -
  • #4993 : Removed the float style from images when the user selects 'not set' for alignment.
  • -
  • #4944 : Fixed a bug where nested list structures with inconsequent levels were not being pasted correctly from MS Word.
  • -
  • #4637 : Table cells' 'nowrap' attribute was not being loaded by the cell property dialog. Thanks to pomu0325.
  • -
  • #4724 : Using the mouse to insert a link in IE might create incorrect results.
  • -
  • #4640 : Small optimizations for the fileBrowser plugin.
  • -
  • #4583 : The "Target Frame Name" field is now visible when target is set to 'frame' only.
  • -
  • #4863 : Fixing iframedialog's height doesn't stretch to 100% (except IE Quirks).
  • -
  • #4964 : The BACKSPACE key positioning was not correct in some cases with Firefox.
  • -
  • #4980 : Setting border, vspace and hspace of images to zero was not working.
  • -
  • #4773 : The fileBrowser plugin was overwriting onClick functions eventually defined on fileButton elements.
  • -
  • #4731 : The clipboard plugin was missing a reference to the dialog plugin.
  • -
  • #5051 : The about plugin was missing a reference to the dialog plugin.
  • -
  • #5146 : The wsc plugin was missing a reference to the dialog plugin.
  • -
  • #4632 : The print command will now properly break on the insertion point of page break for printing.
  • -
  • #4862 : The English (United Kingdom) language file has been renamed to en-gb.js.
  • -
  • #4618 : Selecting an emoticon or the lock and reset buttons in the image dialog fired the onBeforeUnload event in IE.
  • -
  • #4678 : It was not possible to set tables' width to empty value.
  • -
  • #5012 : Fixed dependency issues with the menu plugin.
  • -
  • #5040 : The editor will not properly ignore font related settings that have extra item separators (semi-colons).
  • -
  • #4046 : Justify should respect config.enterMode = CKEDITOR.ENTER_BR.
  • -
  • #4622 : Inserting tables multiple times was corrupting the undo system.
  • -
  • #4647 : [IE] Selection on an element within positioned container is lost after open context-menu then click one menu item.
  • -
  • #4683 : Double-quote character in attribute values was not escaped in the editor output.
  • -
  • #4762 : [IE] Unexpected vertical-scrolling behavior happens whenever focus is moving out of editor in source mode.
  • -
  • #4772 : Text color was not being applied properly on links.
  • -
  • #4795 : [IE] Press 'Del' key on horizontal line or table result in error.
  • -
  • #4824 : [IE] <br/> at the very first table cell breaks the editor selection.
  • -
  • #4851 : [IE] Delete table rows with context-menu may cause error.
  • -
  • #4951 : Replacing text with empty string was throwing errors.
  • -
  • #4963 : Link dialog was not opening properly for e-mail type links.
  • -
  • #5043 : Removed the possibility of having an unwanted script tag being outputted with the editor contents.
  • -
  • #3678 : There were issues when editing links inside floating divs with IE.
  • -
  • #4763 : Pressing ENTER key with text selected was not deleting the text in some situations.
  • -
  • #5096 : Simple ampersand attribute value doesn't work for more than one occurrence.
  • -
  • #3494 : Context menu is too narrow in some translations.
  • -
  • #5005 : Fixed HTML errors in PHP samples.
  • -
  • #5123 : Fixed broken XHTML in User Interface Languages sample.
  • -
  • #4893 : Editor now understands table cell inline styles.
  • -
  • #4611 : Selection around <select> in editor doesn't cause error anymore.
  • -
  • #4886 : Extra BR tags were being created in the output HTML.
  • -
  • #4933 : Empty tags with BR were being left in the DOM.
  • -
  • #5127 : There were errors when removing dialog definition pages through code.
  • -
  • #4767 : CKEditor was not working when ckeditor_source.js is loaded in the <body> .
  • -
  • #5062 : Avoided security warning message when loading the wysiwyg area in IE6 under HTTPS.
  • -
  • #5135 : The TAB key will now behave properly when in Source mode.
  • -
  • #4988 : It wasn't possible to use forcePasteAsPlainText with Safari on Mac.
  • -
  • #5095 : Safari on Mac deleted the current selection in the editor when Edit menu was clicked.
  • -
  • #5140 : In High Contrast mode, arrows were now been displayed for menus with submenus.
  • -
  • #5163 : The undo system was not working on some specific cases.
  • -
  • #5162 : The ajax sample was throwing errors when loading data.
  • -
  • #4999 : The Template dialog was not generating an undo snapshot.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.1

-

- New features:

-
    -
  • #4067 : Introduced the full page editing support (from <html> to </html>).
  • -
  • #4228 : Introduced the Shared Spaces feature.
  • -
  • #4379 : Introduced the new powerful pasting system and word cleanup procedure, including enhancements to the paste as plain text feature.
  • -
  • #2872 : Introduced the new native PHP API, the first standardized server side support.
  • -
  • #4210 : Added CKEditor plugin for jQuery.
  • -
  • #2885 : Added 'div' dialog and corresponding context menu options.
  • -
  • #4574 : Added the table merging tools and corresponding context menu options.
  • -
  • #4340 : Added the email protection option for link dialog.
  • -
  • #4463 : Added inline CSS support in all places where custom stylesheet could apply.
  • -
  • #3881 : Added color dialog for 'more color' option in color buttons.
  • -
  • #4341 : Added the 'showborder' plugin.
  • -
  • #4549 : Make the anti-cache query string configurable.
  • -
  • #4708 : Added the 'htmlEncodeOutput' config option.
  • -
  • #4342 : Introduced the bodyId and bodyClass settings to specify the id and class. to be used in the editing area at runtime.
  • -
  • #3401 : Introduced the baseHref setting so it's possible to set the URL to be used to resolve absolute and relative URLs in the contents.
  • -
  • #4729 : Added support to fake elements for comments.
  • -
-

- Fixed issues:

-
    -
  • #4707 : Fixed invalid link is requested in image preview.
  • -
  • #4461 : Fixed toolbar separator line along side combo enlarging the toolbar height.
  • -
  • #4596 : Fixed image re-size lock buttons aren't accessible in high-contrast mode.
  • -
  • #4676 : Fixed editing tables using table properties dialog overwrites original style values.
  • -
  • #4714 : Fixed IE6 JavaScript error when editing flash by commit 'Flash' dialog.
  • -
  • #3905 : Fixed 'wysiwyg' mode causes unauthenticated content warnings over SSL in FF 3.5.
  • -
  • #4768 : Fixed open context menu in IE throws js error when focus is not inside document.
  • -
  • #4822 : Fixed applying 'Headers' to existing table does not work in IE.
  • -
  • #4855 : Fixed toolbar doesn't wrap well for 'v2' skin in all browsers.
  • -
  • #4882 : Fixed auto detect paste from MS-Word is not working for Safari.
  • -
  • #4882 : Fixed unexpected margin style left behind on content cleaning up from MS-Word.
  • -
  • #4896 : Fixed paste nested list from MS-Word with measurement units set to cm is broken.
  • -
  • #4899 : Fixed unable to undo pre-formatted style.
  • -
  • #4900 : Fixed ratio-lock inconsistent between browsers.
  • -
  • #4901 : Fixed unable to edit any link with popup window's features in Firefox.
  • -
  • #4904 : Fixed when paste happen from dialog, it always throw JavaScript error.
  • -
  • #4905 : Fixed paste plain text result incorrect when content from dialog.
  • -
  • #4889 : Fixed unable to undo 'New Page' command after typing inside editor.
  • -
  • #4892 : Fixed table alignment style is not properly represented by the wrapping div.
  • -
  • #4918 : Fixed switching mode when maximized is showing background page contents.
  • -
-

- CKEditor 3.0.2

-

- New features:

-
    -
  • #4343 : Added the configuration option 'browserContextMenuOnCtrl' so it's possible to enable the default browser context menu by holding the CTRL key.
  • -
-

- Fixed issues:

-
    -
  • #4552 : Fixed float panel doesn't show up since editor instanced been destroyed once.
  • -
  • #3918 : Fixed fake object is editable with Image dialog.
  • -
  • #4053 : Fixed 'Form Properties' missing from context menu when selection collapsed inside form.
  • -
  • #4401 : Fixed customized by removing 'upload' tab page from 'Link dialog' cause JavaScript error.
  • -
  • #4477 : Adding missing tag names in object style elements.
  • -
  • #4567 : Fixed IE throw error when pressing BACKSPACE in source mode.
  • -
  • #4573 : Fixed 'IgnoreEmptyPargraph' config doesn't work with the config 'entities' is set to 'false'.
  • -
  • #4614 : Fixed attribute protection fails because of line-break.
  • -
  • #4546 : Fixed UIColor plugin doesn't work when editor id contains CSS selector preserved keywords.
  • -
  • #4609 : Fixed flash object is lost when loading data from outside editor.
  • -
  • #4625 : Fixed editor stays visible in a div with style 'visibility:hidden'.
  • -
  • #4621 : Fixed clicking below table caused an empty table been generated.
  • -
  • #3373 : Fixed empty context menu when there's no menu item at all.
  • -
  • #4473 : Fixed setting rules on the same element tag name throws error.
  • -
  • #4514 : Fixed press 'Back' button breaks wysiwyg editing mode is Firefox.
  • -
  • #4542 : Fixed unable to access buttons using tab key in Safari and Opera.
  • -
  • #4577 : Fixed relative link url is broken after opening 'Link' dialog.
  • -
  • #4597 : Fixed custom style with same attribute name but different attribute value doesn't work.
  • -
  • #4651 : Fixed 'Deleted' and 'Inserted' text style is not rendering in wysiwyg mode and is wrong is source mode.
  • -
  • #4654 : Fixed 'CKEDITOR.config.font_defaultLabel(fontSize_defaultLabel)' is not working.
  • -
  • #3950 : Fixed table column insertion incorrect when selecting empty cell area.
  • -
  • #3912 : Fixed UIColor not working in IE when page has more than 30+ editors.
  • -
  • #4031 : Fixed mouse cursor on toolbar combo has more than 3 shapes.
  • -
  • #4041 : Fixed open context menu on multiple cells to remove them result in only one removed.
  • -
  • #4185 : Fixed resize handler effect doesn't affect flash object on output.
  • -
  • #4196 : Fixed 'Remove Numbered/Bulleted List' on nested list doesn't work well on nested list.
  • -
  • #4200 : Fixed unable to insert 'password' type filed with attributes.
  • -
  • #4530 : Fixed context menu couldn't open in Opera.
  • -
  • #4536 : Fixed keyboard navigation doesn't work at all in IE quirks mode.
  • -
  • #4584 : Fixed updated link Target field is not updating when updating to certain values.
  • -
  • #4603 : Fixed unable to disable submenu items in contextmenu.
  • -
  • #4672 : Fixed unable to redo the insertion of horizontal line.
  • -
  • #4677 : Fixed 'Tab' key is trapped by hidden dialog elements.
  • -
  • #4073 : Fixed insert template with replace option could result in empty document.
  • -
  • #4455 : Fixed unable to start editing when image inside document not loaded.
  • -
  • #4517 : Fixed 'dialog_backgroundCoverColor' doesn't work on IE6.
  • -
  • #3165 : Fixed enter key in empty list item before nested one result in collapsed line.
  • -
  • #4527 : Fixed checkbox generate invalid 'checked' attribute.
  • -
  • #1659 : Fixed unable to click below content to start editing in IE with 'config.docType' setting to standard compliant.
  • -
  • #3933 : Fixed extra <br> left at the end of document when the last element is a table.
  • -
  • #4736 : Fixed PAGE UP and PAGE DOWN keys in standards mode are not working.
  • -
  • #4725 : Fixed hitting 'enter' before html comment node produces a JavaScript error.
  • -
  • #4522 : Fixed unable to redo when typing after insert an image with relative url.
  • -
  • #4594 : Fixed context menu goes off-screen when mouse is at right had side of screen.
  • -
  • #4673 : Fixed undo not available straight away if shift key is used to enter first character.
  • -
  • #4690 : Fixed the parsing of nested inline elements.
  • -
  • #4450 : Fixed selecting multiple table cells before apply justify commands generates spurious paragraph in Firefox.
  • -
  • #4733 : Fixed dialog opening sometimes hang up Firefox and Safari.
  • -
  • #4498 : Fixed toolbar collapse button missing tooltip.
  • -
  • #4738 : Fixed inserting table inside bold/italic/underline generates error on ENTER_BR mode.
  • -
  • #4246 : Fixed avoid XHTML deprecated attributes for image styling.
  • -
  • #4543 : Fixed unable to move cursor between table and hr.
  • -
  • #4764 : Fixed wrong exception message when CKEDITOR.editor.append() to non-existing elements.
  • -
  • #4521 : Fixed dialog layout in IE6/7 may have scroll-bar and other weird effects.
  • -
  • #4709 : Fixed inconsistent scroll-bar behavior on IE.
  • -
  • #4776 : Fixed preview page failed to open when relative URl contains in document.
  • -
  • #4812 : Fixed 'Esc' key not working on dialogs in Opera.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.0.1

-

- New features:

-
    -
  • #4219 : Added fallback mechanism for config.language.
  • -
  • #4194 : Added support for using multiple css style sheets within the editor.
  • -
-

- Fixed issues:

-
    -
  • #3898 : Added validation for URL value in Image dialog.
  • -
  • #3528 : Fixed Context Menu issue when triggered using Shift+F10.
  • -
  • #4028 : Maximize control's tool tip was wrong once it is maximized.
  • -
  • #4237 : Toolbar is chopped off in Safari browser 3.x.
  • -
  • #4241 : Float panels are left on screen while editor is destroyed.
  • -
  • #4274 : Double click event is incorrect handled in 'divreplace' sample.
  • -
  • #4354 : Fixed TAB key on toolbar to not focus disabled buttons.
  • -
  • #3856 : Fixed focus and blur events in source view mode.
  • -
  • #3438 : Floating panels are off by (-1px, 0px) in RTL mode.
  • -
  • #3370 : Refactored use of CKEDITOR.env.isCustomDomain().
  • -
  • #4230 : HC detection caused js error.
  • -
  • #3978 : Fixed setStyle float on IE7 strict.
  • -
  • #4262 : Tab and Shift+Tab was not working to cycle through CTRL+SHIFT+F10 context menu in IE.
  • -
  • #3633 : Default context menu isn't disabled in toolbar, status bar, panels...
  • -
  • #3897 : Now there is no image previews when the URL is empty in image dialog.
  • -
  • #4048 : Context submenu was lacking uiColor.
  • -
  • #3568 : Dialogs now select all text when tabbing to text inputs.
  • -
  • #3727 : Cell Properties dialog was missing color selection option.
  • -
  • #3517 : Fixed "Match cyclic" field in Find & Replace dialog.
  • -
  • #4368 : borderColor table cell attribute haven't worked for none-IE
  • -
  • #4203 : In IE quirks mode + toolbar collapsed + source mode editing block height was incorrect.
  • -
  • #4387 : Fixed: right clicking in Kama skin can lead to a javascript error.
  • -
  • #4397 : Wysiwyg mode caused the host page scroll.
  • -
  • #4385 : Fixed editor's auto adjusting on DOM structure were confusing the dirty checking mechanism.
  • -
  • #4397 : Fixed regression of [3816] where turn on design mode was causing Firefox3 to scroll the host page.
  • -
  • #4254 : Added basic API sample.
  • -
  • #4107 : Normalize css font-family style text for correct comparision.
  • -
  • #3664 : Insert block element in empty editor document should not create new paragraph.
  • -
  • #4037 : 'id' attribute is missing with Flash dialog advanced page.
  • -
  • #4047 : Delete selected control type element when 'Backspace' is pressed on it.
  • -
  • #4191 : Fixed: dialog changes confirmation on image dialog appeared even when no changes have been made.
  • -
  • #4351 : Dash and dot could appear in attribute names.
  • -
  • #4355 : 'maximize' and 'showblock' commands shouldn't take editor focus.
  • -
  • #4504 : Fixed 'Enter'/'Esc' key is not working on dialog button.
  • -
  • #4245 : 'Strange Template' now come with a style attribute for width.
  • -
  • #4512 : Fixed styles plugin incorrectly adding semicolons to style text.
  • -
  • #3855 : Fixed loading unminified _source files when ckeditor_source.js is used.
  • -
  • #3717 : Dialog settings defaults can now be overridden in-page through the CKEDITOR.config object.
  • -
  • #4481 : The 'stylesCombo_stylesSet' configuration entry didn't work for full URLs.
  • -
  • #4480 : Fixed scope attribute in th.
  • -
  • #4467 : Fixed bug to use custom icon in context menus. Thanks to george.
  • -
  • #4190 : Fixed select field dialog layout in Safari.
  • -
  • #4518 : Fixed unable to open dialog without editor focus in IE.
  • -
  • #4519 : Fixed maximize without editor focus throw error in IE.
  • -
  • Updated the following language files:
  • -
-

- CKEditor 3.0

-

- New features:

-
    -
  • #3188 : Introduce - <pre> formatting feature when converting from other blocks.
  • -
  • #4445 : editor::setData now support an optional callback parameter.
  • -
-

- Fixed issues:

-
    -
  • #2856 : Fixed problem with inches in Paste From Word plugin.
  • -
  • #3929 : Using Paste dialog, - the text is pasted into current selection
  • -
  • #3920 : Mouse cursor over characters in - Special Character dialog now is correct
  • -
  • #3882 : Fixed an issue - with PasteFromWord dialog in which default values was ignored
  • -
  • #3859 : Fixed Flash dialog layout in Webkit
  • -
  • #3852 : Disabled textarea resizing in dialogs
  • -
  • #3831 : The attempt to remove the contextmenu plugin - will not anymore break the editor
  • -
  • #3781 : Colorbutton is now disabled in 'source' mode
  • -
  • #3848 : Fixed an issue with Webkit in witch - elements in the Image and Link dialogs had wrong dimensions.
  • -
  • #3808 : Fixed UI Color Picker dialog size in example page.
  • -
  • #3658 : Editor had horizontal scrollbar in IE6.
  • -
  • #3819 : The cursor was not visible - when applying style to collapsed selections in Firefox 2.
  • -
  • #3809 : Fixed beam cursor - when mouse cursor is over text-only buttons in IE.
  • -
  • #3815 : Fixed an issue - with the form dialog in which the "enctype" attribute is outputted as "encoding".
  • -
  • #3785 : Fixed an issue - in CKEDITOR.tools.htmlEncode() which incorrectly outputs &nbsp; in IE8.
  • -
  • #3820 : Fixed an issue in - bullet list command in which a list created at the bottom of another gets merged to the top. -
  • -
  • #3830 : Table cell properties dialog - doesn't apply to all selected cells.
  • -
  • #3835 : Element path is not refreshed - after click on 'newpage'; and safari is not putting focus on document also. -
  • -
  • #3821 : Fixed an issue with JAWS in which - toolbar items are read inconsistently between virtual cursor modes.
  • -
  • #3789 : The "src" attribute - was getting duplicated in some situations.
  • -
  • #3591 : Protecting flash related elements - including '<object>', '<embed>' and '<param>'. -
  • -
  • #3759 : Fixed CKEDITOR.dom.element::scrollIntoView - logic bug which scroll even element is inside viewport. -
  • -
  • #3773 : Fixed remove list will merge lines. -
  • -
  • #3829 : Fixed remove empty link on output data.
  • -
  • #3730 : Indent is performing on the whole - block instead of selected lines in enterMode = BR.
  • -
  • #3844 : Fixed UndoManager register keydown on obsoleted document
  • -
  • #3805 : Enabled SCAYT plugin for IE.
  • -
  • #3834 : Context menu on table caption was incorrect.
  • -
  • #3812 : Fixed an issue in which the editor - may show up empty or uneditable in IE7, 8 and Firefox 3.
  • -
  • #3825 : Fixed JS error when opening spellingcheck.
  • -
  • #3862 : Fixed html parser infinite loop on certain malformed - source code.
  • -
  • #3639 : Button size was inconsistent.
  • -
  • #3874 : Paste as plain text in Safari loosing lines.
  • -
  • #3849 : Fixed IE8 crashes when applying lists and indenting.
  • -
  • #3876 : Changed dialog checkbox and radio labels to explicit labels.
  • -
  • #3843 : Fixed context submenu position in IE 6 & 7 RTL.
  • -
  • #3864 : [FF]Document is not editable after inserting element on a fresh page.
  • -
  • #3883 : Fixed removing inline style logic incorrect on Firefox2.
  • -
  • #3884 : Empty "href" attribute was duplicated on output data.
  • -
  • #3858 : Fixed the issue where toolbars - break up in IE6 and IE7 after the browser is resized.
  • -
  • #3868 : [chrome] SCAYT toolbar options was in reversed order.
  • -
  • #3875 : Fixed an issue in Safari where - table row/column/cell menus are not useable when table cells are selected.
  • -
  • #3896 : The editing area was - flashing when switching forth and back to source view.
  • -
  • #3894 : Fixed an issue where editor failed to initialize when using the on-demand loading way.
  • -
  • #3903 : Color button plugin doesn't read config entry from editor instance correctly.
  • -
  • #3801 : Comments at the start of the document was lost in IE.
  • -
  • #3871 : Unable to redo when undos to the front of snapshots stack.
  • -
  • #3909 : Move focus from editor into a text input control is broken.
  • -
  • #3870 : The empty paragraph - desappears when hitting ENTER after "New Page".
  • -
  • #3887 : Fixed an issue in which the create - list command may leak outside of a selected table cell and into the rest of document.
  • -
  • #3916 : Fixed maximize does not enlarge editor width when width is set.
  • -
  • #3879 : [webkit] Color button panel had incorrect size on first open.
  • -
  • #3839 : Update Scayt plugin to reflect the latest change from SpellChecker.net.
  • -
  • #3742 : Fixed wrong dialog layout for dialogs without tab bar in IE RTL mode .
  • -
  • #3671 : Fixed body fixing should be applied to the real type under fake elements.
  • -
  • #3836 : Fixed remove list in enterMode=BR will merge sibling text to one line.
  • -
  • #3949 : Fixed enterKey within pre-formatted text introduce wrong line-break.
  • -
  • #3878 : Whenever possible, - dialogs will not present scrollbars if the content is too big for its standard - size.
  • -
  • #3782 : Remove empty list in table cell result in collapsed cell.
  • -
  • Updated the following language files:
  • -
  • #3984 : [IE]The pre-formatted style is generating error.
  • -
  • #3946 : Fixed unable to hide contextmenu.
  • -
  • #3956 : Fixed About dialog in Source Mode for IE.
  • -
  • #3953 : Fixed keystroke for close Paste dialog.
  • -
  • #3951 : Reset size and lock ratio options were not accessible in Image dialog.
  • -
  • #3921 : Fixed Container scroll issue on IE7.
  • -
  • #3940 : Fixed list operation doesn't stop at table.
  • -
  • #3891 : [IE] Fixed 'automatic' font color doesn't work.
  • -
  • #3972 : Fixed unable to remove a single empty list in document in Firefox with enterMode=BR.
  • -
  • #3973 : Fixed list creation error at the end of document.
  • -
  • #3959 : Pasting styled text from word result in content lost.
  • -
  • #3793 : Combined images into sprites.
  • -
  • #3783 : Fixed indenting command in table cells create collapsed paragraph.
  • -
  • #3968 : About dialog layout was broken with IE+Standards+RTL.
  • -
  • #3991 : In IE quirks, text was not visible in v2 and office2003 skins.
  • -
  • #3983 : In IE, we'll now - silently ignore wrong toolbar definition settings which have extra commas being - left around.
  • -
  • Fixed the following test cases:
      -
    • #3992 : core/ckeditor2.html
    • -
    • #4138 : core/plugins.html
    • -
    • #3801 : plugins/htmldataprocessor/htmldataprocessor.html
    • -
  • -
  • #3989 : Host page horizontal scrolling a lot when on having righ-to-left direction.
  • -
  • #4001 : Create link around existing image result incorrect.
  • -
  • #3988 : Destroy editor on form submit event cause error.
  • -
  • #3994 : Insert horizontal line at end of document cause error.
  • -
  • #4074 : Indent error with 'indentClasses' config specified.
  • -
  • #4057 : Fixed anchor is lost after switch between editing modes.
  • -
  • #3644 : Image dialog was missin radio lock.
  • -
  • #4014 : Firefox2 had no dialog button backgrounds.
  • -
  • #4018 : Firefox2 had no richcombo text visible.
  • -
  • #4035 : [IE6] Paste dialog size was too small.
  • -
  • #4049 : Kama skin was too wide with config.width.
  • -
  • The following released files now doesn't require the _source folder
      -
    • #4086 : _samples/ui_languages.html
    • -
    • #4093 : _tests/core/dom/document.html
    • -
    • #4094 : Smiley plugin file
    • -
    • #4097 : No undo/redo support for fontColor and backgroundColor buttons.
    • -
  • -
  • #4085 : Paste and Paste from Word dialogs were not well styled in IE+RTL.
  • -
  • #3982 : Fixed enterKey on empty list item result in weird dom structure.
  • -
  • #4101 : Now it is possible to close dialog before gets focus.
  • -
  • #4075 : [IE6/7]Fixed apply custom inline style with "class" attribute failed.
  • -
  • #4087 : [Firefox]Fixed extra blocks created on create list when full document selected.
  • -
  • #4097 : No undo/redo support for fontColor and backgroundColor buttons.
  • -
  • #4111 : Fixed apply block style after inline style applied on full document error.
  • -
  • #3622 : Fixed shift enter with selection not deleting highlighted text.
  • -
  • #4092 : [IE6] Close button was missing for dialog without multiple tabs.
  • -
  • #4003 : Markup on the image dialog was disrupted when removing the border input.
  • -
  • #4096 : Editor content area was pushed down in IE RTL quirks.
  • -
  • #4112 : [FF] Paste dialog had scrollbars in quirks.
  • -
  • #4118 : Dialog dragging was - occasionally behaving strangely .
  • -
  • #4077 : The toolbar combos - were rendering incorrectly in some languages, like Chinese.
  • -
  • #3622 : The toolbar in the v2 - skin was wrapping improperly in some languages.
  • -
  • #4119 : Unable to edit image link with image dialog.
  • -
  • #4117 : Fixed dialog error when transforming image into button.
  • -
  • #4058 : [FF] wysiwyg mode is sometimes not been activated.
  • -
  • #4114 : [IE] RTE + IE6/IE7 Quirks = dialog mispositoned.
  • -
  • #4123 : Some dialog buttons were broken in IE7 quirks.
  • -
  • #4122 : [IE] The image dialog - was being rendered improperly when loading an image with long URL.
  • -
  • #4144 : Fixed the white-spaces at the end of <pre> is incorrectly removed.
  • -
  • #4143 : Fixed element id is lost when extracting contents from the range.
  • -
  • #4007 : [IE] Source area overflow from editor chrome.
  • -
  • #4145 : Fixed the on demand - ("basic") loading model of the editor.
  • -
  • #4139 : Fixed list plugin regression of [3903].
  • -
  • #4147 : Unify style text normalization logic when comparing styles.
  • -
  • #4150 : Fixed enlarge list result incorrect at the inner boundary of block.
  • -
  • #4164 : Now it is possible to paste text - in Source mode even if forcePasteAsPlainText = true.
  • -
  • #4129 : [FF]Unable to remove list with Ctrl-A.
  • -
  • #4172 : [Safari] The trailing - <br> was not been always added to blank lines ending with &nbsp;.
  • -
  • #4178 : It's now possible to - copy and paste Flash content among different editor instances.
  • -
  • #4193 : Automatic font color produced empty span on Firefox 3.5.
  • -
  • #4186 : [FF] Fixed First open float panel cause host page scrollbar blinking.
  • -
  • #4227 : Fixed destroy editor instance created on textarea which is not within form cause error.
  • -
  • #4240 : Fixed editor name containing hyphen break editor completely.
  • -
  • #3828 : Malformed nested list is now corrected by the parser.
  • -
-

- CKEditor 3.0 RC

-

- Changelog starts at this release.

- - - diff --git a/ckeditor/CHANGES.md b/ckeditor/CHANGES.md deleted file mode 100644 index 6a6e62f3a..000000000 --- a/ckeditor/CHANGES.md +++ /dev/null @@ -1,1118 +0,0 @@ -CKEditor 4 Changelog -==================== - -## CKEditor 4.5.11 - -**Security Updates:** - -* [Severity: minor] Fixed the target="_blank" vulnerability reported by James Gaskell. - - Issue summary: If a victim had access to a spoofed version of ckeditor.com via HTTP (e.g. due to DNS spoofing, using a hacked public network or mailicious hotspot), then when using a link to the ckeditor.com website it was possible for the attacker to change the current URL of the opening page, even if the opening page was protected with SSL. - - An upgrade is recommended. - -New Features: - -* [#14747](http://dev.ckeditor.com/ticket/14747): The [Enhanced Image](http://ckeditor.com/addon/image2) caption now supports the link `target` attribute. -* [#7154](http://dev.ckeditor.com/ticket/7154): Added support for the "Display Text" field to the [Link](http://ckeditor.com/addon/link) dialog. Thanks to [Ryan Guill](https://github.com/ryanguill)! - -Fixed Issues: - -* [#13362](http://dev.ckeditor.com/ticket/13362): [Blink, WebKit] Fixed: Active widget element is not cached when it is losing focus and it is inside an editable element. -* [#13755](http://dev.ckeditor.com/ticket/13755): [Edge] Fixed: Pasting images does not work. -* [#13548](http://dev.ckeditor.com/ticket/13548): [IE] Fixed: Clicking the [elements path](http://ckeditor.com/addon/elementspath) disables Cut and Copy icons. -* [#13812](http://dev.ckeditor.com/ticket/13812): Fixed: When aborting file upload the placeholder for image is left. -* [#14659](http://dev.ckeditor.com/ticket/14659): [Blink] Fixed: Content scrolled to the top after closing the dialog in a [`
`-based editor](http://ckeditor.com/addon/divarea). -* [#14825](http://dev.ckeditor.com/ticket/14825): [Edge] Fixed: Focusing the editor causes unwanted scrolling due to dropped support for the `setActive` method. - -## CKEditor 4.5.10 - -Fixed Issues: - -* [#10750](http://dev.ckeditor.com/ticket/10750): Fixed: The editor does not escape the `font-style` family property correctly, removing quotes and whitespace from font names. -* [#14413](http://dev.ckeditor.com/ticket/14413): Fixed: The [Auto Grow](http://ckeditor.com/addon/autogrow) plugin with the [`config.autoGrow_onStartup`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-autoGrow_onStartup) option set to `true` does not work properly for an editor that is not visible. -* [#14451](http://dev.ckeditor.com/ticket/14451): Fixed: Numeric element ID not escaped properly. Thanks to [Jakub Chalupa](https://github.com/chaluja7)! -* [#14590](http://dev.ckeditor.com/ticket/14590): Fixed: Additional line break appearing after inline elements when switching modes. Thanks to [dpidcock](https://github.com/dpidcock)! -* [#14539](https://dev.ckeditor.com/ticket/14539): Fixed: JAWS reads "selected Blank" instead of "selected " when selecting a widget. -* [#14701](http://dev.ckeditor.com/ticket/14701): Fixed: More precise labels for [Enhanced Image](http://ckeditor.com/addon/image2) and [Placeholder](http://ckeditor.com/addon/placeholder) widgets. -* [#14667](http://dev.ckeditor.com/ticket/14667): [IE] Fixed: Removing background color from selected text removes background color from the whole paragraph. -* [#14252](http://dev.ckeditor.com/ticket/14252): [IE] Fixed: Styles drop-down list does not always reflect the current style of the text line. -* [#14275](http://dev.ckeditor.com/ticket/14275): [IE9+] Fixed: `onerror` and `onload` events are not used in browsers it could have been used when loading scripts dynamically. - -## CKEditor 4.5.9 - -Fixed Issues: - -* [#10685](http://dev.ckeditor.com/ticket/10685): Fixed: Unreadable toolbar icons after updating to the new editor version. Fixed with [6876179](https://github.com/ckeditor/ckeditor-dev/commit/6876179db4ee97e786b07b8fd72e6b4120732185) in [ckeditor-dev](https://github.com/ckeditor/ckeditor-dev) and [6c9189f4](https://github.com/ckeditor/ckeditor-presets/commit/6c9189f46392d2c126854fe8889b820b8c76d291) in [ckeditor-presets](https://github.com/ckeditor/ckeditor-presets). -* [#14573](https://dev.ckeditor.com/ticket/14573): Fixed: Missing [Widget](http://ckeditor.com/addon/widget) drag handler CSS when there are multiple editor instances. -* [#14620](https://dev.ckeditor.com/ticket/14620): Fixed: Setting both the `min-height` style for the `` element and the `height` style for the `` element breaks the [Auto Grow](http://ckeditor.com/addon/autogrow) plugin. -* [#14538](http://dev.ckeditor.com/ticket/14538): Fixed: Keyboard focus goes into an embedded `