From 87cb3c6f6cca8448f747e94e9b6d4f3d6ea929e5 Mon Sep 17 00:00:00 2001 From: nuxsmin Date: Thu, 12 Jan 2017 02:54:45 +0100 Subject: [PATCH] * [DEV] Bump to 2.0-beta --- ajax/ajax_accGetFiles.php | 9 +- ajax/ajax_accSearch.php | 9 +- ajax/ajax_accViewPass.php | 9 +- ajax/ajax_checkConnection.php | 9 +- ajax/ajax_checkUpds.php | 5 +- ajax/ajax_configSave.php | 9 +- ajax/ajax_doLogin.php | 9 +- ajax/ajax_eventlog.php | 9 +- ajax/ajax_filesMgmt.php | 9 +- ajax/ajax_getContent.php | 9 +- ajax/ajax_getEnvironment.php | 9 +- ajax/ajax_getItems.php | 2 +- ajax/ajax_install.php | 2 +- ajax/ajax_itemSave.php | 9 +- ajax/ajax_itemSearch.php | 9 +- ajax/ajax_itemShow.php | 9 +- ajax/ajax_migrate.php | 9 +- ajax/ajax_passReset.php | 35 +- ajax/ajax_userPrefsSave.php | 9 +- ajax/ajax_wiki.php | 9 +- api.php | 9 +- css/css.php | 9 +- css/fonts.css | 23 ++ css/fonts/MaterialIcons-Regular.svg | 23 ++ css/magnific-popup.css | 23 ++ css/material-icons.css | 23 ++ css/toastr.css | 23 ++ css/toastr.min.css | 2 +- inc/Base.php | 14 +- .../Authenticator/ActionController.class.php | 10 +- .../Authenticator/Authenticator.class.php | 6 +- .../Authenticator/AuthenticatorData.class.php | 6 +- .../AuthenticatorPlugin.class.php | 6 +- inc/Plugins/Authenticator/Google2FA.class.php | 23 ++ .../Authenticator/LoginController.class.php | 6 +- .../PreferencesController.class.php | 6 +- inc/Plugins/Authenticator/Session.class.php | 23 ++ .../Authenticator/ajax/ajax_actions.php | 4 +- .../material-blue/views/main/login-2fa.inc | 4 +- .../userpreferences/preferences-security.inc | 24 +- inc/SP/Account/Account.class.php | 19 +- inc/SP/Account/AccountAcl.class.php | 6 +- inc/SP/Account/AccountBase.class.php | 9 +- inc/SP/Account/AccountFavorites.class.php | 9 +- inc/SP/Account/AccountHistory.class.php | 13 +- inc/SP/Account/AccountInterface.class.php | 9 +- inc/SP/Account/AccountSearch.class.php | 11 +- inc/SP/Account/AccountTags.class.php | 9 +- inc/SP/Account/AccountUtil.class.php | 12 +- inc/SP/Account/AccountsSearchItem.class.php | 9 +- inc/SP/Account/UserAccounts.class.php | 9 +- inc/SP/Api/ApiBase.class.php | 11 +- inc/SP/Api/ApiInterface.class.php | 2 +- inc/SP/Api/ApiRequest.class.php | 9 +- inc/SP/Api/ApiTokens.class.php | 19 +- inc/SP/Api/ApiTokensUtil.class.php | 9 +- inc/SP/Api/SyspassApi.class.php | 11 +- inc/SP/Auth/Auth.class.php | 9 +- inc/SP/Auth/AuthDataBase.class.php | 2 +- inc/SP/Auth/AuthInterface.class.php | 2 +- inc/SP/Auth/AuthResult.class.php | 2 +- inc/SP/Auth/AuthUtil.class.php | 2 +- inc/SP/Auth/Browser/Browser.class.php | 2 +- inc/SP/Auth/Browser/BrowserAuthData.class.php | 2 +- inc/SP/Auth/Database/Database.class.php | 2 +- .../Auth/Database/DatabaseAuthData.class.php | 2 +- inc/SP/Auth/Ldap/LdapAuthData.class.php | 6 +- inc/SP/Auth/Ldap/LdapBase.class.php | 6 +- inc/SP/Auth/Ldap/LdapInterface.class.php | 2 +- inc/SP/Auth/Ldap/LdapMsAds.class.php | 6 +- inc/SP/Auth/Ldap/LdapStd.class.php | 6 +- inc/SP/Auth/Ldap/LdapUtil.class.php | 6 +- inc/SP/Config/Config.class.php | 9 +- inc/SP/Config/ConfigDB.class.php | 11 +- inc/SP/Config/ConfigData.class.php | 9 +- inc/SP/Config/ConfigInterface.class.php | 9 +- inc/SP/Controller/AccountController.class.php | 21 +- .../AccountSearchController.class.php | 9 +- inc/SP/Controller/ChecksController.class.php | 6 +- .../ConfigActionController.class.php | 4 +- inc/SP/Controller/ConfigController.class.php | 11 +- inc/SP/Controller/ControllerBase.class.php | 13 +- .../Controller/EventlogController.class.php | 9 +- .../GridItemsSearchController.class.php | 25 +- .../GridTabControllerBase.class.php | 9 +- inc/SP/Controller/Grids/GridBase.class.php | 2 +- inc/SP/Controller/Grids/Items.class.php | 4 +- inc/SP/Controller/Grids/Notices.class.php | 2 +- .../Controller/ItemActionController.class.php | 6 +- .../ItemControllerInterface.class.php | 4 +- .../Controller/ItemListController.class.php | 11 +- .../Controller/ItemSearchController.class.php | 9 +- .../Controller/ItemShowController.class.php | 13 +- inc/SP/Controller/ItemsController.class.php | 6 +- inc/SP/Controller/LoginController.class.php | 26 +- inc/SP/Controller/MainController.class.php | 67 +++- .../Controller/NoticeShowController.class.php | 2 +- inc/SP/Controller/NoticesController.class.php | 4 +- .../NoticesSearchController.class.php | 4 +- .../RequestControllerTrait.class.php | 6 +- inc/SP/Controller/TabControllerBase.class.php | 2 +- inc/SP/Controller/TabsInterface.class.php | 2 +- .../UserPreferencesController.class.php | 11 +- inc/SP/Controller/WikiController.class.php | 11 +- inc/SP/Core/Acl.class.php | 9 +- inc/SP/Core/ActionsInterface.class.php | 9 +- inc/SP/Core/Backup.class.php | 11 +- inc/SP/Core/Crypt.class.php | 14 +- inc/SP/Core/CryptMasterPass.class.php | 9 +- inc/SP/Core/CryptPKI.class.php | 9 +- inc/SP/Core/DiFactory.class.php | 11 +- .../Core/Events/EventDispatcherBase.class.php | 4 +- .../Events/EventDispatcherInterface.class.php | 4 +- .../Core/Exceptions/AuthException.class.php | 2 +- .../FileNotFoundException.class.php | 9 +- .../InvalidArgumentException.class.php | 9 +- .../InvalidClassException.class.php | 9 +- .../Core/Exceptions/ItemException.class.php | 2 +- inc/SP/Core/Exceptions/SPException.class.php | 9 +- .../Exceptions/ValidationException.class.php | 6 +- inc/SP/Core/Init.class.php | 42 ++- inc/SP/Core/Installer.class.php | 9 +- inc/SP/Core/ItemsTypeInterface.class.php | 2 +- inc/SP/Core/Language.class.php | 9 +- inc/SP/Core/Plugin/PluginBase.class.php | 8 +- inc/SP/Core/Plugin/PluginDataStore.class.php | 4 +- inc/SP/Core/Plugin/PluginUtil.class.php | 4 +- inc/SP/Core/Session.class.php | 9 +- inc/SP/Core/SessionUtil.class.php | 9 +- inc/SP/Core/Template.class.php | 9 +- inc/SP/Core/UI/Theme.class.php | 9 +- inc/SP/Core/UI/ThemeIconsBase.class.php | 9 +- inc/SP/Core/UI/ThemeIconsInterface.class.php | 9 +- inc/SP/Core/UI/ThemeInterface.class.php | 9 +- inc/SP/Core/Upgrade.class.php | 27 +- inc/SP/Core/XmlExport.class.php | 11 +- inc/SP/DataModel/AccountData.class.php | 9 +- inc/SP/DataModel/AccountExtData.class.php | 6 +- inc/SP/DataModel/AccountHistoryData.class.php | 6 +- inc/SP/DataModel/AccountSearchData.class.php | 2 +- inc/SP/DataModel/CategoryData.class.php | 9 +- .../DataModel/CustomFieldBaseData.class.php | 9 +- inc/SP/DataModel/CustomFieldData.class.php | 9 +- inc/SP/DataModel/CustomFieldDefData.class.php | 9 +- inc/SP/DataModel/CustomerData.class.php | 9 +- inc/SP/DataModel/DataModelBase.class.php | 6 +- inc/SP/DataModel/DataModelInterface.class.php | 2 +- inc/SP/DataModel/FileData.class.php | 9 +- inc/SP/DataModel/FileExtData.class.php | 9 +- inc/SP/DataModel/GroupAccountsData.class.php | 9 +- inc/SP/DataModel/GroupData.class.php | 9 +- inc/SP/DataModel/GroupUsersData.class.php | 9 +- inc/SP/DataModel/InstallData.class.php | 9 +- inc/SP/DataModel/ItemSearchData.class.php | 9 +- inc/SP/DataModel/PluginData.class.php | 4 +- inc/SP/DataModel/ProfileBaseData.class.php | 9 +- inc/SP/DataModel/ProfileData.class.php | 9 +- inc/SP/DataModel/PublicLinkBaseData.class.php | 9 +- inc/SP/DataModel/PublicLinkData.class.php | 9 +- inc/SP/DataModel/PublicLinkListData.class.php | 9 +- inc/SP/DataModel/TagData.class.php | 9 +- inc/SP/DataModel/UserData.class.php | 9 +- inc/SP/DataModel/UserPassData.class.php | 9 +- .../DataModel/UserPassRecoverData.class.php | 9 +- .../DataModel/UserPreferencesData.class.php | 9 +- inc/SP/Forms/AccountForm.class.php | 6 +- inc/SP/Forms/ApiTokenForm.class.php | 6 +- inc/SP/Forms/CategoryForm.class.php | 6 +- inc/SP/Forms/CustomFieldDefForm.class.php | 6 +- inc/SP/Forms/CustomerForm.class.php | 6 +- inc/SP/Forms/FormBase.class.php | 2 +- inc/SP/Forms/FormInterface.class.php | 2 +- inc/SP/Forms/GroupForm.class.php | 6 +- inc/SP/Forms/ProfileForm.class.php | 6 +- inc/SP/Forms/PublicLinkForm.class.php | 2 +- inc/SP/Forms/TagForm.class.php | 2 +- inc/SP/Forms/UserForm.class.php | 6 +- inc/SP/Html/Assets/FontIcon.class.php | 9 +- inc/SP/Html/Assets/IconBase.class.php | 9 +- inc/SP/Html/Assets/IconInterface.class.php | 9 +- inc/SP/Html/Assets/ImageIcon.class.php | 9 +- inc/SP/Html/DataGrid/DataGrid.class.php | 9 +- inc/SP/Html/DataGrid/DataGridAction.class.php | 9 +- .../DataGrid/DataGridActionBase.class.php | 9 +- .../DataGridActionInterface.class.php | 9 +- .../DataGrid/DataGridActionSearch.class.php | 9 +- .../DataGrid/DataGridActionType.class.php | 9 +- inc/SP/Html/DataGrid/DataGridBase.class.php | 9 +- inc/SP/Html/DataGrid/DataGridData.class.php | 9 +- .../Html/DataGrid/DataGridDataBase.class.php | 9 +- .../DataGrid/DataGridDataInterface.class.php | 9 +- inc/SP/Html/DataGrid/DataGridHeader.class.php | 9 +- .../DataGrid/DataGridHeaderBase.class.php | 9 +- .../DataGridHeaderInterface.class.php | 9 +- .../DataGrid/DataGridHeaderSort.class.php | 9 +- .../Html/DataGrid/DataGridInterface.class.php | 9 +- inc/SP/Html/DataGrid/DataGridPager.class.php | 9 +- .../Html/DataGrid/DataGridPagerBase.class.php | 9 +- .../DataGrid/DataGridPagerInterface.class.php | 9 +- inc/SP/Html/DataGrid/DataGridSort.class.php | 9 +- .../DataGrid/DataGridSortInterface.class.php | 9 +- inc/SP/Html/DataGrid/DataGridTab.class.php | 9 +- inc/SP/Html/Html.class.php | 9 +- inc/SP/Html/Minify.class.php | 9 +- inc/SP/Http/JsonResponse.class.php | 2 +- inc/SP/Http/Message.class.php | 4 +- inc/SP/Http/Request.class.php | 11 +- inc/SP/Http/Response.class.php | 9 +- inc/SP/Http/XMLRPCResponseParse.class.php | 9 +- inc/SP/Import/CsvImport.class.php | 9 +- inc/SP/Import/CsvImportBase.class.php | 13 +- inc/SP/Import/FileImport.class.php | 9 +- inc/SP/Import/Import.class.php | 11 +- inc/SP/Import/ImportBase.class.php | 11 +- inc/SP/Import/ImportParams.class.php | 4 +- inc/SP/Import/KeepassImport.class.php | 9 +- inc/SP/Import/KeepassXImport.class.php | 9 +- inc/SP/Import/SyspassImport.class.php | 9 +- inc/SP/Import/XmlImport.class.php | 9 +- inc/SP/Import/XmlImportBase.class.php | 9 +- inc/SP/Log/AbstractLogger.class.php | 9 +- inc/SP/Log/ActionLog.class.php | 9 +- inc/SP/Log/Email.class.php | 11 +- inc/SP/Log/Log.class.php | 11 +- inc/SP/Log/LogLevel.class.php | 9 +- inc/SP/Log/LogUtil.class.php | 2 +- inc/SP/Log/LoggerInterface.class.php | 9 +- inc/SP/Log/Syslog.class.php | 9 +- inc/SP/Mgmt/Categories/Category.class.php | 13 +- inc/SP/Mgmt/Categories/CategoryBase.class.php | 9 +- .../Mgmt/Categories/CategorySearch.class.php | 9 +- .../Mgmt/CustomFields/CustomField.class.php | 9 +- .../CustomFields/CustomFieldBase.class.php | 9 +- .../CustomFields/CustomFieldDef.class.php | 9 +- .../CustomFieldDefSearch.class.php | 9 +- .../CustomFields/CustomFieldTypes.class.php | 9 +- .../CustomFields/CustomFieldsUtil.class.php | 9 +- inc/SP/Mgmt/Customers/Customer.class.php | 15 +- inc/SP/Mgmt/Customers/CustomerBase.class.php | 9 +- .../Mgmt/Customers/CustomerSearch.class.php | 9 +- inc/SP/Mgmt/Files/File.class.php | 15 +- inc/SP/Mgmt/Files/FileBase.class.php | 9 +- inc/SP/Mgmt/Files/FileSearch.class.php | 9 +- inc/SP/Mgmt/Files/FileUtil.class.php | 9 +- inc/SP/Mgmt/Groups/Group.class.php | 9 +- inc/SP/Mgmt/Groups/GroupAccounts.class.php | 9 +- .../Mgmt/Groups/GroupAccountsBase.class.php | 9 +- .../Mgmt/Groups/GroupAccountsUtil.class.php | 9 +- inc/SP/Mgmt/Groups/GroupBase.class.php | 9 +- inc/SP/Mgmt/Groups/GroupSearch.class.php | 9 +- inc/SP/Mgmt/Groups/GroupUsers.class.php | 9 +- inc/SP/Mgmt/Groups/GroupUsersBase.class.php | 9 +- inc/SP/Mgmt/Groups/GroupUtil.class.php | 9 +- inc/SP/Mgmt/ItemBase.class.php | 11 +- inc/SP/Mgmt/ItemInterface.class.php | 9 +- inc/SP/Mgmt/ItemSearchInterface.class.php | 9 +- inc/SP/Mgmt/ItemSelectInterface.class.php | 2 +- inc/SP/Mgmt/ItemTrait.class.php | 2 +- inc/SP/Mgmt/Notices/Notice.class.php | 4 +- inc/SP/Mgmt/Plugins/Plugin.class.php | 4 +- inc/SP/Mgmt/Profiles/Profile.class.php | 9 +- inc/SP/Mgmt/Profiles/ProfileBase.class.php | 9 +- inc/SP/Mgmt/Profiles/ProfileSearch.class.php | 9 +- inc/SP/Mgmt/Profiles/ProfileUtil.class.php | 11 +- inc/SP/Mgmt/PublicLinks/PublicLink.class.php | 15 +- .../Mgmt/PublicLinks/PublicLinkBase.class.php | 11 +- .../PublicLinks/PublicLinkSearch.class.php | 12 +- inc/SP/Mgmt/Tags/Tag.class.php | 9 +- inc/SP/Mgmt/Tags/TagBase.class.php | 9 +- inc/SP/Mgmt/Tags/TagSearch.class.php | 9 +- inc/SP/Mgmt/Users/User.class.php | 73 ++-- inc/SP/Mgmt/Users/UserBase.class.php | 12 +- inc/SP/Mgmt/Users/UserLdap.class.php | 9 +- inc/SP/Mgmt/Users/UserLdapSync.class.php | 23 ++ inc/SP/Mgmt/Users/UserMigrate.class.php | 9 +- inc/SP/Mgmt/Users/UserPass.class.php | 14 +- inc/SP/Mgmt/Users/UserPassRecover.class.php | 9 +- .../Mgmt/Users/UserPassRecoverBase.class.php | 9 +- inc/SP/Mgmt/Users/UserPreferences.class.php | 9 +- .../Mgmt/Users/UserPreferencesBase.class.php | 9 +- .../Mgmt/Users/UserPreferencesUtil.class.php | 88 +++-- inc/SP/Mgmt/Users/UserSearch.class.php | 9 +- inc/SP/Mgmt/Users/UserUtil.class.php | 9 +- inc/SP/Storage/DB.class.php | 11 +- inc/SP/Storage/DBStorageInterface.class.php | 9 +- inc/SP/Storage/DBUtil.class.php | 9 +- inc/SP/Storage/FileStorageInterface.class.php | 9 +- inc/SP/Storage/MySQLHandler.class.php | 13 +- inc/SP/Storage/QueryData.class.php | 9 +- inc/SP/Storage/XmlHandler.class.php | 9 +- inc/SP/Util/ArrayUtil.class.php | 9 +- inc/SP/Util/Checks.class.php | 9 +- inc/SP/Util/Connection.class.php | 9 +- inc/SP/Util/ConnectionInterface.class.php | 9 +- inc/SP/Util/ImageUtil.class.php | 9 +- inc/SP/Util/Json.class.php | 9 +- inc/SP/Util/Util.class.php | 11 +- inc/SP/Util/Wiki/DokuWikiApi.class.php | 11 +- inc/SP/Util/Wiki/DokuWikiApiBase.class.php | 9 +- inc/SP/Util/Wiki/DokuWikiApiParse.class.php | 9 +- inc/locales/en_US/LC_MESSAGES/messages.mo | Bin 80339 -> 80549 bytes inc/locales/en_US/LC_MESSAGES/messages.po | 344 ++++++++--------- inc/sql/1316011001.sql | 1 - inc/sql/1316100601.sql | 82 ++-- inc/sql/dbstructure.sql | 3 +- inc/themes/material-blue/css/_base.scss | 4 +- inc/themes/material-blue/css/_login.scss | 3 +- .../css/mdl-datetimepicker.min.css | 2 +- .../css/selectize-custom.min.css | 2 +- .../css/selectize.custom.min.css | 2 +- inc/themes/material-blue/css/styles.css | 40 +- inc/themes/material-blue/css/styles.css.map | 2 +- inc/themes/material-blue/css/styles.min.css | 2 +- inc/themes/material-blue/css/styles.scss | 15 +- inc/themes/material-blue/js/app-theme.js | 2 +- inc/themes/material-blue/js/app-theme.min.js | 2 +- .../bootstrap-material-datetimepicker.min.js | 2 +- inc/themes/material-blue/js/material.min.js | 355 +++++++++++++++++- .../material-blue/views/main/body-footer.inc | 9 +- .../material-blue/views/main/body-start.inc | 6 +- .../material-blue/views/main/error-list.inc | 12 +- .../material-blue/views/main/passreset.inc | 14 +- .../material-blue/views/main/upgrade.inc | 11 +- index.php | 11 +- js/app-actions.js | 2 +- js/app-main.js | 2 +- js/app-requests.js | 2 +- js/app-requests.min.js | 2 +- js/app-triggers.js | 6 +- js/app-triggers.min.js | 14 +- js/app.js | 23 ++ js/clipboard.js | 23 ++ js/jquery.magnific-popup.js | 25 +- js/js.php | 9 +- js/jsencrypt.js | 23 ++ js/moment-timezone.js | 23 ++ js/moment.js | 23 ++ js/selectize-plugins.js | 23 ++ js/selectize.js | 29 +- js/selectize.min.js | 2 +- js/spark-md5.js | 23 ++ js/strings.js.php | 5 +- js/toastr.js | 26 +- js/zxcvbn-async.js | 23 ++ 344 files changed, 2406 insertions(+), 1726 deletions(-) diff --git a/ajax/ajax_accGetFiles.php b/ajax/ajax_accGetFiles.php index 8431bde1..2c2f2e25 100644 --- a/ajax/ajax_accGetFiles.php +++ b/ajax/ajax_accGetFiles.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\ItemListController; diff --git a/ajax/ajax_accSearch.php b/ajax/ajax_accSearch.php index 8deea4e6..24cd4cd7 100644 --- a/ajax/ajax_accSearch.php +++ b/ajax/ajax_accSearch.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\AccountSearchController; diff --git a/ajax/ajax_accViewPass.php b/ajax/ajax_accViewPass.php index 3f35511b..e2d88706 100644 --- a/ajax/ajax_accViewPass.php +++ b/ajax/ajax_accViewPass.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Account\Account; diff --git a/ajax/ajax_checkConnection.php b/ajax/ajax_checkConnection.php index ccde3c7f..263ddb7f 100644 --- a/ajax/ajax_checkConnection.php +++ b/ajax/ajax_checkConnection.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\ChecksController; diff --git a/ajax/ajax_checkUpds.php b/ajax/ajax_checkUpds.php index 844e109a..f9a34e70 100644 --- a/ajax/ajax_checkUpds.php +++ b/ajax/ajax_checkUpds.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\MainController; diff --git a/ajax/ajax_configSave.php b/ajax/ajax_configSave.php index 00ed8a56..6f44ce19 100644 --- a/ajax/ajax_configSave.php +++ b/ajax/ajax_configSave.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\ConfigActionController; diff --git a/ajax/ajax_doLogin.php b/ajax/ajax_doLogin.php index cc80aa3e..8994dae2 100644 --- a/ajax/ajax_doLogin.php +++ b/ajax/ajax_doLogin.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\LoginController; diff --git a/ajax/ajax_eventlog.php b/ajax/ajax_eventlog.php index 32ee908e..04b6d136 100644 --- a/ajax/ajax_eventlog.php +++ b/ajax/ajax_eventlog.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\EventlogController; diff --git a/ajax/ajax_filesMgmt.php b/ajax/ajax_filesMgmt.php index a53e4d46..6e5831b5 100644 --- a/ajax/ajax_filesMgmt.php +++ b/ajax/ajax_filesMgmt.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Account\AccountUtil; diff --git a/ajax/ajax_getContent.php b/ajax/ajax_getContent.php index f6cff20a..81094cb4 100644 --- a/ajax/ajax_getContent.php +++ b/ajax/ajax_getContent.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Config\Config; diff --git a/ajax/ajax_getEnvironment.php b/ajax/ajax_getEnvironment.php index 938674df..441c1fb4 100644 --- a/ajax/ajax_getEnvironment.php +++ b/ajax/ajax_getEnvironment.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Config\Config; diff --git a/ajax/ajax_getItems.php b/ajax/ajax_getItems.php index 102460bb..32fd7664 100644 --- a/ajax/ajax_getItems.php +++ b/ajax/ajax_getItems.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_install.php b/ajax/ajax_install.php index f9f5c413..c8d7e306 100644 --- a/ajax/ajax_install.php +++ b/ajax/ajax_install.php @@ -4,7 +4,7 @@ * * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * diff --git a/ajax/ajax_itemSave.php b/ajax/ajax_itemSave.php index 3487000f..ff2aa467 100644 --- a/ajax/ajax_itemSave.php +++ b/ajax/ajax_itemSave.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\ItemActionController; diff --git a/ajax/ajax_itemSearch.php b/ajax/ajax_itemSearch.php index 94d8f92d..69694b4f 100644 --- a/ajax/ajax_itemSearch.php +++ b/ajax/ajax_itemSearch.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ define('APP_ROOT', '..'); diff --git a/ajax/ajax_itemShow.php b/ajax/ajax_itemShow.php index fb7a3453..9ae97e23 100644 --- a/ajax/ajax_itemShow.php +++ b/ajax/ajax_itemShow.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Controller\ItemShowController; diff --git a/ajax/ajax_migrate.php b/ajax/ajax_migrate.php index e8290052..876991cf 100644 --- a/ajax/ajax_migrate.php +++ b/ajax/ajax_migrate.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Core\Init; diff --git a/ajax/ajax_passReset.php b/ajax/ajax_passReset.php index 73b7f244..bba6d472 100644 --- a/ajax/ajax_passReset.php +++ b/ajax/ajax_passReset.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,13 +19,13 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Auth\AuthUtil; use SP\Core\SessionUtil; use SP\Core\Exceptions\SPException; +use SP\Http\JsonResponse; use SP\Http\Request; use SP\Http\Response; use SP\Log\Email; @@ -33,6 +33,7 @@ use SP\Log\Log; use SP\Mgmt\Users\User; use SP\Mgmt\Users\UserPass; use SP\Mgmt\Users\UserPassRecover; +use SP\Util\Json; define('APP_ROOT', '..'); @@ -40,10 +41,13 @@ require_once APP_ROOT . DIRECTORY_SEPARATOR . 'inc' . DIRECTORY_SEPARATOR . 'Bas Request::checkReferer('POST'); +$JsonResponse = new JsonResponse(); + $sk = Request::analyze('sk', false); if (!$sk || !SessionUtil::checkSessionKey($sk)) { - Response::printJson(_('CONSULTA INVÁLIDA')); + $JsonResponse->setDescription(_('CONSULTA INVÁLIDA')); + Json::returnJson($JsonResponse); } $userLogin = Request::analyze('login'); @@ -64,7 +68,9 @@ if ($userLogin && $userEmail) { $Log->addDescription(_('Solicitud enviada')); $Log->writeLog(); - Response::printJson($Log->getDescription() . ';;' . _('En breve recibirá un correo para completar la solicitud.'), 0, 'goLogin();'); + $JsonResponse->setDescription($Log->getDescription()); + $JsonResponse->addMessage(_('En breve recibirá un correo para completar la solicitud.')); + Json::returnJson($JsonResponse); } $Log->addDescription(_('Solicitud no enviada')); @@ -73,25 +79,30 @@ if ($userLogin && $userEmail) { Email::sendEmail($Log); - Response::printJson($Log->getDescription()); + $JsonResponse->setStatus(0); + $JsonResponse->setDescription($Log->getDescription()); + Json::returnJson($JsonResponse); } elseif ($userPass && $userPassR && $userPass === $userPassR) { $Log = new Log(_('Modificar Clave Usuario')); try { - UserPassRecover::getItem()->getHashUserId(Request::analyze('hash')); - UserPass::getItem()->updateUserPass(UserPassRecover::getItem()->getItemData()->getUserpassrUserId(), $userPass); + $UserPassRecover = UserPassRecover::getItem()->getHashUserId(Request::analyze('hash')); + UserPass::getItem()->updateUserPass($UserPassRecover->getItemData()->getUserpassrUserId(), $userPass); } catch (SPException $e) { $Log->addDescription($e->getMessage()); $Log->writeLog(); - Response::printJson($e->getMessage()); + $JsonResponse->setDescription($e->getMessage()); + Json::returnJson($JsonResponse); } $Log->addDescription(_('Clave actualizada')); $Log->addDetailsHtml(_('Login'), UserPass::getItem()->getItemData()->getUserLogin()); $Log->writeLog(); - Response::printJson($Log->getDescription(), 0, 'goLogin();'); + $JsonResponse->setStatus(0); + $JsonResponse->setDescription($Log->getDescription()); + Json::returnJson($JsonResponse); } else { Response::printJson(_('La clave es incorrecta o no coincide')); } \ No newline at end of file diff --git a/ajax/ajax_userPrefsSave.php b/ajax/ajax_userPrefsSave.php index f8ebeb54..8495be7b 100644 --- a/ajax/ajax_userPrefsSave.php +++ b/ajax/ajax_userPrefsSave.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use Plugins\Authenticator\Authenticator; diff --git a/ajax/ajax_wiki.php b/ajax/ajax_wiki.php index a202770e..868657ce 100644 --- a/ajax/ajax_wiki.php +++ b/ajax/ajax_wiki.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Http\Request; diff --git a/api.php b/api.php index c83c4b9c..5242cded 100644 --- a/api.php +++ b/api.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.or + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Api\ApiRequest; diff --git a/css/css.php b/css/css.php index 9a2e598e..dfabc425 100644 --- a/css/css.php +++ b/css/css.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Html\Minify; diff --git a/css/fonts.css b/css/fonts.css index cbd02fb6..fbb48d2d 100644 --- a/css/fonts.css +++ b/css/fonts.css @@ -1,3 +1,26 @@ +/* + * sysPass + * + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org + * + * This file is part of sysPass. + * + * sysPass is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * sysPass is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with sysPass. If not, see . + */ + /* Fuentes para Iconos de MDL */ @font-face { font-family: 'Material Icons'; diff --git a/css/fonts/MaterialIcons-Regular.svg b/css/fonts/MaterialIcons-Regular.svg index 9d69c999..29464918 100644 --- a/css/fonts/MaterialIcons-Regular.svg +++ b/css/fonts/MaterialIcons-Regular.svg @@ -2,6 +2,29 @@ + + diff --git a/css/magnific-popup.css b/css/magnific-popup.css index a249589f..96972a73 100644 --- a/css/magnific-popup.css +++ b/css/magnific-popup.css @@ -1,3 +1,26 @@ +/* + * sysPass + * + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org + * + * This file is part of sysPass. + * + * sysPass is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * sysPass is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with sysPass. If not, see . + */ + /* Magnific Popup CSS */ .mfp-bg { top: 0; diff --git a/css/material-icons.css b/css/material-icons.css index b4761308..1428dd4d 100644 --- a/css/material-icons.css +++ b/css/material-icons.css @@ -1,3 +1,26 @@ +/* + * sysPass + * + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org + * + * This file is part of sysPass. + * + * sysPass is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * sysPass is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with sysPass. If not, see . + */ + /* Iconos de MDL */ .material-icons { font-family: 'Material Icons'; diff --git a/css/toastr.css b/css/toastr.css index 76f7f572..75d326cd 100644 --- a/css/toastr.css +++ b/css/toastr.css @@ -1,3 +1,26 @@ +/* + * sysPass + * + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org + * + * This file is part of sysPass. + * + * sysPass is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * sysPass is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with sysPass. If not, see . + */ + .toast-title { font-weight: bold; } diff --git a/css/toastr.min.css b/css/toastr.min.css index c174f8f3..d095e5ac 100644 --- a/css/toastr.min.css +++ b/css/toastr.min.css @@ -1 +1 @@ -.toast-title{font-weight:bold}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-0.3em;top:-0.3em;float:right;font-size:20px;font-weight:bold;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:alpha(opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:alpha(opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-0.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:alpha(opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:alpha(opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=")!important}#toast-container>.toast-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=")!important}#toast-container>.toast-success{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==")!important}#toast-container>.toast-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=")!important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:alpha(opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}#toast-container .rtl .toast-close-button{left:-0.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}#toast-container .rtl .toast-close-button{left:-0.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}} \ No newline at end of file +.toast-title{font-weight:bold}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-0.3em;top:-0.3em;float:right;font-size:20px;font-weight:bold;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:alpha(opacity=80);filter:alpha(opacity=80);line-height:1}.toast-close-button:hover,.toast-close-button:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:alpha(opacity=40);filter:alpha(opacity=40)}.rtl .toast-close-button{left:-0.3em;float:left;right:.3em}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999;pointer-events:none}#toast-container *{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}#toast-container>div{position:relative;pointer-events:auto;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;-moz-border-radius:3px 3px 3px 3px;-webkit-border-radius:3px 3px 3px 3px;border-radius:3px 3px 3px 3px;background-position:15px center;background-repeat:no-repeat;-moz-box-shadow:0 0 12px #999;-webkit-box-shadow:0 0 12px #999;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:alpha(opacity=80);filter:alpha(opacity=80)}#toast-container>div.rtl{direction:rtl;padding:15px 50px 15px 15px;background-position:right 15px center}#toast-container>div:hover{-moz-box-shadow:0 0 12px #000;-webkit-box-shadow:0 0 12px #000;box-shadow:0 0 12px #000;opacity:1;-ms-filter:alpha(opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important}#toast-container>.toast-error{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important}#toast-container>.toast-success{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important}#toast-container>.toast-warning{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important}#toast-container.toast-top-center>div,#toast-container.toast-bottom-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-top-full-width>div,#toast-container.toast-bottom-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:alpha(opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}#toast-container .rtl .toast-close-button{left:-0.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-0.2em;top:-0.2em}#toast-container .rtl .toast-close-button{left:-0.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}} \ No newline at end of file diff --git a/inc/Base.php b/inc/Base.php index 4655718a..2b45b9eb 100644 --- a/inc/Base.php +++ b/inc/Base.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2015 Rubén Domínguez nuxsmin@syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with sysPass. If not, see . - * + * along with sysPass. If not, see . */ use SP\Core\Init; @@ -28,7 +27,10 @@ use SP\Core\Init; defined('APP_ROOT') || die(_('No es posible acceder directamente a este archivo')); define('BASE_DIR', __DIR__); +// +// Please, notice that this file should be outside the webserver root. You can move it and then update this path define('XML_CONFIG_FILE', __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.xml'); + define('CONFIG_FILE', __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'); define('MODEL_PATH', __DIR__ . DIRECTORY_SEPARATOR . 'SP'); define('CONTROLLER_PATH', __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'web'); @@ -39,7 +41,7 @@ define('LOCALES_PATH', __DIR__ . DIRECTORY_SEPARATOR . 'locales'); define('SQL_PATH', __DIR__ . DIRECTORY_SEPARATOR . 'sql'); -define('DEBUG', true); +define('DEBUG', false); require 'SplClassLoader.php'; diff --git a/inc/Plugins/Authenticator/ActionController.class.php b/inc/Plugins/Authenticator/ActionController.class.php index 11d0c5dd..349a251a 100644 --- a/inc/Plugins/Authenticator/ActionController.class.php +++ b/inc/Plugins/Authenticator/ActionController.class.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * @@ -100,7 +100,7 @@ class ActionController implements ItemControllerInterface */ protected function save() { - $pin = Request::analyze('security_pin', 0); + $pin = Request::analyze('security_pin'); $twofa_enabled = Request::analyze('security_2faenabled', 0, false, 1); $AuthenticatorData = Session::getUserData(); @@ -153,7 +153,7 @@ class ActionController implements ItemControllerInterface protected function checkCode() { $userId = Request::analyze('itemId', 0); - $pin = Request::analyze('security_pin', 0); + $pin = Request::analyze('security_pin'); // Buscar al usuario en los datos del plugin /** @var AuthenticatorData $AuthenticatorData */ diff --git a/inc/Plugins/Authenticator/Authenticator.class.php b/inc/Plugins/Authenticator/Authenticator.class.php index e77b9f3c..fc08faa6 100644 --- a/inc/Plugins/Authenticator/Authenticator.class.php +++ b/inc/Plugins/Authenticator/Authenticator.class.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * diff --git a/inc/Plugins/Authenticator/AuthenticatorData.class.php b/inc/Plugins/Authenticator/AuthenticatorData.class.php index 43847c1e..7c948c3c 100644 --- a/inc/Plugins/Authenticator/AuthenticatorData.class.php +++ b/inc/Plugins/Authenticator/AuthenticatorData.class.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * diff --git a/inc/Plugins/Authenticator/AuthenticatorPlugin.class.php b/inc/Plugins/Authenticator/AuthenticatorPlugin.class.php index e5662849..280efe23 100644 --- a/inc/Plugins/Authenticator/AuthenticatorPlugin.class.php +++ b/inc/Plugins/Authenticator/AuthenticatorPlugin.class.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * diff --git a/inc/Plugins/Authenticator/Google2FA.class.php b/inc/Plugins/Authenticator/Google2FA.class.php index 436b72a5..9b047a36 100644 --- a/inc/Plugins/Authenticator/Google2FA.class.php +++ b/inc/Plugins/Authenticator/Google2FA.class.php @@ -1,4 +1,27 @@ . + */ + /** * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/inc/Plugins/Authenticator/LoginController.class.php b/inc/Plugins/Authenticator/LoginController.class.php index 8abde344..f44a2d1d 100644 --- a/inc/Plugins/Authenticator/LoginController.class.php +++ b/inc/Plugins/Authenticator/LoginController.class.php @@ -2,8 +2,8 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org + * @author nuxsmin + * @link http://syspass.org * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. @@ -106,7 +106,7 @@ class LoginController $userId = Request::analyze('i', 0); - if (!isset($data[$userId]) || $data[$userId]->getExpireDays() === 0) { + if (!isset($data[$userId]) || $data[$userId]->getExpireDays() === null) { return; } diff --git a/inc/Plugins/Authenticator/PreferencesController.class.php b/inc/Plugins/Authenticator/PreferencesController.class.php index 1ca44f9f..6b38a302 100644 --- a/inc/Plugins/Authenticator/PreferencesController.class.php +++ b/inc/Plugins/Authenticator/PreferencesController.class.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin - * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @author nuxsmin + * @link http://syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * diff --git a/inc/Plugins/Authenticator/Session.class.php b/inc/Plugins/Authenticator/Session.class.php index a56d18c2..d0bd441f 100644 --- a/inc/Plugins/Authenticator/Session.class.php +++ b/inc/Plugins/Authenticator/Session.class.php @@ -1,4 +1,27 @@ . + */ + /** * Created by PhpStorm. * User: rdb diff --git a/inc/Plugins/Authenticator/ajax/ajax_actions.php b/inc/Plugins/Authenticator/ajax/ajax_actions.php index 73e2bc0f..dc5ca813 100644 --- a/inc/Plugins/Authenticator/ajax/ajax_actions.php +++ b/inc/Plugins/Authenticator/ajax/ajax_actions.php @@ -2,9 +2,9 @@ /** * sysPass * - * @author nuxsmin + * @author nuxsmin * @link http://syspass.org - * @copyright 2012-2016, Rubén Domínguez nuxsmin@$syspass.org + * @copyright 2012-2017, Rubén Domínguez nuxsmin@$syspass.org * * This file is part of sysPass. * diff --git a/inc/Plugins/Authenticator/themes/material-blue/views/main/login-2fa.inc b/inc/Plugins/Authenticator/themes/material-blue/views/main/login-2fa.inc index fd76469f..5fd5e812 100644 --- a/inc/Plugins/Authenticator/themes/material-blue/views/main/login-2fa.inc +++ b/inc/Plugins/Authenticator/themes/material-blue/views/main/login-2fa.inc @@ -22,13 +22,13 @@
-