diff --git a/.gitignore b/.gitignore index 5d06e0e6b..f7ac9d6a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,22 @@ -config.user.inc.php .DS_Store Thumbs.db + +config.user.inc.php /files/ /build/ + +codeception.yml +/tests/_output/ +/tests/*.suite.yml + /node_modules/ +/bower_components/ /vendor/ -tests/_output/* +composer.phar +composer.lock + +.idea +*.sublime-workspace +*.sublime-project +.codeintel + diff --git a/.travis.yml b/.travis.yml index 5d831561b..a13a92f5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,8 +22,9 @@ before_script: - if [ $(phpenv version-name) != "5.3" ]; then php -S localhost:8000 & fi script: - grunt lint -- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept run --env travis; +- grunt minify +- if [ $(phpenv version-name) != "5.3" ]; then ./vendor/bin/codecept run -d --env travis; fi notifications: slack: - secure: V4p13KlqML94RK0KTlHNJwrdwOK1K6n7sfxs6oILCJTqBfGuqN2fCglnxX78QEUwnl8LWrwSdA4AnUVfZqv6N5g7zlDDr2ZU2+a4XVApmEss3/C0g9zsYNlFfkJqChvtMsV29UiBjSfqn/coAVLtY1wbCYJYk3Wc2nmB/3Qti9Y= + secure: 0HhwktIb65zfge56E4yMfYj0Xj4GeYIaxvh/Obb13BK1/C8RdWBy6u213N5MQ2UHsxYk8wXXzynaCh4psegi2iPy9dbKmkdAdEQMzYoKE2xYVSqZveeVQm0sqFVXAlzggpgs/j5vtvKYjRkQKtTrz0C+p0uJ0bkLcyWGezWTpGc= diff --git a/admin/help/img/admin/dashboard.PNG b/admin/help/img/admin/dashboard.PNG index df44b1f54..281cc86f2 100644 Binary files a/admin/help/img/admin/dashboard.PNG and b/admin/help/img/admin/dashboard.PNG differ diff --git a/admin/help/img/admin/easyinstall_for_textyle.PNG b/admin/help/img/admin/easyinstall_for_textyle.PNG index b772f7639..c73f829fa 100644 Binary files a/admin/help/img/admin/easyinstall_for_textyle.PNG and b/admin/help/img/admin/easyinstall_for_textyle.PNG differ diff --git a/admin/help/img/admin/ftp_config.PNG b/admin/help/img/admin/ftp_config.PNG index c179cf44d..75b3f142d 100644 Binary files a/admin/help/img/admin/ftp_config.PNG and b/admin/help/img/admin/ftp_config.PNG differ diff --git a/admin/help/img/admin/installed_module.PNG b/admin/help/img/admin/installed_module.PNG index a0a78c74e..edc18b29b 100644 Binary files a/admin/help/img/admin/installed_module.PNG and b/admin/help/img/admin/installed_module.PNG differ diff --git a/admin/help/img/faq/add_multilingual.PNG b/admin/help/img/faq/add_multilingual.PNG index e07b70c66..a13b67323 100644 Binary files a/admin/help/img/faq/add_multilingual.PNG and b/admin/help/img/faq/add_multilingual.PNG differ diff --git a/admin/help/img/faq/admin_ip_band.PNG b/admin/help/img/faq/admin_ip_band.PNG index 6d7895c72..8c082d52c 100644 Binary files a/admin/help/img/faq/admin_ip_band.PNG and b/admin/help/img/faq/admin_ip_band.PNG differ diff --git a/admin/help/img/faq/apply_multilingual.PNG b/admin/help/img/faq/apply_multilingual.PNG index 9d397d1b1..564928259 100644 Binary files a/admin/help/img/faq/apply_multilingual.PNG and b/admin/help/img/faq/apply_multilingual.PNG differ diff --git a/admin/help/img/faq/board_basic_setup.PNG b/admin/help/img/faq/board_basic_setup.PNG index cfe7918e5..078e5c592 100644 Binary files a/admin/help/img/faq/board_basic_setup.PNG and b/admin/help/img/faq/board_basic_setup.PNG differ diff --git a/admin/help/img/faq/comment_publish.PNG b/admin/help/img/faq/comment_publish.PNG index 9a49136f1..50f238173 100644 Binary files a/admin/help/img/faq/comment_publish.PNG and b/admin/help/img/faq/comment_publish.PNG differ diff --git a/admin/help/img/faq/defence_login_limit.PNG b/admin/help/img/faq/defence_login_limit.PNG index 44550138d..a2045dcd7 100644 Binary files a/admin/help/img/faq/defence_login_limit.PNG and b/admin/help/img/faq/defence_login_limit.PNG differ diff --git a/admin/help/img/faq/deny_admin_by_ip.PNG b/admin/help/img/faq/deny_admin_by_ip.PNG index e890693b8..f890c2444 100644 Binary files a/admin/help/img/faq/deny_admin_by_ip.PNG and b/admin/help/img/faq/deny_admin_by_ip.PNG differ diff --git a/admin/help/img/faq/export1.PNG b/admin/help/img/faq/export1.PNG index 5e91a387a..69be7d178 100644 Binary files a/admin/help/img/faq/export1.PNG and b/admin/help/img/faq/export1.PNG differ diff --git a/admin/help/img/faq/export2.PNG b/admin/help/img/faq/export2.PNG index 1a2bb94e2..91f999f76 100644 Binary files a/admin/help/img/faq/export2.PNG and b/admin/help/img/faq/export2.PNG differ diff --git a/admin/help/img/faq/export3.PNG b/admin/help/img/faq/export3.PNG index 1a078226a..ea3629485 100644 Binary files a/admin/help/img/faq/export3.PNG and b/admin/help/img/faq/export3.PNG differ diff --git a/admin/help/img/faq/exposure_target.PNG b/admin/help/img/faq/exposure_target.PNG index 887fec8aa..a9a929d97 100644 Binary files a/admin/help/img/faq/exposure_target.PNG and b/admin/help/img/faq/exposure_target.PNG differ diff --git a/admin/help/img/faq/file_status.PNG b/admin/help/img/faq/file_status.PNG index 314b53729..ca08c8bb7 100644 Binary files a/admin/help/img/faq/file_status.PNG and b/admin/help/img/faq/file_status.PNG differ diff --git a/admin/help/img/faq/import1.PNG b/admin/help/img/faq/import1.PNG index d14319f31..8558fc6f1 100644 Binary files a/admin/help/img/faq/import1.PNG and b/admin/help/img/faq/import1.PNG differ diff --git a/admin/help/img/faq/import2.PNG b/admin/help/img/faq/import2.PNG index 18ae9e9bd..c187e68d4 100644 Binary files a/admin/help/img/faq/import2.PNG and b/admin/help/img/faq/import2.PNG differ diff --git a/admin/help/img/faq/import_complete.PNG b/admin/help/img/faq/import_complete.PNG index bf7a5ca55..9c6955e1a 100644 Binary files a/admin/help/img/faq/import_complete.PNG and b/admin/help/img/faq/import_complete.PNG differ diff --git a/admin/help/img/faq/joinform_manage.PNG b/admin/help/img/faq/joinform_manage.PNG index 1ea39ea8e..35e42fa55 100644 Binary files a/admin/help/img/faq/joinform_manage.PNG and b/admin/help/img/faq/joinform_manage.PNG differ diff --git a/admin/help/img/faq/joinform_type.PNG b/admin/help/img/faq/joinform_type.PNG index 5b850f0eb..5f48e9dad 100644 Binary files a/admin/help/img/faq/joinform_type.PNG and b/admin/help/img/faq/joinform_type.PNG differ diff --git a/admin/help/img/faq/login_config.PNG b/admin/help/img/faq/login_config.PNG index db65417fa..5e35130bc 100644 Binary files a/admin/help/img/faq/login_config.PNG and b/admin/help/img/faq/login_config.PNG differ diff --git a/admin/help/img/faq/menu_name_modify.PNG b/admin/help/img/faq/menu_name_modify.PNG index 8a6b340a8..24b779dfb 100644 Binary files a/admin/help/img/faq/menu_name_modify.PNG and b/admin/help/img/faq/menu_name_modify.PNG differ diff --git a/admin/help/img/faq/search_multilingual.PNG b/admin/help/img/faq/search_multilingual.PNG index 36e478ab6..abd8c1d1a 100644 Binary files a/admin/help/img/faq/search_multilingual.PNG and b/admin/help/img/faq/search_multilingual.PNG differ diff --git a/admin/help/img/faq/use_multilingual.PNG b/admin/help/img/faq/use_multilingual.PNG index 5b5422318..d796e4a8f 100644 Binary files a/admin/help/img/faq/use_multilingual.PNG and b/admin/help/img/faq/use_multilingual.PNG differ diff --git a/admin/help/img/faq/user_defined_joinform.PNG b/admin/help/img/faq/user_defined_joinform.PNG index b670b91da..167e9292b 100644 Binary files a/admin/help/img/faq/user_defined_joinform.PNG and b/admin/help/img/faq/user_defined_joinform.PNG differ diff --git a/admin/help/img/image001.png b/admin/help/img/image001.png index 733a0ded1..78b32a669 100644 Binary files a/admin/help/img/image001.png and b/admin/help/img/image001.png differ diff --git a/admin/help/img/image002.jpg b/admin/help/img/image002.jpg index c0ac026ab..4fe8521ff 100644 Binary files a/admin/help/img/image002.jpg and b/admin/help/img/image002.jpg differ diff --git a/admin/help/img/image003.jpg b/admin/help/img/image003.jpg index 9c4c659a9..086233cbe 100644 Binary files a/admin/help/img/image003.jpg and b/admin/help/img/image003.jpg differ diff --git a/admin/help/img/image004.jpg b/admin/help/img/image004.jpg index 16c08f779..6424676f2 100644 Binary files a/admin/help/img/image004.jpg and b/admin/help/img/image004.jpg differ diff --git a/admin/help/img/image005.jpg b/admin/help/img/image005.jpg index 32208e059..d9ac609c2 100644 Binary files a/admin/help/img/image005.jpg and b/admin/help/img/image005.jpg differ diff --git a/admin/help/img/image006.jpg b/admin/help/img/image006.jpg index 323308b53..c1e357782 100644 Binary files a/admin/help/img/image006.jpg and b/admin/help/img/image006.jpg differ diff --git a/admin/help/img/image007.jpg b/admin/help/img/image007.jpg index 29be2bd5c..d2a6f4163 100644 Binary files a/admin/help/img/image007.jpg and b/admin/help/img/image007.jpg differ diff --git a/admin/help/img/image008.jpg b/admin/help/img/image008.jpg index 298315ed4..371269c37 100644 Binary files a/admin/help/img/image008.jpg and b/admin/help/img/image008.jpg differ diff --git a/admin/help/img/image009.jpg b/admin/help/img/image009.jpg index 1e74d8cc4..ee8bdbcac 100644 Binary files a/admin/help/img/image009.jpg and b/admin/help/img/image009.jpg differ diff --git a/admin/help/img/image010.jpg b/admin/help/img/image010.jpg index f4f283915..160404ba7 100644 Binary files a/admin/help/img/image010.jpg and b/admin/help/img/image010.jpg differ diff --git a/admin/help/img/image011.jpg b/admin/help/img/image011.jpg index 3d8591315..5a4810ca8 100644 Binary files a/admin/help/img/image011.jpg and b/admin/help/img/image011.jpg differ diff --git a/admin/help/img/image012.jpg b/admin/help/img/image012.jpg index 36e54830d..05fa09bfd 100644 Binary files a/admin/help/img/image012.jpg and b/admin/help/img/image012.jpg differ diff --git a/admin/help/img/image013.jpg b/admin/help/img/image013.jpg index a2b37c4b7..614996b47 100644 Binary files a/admin/help/img/image013.jpg and b/admin/help/img/image013.jpg differ diff --git a/admin/help/img/image014.jpg b/admin/help/img/image014.jpg index e4228f11b..937510998 100644 Binary files a/admin/help/img/image014.jpg and b/admin/help/img/image014.jpg differ diff --git a/admin/help/img/image015.jpg b/admin/help/img/image015.jpg index df5228cb4..37e9b8e8d 100644 Binary files a/admin/help/img/image015.jpg and b/admin/help/img/image015.jpg differ diff --git a/admin/help/img/image016.jpg b/admin/help/img/image016.jpg index d07482c9a..9860aae20 100644 Binary files a/admin/help/img/image016.jpg and b/admin/help/img/image016.jpg differ diff --git a/admin/help/img/image017.jpg b/admin/help/img/image017.jpg index f360d8b3d..3eacb35c5 100644 Binary files a/admin/help/img/image017.jpg and b/admin/help/img/image017.jpg differ diff --git a/admin/help/img/image018.jpg b/admin/help/img/image018.jpg index 0035cd1f4..21bb1d475 100644 Binary files a/admin/help/img/image018.jpg and b/admin/help/img/image018.jpg differ diff --git a/admin/help/img/image019.jpg b/admin/help/img/image019.jpg index a02c79512..fa9b8f4e1 100644 Binary files a/admin/help/img/image019.jpg and b/admin/help/img/image019.jpg differ diff --git a/admin/help/img/image020.jpg b/admin/help/img/image020.jpg index 9040a641d..41f916672 100644 Binary files a/admin/help/img/image020.jpg and b/admin/help/img/image020.jpg differ diff --git a/admin/help/img/image021.jpg b/admin/help/img/image021.jpg index 1692b5691..1b464737b 100644 Binary files a/admin/help/img/image021.jpg and b/admin/help/img/image021.jpg differ diff --git a/admin/help/img/image022.jpg b/admin/help/img/image022.jpg index 4e7dc1144..0fcc785cb 100644 Binary files a/admin/help/img/image022.jpg and b/admin/help/img/image022.jpg differ diff --git a/admin/help/img/image023.png b/admin/help/img/image023.png index 5c5276450..907668242 100644 Binary files a/admin/help/img/image023.png and b/admin/help/img/image023.png differ diff --git a/admin/help/img/image024.jpg b/admin/help/img/image024.jpg index 674000805..b953fbc94 100644 Binary files a/admin/help/img/image024.jpg and b/admin/help/img/image024.jpg differ diff --git a/admin/help/img/image025.jpg b/admin/help/img/image025.jpg index ecd54d993..6ff7ff38f 100644 Binary files a/admin/help/img/image025.jpg and b/admin/help/img/image025.jpg differ diff --git a/admin/help/img/image026.png b/admin/help/img/image026.png index 54b0f2635..39116970f 100644 Binary files a/admin/help/img/image026.png and b/admin/help/img/image026.png differ diff --git a/admin/help/img/image027.jpg b/admin/help/img/image027.jpg index 3207a8aa1..f5ba29062 100644 Binary files a/admin/help/img/image027.jpg and b/admin/help/img/image027.jpg differ diff --git a/admin/help/img/image028.png b/admin/help/img/image028.png index 6c9d65aec..d3e66bb48 100644 Binary files a/admin/help/img/image028.png and b/admin/help/img/image028.png differ diff --git a/admin/help/img/image029.jpg b/admin/help/img/image029.jpg index b407b9677..b6b17ff8c 100644 Binary files a/admin/help/img/image029.jpg and b/admin/help/img/image029.jpg differ diff --git a/admin/help/img/image030.png b/admin/help/img/image030.png index 32b14e1cd..4a917f4c9 100644 Binary files a/admin/help/img/image030.png and b/admin/help/img/image030.png differ diff --git a/admin/help/img/image031.jpg b/admin/help/img/image031.jpg index 5954df1f1..281a9836e 100644 Binary files a/admin/help/img/image031.jpg and b/admin/help/img/image031.jpg differ diff --git a/admin/help/img/image032.jpg b/admin/help/img/image032.jpg index a217d94da..230497e42 100644 Binary files a/admin/help/img/image032.jpg and b/admin/help/img/image032.jpg differ diff --git a/admin/help/img/image033.jpg b/admin/help/img/image033.jpg index 064e3bcf1..2c09dc077 100644 Binary files a/admin/help/img/image033.jpg and b/admin/help/img/image033.jpg differ diff --git a/admin/help/img/image034.jpg b/admin/help/img/image034.jpg index 98ab1cbfc..d8e0ad8fe 100644 Binary files a/admin/help/img/image034.jpg and b/admin/help/img/image034.jpg differ diff --git a/admin/help/img/image035.jpg b/admin/help/img/image035.jpg index b3b8f54a5..c9dee384a 100644 Binary files a/admin/help/img/image035.jpg and b/admin/help/img/image035.jpg differ diff --git a/admin/help/img/image036.jpg b/admin/help/img/image036.jpg index c62db0266..59291d2cc 100644 Binary files a/admin/help/img/image036.jpg and b/admin/help/img/image036.jpg differ diff --git a/admin/help/img/image037.jpg b/admin/help/img/image037.jpg index 58699beec..5afd600f7 100644 Binary files a/admin/help/img/image037.jpg and b/admin/help/img/image037.jpg differ diff --git a/admin/help/img/image038.jpg b/admin/help/img/image038.jpg index 060948d5a..7b9cbf146 100644 Binary files a/admin/help/img/image038.jpg and b/admin/help/img/image038.jpg differ diff --git a/admin/help/img/image039.jpg b/admin/help/img/image039.jpg index 0a3f38f4a..842d26fcd 100644 Binary files a/admin/help/img/image039.jpg and b/admin/help/img/image039.jpg differ diff --git a/admin/help/img/image040.jpg b/admin/help/img/image040.jpg index d9080512d..4b45af1ad 100644 Binary files a/admin/help/img/image040.jpg and b/admin/help/img/image040.jpg differ diff --git a/admin/help/img/image041.jpg b/admin/help/img/image041.jpg index 192723992..5208722e3 100644 Binary files a/admin/help/img/image041.jpg and b/admin/help/img/image041.jpg differ diff --git a/admin/help/img/image042.jpg b/admin/help/img/image042.jpg index 25ade7342..9987e8b56 100644 Binary files a/admin/help/img/image042.jpg and b/admin/help/img/image042.jpg differ diff --git a/admin/help/img/image043.jpg b/admin/help/img/image043.jpg index 38afb6ed1..88d3bcbbe 100644 Binary files a/admin/help/img/image043.jpg and b/admin/help/img/image043.jpg differ diff --git a/admin/help/img/image044.jpg b/admin/help/img/image044.jpg index bc227a2cc..f98b20b0f 100644 Binary files a/admin/help/img/image044.jpg and b/admin/help/img/image044.jpg differ diff --git a/admin/help/img/image045.jpg b/admin/help/img/image045.jpg index 4ba225526..d9f48299a 100644 Binary files a/admin/help/img/image045.jpg and b/admin/help/img/image045.jpg differ diff --git a/admin/help/img/image046.png b/admin/help/img/image046.png index d946ef165..f5380d07c 100644 Binary files a/admin/help/img/image046.png and b/admin/help/img/image046.png differ diff --git a/admin/help/img/image047.png b/admin/help/img/image047.png index bb3333996..46cbdca36 100644 Binary files a/admin/help/img/image047.png and b/admin/help/img/image047.png differ diff --git a/admin/help/img/image048.jpg b/admin/help/img/image048.jpg index 1a1046109..6b03733e8 100644 Binary files a/admin/help/img/image048.jpg and b/admin/help/img/image048.jpg differ diff --git a/admin/help/img/image049.jpg b/admin/help/img/image049.jpg index ad806987b..6af34b06f 100644 Binary files a/admin/help/img/image049.jpg and b/admin/help/img/image049.jpg differ diff --git a/admin/help/img/image050.jpg b/admin/help/img/image050.jpg index ca35259b6..e9b893e4d 100644 Binary files a/admin/help/img/image050.jpg and b/admin/help/img/image050.jpg differ diff --git a/admin/help/img/image051.jpg b/admin/help/img/image051.jpg index 38158751c..89704552d 100644 Binary files a/admin/help/img/image051.jpg and b/admin/help/img/image051.jpg differ diff --git a/admin/help/img/image052.png b/admin/help/img/image052.png index 9b8cd8cc1..ab6953b2f 100644 Binary files a/admin/help/img/image052.png and b/admin/help/img/image052.png differ diff --git a/admin/help/img/image053.jpg b/admin/help/img/image053.jpg index 0feae788a..eb70c9558 100644 Binary files a/admin/help/img/image053.jpg and b/admin/help/img/image053.jpg differ diff --git a/admin/help/img/image054.jpg b/admin/help/img/image054.jpg index 75194c5eb..a81c4199b 100644 Binary files a/admin/help/img/image054.jpg and b/admin/help/img/image054.jpg differ diff --git a/admin/help/img/image055.jpg b/admin/help/img/image055.jpg index cdbe6664e..7ac0b11ac 100644 Binary files a/admin/help/img/image055.jpg and b/admin/help/img/image055.jpg differ diff --git a/admin/help/img/image056.jpg b/admin/help/img/image056.jpg index cd34df9c0..10df87d15 100644 Binary files a/admin/help/img/image056.jpg and b/admin/help/img/image056.jpg differ diff --git a/admin/help/img/image057.jpg b/admin/help/img/image057.jpg index b22a38ef9..64161dce2 100644 Binary files a/admin/help/img/image057.jpg and b/admin/help/img/image057.jpg differ diff --git a/admin/help/img/image058.jpg b/admin/help/img/image058.jpg index 89e4f39c8..03de6d96b 100644 Binary files a/admin/help/img/image058.jpg and b/admin/help/img/image058.jpg differ diff --git a/admin/help/img/image059.jpg b/admin/help/img/image059.jpg index 13db6a447..ed54b5a07 100644 Binary files a/admin/help/img/image059.jpg and b/admin/help/img/image059.jpg differ diff --git a/admin/help/img/image060.jpg b/admin/help/img/image060.jpg index a2bf14aa2..edb2abd3e 100644 Binary files a/admin/help/img/image060.jpg and b/admin/help/img/image060.jpg differ diff --git a/admin/help/img/image061.png b/admin/help/img/image061.png index 79e2bb660..2c3153835 100644 Binary files a/admin/help/img/image061.png and b/admin/help/img/image061.png differ diff --git a/admin/help/img/image062.png b/admin/help/img/image062.png index f9bc24810..a4a71d08f 100644 Binary files a/admin/help/img/image062.png and b/admin/help/img/image062.png differ diff --git a/admin/help/img/image063.png b/admin/help/img/image063.png index ec384ab60..6985914ed 100644 Binary files a/admin/help/img/image063.png and b/admin/help/img/image063.png differ diff --git a/admin/help/img/install/complete_install.PNG b/admin/help/img/install/complete_install.PNG index 819e00859..fa4119fd7 100644 Binary files a/admin/help/img/install/complete_install.PNG and b/admin/help/img/install/complete_install.PNG differ diff --git a/admin/help/img/install/db_select.PNG b/admin/help/img/install/db_select.PNG index 11bccdab4..44efabe2b 100644 Binary files a/admin/help/img/install/db_select.PNG and b/admin/help/img/install/db_select.PNG differ diff --git a/admin/help/img/install/environment_setting.PNG b/admin/help/img/install/environment_setting.PNG index 305b00102..dd3c28369 100644 Binary files a/admin/help/img/install/environment_setting.PNG and b/admin/help/img/install/environment_setting.PNG differ diff --git a/admin/help/img/install/insert_admin_info.PNG b/admin/help/img/install/insert_admin_info.PNG index 9d6b18473..ed6f9a3a5 100644 Binary files a/admin/help/img/install/insert_admin_info.PNG and b/admin/help/img/install/insert_admin_info.PNG differ diff --git a/admin/help/img/install/insert_db_info.PNG b/admin/help/img/install/insert_db_info.PNG index 41fa8cedb..b9bf66727 100644 Binary files a/admin/help/img/install/insert_db_info.PNG and b/admin/help/img/install/insert_db_info.PNG differ diff --git a/admin/help/img/install/install_condition_check.PNG b/admin/help/img/install/install_condition_check.PNG index bda900fb2..7c73b7a90 100644 Binary files a/admin/help/img/install/install_condition_check.PNG and b/admin/help/img/install/install_condition_check.PNG differ diff --git a/admin/help/img/install/install_condition_check_error.PNG b/admin/help/img/install/install_condition_check_error.PNG index cd655f81d..defa66b85 100644 Binary files a/admin/help/img/install/install_condition_check_error.PNG and b/admin/help/img/install/install_condition_check_error.PNG differ diff --git a/admin/help/img/install/language_select.PNG b/admin/help/img/install/language_select.PNG index b4cf98052..d0704d9ad 100644 Binary files a/admin/help/img/install/language_select.PNG and b/admin/help/img/install/language_select.PNG differ diff --git a/admin/help/img/make_general_site/add_home.PNG b/admin/help/img/make_general_site/add_home.PNG index 1c714b02a..6690463bd 100644 Binary files a/admin/help/img/make_general_site/add_home.PNG and b/admin/help/img/make_general_site/add_home.PNG differ diff --git a/admin/help/img/make_general_site/board_install.PNG b/admin/help/img/make_general_site/board_install.PNG index c1ac923e6..1c5df0500 100644 Binary files a/admin/help/img/make_general_site/board_install.PNG and b/admin/help/img/make_general_site/board_install.PNG differ diff --git a/admin/help/img/make_general_site/change_start_page.PNG b/admin/help/img/make_general_site/change_start_page.PNG index bd5483ec3..b67063791 100644 Binary files a/admin/help/img/make_general_site/change_start_page.PNG and b/admin/help/img/make_general_site/change_start_page.PNG differ diff --git a/admin/help/img/make_general_site/default_layout_setting.PNG b/admin/help/img/make_general_site/default_layout_setting.PNG index ab29f630d..9492149e2 100644 Binary files a/admin/help/img/make_general_site/default_layout_setting.PNG and b/admin/help/img/make_general_site/default_layout_setting.PNG differ diff --git a/admin/help/img/make_general_site/delete_menu1.PNG b/admin/help/img/make_general_site/delete_menu1.PNG index e39f9c1f4..c5b74a6bd 100644 Binary files a/admin/help/img/make_general_site/delete_menu1.PNG and b/admin/help/img/make_general_site/delete_menu1.PNG differ diff --git a/admin/help/img/make_general_site/ftp_password_confirm.PNG b/admin/help/img/make_general_site/ftp_password_confirm.PNG index 146af09c3..8debe9de7 100644 Binary files a/admin/help/img/make_general_site/ftp_password_confirm.PNG and b/admin/help/img/make_general_site/ftp_password_confirm.PNG differ diff --git a/admin/help/img/make_general_site/home_page1.PNG b/admin/help/img/make_general_site/home_page1.PNG index dea7e9a36..0b4ed1c33 100644 Binary files a/admin/help/img/make_general_site/home_page1.PNG and b/admin/help/img/make_general_site/home_page1.PNG differ diff --git a/admin/help/img/make_general_site/home_page2.PNG b/admin/help/img/make_general_site/home_page2.PNG index 0f818f907..d7a3f3be4 100644 Binary files a/admin/help/img/make_general_site/home_page2.PNG and b/admin/help/img/make_general_site/home_page2.PNG differ diff --git a/admin/help/img/make_general_site/home_page3.PNG b/admin/help/img/make_general_site/home_page3.PNG index e8e9cdabc..747295876 100644 Binary files a/admin/help/img/make_general_site/home_page3.PNG and b/admin/help/img/make_general_site/home_page3.PNG differ diff --git a/admin/help/img/make_general_site/home_page4.PNG b/admin/help/img/make_general_site/home_page4.PNG index bcf1123b7..aa4043081 100644 Binary files a/admin/help/img/make_general_site/home_page4.PNG and b/admin/help/img/make_general_site/home_page4.PNG differ diff --git a/admin/help/img/make_general_site/home_page5.PNG b/admin/help/img/make_general_site/home_page5.PNG index 6e104bca0..155c98a5f 100644 Binary files a/admin/help/img/make_general_site/home_page5.PNG and b/admin/help/img/make_general_site/home_page5.PNG differ diff --git a/admin/help/img/make_general_site/home_page6.PNG b/admin/help/img/make_general_site/home_page6.PNG index db408e996..2105c0021 100644 Binary files a/admin/help/img/make_general_site/home_page6.PNG and b/admin/help/img/make_general_site/home_page6.PNG differ diff --git a/admin/help/img/make_general_site/home_page7.PNG b/admin/help/img/make_general_site/home_page7.PNG index ef94d6fae..0fcd7265d 100644 Binary files a/admin/help/img/make_general_site/home_page7.PNG and b/admin/help/img/make_general_site/home_page7.PNG differ diff --git a/admin/help/img/make_general_site/home_page8.PNG b/admin/help/img/make_general_site/home_page8.PNG index 8eb526194..79f04e994 100644 Binary files a/admin/help/img/make_general_site/home_page8.PNG and b/admin/help/img/make_general_site/home_page8.PNG differ diff --git a/admin/help/img/make_general_site/home_page_completed.PNG b/admin/help/img/make_general_site/home_page_completed.PNG index 61fb36884..1347d8764 100644 Binary files a/admin/help/img/make_general_site/home_page_completed.PNG and b/admin/help/img/make_general_site/home_page_completed.PNG differ diff --git a/admin/help/img/make_general_site/menu_delete_confirm.PNG b/admin/help/img/make_general_site/menu_delete_confirm.PNG index 2b01fc205..e830722c8 100644 Binary files a/admin/help/img/make_general_site/menu_delete_confirm.PNG and b/admin/help/img/make_general_site/menu_delete_confirm.PNG differ diff --git a/admin/help/img/make_general_site/notice01_add.PNG b/admin/help/img/make_general_site/notice01_add.PNG index 54608c56f..f039b2bdf 100644 Binary files a/admin/help/img/make_general_site/notice01_add.PNG and b/admin/help/img/make_general_site/notice01_add.PNG differ diff --git a/admin/help/img/make_general_site/other_mentype_install.PNG b/admin/help/img/make_general_site/other_mentype_install.PNG index aee130f16..6b5c74b77 100644 Binary files a/admin/help/img/make_general_site/other_mentype_install.PNG and b/admin/help/img/make_general_site/other_mentype_install.PNG differ diff --git a/admin/help/img/make_general_site/progress.PNG b/admin/help/img/make_general_site/progress.PNG index 02b5fc061..76e7f6970 100644 Binary files a/admin/help/img/make_general_site/progress.PNG and b/admin/help/img/make_general_site/progress.PNG differ diff --git a/classes/cache/CacheFile.class.php b/classes/cache/CacheFile.class.php index f837fd5fa..5942960f9 100644 --- a/classes/cache/CacheFile.class.php +++ b/classes/cache/CacheFile.class.php @@ -78,6 +78,10 @@ class CacheFile extends CacheBase $content[] = 'if(!defined(\'__XE__\')) { exit(); }'; $content[] = 'return \'' . addslashes(serialize($obj)) . '\';'; FileHandler::writeFile($cache_file, implode(PHP_EOL, $content)); + if(function_exists('opcache_invalidate')) + { + @opcache_invalidate($cache_file, true); + } } /** @@ -139,6 +143,10 @@ class CacheFile extends CacheBase function _delete($_key) { $cache_file = $this->getCacheFileName($_key); + if(function_exists('opcache_invalidate')) + { + @opcache_invalidate($cache_file, true); + } FileHandler::removeFile($cache_file); } diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 257900cac..09f7d09a1 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -200,6 +200,10 @@ class Context */ function init() { + if(!isset($GLOBALS['HTTP_RAW_POST_DATA']) && version_compare(PHP_VERSION, '5.6.0', '>=') === true) { + if(simplexml_load_string(file_get_contents("php://input")) !== false) $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input"); + } + // set context variables in $GLOBALS (to use in display handler) $this->context = &$GLOBALS['__Context__']; $this->context->lang = &$GLOBALS['lang']; @@ -1144,7 +1148,7 @@ class Context $self->js_callback_func = $self->getJSCallbackFunc(); ($type && $self->request_method = $type) or - (strpos($_SERVER['CONTENT_TYPE'], 'json') && $self->request_method = 'JSON') or + ((strpos($_SERVER['CONTENT_TYPE'], 'json') || strpos($_SERVER['HTTP_CONTENT_TYPE'], 'json')) && $self->request_method = 'JSON') or ($GLOBALS['HTTP_RAW_POST_DATA'] && $self->request_method = 'XMLRPC') or ($self->js_callback_func && $self->request_method = 'JS_CALLBACK') or ($self->request_method = $_SERVER['REQUEST_METHOD']); @@ -1380,7 +1384,7 @@ class Context { $result[$k] = $v; - if($do_stripslashes && version_compare(PHP_VERSION, '5.9.0', '<') && get_magic_quotes_gpc()) + if($do_stripslashes && version_compare(PHP_VERSION, '5.4.0', '<') && get_magic_quotes_gpc()) { $result[$k] = stripslashes($result[$k]); } @@ -1413,7 +1417,7 @@ class Context */ function _setUploadedArgument() { - if($_SERVER['REQUEST_METHOD'] != 'POST' || !$_FILES || stripos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') === FALSE) + if($_SERVER['REQUEST_METHOD'] != 'POST' || !$_FILES || (stripos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') === FALSE && stripos($_SERVER['HTTP_CONTENT_TYPE'], 'multipart/form-data') === FALSE)) { return; } diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index 4a68816d8..a41ad4031 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -4,35 +4,6 @@ if(!defined('__XE_LOADED_DB_CLASS__')) { define('__XE_LOADED_DB_CLASS__', 1); - - require(_XE_PATH_ . 'classes/xml/xmlquery/DBParser.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/QueryParser.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/argument/Argument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/argument/SortArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/argument/ConditionArgument.class.php'); - - require(_XE_PATH_ . 'classes/db/queryparts/expression/Expression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/SelectExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/InsertExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/UpdateExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/ClickCountExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/Table.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/JoinTable.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/CubridTableWithHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/MysqlTableWithHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/MssqlTableWithHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/table/IndexHint.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionGroup.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/Condition.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionWithArgument.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionWithoutArgument.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/condition/ConditionSubquery.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/expression/StarExpression.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/order/OrderByColumn.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/limit/Limit.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/Query.class.php'); - require(_XE_PATH_ . 'classes/db/queryparts/Subquery.class.php'); } /** @@ -622,7 +593,6 @@ class DB // if there is no cache file or is not new, find original xml query file and parse it if($cache_time < filemtime($xml_file) || $cache_time < filemtime(_XE_PATH_ . 'classes/db/DB.class.php') || $cache_time < filemtime(_XE_PATH_ . 'classes/xml/XmlQueryParser.class.php')) { - require_once(_XE_PATH_ . 'classes/xml/XmlQueryParser.class.php'); $oParser = new XmlQueryParser(); $oParser->parse($query_id, $xml_file, $cache_file); } diff --git a/classes/db/DBCubrid.class.php b/classes/db/DBCubrid.class.php index 064ae99ab..fc977d81a 100644 --- a/classes/db/DBCubrid.class.php +++ b/classes/db/DBCubrid.class.php @@ -116,7 +116,7 @@ class DBCubrid extends DB */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); diff --git a/classes/db/DBMssql.class.php b/classes/db/DBMssql.class.php index 5a7217735..32adb251c 100644 --- a/classes/db/DBMssql.class.php +++ b/classes/db/DBMssql.class.php @@ -99,7 +99,7 @@ class DBMssql extends DB */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php index 9e60f410e..2e9bf606c 100644 --- a/classes/db/DBMysql.class.php +++ b/classes/db/DBMysql.class.php @@ -131,7 +131,7 @@ class DBMysql extends DB */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } @@ -265,7 +265,7 @@ class DBMysql extends DB $query = sprintf("select password('%s') as password, old_password('%s') as old_password", $this->addQuotes($password), $this->addQuotes($password)); $result = $this->_query($query); $tmp = $this->_fetch($result); - if($tmp->password == $saved_password || $tmp->old_password == $saved_password) + if($tmp->password === $saved_password || $tmp->old_password === $saved_password) { return true; } diff --git a/classes/db/DBMysqli.class.php b/classes/db/DBMysqli.class.php index 36c04e1d5..58d25c852 100644 --- a/classes/db/DBMysqli.class.php +++ b/classes/db/DBMysqli.class.php @@ -87,7 +87,7 @@ class DBMysqli extends DBMysql */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/classes/db/DBMysqli_innodb.class.php b/classes/db/DBMysqli_innodb.class.php index 9f5ee5671..55422b61f 100644 --- a/classes/db/DBMysqli_innodb.class.php +++ b/classes/db/DBMysqli_innodb.class.php @@ -145,7 +145,7 @@ class DBMysqli_innodb extends DBMysql */ function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php index e4bca38da..deb8d8326 100644 --- a/classes/display/DisplayHandler.class.php +++ b/classes/display/DisplayHandler.class.php @@ -39,12 +39,10 @@ class DisplayHandler extends Handler // Extract contents to display by the request method if(Context::get('xeVirtualRequestMethod') == 'xml') { - require_once(_XE_PATH_ . "classes/display/VirtualXMLDisplayHandler.php"); $handler = new VirtualXMLDisplayHandler(); } else if(Context::getRequestMethod() == 'XMLRPC') { - require_once(_XE_PATH_ . "classes/display/XMLDisplayHandler.php"); $handler = new XMLDisplayHandler(); if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) { @@ -53,17 +51,14 @@ class DisplayHandler extends Handler } else if(Context::getRequestMethod() == 'JSON') { - require_once(_XE_PATH_ . "classes/display/JSONDisplayHandler.php"); $handler = new JSONDisplayHandler(); } else if(Context::getRequestMethod() == 'JS_CALLBACK') { - require_once(_XE_PATH_ . "classes/display/JSCallbackDisplayHandler.php"); $handler = new JSCallbackDisplayHandler(); } else { - require_once(_XE_PATH_ . "classes/display/HTMLDisplayHandler.php"); $handler = new HTMLDisplayHandler(); } diff --git a/classes/frontendfile/FrontEndFileHandler.class.php b/classes/frontendfile/FrontEndFileHandler.class.php index cbff623ac..a1e3b5f6f 100644 --- a/classes/frontendfile/FrontEndFileHandler.class.php +++ b/classes/frontendfile/FrontEndFileHandler.class.php @@ -347,7 +347,7 @@ class FrontEndFileHandler extends Handler } elseif(!strncmp($path, '//', 2)) { - return $path; + return preg_replace('#^//+#', '//', $path); } $path = preg_replace('@/\./|(?@s', '', $buff); // replace value of src in img/input/script tag - $buff = preg_replace_callback('/<(?:img|input|script)[^<>]*src="(?!https?:\/\/|[\/\{])([^"]+)"/is', array($this, '_replacePath'), $buff); + $buff = preg_replace_callback('/<(?:img|input|script)(?:[^<>]*?)(?(?=cond=")(?:cond="[^"]+"[^<>]*)+|)[^<>]* src="(?!(?:https?|file):\/\/|[\/\{])([^"]+)"/is', array($this, '_replacePath'), $buff); // replace loop and cond template syntax $buff = $this->_parseInline($buff); @@ -362,6 +362,7 @@ class TemplateHandler $__Context->logged_info = Context::get('logged_info'); } + $level = ob_get_level(); ob_start(); if(substr($buff, 0, 7) == 'file://') { @@ -395,7 +396,12 @@ class TemplateHandler } } - return ob_get_clean(); + $contents = ''; + while (ob_get_level() - $level > 0) { + $contents .= ob_get_contents(); + ob_end_clean(); + } + return $contents; } /** diff --git a/classes/xml/XmlQueryParser.class.php b/classes/xml/XmlQueryParser.class.php index a804376bd..e86c00c8f 100644 --- a/classes/xml/XmlQueryParser.class.php +++ b/classes/xml/XmlQueryParser.class.php @@ -7,31 +7,6 @@ if(!defined('__XE_LOADED_XML_CLASS__')) { define('__XE_LOADED_XML_CLASS__', 1); - - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/query/QueryTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/TableTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/HintTableTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/table/TablesTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/ColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/group/GroupsTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/IndexTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/tags/navigation/LimitTag.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/QueryArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php'); - require(_XE_PATH_ . 'classes/xml/xmlquery/queryargument/DefaultValue.class.php'); } /** diff --git a/codeception.dist.yml b/codeception.dist.yml new file mode 100644 index 000000000..db57ec19b --- /dev/null +++ b/codeception.dist.yml @@ -0,0 +1,11 @@ +actor: Tester +paths: + tests: tests + log: tests/_output + data: tests/_data + helpers: tests/_support +settings: + bootstrap: _bootstrap.php + colors: true + memory_limit: 1024M + error_level: "E_ALL & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE" diff --git a/codeception.yml b/codeception.yml deleted file mode 100644 index 7f760718c..000000000 --- a/codeception.yml +++ /dev/null @@ -1,19 +0,0 @@ -actor: Tester -paths: - tests: tests - log: tests/_output - data: tests/_data - helpers: tests/_support -settings: - bootstrap: _bootstrap.php - colors: true - memory_limit: 1024M -modules: - config: - Db: - dsn: 'mysql:host=127.0.0.1;dbname=xe_test' - user: 'root' - password: 'root' - populate: false - cleanup: false -error_level: "E_STRICTE_ALL & ~E_WARNING & ~E_STRICT & ~E_DEPRECATED & ~E_NOTICE" diff --git a/common/js/plugins/ckeditor/ckeditor/plugins/image/images/noimage.png b/common/js/plugins/ckeditor/ckeditor/plugins/image/images/noimage.png index 159811305..f822f7ac1 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/plugins/image/images/noimage.png and b/common/js/plugins/ckeditor/ckeditor/plugins/image/images/noimage.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/plugins/link/images/hidpi/anchor.png b/common/js/plugins/ckeditor/ckeditor/plugins/link/images/hidpi/anchor.png index f5048430d..4f6a1bf89 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/plugins/link/images/hidpi/anchor.png and b/common/js/plugins/ckeditor/ckeditor/plugins/link/images/hidpi/anchor.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/arrow.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/arrow.png index 0d1eb39c6..d72b5f3b8 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/arrow.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/arrow.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/close.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/close.png index 900ae87ed..9175c768e 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/close.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/close.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/close.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/close.png index 5a288b691..15292537e 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/close.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/close.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock-open.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock-open.png index 6f465a8b6..c85e43444 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock-open.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock-open.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock.png index 07b23818d..d3218d16f 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/lock.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/refresh.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/refresh.png index 53b610d47..b64a3b2ec 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/refresh.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/hidpi/refresh.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock-open.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock-open.png index 10b348f46..f8e695ad7 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock-open.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock-open.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock.png index 7c535df52..4c7357639 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/lock.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/refresh.png b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/refresh.png index 3c10f0673..b69258358 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/refresh.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono-dark/images/refresh.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/arrow.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/arrow.png index d72b5f3b8..5da66a8e8 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/arrow.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/arrow.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/close.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/close.png index 6a04ab527..04f7a9d1d 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/close.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/close.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/close.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/close.png index e406c2c35..f9b27ba4f 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/close.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/close.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock-open.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock-open.png index edbd12f3b..33d6a5ec2 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock-open.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock-open.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock.png index 1b87bbb7a..8093cf153 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/lock.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/refresh.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/refresh.png index c6c2b86e6..09ca82290 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/refresh.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/hidpi/refresh.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock-open.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock-open.png index 04769877a..ef357471a 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock-open.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock-open.png differ diff --git a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock.png b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock.png index c5a14400d..a1955067d 100644 Binary files a/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock.png and b/common/js/plugins/ckeditor/ckeditor/skins/moono/images/lock.png differ diff --git a/common/js/plugins/jquery.fileupload/js/main.js b/common/js/plugins/jquery.fileupload/js/main.js index eddd0bfd7..afa7377ab 100644 --- a/common/js/plugins/jquery.fileupload/js/main.js +++ b/common/js/plugins/jquery.fileupload/js/main.js @@ -4,7 +4,7 @@ var default_settings = { autoUpload: true, dataType: 'json', - replaceFileInput: false, + sequentialUploads: true, dropZone: '.xefu-dropzone', fileList: '.xefu-list', @@ -48,6 +48,9 @@ editor_sequence: null, init : function() { }, + deactivate: function() { + console.log(this); + }, createInstance: function(containerEl, opt) { var self = this; var $container = this.$container = containerEl; @@ -152,9 +155,10 @@ }); $(document).bind('dragover', function (e) { - var timeout = window.dropZoneTimeout; + var timeout = window.dropZoneTimeout, + dropZone = self.settings.dropZone; if (!timeout) { - self.settings.dropZone.addClass('in'); + dropZone.addClass('in'); } else { clearTimeout(timeout); } @@ -168,13 +172,13 @@ node = node.parentNode; } while (node != null); if (found) { - self.settings.dropZone.addClass('hover'); + dropZone.addClass('hover'); } else { - self.settings.dropZone.removeClass('hover'); + dropZone.removeClass('hover'); } window.dropZoneTimeout = setTimeout(function () { window.dropZoneTimeout = null; - self.settings.dropZone.removeClass('in hover'); + dropZone.removeClass('in hover'); }, 100); }); }, @@ -247,8 +251,11 @@ loadFilelist: function() { var self = this; var data = this.$container.data(); + var obj = {}; + obj.mid = window.current_mid; + obj.editor_sequence = self.$container.data('editor-sequence'); - $.exec_json('file.getFileList', {'editor_sequence': self.$container.data('editor-sequence')}, function(res){ + $.exec_json('file.getFileList', obj, function(res){ data.uploadTargetSrl = res.upload_target_srl; editorRelKeys[self.$container.data('editor-sequence')].primary.value = res.upload_target_srl; data.uploadTargetSrl = res.uploadTargetSrl; @@ -312,6 +319,9 @@ return u; }; + + xe.unregisterApp(); + // Shortcut function in XE // xe.createXeUploader = function(browseButton, opts) { // var u = new XeUploader(browseButton, opts); diff --git a/common/js/plugins/jquery.fileupload/js/main.min.js b/common/js/plugins/jquery.fileupload/js/main.min.js index ebfbfbc7c..0465ce74d 100644 --- a/common/js/plugins/jquery.fileupload/js/main.min.js +++ b/common/js/plugins/jquery.fileupload/js/main.min.js @@ -1 +1 @@ -!function(a){"use strict";var b={autoUpload:!0,dataType:"json",replaceFileInput:!1,dropZone:".xefu-dropzone",fileList:".xefu-list",controll:".xefu-controll",filelist:".xefu-list-files ul",filelistImages:".xefu-list-images ul",progressbar:".xefu-progressbar",progressbarGraph:".xefu-progressbar div",progressStatus:".xefu-progress-status",progressPercent:".xefu-progress-percent",actSelectedInsertContent:".xefu-act-link-selected",actSelectedDeleteFile:".xefu-act-delete-selected",actDeleteFile:".xefu-act-delete",tmplXeUploaderFileitem:'
  • {{source_filename}}{{disp_file_size}} 선택
  • ',tmplXeUploaderFileitemImage:'
  • {{source_filename}}{{disp_file_size}}
  • '},c=["fileList","actSelectedInsertContent","actSelectedDeleteFile","actDeleteFile","controll","dropZone","filelist","filelistImages","progressbar","progressbarGraph","progressPercent","progressStatus"],d=xe.createApp("XeUploader",{files:{},selected_files:{},settings:{},last_selected_file:null,editor_sequence:null,init:function(){},createInstance:function(d,e){var f=this,g=this.$container=d,h=g.data();this.editor_sequence=h.editorSequence;var i={url:request_uri.setQuery("module","file").setQuery("act","procFileUpload"),formData:{editor_sequence:h.editorSequence,upload_target_srl:h.uploadTargetSrl,mid:window.current_mid},dropZone:g,add:function(b,c){var d=jQuery.Deferred();a.each(c.files,function(a,b){return f.settings.maxFileSize<=b.size?(d.reject(),alert(window.xe.msg_exceeds_limit_size),!1):void d.resolve()}),d.done(function(){c.submit()})},done:function(a,b){var c=b.response().result;c&&(jQuery.isPlainObject(c)||(c=jQuery.parseJSON(c)),c&&(0==c.error||alert(c.message)))},stop:function(){f.loadFilelist()},start:function(){f.settings.progressbarGraph.width(0),f.settings.progressStatus.show(),f.settings.progressbar.show()},progressall:function(a,b){var c=parseInt(b.loaded/b.total*100,10);f.settings.progressbarGraph.width(c+"%"),f.settings.progressPercent.text(c+"%"),c>=100&&(f.settings.progressbar.delay(3e3).slideUp(),f.settings.progressStatus.delay(3e3).slideUp())}};this.settings=a.extend({},b,i,e||{}),a.each(c,function(a,b){"string"==typeof f.settings[b]&&(f.settings[b]=g.find(f.settings[b]))});g.fileupload(this.settings).prop("disabled",!a.support.fileInput).parent().addClass(a.support.fileInput?void 0:"disabled");g.data("xefu-instance",this),this.loadFilelist(),this.settings.actSelectedInsertContent.on("click",function(){f.insertToContent()}),this.settings.actSelectedDeleteFile.on("click",function(){f.deleteFile()});var j=this.settings.fileList.finderSelect({children:"li"});this.settings.fileList.on("mousedown","img",function(a){a.preventDefault()}),j.finderSelect("addHook","highlight:after",function(a){a.find("input").prop("checked",!0);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.finderSelect("addHook","unHighlight:after",function(a){a.find("input").prop("checked",!1);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.on("click",":checkbox",function(a){a.preventDefault()}),a(document).bind("dragover",function(a){var b=window.dropZoneTimeout;b?clearTimeout(b):f.settings.dropZone.addClass("in");var c=!1,d=a.target;do{if(d===dropZone[0]){c=!0;break}d=d.parentNode}while(null!=d);c?f.settings.dropZone.addClass("hover"):f.settings.dropZone.removeClass("hover"),window.dropZoneTimeout=setTimeout(function(){window.dropZoneTimeout=null,f.settings.dropZone.removeClass("in hover")},100)})},done:function(){},selectAllFiles:function(){},selectImageFiles:function(){},selectNonImageFiles:function(){},unselectAllFiles:function(){},unselectImageFiles:function(){},unselectNonImageFiles:function(){},insertToContent:function(){var b=this,c="";a.each(this.selected_files,function(d,e){var f=a(e).data().fileSrl,g=b.files[f];g&&(/\.(jpe?g|png|gif)$/i.test(g.download_url)?(c+=''+g.source_filename+'',c+="\r\n


    \r\n"):c+=''+g.source_filename+"\n")}),_getCkeInstance(this.editor_sequence).insertHtml(c,"unfiltered_html")},deleteFile:function(b){var c=this,d=[];b?d.push(b):a.each(c.selected_files,function(b,c){if(c){var e=a(c).data().fileSrl;d.push(e)}}),d=d.join(","),exec_json("file.procFileDelete",{file_srls:d,editor_sequence:this.editor_sequence},function(){d=d.split(","),a.each(d,function(a,b){c.settings.fileList.find("ul").find("li[data-file-srl="+b+"]").remove()}),c.loadFilelist()})},loadFilelist:function(){var b=this,c=this.$container.data();a.exec_json("file.getFileList",{editor_sequence:b.$container.data("editor-sequence")},function(d){c.uploadTargetSrl=d.upload_target_srl,editorRelKeys[b.$container.data("editor-sequence")].primary.value=d.upload_target_srl,c.uploadTargetSrl=d.uploadTargetSrl,a(".allowed_filetypes").text(d.allowed_filetypes),a(".allowed_filesize").text(d.allowed_filesize),a(".allowed_attach_size").text(d.allowed_attach_size),a(".attached_size").text(d.attached_size),a(".file_count").text(d.files.length);var e=b.settings.tmplXeUploaderFileitem,f=b.settings.tmplXeUploaderFileitemImage,g=Handlebars.compile(e),h=Handlebars.compile(f),i=[],j=[];return d.files.length?(a.each(d.files,function(a,c){b.files[c.file_srl]||(b.files[c.file_srl]=c,/\.(jpe?g|png|gif)$/i.test(c.source_filename)?i.push(h(c)):j.push(g(c)))}),b.settings.filelistImages.append(i.join("")),b.settings.filelist.append(j.join("")),b.settings.controll.show(),void b.settings.fileList.show()):(b.settings.fileList.hide(),void b.settings.controll.hide())})}});a.fn.xeUploader=function(a){var b=new d;return b&&(xe.registerApp(b),b.createInstance(this.eq(0),a)),b}}(jQuery); \ No newline at end of file +!function(a){"use strict";var b={autoUpload:!0,dataType:"json",sequentialUploads:!0,dropZone:".xefu-dropzone",fileList:".xefu-list",controll:".xefu-controll",filelist:".xefu-list-files ul",filelistImages:".xefu-list-images ul",progressbar:".xefu-progressbar",progressbarGraph:".xefu-progressbar div",progressStatus:".xefu-progress-status",progressPercent:".xefu-progress-percent",actSelectedInsertContent:".xefu-act-link-selected",actSelectedDeleteFile:".xefu-act-delete-selected",actDeleteFile:".xefu-act-delete",tmplXeUploaderFileitem:'
  • {{source_filename}}{{disp_file_size}} 선택
  • ',tmplXeUploaderFileitemImage:'
  • {{source_filename}}{{disp_file_size}}
  • '},c=["fileList","actSelectedInsertContent","actSelectedDeleteFile","actDeleteFile","controll","dropZone","filelist","filelistImages","progressbar","progressbarGraph","progressPercent","progressStatus"],d=xe.createApp("XeUploader",{files:{},selected_files:{},settings:{},last_selected_file:null,editor_sequence:null,init:function(){},deactivate:function(){console.log(this)},createInstance:function(d,e){var f=this,g=this.$container=d,h=g.data();this.editor_sequence=h.editorSequence;var i={url:request_uri.setQuery("module","file").setQuery("act","procFileUpload"),formData:{editor_sequence:h.editorSequence,upload_target_srl:h.uploadTargetSrl,mid:window.current_mid},dropZone:g,add:function(b,c){var d=jQuery.Deferred();a.each(c.files,function(a,b){return f.settings.maxFileSize<=b.size?(d.reject(),alert(window.xe.msg_exceeds_limit_size),!1):void d.resolve()}),d.done(function(){c.submit()})},done:function(a,b){var c=b.response().result;c&&(jQuery.isPlainObject(c)||(c=jQuery.parseJSON(c)),c&&(0==c.error||alert(c.message)))},stop:function(){f.loadFilelist()},start:function(){f.settings.progressbarGraph.width(0),f.settings.progressStatus.show(),f.settings.progressbar.show()},progressall:function(a,b){var c=parseInt(b.loaded/b.total*100,10);f.settings.progressbarGraph.width(c+"%"),f.settings.progressPercent.text(c+"%"),c>=100&&(f.settings.progressbar.delay(3e3).slideUp(),f.settings.progressStatus.delay(3e3).slideUp())}};this.settings=a.extend({},b,i,e||{}),a.each(c,function(a,b){"string"==typeof f.settings[b]&&(f.settings[b]=g.find(f.settings[b]))});g.fileupload(this.settings).prop("disabled",!a.support.fileInput).parent().addClass(a.support.fileInput?void 0:"disabled");g.data("xefu-instance",this),this.loadFilelist(),this.settings.actSelectedInsertContent.on("click",function(){f.insertToContent()}),this.settings.actSelectedDeleteFile.on("click",function(){f.deleteFile()});var j=this.settings.fileList.finderSelect({children:"li"});this.settings.fileList.on("mousedown","img",function(a){a.preventDefault()}),j.finderSelect("addHook","highlight:after",function(a){a.find("input").prop("checked",!0);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.finderSelect("addHook","unHighlight:after",function(a){a.find("input").prop("checked",!1);var b=f.settings.fileList.find("input:checked");f.selected_files=b}),j.on("click",":checkbox",function(a){a.preventDefault()}),a(document).bind("dragover",function(a){var b=window.dropZoneTimeout,c=f.settings.dropZone;b?clearTimeout(b):c.addClass("in");var d=!1,e=a.target;do{if(e===c[0]){d=!0;break}e=e.parentNode}while(null!=e);d?c.addClass("hover"):c.removeClass("hover"),window.dropZoneTimeout=setTimeout(function(){window.dropZoneTimeout=null,c.removeClass("in hover")},100)})},done:function(){},selectAllFiles:function(){},selectImageFiles:function(){},selectNonImageFiles:function(){},unselectAllFiles:function(){},unselectImageFiles:function(){},unselectNonImageFiles:function(){},insertToContent:function(){var b=this,c="";a.each(this.selected_files,function(d,e){var f=a(e).data().fileSrl,g=b.files[f];g&&(/\.(jpe?g|png|gif)$/i.test(g.download_url)?(c+=''+g.source_filename+'',c+="\r\n


    \r\n"):c+=''+g.source_filename+"\n")}),_getCkeInstance(this.editor_sequence).insertHtml(c,"unfiltered_html")},deleteFile:function(b){var c=this,d=[];b?d.push(b):a.each(c.selected_files,function(b,c){if(c){var e=a(c).data().fileSrl;d.push(e)}}),d=d.join(","),exec_json("file.procFileDelete",{file_srls:d,editor_sequence:this.editor_sequence},function(){d=d.split(","),a.each(d,function(a,b){c.settings.fileList.find("ul").find("li[data-file-srl="+b+"]").remove()}),c.loadFilelist()})},loadFilelist:function(){var b=this,c=this.$container.data(),d={};d.mid=window.current_mid,d.editor_sequence=b.$container.data("editor-sequence"),a.exec_json("file.getFileList",d,function(d){c.uploadTargetSrl=d.upload_target_srl,editorRelKeys[b.$container.data("editor-sequence")].primary.value=d.upload_target_srl,c.uploadTargetSrl=d.uploadTargetSrl,a(".allowed_filetypes").text(d.allowed_filetypes),a(".allowed_filesize").text(d.allowed_filesize),a(".allowed_attach_size").text(d.allowed_attach_size),a(".attached_size").text(d.attached_size),a(".file_count").text(d.files.length);var e=b.settings.tmplXeUploaderFileitem,f=b.settings.tmplXeUploaderFileitemImage,g=Handlebars.compile(e),h=Handlebars.compile(f),i=[],j=[];return d.files.length?(a.each(d.files,function(a,c){b.files[c.file_srl]||(b.files[c.file_srl]=c,/\.(jpe?g|png|gif)$/i.test(c.source_filename)?i.push(h(c)):j.push(g(c)))}),b.settings.filelistImages.append(i.join("")),b.settings.filelist.append(j.join("")),b.settings.controll.show(),void b.settings.fileList.show()):(b.settings.fileList.hide(),void b.settings.controll.hide())})}});a.fn.xeUploader=function(a){var b=new d;return b&&(xe.registerApp(b),b.createInstance(this.eq(0),a)),b},xe.unregisterApp()}(jQuery); \ No newline at end of file diff --git a/common/js/plugins/ui.tree/images/arrow_refresh.png b/common/js/plugins/ui.tree/images/arrow_refresh.png index 0de26566d..c22ba5e9a 100644 Binary files a/common/js/plugins/ui.tree/images/arrow_refresh.png and b/common/js/plugins/ui.tree/images/arrow_refresh.png differ diff --git a/common/js/plugins/ui.tree/images/cross.png b/common/js/plugins/ui.tree/images/cross.png index 1514d51a3..cfec7b744 100644 Binary files a/common/js/plugins/ui.tree/images/cross.png and b/common/js/plugins/ui.tree/images/cross.png differ diff --git a/common/js/plugins/ui.tree/images/disk.png b/common/js/plugins/ui.tree/images/disk.png index 99d532e8b..a5c93449b 100644 Binary files a/common/js/plugins/ui.tree/images/disk.png and b/common/js/plugins/ui.tree/images/disk.png differ diff --git a/common/js/plugins/ui.tree/images/folder_add.png b/common/js/plugins/ui.tree/images/folder_add.png index 529fe8fe0..b328292d9 100644 Binary files a/common/js/plugins/ui.tree/images/folder_add.png and b/common/js/plugins/ui.tree/images/folder_add.png differ diff --git a/common/js/plugins/ui.tree/images/folder_delete.png b/common/js/plugins/ui.tree/images/folder_delete.png index 112b01638..bbe2d76d6 100644 Binary files a/common/js/plugins/ui.tree/images/folder_delete.png and b/common/js/plugins/ui.tree/images/folder_delete.png differ diff --git a/common/js/plugins/ui.tree/images/folder_edit.png b/common/js/plugins/ui.tree/images/folder_edit.png index ad669cc78..abbcccacb 100644 Binary files a/common/js/plugins/ui.tree/images/folder_edit.png and b/common/js/plugins/ui.tree/images/folder_edit.png differ diff --git a/common/js/plugins/ui.tree/images/page_add.png b/common/js/plugins/ui.tree/images/page_add.png index d5bfa0719..86eb4a467 100644 Binary files a/common/js/plugins/ui.tree/images/page_add.png and b/common/js/plugins/ui.tree/images/page_add.png differ diff --git a/common/js/plugins/ui.tree/images/page_delete.png b/common/js/plugins/ui.tree/images/page_delete.png index 3141467c6..96d4c5222 100644 Binary files a/common/js/plugins/ui.tree/images/page_delete.png and b/common/js/plugins/ui.tree/images/page_delete.png differ diff --git a/common/js/plugins/ui.tree/images/page_edit.png b/common/js/plugins/ui.tree/images/page_edit.png index 046811ed7..473662688 100644 Binary files a/common/js/plugins/ui.tree/images/page_edit.png and b/common/js/plugins/ui.tree/images/page_edit.png differ diff --git a/common/js/plugins/ui.tree/images/spinner.gif b/common/js/plugins/ui.tree/images/spinner.gif index 085ccaeca..dcce16151 100644 Binary files a/common/js/plugins/ui.tree/images/spinner.gif and b/common/js/plugins/ui.tree/images/spinner.gif differ diff --git a/common/tpl/common_layout.html b/common/tpl/common_layout.html index b9dcf596e..2536b14d3 100644 --- a/common/tpl/common_layout.html +++ b/common/tpl/common_layout.html @@ -19,15 +19,15 @@ {Context::getBrowserTitle()} - - + - + diff --git a/common/tpl/mobile_layout.html b/common/tpl/mobile_layout.html index 31e20eca5..d639ad9ec 100644 --- a/common/tpl/mobile_layout.html +++ b/common/tpl/mobile_layout.html @@ -13,15 +13,15 @@ {Context::getBrowserTitle()} - - + - + diff --git a/composer.json b/composer.json index db7528358..94cc491b3 100644 --- a/composer.json +++ b/composer.json @@ -8,6 +8,7 @@ } ], "require": { + "php": ">=5.4.0" }, "require-dev": { "codeception/codeception": "~2.0", diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 23c595a15..000000000 --- a/composer.lock +++ /dev/null @@ -1,1741 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "0b13ef2987c06113ab0a920cdb9e4e83", - "packages": [], - "packages-dev": [ - { - "name": "codeception/codeception", - "version": "2.0.12", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Codeception.git", - "reference": "6e29668921182d6b90cd021033002be85382c6f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/6e29668921182d6b90cd021033002be85382c6f9", - "reference": "6e29668921182d6b90cd021033002be85382c6f9", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "facebook/webdriver": "~0.4|~0.5", - "guzzlehttp/guzzle": "~4.0|~5.0", - "php": ">=5.4.0", - "phpunit/phpunit": "~4.5.0", - "symfony/browser-kit": "~2.4", - "symfony/console": "~2.4", - "symfony/css-selector": "~2.4", - "symfony/dom-crawler": "~2.4,!=2.4.5", - "symfony/event-dispatcher": "~2.4", - "symfony/finder": "~2.4", - "symfony/yaml": "~2.4" - }, - "require-dev": { - "codeception/specify": "~0.3", - "facebook/php-sdk": "~3.2", - "flow/jsonpath": "~0.2", - "monolog/monolog": "~1.8", - "pda/pheanstalk": "~2.0", - "videlalvaro/php-amqplib": "~2.4" - }, - "suggest": { - "codeception/phpbuiltinserver": "Extension to start and stop PHP built-in web server for your tests", - "codeception/specify": "BDD-style code blocks", - "codeception/verify": "BDD-style assertions", - "monolog/monolog": "Log test steps", - "phpseclib/phpseclib": "Extension required to use the SFTP option in the FTP Module." - }, - "bin": [ - "codecept" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-0": { - "Codeception": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert@mail.ua", - "homepage": "http://codegyre.com" - } - ], - "description": "BDD-style testing framework", - "homepage": "http://codeception.com/", - "keywords": [ - "BDD", - "TDD", - "acceptance testing", - "functional testing", - "unit testing" - ], - "time": "2015-04-02 23:50:20" - }, - { - "name": "codeception/specify", - "version": "0.4.1", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Specify.git", - "reference": "0c0ae07adfc231115b3b72ade22f44c23c199ded" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Specify/zipball/0c0ae07adfc231115b3b72ade22f44c23c199ded", - "reference": "0c0ae07adfc231115b3b72ade22f44c23c199ded", - "shasum": "" - }, - "require": { - "myclabs/deep-copy": "~1.1", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Codeception\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert.php@mailican.com" - } - ], - "description": "BDD code blocks for PHPUnit and Codeception", - "time": "2014-10-17 00:06:51" - }, - { - "name": "codeception/verify", - "version": "0.2.7", - "source": { - "type": "git", - "url": "https://github.com/Codeception/Verify.git", - "reference": "66e5074905f4d9590ddb805d123fe632f4baa488" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Codeception/Verify/zipball/66e5074905f4d9590ddb805d123fe632f4baa488", - "reference": "66e5074905f4d9590ddb805d123fe632f4baa488", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "files": [ - "src/Codeception/function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "authors": [ - { - "name": "Michael Bodnarchuk", - "email": "davert.php@mailican.com", - "homepage": "http://codeception.com" - } - ], - "description": "BDD assertion library for PHPUnit", - "time": "2014-01-22 14:40:33" - }, - { - "name": "doctrine/instantiator", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/f976e5de371104877ebc89bd8fecb0019ed9c119", - "reference": "f976e5de371104877ebc89bd8fecb0019ed9c119", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "2.0.*@ALPHA" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Doctrine\\Instantiator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2014-10-13 12:58:55" - }, - { - "name": "facebook/webdriver", - "version": "v0.5.1", - "source": { - "type": "git", - "url": "https://github.com/facebook/php-webdriver.git", - "reference": "bbcb697efb394d17bd9ec3d467e7da847cde4509" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facebook/php-webdriver/zipball/bbcb697efb394d17bd9ec3d467e7da847cde4509", - "reference": "bbcb697efb394d17bd9ec3d467e7da847cde4509", - "shasum": "" - }, - "require": { - "php": ">=5.3.19" - }, - "require-dev": { - "phpdocumentor/phpdocumentor": "2.*", - "phpunit/phpunit": "3.7.*" - }, - "type": "library", - "autoload": { - "classmap": [ - "lib/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "A php client for WebDriver", - "homepage": "https://github.com/facebook/php-webdriver", - "keywords": [ - "facebook", - "php", - "selenium", - "webdriver" - ], - "time": "2014-11-05 20:53:09" - }, - { - "name": "guzzlehttp/guzzle", - "version": "5.2.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "475b29ccd411f2fa8a408e64576418728c032cfa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/475b29ccd411f2fa8a408e64576418728c032cfa", - "reference": "475b29ccd411f2fa8a408e64576418728c032cfa", - "shasum": "" - }, - "require": { - "guzzlehttp/ringphp": "~1.0", - "php": ">=5.4.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0", - "psr/log": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Guzzle is a PHP HTTP client library and framework for building RESTful web service clients", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2015-01-28 01:03:29" - }, - { - "name": "guzzlehttp/ringphp", - "version": "1.0.7", - "source": { - "type": "git", - "url": "https://github.com/guzzle/RingPHP.git", - "reference": "52d868f13570a9a56e5fce6614e0ec75d0f13ac2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/RingPHP/zipball/52d868f13570a9a56e5fce6614e0ec75d0f13ac2", - "reference": "52d868f13570a9a56e5fce6614e0ec75d0f13ac2", - "shasum": "" - }, - "require": { - "guzzlehttp/streams": "~3.0", - "php": ">=5.4.0", - "react/promise": "~2.0" - }, - "require-dev": { - "ext-curl": "*", - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "ext-curl": "Guzzle will use specific adapters if cURL is present" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Ring\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.", - "time": "2015-03-30 01:43:20" - }, - { - "name": "guzzlehttp/streams", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/streams.git", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/streams/zipball/47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", - "reference": "47aaa48e27dae43d39fc1cea0ccf0d84ac1a2ba5", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Stream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "Provides a simple abstraction over streams of data", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "Guzzle", - "stream" - ], - "time": "2014-10-12 19:18:40" - }, - { - "name": "myclabs/deep-copy", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "96fbdc07635989c35c5a1912379f4c4b2ab15fd5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/96fbdc07635989c35c5a1912379f4c4b2ab15fd5", - "reference": "96fbdc07635989c35c5a1912379f4c4b2ab15fd5", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "doctrine/collections": "1.*", - "phpunit/phpunit": "~4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "homepage": "https://github.com/myclabs/DeepCopy", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "time": "2015-03-21 22:40:23" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2015-02-03 12:10:50" - }, - { - "name": "phpspec/prophecy", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1" - }, - "require-dev": { - "phpspec/phpspec": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2015-03-27 19:31:25" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.0.15", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "34cc484af1ca149188d0d9e91412191e398e0b67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/34cc484af1ca149188d0d9e91412191e398e0b67", - "reference": "34cc484af1ca149188d0d9e91412191e398e0b67", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-01-24 10:06:35" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.3.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/acd690379117b042d1c8af1fafd61bde001bf6bb", - "reference": "acd690379117b042d1c8af1fafd61bde001bf6bb", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "File/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2013-10-10 15:34:57" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "reference": "206dfefc0ffe9cebf65c413e3d0e809c82fbf00a", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "Text/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2014-01-30 17:20:04" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "reference": "19689d4354b295ee3d8c54b4f42c3efb69cbc17c", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "PHP/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "include-path": [ - "" - ], - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2013-08-02 07:42:54" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/db32c18eba00b121c145575fcbcd4d4d24e6db74", - "reference": "db32c18eba00b121c145575fcbcd4d4d24e6db74", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-01-17 09:51:32" - }, - { - "name": "phpunit/phpunit", - "version": "4.5.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d6429b0995b24a2d9dfe5587ee3a7071c1161af4", - "reference": "d6429b0995b24a2d9dfe5587ee3a7071c1161af4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "~1.3,>=1.3.1", - "phpunit/php-code-coverage": "~2.0,>=2.0.11", - "phpunit/php-file-iterator": "~1.3.2", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0.2", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.1", - "sebastian/environment": "~1.2", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.5.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2015-03-29 09:24:05" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-04-02 05:36:41" - }, - { - "name": "react/promise", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "365fcee430dfa4ace1fbc75737ca60ceea7eeeef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/365fcee430dfa4ace1fbc75737ca60ceea7eeeef", - "reference": "365fcee430dfa4ace1fbc75737ca60ceea7eeeef", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "React\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@googlemail.com" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "time": "2014-12-30 13:32:42" - }, - { - "name": "sebastian/comparator", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-01-29 16:28:08" - }, - { - "name": "sebastian/diff", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-02-22 15:13:53" - }, - { - "name": "sebastian/environment", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2015-01-01 10:01:08" - }, - { - "name": "sebastian/exporter", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2015-01-27 07:23:06" - }, - { - "name": "sebastian/global-state", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2014-10-06 09:23:50" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-01-24 09:48:32" - }, - { - "name": "sebastian/version", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-02-24 06:35:25" - }, - { - "name": "symfony/browser-kit", - "version": "v2.6.6", - "target-dir": "Symfony/Component/BrowserKit", - "source": { - "type": "git", - "url": "https://github.com/symfony/BrowserKit.git", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/f21189b0eccbe56528515858ca1d5089a741692f", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "symfony/dom-crawler": "~2.0,>=2.0.5" - }, - "require-dev": { - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.0,>=2.0.5" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\BrowserKit\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony BrowserKit Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/console", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Console", - "source": { - "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/5b91dc4ed5eb08553f57f6df04c4730a73992667", - "reference": "5b91dc4ed5eb08553f57f6df04c4730a73992667", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Console\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Console Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/css-selector", - "version": "v2.6.6", - "target-dir": "Symfony/Component/CssSelector", - "source": { - "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/db2c48df9658423a8c168d89f7b971b73d3d74a4", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\CssSelector\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com", - "time": "2015-03-22 16:55:57" - }, - { - "name": "symfony/dom-crawler", - "version": "v2.6.6", - "target-dir": "Symfony/Component/DomCrawler", - "source": { - "type": "git", - "url": "https://github.com/symfony/DomCrawler.git", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/8897ebf39c7dfb752a5494fa301845a3fbb9e53d", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/css-selector": "~2.3", - "symfony/phpunit-bridge": "~2.7" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\DomCrawler\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony DomCrawler Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.6.6", - "target-dir": "Symfony/Component/EventDispatcher", - "source": { - "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/stopwatch": "~2.3" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com", - "time": "2015-03-13 17:37:22" - }, - { - "name": "symfony/finder", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Finder", - "source": { - "type": "git", - "url": "https://github.com/symfony/Finder.git", - "reference": "5dbe2e73a580618f5b4880fda93406eed25de251" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Finder/zipball/5dbe2e73a580618f5b4880fda93406eed25de251", - "reference": "5dbe2e73a580618f5b4880fda93406eed25de251", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Finder\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Finder Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - }, - { - "name": "symfony/yaml", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Yaml", - "source": { - "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, - "autoload": { - "psr-0": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Symfony Yaml Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/config/config.inc.php b/config/config.inc.php index 8fd8a1eff..155b9f2b2 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -29,7 +29,7 @@ define('__ZBXE__', __XE__); /** * Display XE's full version. */ -define('__XE_VERSION__', '1.8.1'); +define('__XE_VERSION__', '1.8.3'); define('__XE_VERSION_ALPHA__', (stripos(__XE_VERSION__, 'alpha') !== false)); define('__XE_VERSION_BETA__', (stripos(__XE_VERSION__, 'beta') !== false)); define('__XE_VERSION_RC__', (stripos(__XE_VERSION__, 'rc') !== false)); @@ -287,40 +287,146 @@ if(!defined('__XE_LOADED_CLASS__')) // Require a function-defined-file for simple use require(_XE_PATH_ . 'config/func.inc.php'); - if(__DEBUG__) + if(__DEBUG__) { define('__StartTime__', getMicroTime()); + } - // include the class files - //TODO When _autoload() can be used for PHP5 based applications, it will be removed. - if(__DEBUG__) - define('__ClassLoadStartTime__', getMicroTime()); - require(_XE_PATH_ . 'classes/object/Object.class.php'); - require(_XE_PATH_ . 'classes/extravar/Extravar.class.php'); - require(_XE_PATH_ . 'classes/handler/Handler.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlParser.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlGenerator.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlJsFilter.class.php'); - require(_XE_PATH_ . 'classes/xml/XmlLangParser.class.php'); - require(_XE_PATH_ . 'classes/cache/CacheHandler.class.php'); - require(_XE_PATH_ . 'classes/context/Context.class.php'); - require(_XE_PATH_ . 'classes/db/DB.class.php'); - require(_XE_PATH_ . 'classes/file/FileHandler.class.php'); - require(_XE_PATH_ . 'classes/widget/WidgetHandler.class.php'); - require(_XE_PATH_ . 'classes/editor/EditorHandler.class.php'); - require(_XE_PATH_ . 'classes/module/ModuleObject.class.php'); - require(_XE_PATH_ . 'classes/module/ModuleHandler.class.php'); - require(_XE_PATH_ . 'classes/display/DisplayHandler.class.php'); - require(_XE_PATH_ . 'classes/template/TemplateHandler.class.php'); - require(_XE_PATH_ . 'classes/mail/Mail.class.php'); - require(_XE_PATH_ . 'classes/page/PageHandler.class.php'); - require(_XE_PATH_ . 'classes/mobile/Mobile.class.php'); - require(_XE_PATH_ . 'classes/validator/Validator.class.php'); - require(_XE_PATH_ . 'classes/frontendfile/FrontEndFileHandler.class.php'); - require(_XE_PATH_ . 'classes/security/Password.class.php'); - require(_XE_PATH_ . 'classes/security/Security.class.php'); - require(_XE_PATH_ . 'classes/security/IpFilter.class.php'); - if(__DEBUG__) - $GLOBALS['__elapsed_class_load__'] = getMicroTime() - __ClassLoadStartTime__; + if(__DEBUG__) { + $GLOBALS['__elapsed_class_load__'] = 0; + } + + $GLOBALS['__xe_autoload_file_map'] = array_change_key_case(array( + 'CacheBase' => 'classes/cache/CacheHandler.class.php', + 'CacheHandler' => 'classes/cache/CacheHandler.class.php', + 'Context' => 'classes/context/Context.class.php', + 'DB' => 'classes/db/DB.class.php', + 'Query' => 'classes/db/queryparts/Query.class.php', + 'Subquery' => 'classes/db/queryparts/Subquery.class.php', + 'Condition' => 'classes/db/queryparts/condition/Condition.class.php', + 'ConditionGroup' => 'classes/db/queryparts/condition/ConditionGroup.class.php', + 'ConditionSubquery' => 'classes/db/queryparts/condition/ConditionSubquery.class.php', + 'ConditionWithArgument' => 'classes/db/queryparts/condition/ConditionWithArgument.class.php', + 'ConditionWithoutArgument' => 'classes/db/queryparts/condition/ConditionWithoutArgument.class.php', + 'ClickCountExpression' => 'classes/db/queryparts/expression/ClickCountExpression.class.php', + 'DeleteExpression' => 'classes/db/queryparts/expression/DeleteExpression.class.php', + 'Expression' => 'classes/db/queryparts/expression/Expression.class.php', + 'InsertExpression' => 'classes/db/queryparts/expression/InsertExpression.class.php', + 'SelectExpression' => 'classes/db/queryparts/expression/SelectExpression.class.php', + 'StarExpression' => 'classes/db/queryparts/expression/StarExpression.class.php', + 'UpdateExpression' => 'classes/db/queryparts/expression/UpdateExpression.class.php', + 'UpdateExpressionWithoutArgument' => 'classes/db/queryparts/expression/UpdateExpressionWithoutArgument.class.php', + 'Limit' => 'classes/db/queryparts/limit/Limit.class.php', + 'OrderByColumn' => 'classes/db/queryparts/order/OrderByColumn.class.php', + 'CubridTableWithHint' => 'classes/db/queryparts/table/CubridTableWithHint.class.php', + 'IndexHint' => 'classes/db/queryparts/table/IndexHint.class.php', + 'JoinTable' => 'classes/db/queryparts/table/JoinTable.class.php', + 'MssqlTableWithHint' => 'classes/db/queryparts/table/MssqlTableWithHint.class.php', + 'MysqlTableWithHint' => 'classes/db/queryparts/table/MysqlTableWithHint.class.php', + 'Table' => 'classes/db/queryparts/table/Table.class.php', + 'DisplayHandler' => 'classes/display/DisplayHandler.class.php', + 'HTMLDisplayHandler' => 'classes/display/HTMLDisplayHandler.php', + 'JSCallbackDisplayHandler' => 'classes/display/JSCallbackDisplayHandler.php', + 'JSONDisplayHandler' => 'classes/display/JSONDisplayHandler.php', + 'VirtualXMLDisplayHandler' => 'classes/display/VirtualXMLDisplayHandler.php', + 'XMLDisplayHandler' => 'classes/display/XMLDisplayHandler.php', + 'EditorHandler' => 'classes/editor/EditorHandler.class.php', + 'ExtraVar' => 'classes/extravar/Extravar.class.php', + 'ExtraItem' => 'classes/extravar/Extravar.class.php', + 'FileHandler' => 'classes/file/FileHandler.class.php', + 'FileObject' => 'classes/file/FileObject.class.php', + 'FrontEndFileHandler' => 'classes/frontendfile/FrontEndFileHandler.class.php', + 'Handler' => 'classes/handler/Handler.class.php', + 'XEHttpRequest' => 'classes/httprequest/XEHttpRequest.class.php', + 'Mail' => 'classes/mail/Mail.class.php', + 'Mobile' => 'classes/mobile/Mobile.class.php', + 'ModuleHandler' => 'classes/module/ModuleHandler.class.php', + 'ModuleObject' => 'classes/module/ModuleObject.class.php', + 'Object' => 'classes/object/Object.class.php', + 'PageHandler' => 'classes/page/PageHandler.class.php', + 'EmbedFilter' => 'classes/security/EmbedFilter.class.php', + 'IpFilter' => 'classes/security/IpFilter.class.php', + 'Password' => 'classes/security/Password.class.php', + 'Purifier' => 'classes/security/Purifier.class.php', + 'Security' => 'classes/security/Security.class.php', + 'UploadFileFilter' => 'classes/security/UploadFileFilter.class.php', + 'TemplateHandler' => 'classes/template/TemplateHandler.class.php', + 'Validator' => 'classes/validator/Validator.class.php', + 'WidgetHandler' => 'classes/widget/WidgetHandler.class.php', + 'GeneralXmlParser' => 'classes/widget/GeneralXmlParser.class.php', + 'Xml_Node_' => 'classes/xml/XmlParser.class.php', + 'XmlGenerator' => 'classes/xml/XmlGenerator.class.php', + 'XmlJsFilter' => 'classes/xml/XmlJsFilter.class.php', + 'XmlLangParser' => 'classes/xml/XmlLangParser.class.php', + 'XmlParser' => 'classes/xml/XmlParser.class.php', + 'XmlQueryParser' => 'classes/xml/XmlQueryParser.class.php', + 'DBParser' => 'classes/xml/xmlquery/DBParser.class.php', + 'QueryParser' => 'classes/xml/xmlquery/QueryParser.class.php', + 'Argument' => 'classes/xml/xmlquery/argument/Argument.class.php', + 'ConditionArgument' => 'classes/xml/xmlquery/argument/ConditionArgument.class.php', + 'SortArgument' => 'classes/xml/xmlquery/argument/SortArgument.class.php', + 'DefaultValue' => 'classes/xml/xmlquery/queryargument/DefaultValue.class.php', + 'QueryArgument' => 'classes/xml/xmlquery/queryargument/QueryArgument.class.php', + 'SortQueryArgument' => 'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php', + 'QueryArgumentValidator' => 'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php', + 'ColumnTag' => 'classes/xml/xmlquery/tags/column/ColumnTag.class.php', + 'InsertColumnTag' => 'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php', + 'InsertColumnTagWithoutArgument' => 'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php', + 'InsertColumnsTag' => 'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php', + 'SelectColumnTag' => 'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php', + 'SelectColumnsTag' => 'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php', + 'UpdateColumnTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php', + 'UpdateColumnsTag' => 'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php', + 'ConditionGroupTag' => 'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php', + 'ConditionTag' => 'classes/xml/xmlquery/tags/condition/ConditionTag.class.php', + 'ConditionsTag' => 'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php', + 'JoinConditionsTag' => 'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php', + 'GroupsTag' => 'classes/xml/xmlquery/tags/group/GroupsTag.class.php', + 'IndexTag' => 'classes/xml/xmlquery/tags/navigation/IndexTag.class.php', + 'LimitTag' => 'classes/xml/xmlquery/tags/navigation/LimitTag.class.php', + 'NavigationTag' => 'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php', + 'QueryTag' => 'classes/xml/xmlquery/tags/query/QueryTag.class.php', + 'HintTableTag' => 'classes/xml/xmlquery/tags/table/HintTableTag.class.php', + 'TableTag' => 'classes/xml/xmlquery/tags/table/TableTag.class.php', + 'TablesTag' => 'classes/xml/xmlquery/tags/table/TablesTag.class.php', + ), CASE_LOWER); + + function __xe_autoload($class_name) + { + if(__DEBUG__) { + $time_at = getMicroTime(); + } + + if(isset($GLOBALS['__xe_autoload_file_map'][strtolower($class_name)])) + { + require _XE_PATH_ . $GLOBALS['__xe_autoload_file_map'][strtolower($class_name)]; + } + elseif(preg_match('/^([a-zA-Z0-9_]+?)(Admin)?(View|Controller|Model|Api|Wap|Mobile)?$/', $class_name, $matches)) + { + $candidate_filename = array(); + $candidate_filename[] = 'modules/' . $matches[1] . '/' . $matches[1]; + if(isset($matches[2]) && $matches[2]) $candidate_filename[] = 'admin'; + $candidate_filename[] = (isset($matches[3]) && $matches[3]) ? strtolower($matches[3]) : 'class'; + $candidate_filename[] = 'php'; + + $candidate_filename = implode('.', $candidate_filename); + + if(file_exists(_XE_PATH_ . $candidate_filename)) + { + require _XE_PATH_ . $candidate_filename; + } + } + + if(__DEBUG__) { + $GLOBALS['__elapsed_class_load__'] += getMicroTime() - $time_at; + } + } + spl_autoload_register('__xe_autoload'); + + if(file_exists(_XE_PATH_ . '/vendor/autoload.php')) { + require _XE_PATH_ . '/vendor/autoload.php'; + } + + } /* End of file config.inc.php */ /* Location: ./config/config.inc.php */ diff --git a/layouts/default/siteTitle.png b/layouts/default/siteTitle.png index 95cd5a972..6c8423599 100644 Binary files a/layouts/default/siteTitle.png and b/layouts/default/siteTitle.png differ diff --git a/layouts/default/slideNav.png b/layouts/default/slideNav.png index 8f6b5b80d..66f38830d 100644 Binary files a/layouts/default/slideNav.png and b/layouts/default/slideNav.png differ diff --git a/layouts/default/thumbnail.png b/layouts/default/thumbnail.png index 2014300f9..3299a610b 100644 Binary files a/layouts/default/thumbnail.png and b/layouts/default/thumbnail.png differ diff --git a/layouts/default/visual.main.1.jpg b/layouts/default/visual.main.1.jpg index 848c10454..9d320546d 100644 Binary files a/layouts/default/visual.main.1.jpg and b/layouts/default/visual.main.1.jpg differ diff --git a/layouts/default/visual.main.2.jpg b/layouts/default/visual.main.2.jpg index e80ecaf63..bf624be33 100644 Binary files a/layouts/default/visual.main.2.jpg and b/layouts/default/visual.main.2.jpg differ diff --git a/layouts/default/visual.main.3.jpg b/layouts/default/visual.main.3.jpg index a3fcc8281..f943c3afd 100644 Binary files a/layouts/default/visual.main.3.jpg and b/layouts/default/visual.main.3.jpg differ diff --git a/layouts/default/visual.sub.jpg b/layouts/default/visual.sub.jpg index 7ca1cc7f9..561c52d8b 100644 Binary files a/layouts/default/visual.sub.jpg and b/layouts/default/visual.sub.jpg differ diff --git a/layouts/xe_official/images/black/bgBody.gif b/layouts/xe_official/images/black/bgBody.gif index caedbbf85..796a39be0 100644 Binary files a/layouts/xe_official/images/black/bgBody.gif and b/layouts/xe_official/images/black/bgBody.gif differ diff --git a/layouts/xe_official/images/black/bgContentBody.gif b/layouts/xe_official/images/black/bgContentBody.gif index d60d2593d..a14fd4bd2 100644 Binary files a/layouts/xe_official/images/black/bgContentBody.gif and b/layouts/xe_official/images/black/bgContentBody.gif differ diff --git a/layouts/xe_official/images/black/bgGnbOn.gif b/layouts/xe_official/images/black/bgGnbOn.gif index 265b43dd7..0feb5cc7b 100644 Binary files a/layouts/xe_official/images/black/bgGnbOn.gif and b/layouts/xe_official/images/black/bgGnbOn.gif differ diff --git a/layouts/xe_official/images/black/bgGnbVr.gif b/layouts/xe_official/images/black/bgGnbVr.gif index a4225744b..e0a487a92 100644 Binary files a/layouts/xe_official/images/black/bgGnbVr.gif and b/layouts/xe_official/images/black/bgGnbVr.gif differ diff --git a/layouts/xe_official/images/black/bgHeader.jpg b/layouts/xe_official/images/black/bgHeader.jpg index 911fb24ba..a796c9272 100644 Binary files a/layouts/xe_official/images/black/bgHeader.jpg and b/layouts/xe_official/images/black/bgHeader.jpg differ diff --git a/layouts/xe_official/images/black/bgLnbOff.gif b/layouts/xe_official/images/black/bgLnbOff.gif index 46414ff68..5ee29010b 100644 Binary files a/layouts/xe_official/images/black/bgLnbOff.gif and b/layouts/xe_official/images/black/bgLnbOff.gif differ diff --git a/layouts/xe_official/images/black/bgSearch.gif b/layouts/xe_official/images/black/bgSearch.gif index 693382a03..3685bc1d8 100644 Binary files a/layouts/xe_official/images/black/bgSearch.gif and b/layouts/xe_official/images/black/bgSearch.gif differ diff --git a/layouts/xe_official/images/black/bgSearchOn.gif b/layouts/xe_official/images/black/bgSearchOn.gif index 67dce8d9a..e1c9c51ac 100644 Binary files a/layouts/xe_official/images/black/bgSearchOn.gif and b/layouts/xe_official/images/black/bgSearchOn.gif differ diff --git a/layouts/xe_official/images/black/buttonSearch.gif b/layouts/xe_official/images/black/buttonSearch.gif index 38abbd359..86d3bf429 100644 Binary files a/layouts/xe_official/images/black/buttonSearch.gif and b/layouts/xe_official/images/black/buttonSearch.gif differ diff --git a/layouts/xe_official/images/default/bgBody.gif b/layouts/xe_official/images/default/bgBody.gif index bb0aacf94..2822caee5 100644 Binary files a/layouts/xe_official/images/default/bgBody.gif and b/layouts/xe_official/images/default/bgBody.gif differ diff --git a/layouts/xe_official/images/default/bgContentBody.gif b/layouts/xe_official/images/default/bgContentBody.gif index b2cc35fc0..4f2749ad1 100644 Binary files a/layouts/xe_official/images/default/bgContentBody.gif and b/layouts/xe_official/images/default/bgContentBody.gif differ diff --git a/layouts/xe_official/images/default/bgGnbOn.gif b/layouts/xe_official/images/default/bgGnbOn.gif index 265b43dd7..0feb5cc7b 100644 Binary files a/layouts/xe_official/images/default/bgGnbOn.gif and b/layouts/xe_official/images/default/bgGnbOn.gif differ diff --git a/layouts/xe_official/images/default/bgGnbVr.gif b/layouts/xe_official/images/default/bgGnbVr.gif index a4225744b..e0a487a92 100644 Binary files a/layouts/xe_official/images/default/bgGnbVr.gif and b/layouts/xe_official/images/default/bgGnbVr.gif differ diff --git a/layouts/xe_official/images/default/bgHeader.jpg b/layouts/xe_official/images/default/bgHeader.jpg index 83396cd7e..393d41f69 100644 Binary files a/layouts/xe_official/images/default/bgHeader.jpg and b/layouts/xe_official/images/default/bgHeader.jpg differ diff --git a/layouts/xe_official/images/default/bgLnbOff.gif b/layouts/xe_official/images/default/bgLnbOff.gif index 64e2f9f57..d79bfcda7 100644 Binary files a/layouts/xe_official/images/default/bgLnbOff.gif and b/layouts/xe_official/images/default/bgLnbOff.gif differ diff --git a/layouts/xe_official/images/default/bgSearch.gif b/layouts/xe_official/images/default/bgSearch.gif index 09953f995..1eb0b4cac 100644 Binary files a/layouts/xe_official/images/default/bgSearch.gif and b/layouts/xe_official/images/default/bgSearch.gif differ diff --git a/layouts/xe_official/images/default/bgSearchOn.gif b/layouts/xe_official/images/default/bgSearchOn.gif index 0b9f92295..25544b7ae 100644 Binary files a/layouts/xe_official/images/default/bgSearchOn.gif and b/layouts/xe_official/images/default/bgSearchOn.gif differ diff --git a/layouts/xe_official/images/default/buttonSearch.gif b/layouts/xe_official/images/default/buttonSearch.gif index 9001f7884..3416ece57 100644 Binary files a/layouts/xe_official/images/default/buttonSearch.gif and b/layouts/xe_official/images/default/buttonSearch.gif differ diff --git a/layouts/xe_official/images/white/bgContentBody.gif b/layouts/xe_official/images/white/bgContentBody.gif index b2cc35fc0..4f2749ad1 100644 Binary files a/layouts/xe_official/images/white/bgContentBody.gif and b/layouts/xe_official/images/white/bgContentBody.gif differ diff --git a/layouts/xe_official/images/white/bgGnbOn.gif b/layouts/xe_official/images/white/bgGnbOn.gif index 265b43dd7..0feb5cc7b 100644 Binary files a/layouts/xe_official/images/white/bgGnbOn.gif and b/layouts/xe_official/images/white/bgGnbOn.gif differ diff --git a/layouts/xe_official/images/white/bgGnbVr.gif b/layouts/xe_official/images/white/bgGnbVr.gif index c7408fd43..a9e88b367 100644 Binary files a/layouts/xe_official/images/white/bgGnbVr.gif and b/layouts/xe_official/images/white/bgGnbVr.gif differ diff --git a/layouts/xe_official/images/white/bgHeader.png b/layouts/xe_official/images/white/bgHeader.png index 54c6e49fc..4951638e6 100644 Binary files a/layouts/xe_official/images/white/bgHeader.png and b/layouts/xe_official/images/white/bgHeader.png differ diff --git a/layouts/xe_official/images/white/bgLnbOff.gif b/layouts/xe_official/images/white/bgLnbOff.gif index 64e2f9f57..d79bfcda7 100644 Binary files a/layouts/xe_official/images/white/bgLnbOff.gif and b/layouts/xe_official/images/white/bgLnbOff.gif differ diff --git a/layouts/xe_official/images/white/bgSearch.gif b/layouts/xe_official/images/white/bgSearch.gif index 865872df3..bb140a7d7 100644 Binary files a/layouts/xe_official/images/white/bgSearch.gif and b/layouts/xe_official/images/white/bgSearch.gif differ diff --git a/layouts/xe_official/images/white/bgSearchOn.gif b/layouts/xe_official/images/white/bgSearchOn.gif index 612f9613e..a863a1dde 100644 Binary files a/layouts/xe_official/images/white/bgSearchOn.gif and b/layouts/xe_official/images/white/bgSearchOn.gif differ diff --git a/layouts/xe_official/images/white/buttonSearch.gif b/layouts/xe_official/images/white/buttonSearch.gif index 095b983e4..fe0979687 100644 Binary files a/layouts/xe_official/images/white/buttonSearch.gif and b/layouts/xe_official/images/white/buttonSearch.gif differ diff --git a/layouts/xe_official/thumbnail.png b/layouts/xe_official/thumbnail.png index c2fbad20b..a6a0985aa 100644 Binary files a/layouts/xe_official/thumbnail.png and b/layouts/xe_official/thumbnail.png differ diff --git a/layouts/xedition/img/bg_sitemap.png b/layouts/xedition/img/bg_sitemap.png index f20d55937..c37d3209e 100644 Binary files a/layouts/xedition/img/bg_sitemap.png and b/layouts/xedition/img/bg_sitemap.png differ diff --git a/layouts/xedition/img/bg_stat.jpg b/layouts/xedition/img/bg_stat.jpg index cd7d68de0..f42f031fe 100644 Binary files a/layouts/xedition/img/bg_stat.jpg and b/layouts/xedition/img/bg_stat.jpg differ diff --git a/layouts/xedition/img/btn_close.png b/layouts/xedition/img/btn_close.png index f05088ca4..6ca23186d 100644 Binary files a/layouts/xedition/img/btn_close.png and b/layouts/xedition/img/btn_close.png differ diff --git a/layouts/xedition/img/camera-loader.gif b/layouts/xedition/img/camera-loader.gif index 8eeb70b7b..1626aa191 100644 Binary files a/layouts/xedition/img/camera-loader.gif and b/layouts/xedition/img/camera-loader.gif differ diff --git a/layouts/xedition/img/camera_skins.png b/layouts/xedition/img/camera_skins.png index 342145404..e8e3bbdfd 100644 Binary files a/layouts/xedition/img/camera_skins.png and b/layouts/xedition/img/camera_skins.png differ diff --git a/layouts/xedition/img/f_logo.png b/layouts/xedition/img/f_logo.png index 05423c756..e9d88fd9e 100644 Binary files a/layouts/xedition/img/f_logo.png and b/layouts/xedition/img/f_logo.png differ diff --git a/layouts/xedition/img/intro.png b/layouts/xedition/img/intro.png index 45481dd9a..84fac0f01 100644 Binary files a/layouts/xedition/img/intro.png and b/layouts/xedition/img/intro.png differ diff --git a/layouts/xedition/img/logo.png b/layouts/xedition/img/logo.png index e2f6bafd4..c20713fd5 100644 Binary files a/layouts/xedition/img/logo.png and b/layouts/xedition/img/logo.png differ diff --git a/layouts/xedition/img/m_logo.png b/layouts/xedition/img/m_logo.png index 3735c6a80..00e4f8869 100644 Binary files a/layouts/xedition/img/m_logo.png and b/layouts/xedition/img/m_logo.png differ diff --git a/layouts/xedition/img/s_logo.png b/layouts/xedition/img/s_logo.png index 3c7ec0b66..a4edff056 100644 Binary files a/layouts/xedition/img/s_logo.png and b/layouts/xedition/img/s_logo.png differ diff --git a/layouts/xedition/img/slider_img.jpg b/layouts/xedition/img/slider_img.jpg index f1db06cec..8f6206a35 100644 Binary files a/layouts/xedition/img/slider_img.jpg and b/layouts/xedition/img/slider_img.jpg differ diff --git a/layouts/xedition/img/slider_img2.jpg b/layouts/xedition/img/slider_img2.jpg index 5501498a7..2d9680c8c 100644 Binary files a/layouts/xedition/img/slider_img2.jpg and b/layouts/xedition/img/slider_img2.jpg differ diff --git a/layouts/xedition/img/slider_img3.jpg b/layouts/xedition/img/slider_img3.jpg index 3dae2dd3b..30339508b 100644 Binary files a/layouts/xedition/img/slider_img3.jpg and b/layouts/xedition/img/slider_img3.jpg differ diff --git a/layouts/xedition/img/slider_img4.jpg b/layouts/xedition/img/slider_img4.jpg index 9ffc2872a..869379b30 100644 Binary files a/layouts/xedition/img/slider_img4.jpg and b/layouts/xedition/img/slider_img4.jpg differ diff --git a/layouts/xedition/img/sp_feature.png b/layouts/xedition/img/sp_feature.png index 2aaeaa0f8..0cbcd2b2c 100644 Binary files a/layouts/xedition/img/sp_feature.png and b/layouts/xedition/img/sp_feature.png differ diff --git a/layouts/xedition/img/sub_banner_01.jpg b/layouts/xedition/img/sub_banner_01.jpg index e786d5cf9..81c6288de 100644 Binary files a/layouts/xedition/img/sub_banner_01.jpg and b/layouts/xedition/img/sub_banner_01.jpg differ diff --git a/layouts/xedition/img/sub_banner_02.jpg b/layouts/xedition/img/sub_banner_02.jpg index 01a4b1221..cf354eb16 100644 Binary files a/layouts/xedition/img/sub_banner_02.jpg and b/layouts/xedition/img/sub_banner_02.jpg differ diff --git a/layouts/xedition/img/sub_banner_xeicon.jpg b/layouts/xedition/img/sub_banner_xeicon.jpg index b5330f002..b53a0c264 100644 Binary files a/layouts/xedition/img/sub_banner_xeicon.jpg and b/layouts/xedition/img/sub_banner_xeicon.jpg differ diff --git a/layouts/xedition/layout.html b/layouts/xedition/layout.html index 792def202..34bc614d3 100644 --- a/layouts/xedition/layout.html +++ b/layouts/xedition/layout.html @@ -15,7 +15,7 @@ {@ $sub_header_title = $module_info->browser_title} - {@ $_enable_slide = true} + {@ $_enable_slide = false} {@ $_enable_unb = false} {@ $_sample_slide = false} {@ $_sample_footer = false} @@ -29,9 +29,13 @@ {@ $layout_info->use_slide = 'Y'} {@ $layout_info->enable_intergration_search = 'Y'} + + {@ $_enable_slide = true} + {@ $_sample_slide = true} - {@ $layout_info->use_slide = 'Y'} + {@ $_enable_slide = false} + {@ $_enable_slide = true} {@ $_sample_slide = true} {@ $_sample_footer = true} @@ -450,7 +454,7 @@
    diff --git a/layouts/xedition/thumbnail.png b/layouts/xedition/thumbnail.png index cdbe54152..b582b8edb 100644 Binary files a/layouts/xedition/thumbnail.png and b/layouts/xedition/thumbnail.png differ diff --git a/m.layouts/colorCode/img/Blue/bg_lang_body.png b/m.layouts/colorCode/img/Blue/bg_lang_body.png index b9e2ed890..2a5cde939 100644 Binary files a/m.layouts/colorCode/img/Blue/bg_lang_body.png and b/m.layouts/colorCode/img/Blue/bg_lang_body.png differ diff --git a/m.layouts/colorCode/img/Blue/bg_lang_t.png b/m.layouts/colorCode/img/Blue/bg_lang_t.png index 3449f1deb..708881bde 100644 Binary files a/m.layouts/colorCode/img/Blue/bg_lang_t.png and b/m.layouts/colorCode/img/Blue/bg_lang_t.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_home.png b/m.layouts/colorCode/img/Blue/btn_home.png index 3bbc8ad18..9d93469b9 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_home.png and b/m.layouts/colorCode/img/Blue/btn_home.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_home_fda.png b/m.layouts/colorCode/img/Blue/btn_home_fda.png index 69fa58068..c8318b88d 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_home_fda.png and b/m.layouts/colorCode/img/Blue/btn_home_fda.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_lang_off.png b/m.layouts/colorCode/img/Blue/btn_lang_off.png index c53c0a21b..6a0abea2d 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_lang_off.png and b/m.layouts/colorCode/img/Blue/btn_lang_off.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png b/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png index 0c83d8763..0b16c395f 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Blue/btn_lang_off_tp.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_lang_on.png b/m.layouts/colorCode/img/Blue/btn_lang_on.png index 43023f863..0233d9eda 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_lang_on.png and b/m.layouts/colorCode/img/Blue/btn_lang_on.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png b/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png index 75fa071d0..9c617dc70 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Blue/btn_lang_on_tp.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_menu.png b/m.layouts/colorCode/img/Blue/btn_menu.png index 0b656a394..6790e7fb0 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_menu.png and b/m.layouts/colorCode/img/Blue/btn_menu.png differ diff --git a/m.layouts/colorCode/img/Blue/btn_menu_fda.png b/m.layouts/colorCode/img/Blue/btn_menu_fda.png index caad74305..bda05721a 100644 Binary files a/m.layouts/colorCode/img/Blue/btn_menu_fda.png and b/m.layouts/colorCode/img/Blue/btn_menu_fda.png differ diff --git a/m.layouts/colorCode/img/Gray/bg_lang_body.png b/m.layouts/colorCode/img/Gray/bg_lang_body.png index dafd8f520..e58724a57 100644 Binary files a/m.layouts/colorCode/img/Gray/bg_lang_body.png and b/m.layouts/colorCode/img/Gray/bg_lang_body.png differ diff --git a/m.layouts/colorCode/img/Gray/bg_lang_t.png b/m.layouts/colorCode/img/Gray/bg_lang_t.png index 9c30cf06b..18494be14 100644 Binary files a/m.layouts/colorCode/img/Gray/bg_lang_t.png and b/m.layouts/colorCode/img/Gray/bg_lang_t.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_home.png b/m.layouts/colorCode/img/Gray/btn_home.png index 09602d3ab..6a7a576e2 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_home.png and b/m.layouts/colorCode/img/Gray/btn_home.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_home_fda.png b/m.layouts/colorCode/img/Gray/btn_home_fda.png index 61198d14b..83daeeac6 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_home_fda.png and b/m.layouts/colorCode/img/Gray/btn_home_fda.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_lang_off.png b/m.layouts/colorCode/img/Gray/btn_lang_off.png index 035971a79..6988b37b9 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_lang_off.png and b/m.layouts/colorCode/img/Gray/btn_lang_off.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png b/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png index d9f5cee8a..7f4657f83 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Gray/btn_lang_off_tp.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_lang_on.png b/m.layouts/colorCode/img/Gray/btn_lang_on.png index 3e42f525c..1b7c0ec57 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_lang_on.png and b/m.layouts/colorCode/img/Gray/btn_lang_on.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png b/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png index 61ea21e82..8d014d157 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Gray/btn_lang_on_tp.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_menu.png b/m.layouts/colorCode/img/Gray/btn_menu.png index d58af85af..c7842c058 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_menu.png and b/m.layouts/colorCode/img/Gray/btn_menu.png differ diff --git a/m.layouts/colorCode/img/Gray/btn_menu_fda.png b/m.layouts/colorCode/img/Gray/btn_menu_fda.png index ec3dcade0..55b7fc91f 100644 Binary files a/m.layouts/colorCode/img/Gray/btn_menu_fda.png and b/m.layouts/colorCode/img/Gray/btn_menu_fda.png differ diff --git a/m.layouts/colorCode/img/Orange/bg_lang_body.png b/m.layouts/colorCode/img/Orange/bg_lang_body.png index f1fcac955..b16294a21 100644 Binary files a/m.layouts/colorCode/img/Orange/bg_lang_body.png and b/m.layouts/colorCode/img/Orange/bg_lang_body.png differ diff --git a/m.layouts/colorCode/img/Orange/bg_lang_t.png b/m.layouts/colorCode/img/Orange/bg_lang_t.png index 39bceabef..de96f5164 100644 Binary files a/m.layouts/colorCode/img/Orange/bg_lang_t.png and b/m.layouts/colorCode/img/Orange/bg_lang_t.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_home.png b/m.layouts/colorCode/img/Orange/btn_home.png index fd81981a1..93a443168 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_home.png and b/m.layouts/colorCode/img/Orange/btn_home.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_home_fda.png b/m.layouts/colorCode/img/Orange/btn_home_fda.png index 529ce3556..59c48e6e7 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_home_fda.png and b/m.layouts/colorCode/img/Orange/btn_home_fda.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_lang_off.png b/m.layouts/colorCode/img/Orange/btn_lang_off.png index 361954d20..2f524c3cf 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_lang_off.png and b/m.layouts/colorCode/img/Orange/btn_lang_off.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png b/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png index 93516ea5b..169bf0e69 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Orange/btn_lang_off_tp.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_lang_on.png b/m.layouts/colorCode/img/Orange/btn_lang_on.png index 34ed5986e..74d5fd468 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_lang_on.png and b/m.layouts/colorCode/img/Orange/btn_lang_on.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png b/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png index 77654a564..770368d81 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Orange/btn_lang_on_tp.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_menu.png b/m.layouts/colorCode/img/Orange/btn_menu.png index 80a76fbe2..1d0499bc4 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_menu.png and b/m.layouts/colorCode/img/Orange/btn_menu.png differ diff --git a/m.layouts/colorCode/img/Orange/btn_menu_fda.png b/m.layouts/colorCode/img/Orange/btn_menu_fda.png index ee1c114de..45a061f56 100644 Binary files a/m.layouts/colorCode/img/Orange/btn_menu_fda.png and b/m.layouts/colorCode/img/Orange/btn_menu_fda.png differ diff --git a/m.layouts/colorCode/img/Red/bg_lang_body.png b/m.layouts/colorCode/img/Red/bg_lang_body.png index dc0c8c2a9..84b63c4bd 100644 Binary files a/m.layouts/colorCode/img/Red/bg_lang_body.png and b/m.layouts/colorCode/img/Red/bg_lang_body.png differ diff --git a/m.layouts/colorCode/img/Red/bg_lang_t.png b/m.layouts/colorCode/img/Red/bg_lang_t.png index 34a78007c..50e6f696e 100644 Binary files a/m.layouts/colorCode/img/Red/bg_lang_t.png and b/m.layouts/colorCode/img/Red/bg_lang_t.png differ diff --git a/m.layouts/colorCode/img/Red/btn_home.png b/m.layouts/colorCode/img/Red/btn_home.png index 9369bac67..b07d158d1 100644 Binary files a/m.layouts/colorCode/img/Red/btn_home.png and b/m.layouts/colorCode/img/Red/btn_home.png differ diff --git a/m.layouts/colorCode/img/Red/btn_home_fda.png b/m.layouts/colorCode/img/Red/btn_home_fda.png index de294e1c3..e8c4bb6ce 100644 Binary files a/m.layouts/colorCode/img/Red/btn_home_fda.png and b/m.layouts/colorCode/img/Red/btn_home_fda.png differ diff --git a/m.layouts/colorCode/img/Red/btn_lang_off.png b/m.layouts/colorCode/img/Red/btn_lang_off.png index 93dab3f21..9707380e2 100644 Binary files a/m.layouts/colorCode/img/Red/btn_lang_off.png and b/m.layouts/colorCode/img/Red/btn_lang_off.png differ diff --git a/m.layouts/colorCode/img/Red/btn_lang_off_tp.png b/m.layouts/colorCode/img/Red/btn_lang_off_tp.png index 1861ed5ec..d8c099143 100644 Binary files a/m.layouts/colorCode/img/Red/btn_lang_off_tp.png and b/m.layouts/colorCode/img/Red/btn_lang_off_tp.png differ diff --git a/m.layouts/colorCode/img/Red/btn_lang_on.png b/m.layouts/colorCode/img/Red/btn_lang_on.png index 61eb435c4..c215547fc 100644 Binary files a/m.layouts/colorCode/img/Red/btn_lang_on.png and b/m.layouts/colorCode/img/Red/btn_lang_on.png differ diff --git a/m.layouts/colorCode/img/Red/btn_lang_on_tp.png b/m.layouts/colorCode/img/Red/btn_lang_on_tp.png index efe89b885..628465326 100644 Binary files a/m.layouts/colorCode/img/Red/btn_lang_on_tp.png and b/m.layouts/colorCode/img/Red/btn_lang_on_tp.png differ diff --git a/m.layouts/colorCode/img/Red/btn_menu.png b/m.layouts/colorCode/img/Red/btn_menu.png index 9ab04892d..35465f4be 100644 Binary files a/m.layouts/colorCode/img/Red/btn_menu.png and b/m.layouts/colorCode/img/Red/btn_menu.png differ diff --git a/m.layouts/colorCode/img/Red/btn_menu_fda.png b/m.layouts/colorCode/img/Red/btn_menu_fda.png index 62cb78ef1..29c02c947 100644 Binary files a/m.layouts/colorCode/img/Red/btn_menu_fda.png and b/m.layouts/colorCode/img/Red/btn_menu_fda.png differ diff --git a/m.layouts/colorCode/img/nGreenA/bg_lang_body.png b/m.layouts/colorCode/img/nGreenA/bg_lang_body.png index d9b822507..5d10c8cf1 100644 Binary files a/m.layouts/colorCode/img/nGreenA/bg_lang_body.png and b/m.layouts/colorCode/img/nGreenA/bg_lang_body.png differ diff --git a/m.layouts/colorCode/img/nGreenA/bg_lang_t.png b/m.layouts/colorCode/img/nGreenA/bg_lang_t.png index 66c5beaab..79db1e868 100644 Binary files a/m.layouts/colorCode/img/nGreenA/bg_lang_t.png and b/m.layouts/colorCode/img/nGreenA/bg_lang_t.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_home.png b/m.layouts/colorCode/img/nGreenA/btn_home.png index 59fea0bec..e58854a75 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_home.png and b/m.layouts/colorCode/img/nGreenA/btn_home.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_home_fda.png b/m.layouts/colorCode/img/nGreenA/btn_home_fda.png index 89d6e10da..9a97567ce 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_home_fda.png and b/m.layouts/colorCode/img/nGreenA/btn_home_fda.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_off.png b/m.layouts/colorCode/img/nGreenA/btn_lang_off.png index ce662cbb0..c6d10ba7a 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_off.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_off.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png b/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png index 6b0a53fcd..771ee0ad7 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_off_tp.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_on.png b/m.layouts/colorCode/img/nGreenA/btn_lang_on.png index ff8c15bf2..35dde0e5f 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_on.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_on.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png b/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png index 3b8e573ae..1a47543bb 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png and b/m.layouts/colorCode/img/nGreenA/btn_lang_on_tp.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_menu.png b/m.layouts/colorCode/img/nGreenA/btn_menu.png index 2229edb4d..24d6f28d4 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_menu.png and b/m.layouts/colorCode/img/nGreenA/btn_menu.png differ diff --git a/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png b/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png index f3c8889b8..b01cf7465 100644 Binary files a/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png and b/m.layouts/colorCode/img/nGreenA/btn_menu_fda.png differ diff --git a/m.layouts/colorCode/img/nGreenB/bg_lang_body.png b/m.layouts/colorCode/img/nGreenB/bg_lang_body.png index d9b822507..5d10c8cf1 100644 Binary files a/m.layouts/colorCode/img/nGreenB/bg_lang_body.png and b/m.layouts/colorCode/img/nGreenB/bg_lang_body.png differ diff --git a/m.layouts/colorCode/img/nGreenB/bg_lang_t.png b/m.layouts/colorCode/img/nGreenB/bg_lang_t.png index 66c5beaab..79db1e868 100644 Binary files a/m.layouts/colorCode/img/nGreenB/bg_lang_t.png and b/m.layouts/colorCode/img/nGreenB/bg_lang_t.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_home.png b/m.layouts/colorCode/img/nGreenB/btn_home.png index 080b98f1e..080c2e8e9 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_home.png and b/m.layouts/colorCode/img/nGreenB/btn_home.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_home_fda.png b/m.layouts/colorCode/img/nGreenB/btn_home_fda.png index 2743dd710..539c13155 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_home_fda.png and b/m.layouts/colorCode/img/nGreenB/btn_home_fda.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_off.png b/m.layouts/colorCode/img/nGreenB/btn_lang_off.png index ce662cbb0..c6d10ba7a 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_off.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_off.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png b/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png index 6b0a53fcd..771ee0ad7 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_off_tp.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_on.png b/m.layouts/colorCode/img/nGreenB/btn_lang_on.png index ff8c15bf2..35dde0e5f 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_on.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_on.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png b/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png index 3b8e573ae..1a47543bb 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png and b/m.layouts/colorCode/img/nGreenB/btn_lang_on_tp.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_menu.png b/m.layouts/colorCode/img/nGreenB/btn_menu.png index 737d1b3ca..eef451c74 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_menu.png and b/m.layouts/colorCode/img/nGreenB/btn_menu.png differ diff --git a/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png b/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png index 4273f756e..02b6435a4 100644 Binary files a/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png and b/m.layouts/colorCode/img/nGreenB/btn_menu_fda.png differ diff --git a/modules/admin/tpl/img/bgFavicon.gif b/modules/admin/tpl/img/bgFavicon.gif index a797561cd..b066c4fdf 100644 Binary files a/modules/admin/tpl/img/bgFavicon.gif and b/modules/admin/tpl/img/bgFavicon.gif differ diff --git a/modules/admin/tpl/img/bgMobileTop.png b/modules/admin/tpl/img/bgMobileTop.png index d2512de2b..b0480460a 100644 Binary files a/modules/admin/tpl/img/bgMobileTop.png and b/modules/admin/tpl/img/bgMobileTop.png differ diff --git a/modules/admin/tpl/img/faviconSample.png b/modules/admin/tpl/img/faviconSample.png index 1aaf09543..4f98daeaa 100644 Binary files a/modules/admin/tpl/img/faviconSample.png and b/modules/admin/tpl/img/faviconSample.png differ diff --git a/modules/admin/tpl/img/glyphicons-halflings-white.png b/modules/admin/tpl/img/glyphicons-halflings-white.png index 3bf6484a2..96c62c848 100644 Binary files a/modules/admin/tpl/img/glyphicons-halflings-white.png and b/modules/admin/tpl/img/glyphicons-halflings-white.png differ diff --git a/modules/admin/tpl/img/glyphicons-halflings.png b/modules/admin/tpl/img/glyphicons-halflings.png index a99699932..927449438 100644 Binary files a/modules/admin/tpl/img/glyphicons-halflings.png and b/modules/admin/tpl/img/glyphicons-halflings.png differ diff --git a/modules/admin/tpl/img/mobiconSample.png b/modules/admin/tpl/img/mobiconSample.png index c56edbede..c08a71d5a 100644 Binary files a/modules/admin/tpl/img/mobiconSample.png and b/modules/admin/tpl/img/mobiconSample.png differ diff --git a/modules/admin/tpl/img/starRating.png b/modules/admin/tpl/img/starRating.png index 49ee36d45..16092f4e8 100644 Binary files a/modules/admin/tpl/img/starRating.png and b/modules/admin/tpl/img/starRating.png differ diff --git a/modules/admin/tpl/img/toggleSwitch.png b/modules/admin/tpl/img/toggleSwitch.png index 2a3111299..fc9fbc501 100644 Binary files a/modules/admin/tpl/img/toggleSwitch.png and b/modules/admin/tpl/img/toggleSwitch.png differ diff --git a/modules/admin/tpl/img/xe.h1.png b/modules/admin/tpl/img/xe.h1.png index af1bf31bc..b462a06ba 100644 Binary files a/modules/admin/tpl/img/xe.h1.png and b/modules/admin/tpl/img/xe.h1.png differ diff --git a/modules/autoinstall/tpl/img/btn_search.gif b/modules/autoinstall/tpl/img/btn_search.gif index ed7b21a93..399e01470 100644 Binary files a/modules/autoinstall/tpl/img/btn_search.gif and b/modules/autoinstall/tpl/img/btn_search.gif differ diff --git a/modules/autoinstall/tpl/img/hrE1.gif b/modules/autoinstall/tpl/img/hrE1.gif index fc3a410f6..64b945597 100644 Binary files a/modules/autoinstall/tpl/img/hrE1.gif and b/modules/autoinstall/tpl/img/hrE1.gif differ diff --git a/modules/autoinstall/tpl/img/starRating.png b/modules/autoinstall/tpl/img/starRating.png index 49ee36d45..713882b95 100644 Binary files a/modules/autoinstall/tpl/img/starRating.png and b/modules/autoinstall/tpl/img/starRating.png differ diff --git a/modules/board/skins/default/profile.gif b/modules/board/skins/default/profile.gif index 7280f019d..dcc08bba5 100644 Binary files a/modules/board/skins/default/profile.gif and b/modules/board/skins/default/profile.gif differ diff --git a/modules/board/skins/xedition/profile.gif b/modules/board/skins/xedition/profile.gif index bf03c4750..559003676 100644 Binary files a/modules/board/skins/xedition/profile.gif and b/modules/board/skins/xedition/profile.gif differ diff --git a/modules/board/skins/xedition/thumbnail.png b/modules/board/skins/xedition/thumbnail.png index f1d97f107..d0071d2cf 100644 Binary files a/modules/board/skins/xedition/thumbnail.png and b/modules/board/skins/xedition/thumbnail.png differ diff --git a/modules/communication/m.skins/default/img/member.png b/modules/communication/m.skins/default/img/member.png index 03263ff69..573a68d0f 100644 Binary files a/modules/communication/m.skins/default/img/member.png and b/modules/communication/m.skins/default/img/member.png differ diff --git a/modules/communication/m.skins/default/img/read.png b/modules/communication/m.skins/default/img/read.png index 11af4ae34..ef6d7b9de 100644 Binary files a/modules/communication/m.skins/default/img/read.png and b/modules/communication/m.skins/default/img/read.png differ diff --git a/modules/communication/m.skins/default/img/unread.png b/modules/communication/m.skins/default/img/unread.png index 0c7a31b47..da9cdd990 100644 Binary files a/modules/communication/m.skins/default/img/unread.png and b/modules/communication/m.skins/default/img/unread.png differ diff --git a/modules/communication/skins/default/img/bgTab.gif b/modules/communication/skins/default/img/bgTab.gif index 8835361b8..fb35847be 100755 Binary files a/modules/communication/skins/default/img/bgTab.gif and b/modules/communication/skins/default/img/bgTab.gif differ diff --git a/modules/communication/skins/default/img/iconH3.gif b/modules/communication/skins/default/img/iconH3.gif index 889e2818e..3d58cc6e7 100755 Binary files a/modules/communication/skins/default/img/iconH3.gif and b/modules/communication/skins/default/img/iconH3.gif differ diff --git a/modules/communication/skins/default/img/lineVrText.gif b/modules/communication/skins/default/img/lineVrText.gif index 27566578d..6139fdf57 100755 Binary files a/modules/communication/skins/default/img/lineVrText.gif and b/modules/communication/skins/default/img/lineVrText.gif differ diff --git a/modules/counter/tpl/images/buttonLeft.gif b/modules/counter/tpl/images/buttonLeft.gif index ffcc2e499..ddeff52bc 100644 Binary files a/modules/counter/tpl/images/buttonLeft.gif and b/modules/counter/tpl/images/buttonLeft.gif differ diff --git a/modules/counter/tpl/images/buttonRight.gif b/modules/counter/tpl/images/buttonRight.gif index dc5373c14..c248f2adb 100644 Binary files a/modules/counter/tpl/images/buttonRight.gif and b/modules/counter/tpl/images/buttonRight.gif differ diff --git a/modules/counter/tpl/images/iconBar.gif b/modules/counter/tpl/images/iconBar.gif index 8193ad5f7..bf18b3af9 100644 Binary files a/modules/counter/tpl/images/iconBar.gif and b/modules/counter/tpl/images/iconBar.gif differ diff --git a/modules/document/tpl/icons/file.gif b/modules/document/tpl/icons/file.gif index 4928ea804..7d0768010 100644 Binary files a/modules/document/tpl/icons/file.gif and b/modules/document/tpl/icons/file.gif differ diff --git a/modules/document/tpl/icons/image.gif b/modules/document/tpl/icons/image.gif index e4401a834..9e16ba620 100644 Binary files a/modules/document/tpl/icons/image.gif and b/modules/document/tpl/icons/image.gif differ diff --git a/modules/document/tpl/icons/movie.gif b/modules/document/tpl/icons/movie.gif index 5d2385654..4933e45af 100644 Binary files a/modules/document/tpl/icons/movie.gif and b/modules/document/tpl/icons/movie.gif differ diff --git a/modules/document/tpl/icons/new.gif b/modules/document/tpl/icons/new.gif index 389efdf07..0d2aad44a 100644 Binary files a/modules/document/tpl/icons/new.gif and b/modules/document/tpl/icons/new.gif differ diff --git a/modules/document/tpl/icons/secret.gif b/modules/document/tpl/icons/secret.gif index a3ccad0b0..4e752dee8 100644 Binary files a/modules/document/tpl/icons/secret.gif and b/modules/document/tpl/icons/secret.gif differ diff --git a/modules/document/tpl/icons/update.gif b/modules/document/tpl/icons/update.gif index b2f61437a..7a8d21f36 100644 Binary files a/modules/document/tpl/icons/update.gif and b/modules/document/tpl/icons/update.gif differ diff --git a/modules/editor/components/image_gallery/tpl/popup.js b/modules/editor/components/image_gallery/tpl/popup.js index 5e848e38a..6a1101d81 100644 --- a/modules/editor/components/image_gallery/tpl/popup.js +++ b/modules/editor/components/image_gallery/tpl/popup.js @@ -1,4 +1,5 @@ var selected_node = null; +var files = []; function getSlideShow() { var node, $node, selected_images = '', width, style, align, border_color, bg_color, thickness; @@ -33,27 +34,23 @@ function getSlideShow() { // 부모창의 업로드된 파일중 이미지 목록을 모두 가져와서 세팅 var fo = get_by_id("fo"); var editor_sequence = fo.editor_sequence.value; + var list_obj = get_by_id("image_list"); - var parent_list_obj = opener.get_by_id("uploaded_file_list_"+editor_sequence); - if(parent_list_obj) { + jQuery.exec_json('file.getFileList', {'editor_sequence': editor_sequence}, function(res) { + jQuery.each(res.files, function (index, file) { + var file_srl = file.file_srl; - var list_obj = get_by_id("image_list"); - - for(var i=0;i';opener.editorFocus(opener.editorPrevSrl);var p=opener.editorGetIFrame(opener.editorPrevSrl);opener.editorReplaceHTML(p,o)}opener.editorFocus(opener.editorPrevSrl),window.close()}}function select_color(a,b){get_by_id(a+"_preview_color").style.backgroundColor="#"+b,get_by_id(a+"_color_input").value=b}var selected_node=null;jQuery(function(){getSlideShow()}); \ No newline at end of file +function getSlideShow(){var a,b,c,d,e,f,g,h,i="";if("undefined"!=typeof opener){a=opener.editorPrevNode,b=jQuery(a),b.is("img")&&(selected_node=a,c=b.width(),d=b.attr("gallery_style"),e=b.attr("gallery_align")||"center",f=b.attr("border_color"),g=b.attr("bg_color"),h=b.attr("border_thickness")||1,get_by_id("width").value=c,get_by_id("gallery_style").selectedIndex="list"==d?1:0,get_by_id("gallery_align").selectedIndex="left"==e?1:"right"==e?2:0,get_by_id("border_thickness").value=h,get_by_id("border_color_input").value=f,get_by_id("bg_color_input").value=g,i=b.attr("images_list"));var j=get_by_id("fo"),k=j.editor_sequence.value,l=get_by_id("image_list");jQuery.exec_json("file.getFileList",{editor_sequence:k},function(a){jQuery.each(a.files,function(a,b){var c=b.file_srl;if(c){var d=b.source_filename;if(/\.(jpe?g|png|gif)$/i.test(d)){var e=!1;-1!=i.indexOf(d)&&(e=!0);var f=new Option(b.source_filename,c,!1,e);l.options.add(f),files[b.file_srl]=b}}})})}}function insertSlideShow(){if("undefined"!=typeof opener){for(var a=new Array,b=get_by_id("image_list"),c=0;c';opener.editorFocus(opener.editorPrevSrl);var p=opener.editorGetIFrame(opener.editorPrevSrl);opener.editorReplaceHTML(p,o)}opener.editorFocus(opener.editorPrevSrl),window.close()}}function select_color(a,b){get_by_id(a+"_preview_color").style.backgroundColor="#"+b,get_by_id(a+"_color_input").value=b}var selected_node=null,files=[];jQuery(function(){getSlideShow()}); \ No newline at end of file diff --git a/modules/editor/components/poll_maker/tpl/popup.html b/modules/editor/components/poll_maker/tpl/popup.html index dfc62009e..605235f0e 100644 --- a/modules/editor/components/poll_maker/tpl/popup.html +++ b/modules/editor/components/poll_maker/tpl/popup.html @@ -18,8 +18,8 @@
    - - + + diff --git a/modules/layout/tpl/images/bgBody.gif b/modules/layout/tpl/images/bgBody.gif index 45b848dba..7301ac53e 100644 Binary files a/modules/layout/tpl/images/bgBody.gif and b/modules/layout/tpl/images/bgBody.gif differ diff --git a/modules/layout/tpl/images/bgContainer.gif b/modules/layout/tpl/images/bgContainer.gif index 125b7cb9f..e558cfdac 100644 Binary files a/modules/layout/tpl/images/bgContainer.gif and b/modules/layout/tpl/images/bgContainer.gif differ diff --git a/modules/layout/tpl/images/bgExtension.gif b/modules/layout/tpl/images/bgExtension.gif index 828276829..b86d0ad88 100644 Binary files a/modules/layout/tpl/images/bgExtension.gif and b/modules/layout/tpl/images/bgExtension.gif differ diff --git a/modules/layout/tpl/images/bgSection.gif b/modules/layout/tpl/images/bgSection.gif index a9589f567..ac4d2e9ce 100644 Binary files a/modules/layout/tpl/images/bgSection.gif and b/modules/layout/tpl/images/bgSection.gif differ diff --git a/modules/layout/tpl/images/bgXe.gif b/modules/layout/tpl/images/bgXe.gif index e9f429704..97ec07e20 100644 Binary files a/modules/layout/tpl/images/bgXe.gif and b/modules/layout/tpl/images/bgXe.gif differ diff --git a/modules/layout/tpl/images/buttonControler.png b/modules/layout/tpl/images/buttonControler.png index e89937ea9..2441dcc0a 100644 Binary files a/modules/layout/tpl/images/buttonControler.png and b/modules/layout/tpl/images/buttonControler.png differ diff --git a/modules/layout/tpl/images/faceoff.gif b/modules/layout/tpl/images/faceoff.gif index 07935c5b3..672a43d4d 100755 Binary files a/modules/layout/tpl/images/faceoff.gif and b/modules/layout/tpl/images/faceoff.gif differ diff --git a/modules/layout/tpl/img/black/iconWidgetList.gif b/modules/layout/tpl/img/black/iconWidgetList.gif index f376452ed..9cd2eb4c1 100755 Binary files a/modules/layout/tpl/img/black/iconWidgetList.gif and b/modules/layout/tpl/img/black/iconWidgetList.gif differ diff --git a/modules/layout/tpl/img/black/lineTextDiv.gif b/modules/layout/tpl/img/black/lineTextDiv.gif index a573ed164..4acb06c1c 100755 Binary files a/modules/layout/tpl/img/black/lineTextDiv.gif and b/modules/layout/tpl/img/black/lineTextDiv.gif differ diff --git a/modules/layout/tpl/img/download.png b/modules/layout/tpl/img/download.png index 46072c518..64ab8a29c 100644 Binary files a/modules/layout/tpl/img/download.png and b/modules/layout/tpl/img/download.png differ diff --git a/modules/layout/tpl/img/noThumbnail.png b/modules/layout/tpl/img/noThumbnail.png index 3f58092c9..e3151bf3f 100644 Binary files a/modules/layout/tpl/img/noThumbnail.png and b/modules/layout/tpl/img/noThumbnail.png differ diff --git a/modules/layout/tpl/img/white/iconWidgetList.gif b/modules/layout/tpl/img/white/iconWidgetList.gif index 9d84b6864..272ea84dc 100755 Binary files a/modules/layout/tpl/img/white/iconWidgetList.gif and b/modules/layout/tpl/img/white/iconWidgetList.gif differ diff --git a/modules/layout/tpl/img/white/linePoint.gif b/modules/layout/tpl/img/white/linePoint.gif index 09958dad7..c28f483a2 100755 Binary files a/modules/layout/tpl/img/white/linePoint.gif and b/modules/layout/tpl/img/white/linePoint.gif differ diff --git a/modules/layout/tpl/img/white/lineTextDiv.gif b/modules/layout/tpl/img/white/lineTextDiv.gif index 0fa7654cb..1b7658cc9 100755 Binary files a/modules/layout/tpl/img/white/lineTextDiv.gif and b/modules/layout/tpl/img/white/lineTextDiv.gif differ diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index 21867570e..4c6eb1b51 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -1650,9 +1650,10 @@ class memberController extends member $do_auto_login = false; // Compare key values based on the information - $key = md5($user_id . $password . $_SERVER['HTTP_USER_AGENT']); + $check_key = strtolower($user_id).$password.$_SERVER['HTTP_USER_AGENT']; + $check_key = substr(hash_hmac('sha256', $check_key, substr($args->autologin_key, 0, 32)), 0, 32); - if($key == $args->autologin_key) + if($check_key === substr($args->autologin_key, 32)) { // Check change_password_date $oModuleModel = getModel('module'); @@ -1837,8 +1838,12 @@ class memberController extends member if($keep_signed) { // Key generate for auto login + $oPassword = new Password(); + $random_key = $oPassword->createSecureSalt(32, 'hex'); + $extra_key = strtolower($user_id).$this->memberInfo->password.$_SERVER['HTTP_USER_AGENT']; + $extra_key = substr(hash_hmac('sha256', $extra_key, $random_key), 0, 32); $autologin_args = new stdClass; - $autologin_args->autologin_key = md5(strtolower($user_id).$this->memberInfo->password.$_SERVER['HTTP_USER_AGENT']); + $autologin_args->autologin_key = $random_key.$extra_key; $autologin_args->member_srl = $this->memberInfo->member_srl; executeQuery('member.deleteAutologin', $autologin_args); $autologin_output = executeQuery('member.insertAutologin', $autologin_args); diff --git a/modules/member/member.view.php b/modules/member/member.view.php index b70722a67..eaf6f1ec6 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -343,6 +343,9 @@ class memberView extends member $oDocumentAdminView = getAdminView('document'); $oDocumentAdminView->dispDocumentAdminList(); + $oSecurity = new Security(); + $oSecurity->encodeHTML('document_list...title', 'search_target', 'search_keyword'); + Context::set('module_srl', $module_srl); $this->setTemplateFile('document_list'); } diff --git a/modules/message/skins/default/images/openid_login_bg.gif b/modules/message/skins/default/images/openid_login_bg.gif index cde836c89..be47484c5 100644 Binary files a/modules/message/skins/default/images/openid_login_bg.gif and b/modules/message/skins/default/images/openid_login_bg.gif differ diff --git a/modules/message/skins/xedition/img/error.png b/modules/message/skins/xedition/img/error.png index 38ca4ab70..6230cc37d 100644 Binary files a/modules/message/skins/xedition/img/error.png and b/modules/message/skins/xedition/img/error.png differ diff --git a/modules/module/module.admin.controller.php b/modules/module/module.admin.controller.php index 0a1ec1bcb..c12dd10fd 100644 --- a/modules/module/module.admin.controller.php +++ b/modules/module/module.admin.controller.php @@ -685,7 +685,7 @@ class moduleAdminController extends module $args->value = trim(Context::get($key)); // if request method is json, strip slashes - if(Context::getRequestMethod() == 'JSON' && version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(Context::getRequestMethod() == 'JSON' && version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $args->value = stripslashes($args->value); } diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 682c97868..e5b8097f3 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -944,7 +944,7 @@ class moduleModel extends module $info->action->{$name} = new stdClass(); $info->action->{$name}->type = $type; $info->action->{$name}->grant = $grant; - $info->action->{$name}->standalone = ($standalone == 'true') ? TRUE : FALSE; + $info->action->{$name}->standalone = $standalone; $info->action->{$name}->ruleset = $ruleset; $info->action->{$name}->method = $method; if($action->attrs->menu_name) diff --git a/modules/page/page.view.php b/modules/page/page.view.php index c07a50124..4ecf25774 100644 --- a/modules/page/page.view.php +++ b/modules/page/page.view.php @@ -179,6 +179,7 @@ class pageView extends page $filepath = preg_replace('/'.$filename."$/i","",$cache_file); $cache_file = FileHandler::getRealPath($cache_file); + $level = ob_get_level(); // Verify cache if($caching_interval <1 || !file_exists($cache_file) || filemtime($cache_file) + $caching_interval*60 <= $_SERVER['REQUEST_TIME'] || filemtime($cache_file) 0) { + $contents .= ob_get_contents(); + ob_end_clean(); + } + return $contents; } function _replacePath($matches) diff --git a/modules/page/tpl/images/buttonTypeACenter.gif b/modules/page/tpl/images/buttonTypeACenter.gif index 56127ea2e..705b1fb9e 100644 Binary files a/modules/page/tpl/images/buttonTypeACenter.gif and b/modules/page/tpl/images/buttonTypeACenter.gif differ diff --git a/modules/poll/skins/default/images/back_bar.png b/modules/poll/skins/default/images/back_bar.png index 8ef71686d..c5d9a6b05 100755 Binary files a/modules/poll/skins/default/images/back_bar.png and b/modules/poll/skins/default/images/back_bar.png differ diff --git a/modules/poll/skins/default/images/color_bar.png b/modules/poll/skins/default/images/color_bar.png index 2afe557c0..e16534fc8 100755 Binary files a/modules/poll/skins/default/images/color_bar.png and b/modules/poll/skins/default/images/color_bar.png differ diff --git a/modules/poll/skins/default/images/lb.png b/modules/poll/skins/default/images/lb.png index 0cc989c98..ae384b9db 100755 Binary files a/modules/poll/skins/default/images/lb.png and b/modules/poll/skins/default/images/lb.png differ diff --git a/modules/poll/skins/default/images/lh.png b/modules/poll/skins/default/images/lh.png index a12dca5dc..18b0c2d1c 100755 Binary files a/modules/poll/skins/default/images/lh.png and b/modules/poll/skins/default/images/lh.png differ diff --git a/modules/poll/skins/default/images/pipe.png b/modules/poll/skins/default/images/pipe.png index d560aa240..9ada4cf18 100755 Binary files a/modules/poll/skins/default/images/pipe.png and b/modules/poll/skins/default/images/pipe.png differ diff --git a/modules/poll/skins/default/images/rb.png b/modules/poll/skins/default/images/rb.png index d74208c12..b75ec280d 100755 Binary files a/modules/poll/skins/default/images/rb.png and b/modules/poll/skins/default/images/rb.png differ diff --git a/modules/poll/skins/default/images/rh.png b/modules/poll/skins/default/images/rh.png index 4e4924628..5437131f5 100755 Binary files a/modules/poll/skins/default/images/rh.png and b/modules/poll/skins/default/images/rh.png differ diff --git a/modules/poll/skins/default/images/rlb.png b/modules/poll/skins/default/images/rlb.png index 95144eb49..901a7514f 100755 Binary files a/modules/poll/skins/default/images/rlb.png and b/modules/poll/skins/default/images/rlb.png differ diff --git a/modules/poll/skins/default/images/rrb.png b/modules/poll/skins/default/images/rrb.png index 791f763e5..aecfa13da 100755 Binary files a/modules/poll/skins/default/images/rrb.png and b/modules/poll/skins/default/images/rrb.png differ diff --git a/modules/poll/skins/default/images/top_bg.png b/modules/poll/skins/default/images/top_bg.png index 00bfe3d56..2cb4593df 100755 Binary files a/modules/poll/skins/default/images/top_bg.png and b/modules/poll/skins/default/images/top_bg.png differ diff --git a/modules/poll/skins/default/images/top_title_bg.png b/modules/poll/skins/default/images/top_title_bg.png index 900ebbb22..42870174a 100755 Binary files a/modules/poll/skins/default/images/top_title_bg.png and b/modules/poll/skins/default/images/top_title_bg.png differ diff --git a/modules/trash/tpl/trash_list.html b/modules/trash/tpl/trash_list.html index b937b1085..802f5b69e 100644 --- a/modules/trash/tpl/trash_list.html +++ b/modules/trash/tpl/trash_list.html @@ -40,7 +40,6 @@ var no_text_comment = '{$lang->no_text_comment}'; - {debugPrint($oTrashVO->unserializedObject)} {$lang->document}{$lang->comment} {$lang->no_text_comment} diff --git a/modules/widget/tpl/images/widgetstyle_none.gif b/modules/widget/tpl/images/widgetstyle_none.gif index 40a9eef4e..f4a82d00a 100644 Binary files a/modules/widget/tpl/images/widgetstyle_none.gif and b/modules/widget/tpl/images/widgetstyle_none.gif differ diff --git a/tests/Install.suite.dist.yml b/tests/Install.suite.dist.yml new file mode 100644 index 000000000..b217a1c35 --- /dev/null +++ b/tests/Install.suite.dist.yml @@ -0,0 +1,28 @@ +class_name: InstallTester +modules: + enabled: [Db, PhpBrowser, DbDropTablesHelper, InstallHelper, Filesystem] + config: + PhpBrowser: + url: 'http://localhost:8000/' + DbDropTablesHelper: + dsn: 'mysql:host=127.0.0.1;dbname=xe_test' + user: 'root' + password: 'root' + Db: + dsn: 'mysql:host=127.0.0.1;dbname=xe_test' + user: 'root' + password: 'root' + cleanup: true +env: + travis: + modules: + config: + Db: + dsn: 'mysql:host=127.0.0.1;dbname=xe_test' + user: 'travis' + password: 'travis' + cleanup: true + DbDropTablesHelper: + dsn: 'mysql:host=127.0.0.1;dbname=xe_test' + user: 'travis' + password: 'travis' diff --git a/tests/Install/AutoinstallCept.php b/tests/Install/AutoinstallCept.php new file mode 100644 index 000000000..91b244ff2 --- /dev/null +++ b/tests/Install/AutoinstallCept.php @@ -0,0 +1,63 @@ +env) ? Configuration::suiteSettings('Install', Configuration::config()) : Configuration::suiteEnvironments('Install')[$this->env]; + +$db_config = $config['modules']['config']['Db']; + +$dsn = $db_config['dsn']; +$dsn = split('[;:]', $dsn); +$db_type = array_shift($dsn); +$dbinfo = [ + 'type' => $db_type, + 'user' => $db_config['user'], + 'password' => $db_config['password'], + 'port' => ((isset($db_config['port']) && $db_config['port'])?: 3306), +]; +foreach($dsn as $piece) { + list($key, $val) = explode('=', $piece); + $dbinfo[$key] = $val; +} + +$install_config = array( + 'db_type' => $dbinfo['type'], + 'db_port' => $dbinfo['port'], + 'db_hostname' => $dbinfo['host'], + 'db_userid' => $dbinfo['user'], + 'db_password' => $dbinfo['password'], + 'db_database' => $dbinfo['dbname'], + 'db_table_prefix' =>'xe_', + 'use_rewrite' =>'N', + 'time_zone' =>'0900', + 'email_address' =>'admin@admin.net', + 'password' =>'admin', + 'password2' =>'admin', + 'nick_name' =>'admin', + 'user_id' =>'admin', + 'lang_type' => 'ko', +); + +$install_config = '<' . '?php $install_config = ' . var_export($install_config, true) . ';'; + +$I->wantTo('Auto install'); +$I->writeToFile(_XE_PATH_ . 'config/install.config.php', $install_config); +$I->amOnPage('/'); + +$I->dontSeeElement('//div[@id="progress"]/ul/li'); +$I->amOnPage('/index.php?act=dispMemberLoginForm'); + +$I->fillField('user_id', 'admin@admin.net'); +$I->submitForm('.login-body form', [ + 'act' => 'procMemberLogin', + 'user_id' => 'admin@admin.net', + 'password' => 'admin', + 'success_return_url' => '/index.php?module=admin' +]); + +$I->seeInCurrentUrl('module=admin'); +$I->seeElement('#gnbNav'); +$I->seeElement('#content .x_page-header'); +$I->see('설치 환경 수집 동의', 'h2'); + diff --git a/tests/install/installCept.php b/tests/Install/InstallCept.php similarity index 92% rename from tests/install/installCept.php rename to tests/Install/InstallCept.php index d5c0bf171..a3e5750b7 100644 --- a/tests/install/installCept.php +++ b/tests/Install/InstallCept.php @@ -3,13 +3,13 @@ use \Codeception\Configuration; $I = new InstallTester($scenario); -$config = (!$this->env) ? Configuration::config() : Configuration::suiteEnvironments('install')[$this->env]; +$config = (!$this->env) ? Configuration::suiteSettings('Install', Configuration::config()) : Configuration::suiteEnvironments('Install')[$this->env]; + $db_config = $config['modules']['config']['Db']; $dsn = $db_config['dsn']; $dsn = split('[;:]', $dsn); $db_type = array_shift($dsn); - $dbinfo = [ 'type' => $db_type, 'user' => $db_config['user'], @@ -17,12 +17,15 @@ $dbinfo = [ 'dbname' => 'xe_install', 'port' => ((isset($db_config['port']) && $db_config['port'])?: 3306), ]; - foreach($dsn as $piece) { list($key, $val) = explode('=', $piece); $dbinfo[$key] = $val; } +if(\Filehandler::exists(_XE_PATH_ . 'config/install.config.php')) { + $I->deleteFile(_XE_PATH_ . 'config/install.config.php'); +} + // Step 1 $I->wantTo('Install XE Core'); $I->amOnPage('/index.php?l=ko'); @@ -86,7 +89,6 @@ $I->submitForm('#content form', [ ]); // Step 9 -$I->wantTo('completed'); $I->dontSeeElement('//div[@id="progress"]/ul/li'); $I->amOnPage('/index.php?act=dispMemberLoginForm'); diff --git a/tests/install/InstallTester.php b/tests/Install/InstallTester.php similarity index 80% rename from tests/install/InstallTester.php rename to tests/Install/InstallTester.php index fe24ccae1..1e1aef6fa 100644 --- a/tests/install/InstallTester.php +++ b/tests/Install/InstallTester.php @@ -1,12 +1,15 @@ -haveInDatabase('users', array('name' => 'miles', 'email' => 'miles@davis.com')); + * ?> + * ``` + * + * @param $table + * @param array $data + * + * @return integer $id + * @see \Codeception\Module\Db::haveInDatabase() + */ + public function haveInDatabase($table, $data) { + return $this->scenario->runStep(new \Codeception\Step\Action('haveInDatabase', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if a row with given column values exists. + * Provide table name and column values. + * + * Example: + * + * ``` php + * seeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com')); + * + * ``` + * Will generate: + * + * ``` sql + * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com' + * ``` + * Fails if no such user found. + * + * @param $table + * @param array $criteria + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Db::seeInDatabase() + */ + public function canSeeInDatabase($table, $criteria = null) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInDatabase', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if a row with given column values exists. + * Provide table name and column values. + * + * Example: + * + * ``` php + * seeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com')); + * + * ``` + * Will generate: + * + * ``` sql + * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com' + * ``` + * Fails if no such user found. + * + * @param $table + * @param array $criteria + * @see \Codeception\Module\Db::seeInDatabase() + */ + public function seeInDatabase($table, $criteria = null) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInDatabase', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Effect is opposite to ->seeInDatabase + * + * Checks if there is no record with such column values in database. + * Provide table name and column values. + * + * Example: + * + * ``` php + * dontSeeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com')); + * + * ``` + * Will generate: + * + * ``` sql + * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com' + * ``` + * Fails if such user was found. + * + * @param $table + * @param array $criteria + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Db::dontSeeInDatabase() + */ + public function cantSeeInDatabase($table, $criteria = null) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInDatabase', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Effect is opposite to ->seeInDatabase + * + * Checks if there is no record with such column values in database. + * Provide table name and column values. + * + * Example: + * + * ``` php + * dontSeeInDatabase('users', array('name' => 'Davert', 'email' => 'davert@mail.com')); + * + * ``` + * Will generate: + * + * ``` sql + * SELECT COUNT(*) FROM `users` WHERE `name` = 'Davert' AND `email` = 'davert@mail.com' + * ``` + * Fails if such user was found. + * + * @param $table + * @param array $criteria + * @see \Codeception\Module\Db::dontSeeInDatabase() + */ + public function dontSeeInDatabase($table, $criteria = null) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInDatabase', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Fetches a single column value from a database. + * Provide table name, desired column and criteria. + * + * Example: + * + * ``` php + * grabFromDatabase('users', 'email', array('name' => 'Davert')); + * + * ``` + * + * @version 1.1 + * + * @param $table + * @param $column + * @param array $criteria + * + * @return mixed + * @see \Codeception\Module\Db::grabFromDatabase() + */ + public function grabFromDatabase($table, $column, $criteria = null) { + return $this->scenario->runStep(new \Codeception\Step\Action('grabFromDatabase', func_get_args())); + } + + /** * [!] Method is generated. Documentation taken from corresponding module. * @@ -1915,4 +2086,348 @@ class InstallTester extends \Codeception\Actor public function dontSeeInTitle($title) { return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInTitle', func_get_args())); } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * + * @see \Codeception\Module\DbDropTablesHelper::cleanup() + */ + public function cleanup() { + return $this->scenario->runStep(new \Codeception\Step\Action('cleanup', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Enters a directory In local filesystem. + * Project root directory is used by default + * + * @param $path + * @see \Codeception\Module\Filesystem::amInPath() + */ + public function amInPath($path) { + return $this->scenario->runStep(new \Codeception\Step\Condition('amInPath', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Opens a file and stores it's content. + * + * Usage: + * + * ``` php + * openFile('composer.json'); + * $I->seeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $filename + * @see \Codeception\Module\Filesystem::openFile() + */ + public function openFile($filename) { + return $this->scenario->runStep(new \Codeception\Step\Action('openFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Deletes a file + * + * ``` php + * deleteFile('composer.lock'); + * ?> + * ``` + * + * @param $filename + * @see \Codeception\Module\Filesystem::deleteFile() + */ + public function deleteFile($filename) { + return $this->scenario->runStep(new \Codeception\Step\Action('deleteFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Deletes directory with all subdirectories + * + * ``` php + * deleteDir('vendor'); + * ?> + * ``` + * + * @param $dirname + * @see \Codeception\Module\Filesystem::deleteDir() + */ + public function deleteDir($dirname) { + return $this->scenario->runStep(new \Codeception\Step\Action('deleteDir', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Copies directory with all contents + * + * ``` php + * copyDir('vendor','old_vendor'); + * ?> + * ``` + * + * @param $src + * @param $dst + * @see \Codeception\Module\Filesystem::copyDir() + */ + public function copyDir($src, $dst) { + return $this->scenario->runStep(new \Codeception\Step\Action('copyDir', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file has `text` in it. + * + * Usage: + * + * ``` php + * openFile('composer.json'); + * $I->seeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::seeInThisFile() + */ + public function canSeeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInThisFile', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file has `text` in it. + * + * Usage: + * + * ``` php + * openFile('composer.json'); + * $I->seeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * @see \Codeception\Module\Filesystem::seeInThisFile() + */ + public function seeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInThisFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks the strict matching of file contents. + * Unlike `seeInThisFile` will fail if file has something more than expected lines. + * Better to use with HEREDOC strings. + * Matching is done after removing "\r" chars from file content. + * + * ``` php + * openFile('process.pid'); + * $I->seeFileContentsEqual('3192'); + * ?> + * ``` + * + * @param $text + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::seeFileContentsEqual() + */ + public function canSeeFileContentsEqual($text) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileContentsEqual', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks the strict matching of file contents. + * Unlike `seeInThisFile` will fail if file has something more than expected lines. + * Better to use with HEREDOC strings. + * Matching is done after removing "\r" chars from file content. + * + * ``` php + * openFile('process.pid'); + * $I->seeFileContentsEqual('3192'); + * ?> + * ``` + * + * @param $text + * @see \Codeception\Module\Filesystem::seeFileContentsEqual() + */ + public function seeFileContentsEqual($text) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileContentsEqual', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file doesn't contain `text` in it + * + * ``` php + * openFile('composer.json'); + * $I->dontSeeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::dontSeeInThisFile() + */ + public function cantSeeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInThisFile', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks If opened file doesn't contain `text` in it + * + * ``` php + * openFile('composer.json'); + * $I->dontSeeInThisFile('codeception/codeception'); + * ?> + * ``` + * + * @param $text + * @see \Codeception\Module\Filesystem::dontSeeInThisFile() + */ + public function dontSeeInThisFile($text) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInThisFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Deletes a file + * @see \Codeception\Module\Filesystem::deleteThisFile() + */ + public function deleteThisFile() { + return $this->scenario->runStep(new \Codeception\Step\Action('deleteThisFile', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file exists in path. + * Opens a file when it's exists + * + * ``` php + * seeFileFound('UserModel.php','app/models'); + * ?> + * ``` + * + * @param $filename + * @param string $path + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::seeFileFound() + */ + public function canSeeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileFound', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file exists in path. + * Opens a file when it's exists + * + * ``` php + * seeFileFound('UserModel.php','app/models'); + * ?> + * ``` + * + * @param $filename + * @param string $path + * @see \Codeception\Module\Filesystem::seeFileFound() + */ + public function seeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileFound', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file does not exists in path + * + * @param $filename + * @param string $path + * Conditional Assertion: Test won't be stopped on fail + * @see \Codeception\Module\Filesystem::dontSeeFileFound() + */ + public function cantSeeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeFileFound', func_get_args())); + } + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Checks if file does not exists in path + * + * @param $filename + * @param string $path + * @see \Codeception\Module\Filesystem::dontSeeFileFound() + */ + public function dontSeeFileFound($filename, $path = null) { + return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeFileFound', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Erases directory contents + * + * ``` php + * cleanDir('logs'); + * ?> + * ``` + * + * @param $dirname + * @see \Codeception\Module\Filesystem::cleanDir() + */ + public function cleanDir($dirname) { + return $this->scenario->runStep(new \Codeception\Step\Action('cleanDir', func_get_args())); + } + + + /** + * [!] Method is generated. Documentation taken from corresponding module. + * + * Saves contents to file + * + * @param $filename + * @param $contents + * @see \Codeception\Module\Filesystem::writeToFile() + */ + public function writeToFile($filename, $contents) { + return $this->scenario->runStep(new \Codeception\Step\Action('writeToFile', func_get_args())); + } } diff --git a/tests/acceptance/_bootstrap.php b/tests/Install/_bootstrap.php similarity index 100% rename from tests/acceptance/_bootstrap.php rename to tests/Install/_bootstrap.php diff --git a/tests/_bootstrap.php b/tests/_bootstrap.php index a778b4088..21bf1735c 100644 --- a/tests/_bootstrap.php +++ b/tests/_bootstrap.php @@ -2,7 +2,7 @@ // This is global bootstrap for autoloading if(!defined('__XE__')) define('__XE__', true); if(!defined('_XE_PATH_')) define('_XE_PATH_', realpath(dirname(__FILE__).'/../').'/'); -error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED ^ E_WARNING ^ E_STRICT); +require_once _XE_PATH_.'config/config.inc.php'; function _debug() { $args = func_get_args(); diff --git a/tests/_support/AcceptanceHelper.php b/tests/_support/AcceptanceHelper.php deleted file mode 100644 index ed5f2393d..000000000 --- a/tests/_support/AcceptanceHelper.php +++ /dev/null @@ -1,10 +0,0 @@ -driver->getDbh(); + if (!$dbh) { + throw new ModuleConfigException( + __CLASS__, + "No connection to database. Remove this module from config if you don't need database repopulation" + ); + } + + try { + $this->driver->cleanup(); + } catch (\Exception $e) { + throw new ModuleException(__CLASS__, $e->getMessage()); + } + } +} diff --git a/tests/_support/FunctionalHelper.php b/tests/_support/FunctionalHelper.php deleted file mode 100644 index 00207a24b..000000000 --- a/tests/_support/FunctionalHelper.php +++ /dev/null @@ -1,10 +0,0 @@ -setHeader('X-Requested-With', 'Codeception'); - * $I->amOnPage('test-headers.php'); - * ?> - * ``` - * - * @param string $name the name of the request header - * @param string $value the value to set it to for subsequent - * requests - * @see \Codeception\Module\PhpBrowser::setHeader() - */ - public function setHeader($name, $value) { - return $this->scenario->runStep(new \Codeception\Step\Action('setHeader', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Deletes the header with the passed name. Subsequent requests - * will not have the deleted header in its request. - * - * Example: - * ```php - * setHeader('X-Requested-With', 'Codeception'); - * $I->amOnPage('test-headers.php'); - * // ... - * $I->deleteHeader('X-Requested-With'); - * $I->amOnPage('some-other-page.php'); - * ?> - * ``` - * - * @param string $name the name of the header to delete. - * @see \Codeception\Module\PhpBrowser::deleteHeader() - */ - public function deleteHeader($name) { - return $this->scenario->runStep(new \Codeception\Step\Action('deleteHeader', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Authenticates user for HTTP_AUTH - * - * @param $username - * @param $password - * @see \Codeception\Module\PhpBrowser::amHttpAuthenticated() - */ - public function amHttpAuthenticated($username, $password) { - return $this->scenario->runStep(new \Codeception\Step\Condition('amHttpAuthenticated', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Opens the page for the given relative URI. - * - * ``` php - * amOnPage('/'); - * // opens /register page - * $I->amOnPage('/register'); - * ?> - * ``` - * - * @param $page - * @see \Codeception\Module\PhpBrowser::amOnPage() - */ - public function amOnPage($page) { - return $this->scenario->runStep(new \Codeception\Step\Condition('amOnPage', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Open web page at the given absolute URL and sets its hostname as the base host. - * - * ``` php - * amOnUrl('http://codeception.com'); - * $I->amOnPage('/quickstart'); // moves to http://codeception.com/quickstart - * ?> - * ``` - * @see \Codeception\Module\PhpBrowser::amOnUrl() - */ - public function amOnUrl($url) { - return $this->scenario->runStep(new \Codeception\Step\Condition('amOnUrl', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Changes the subdomain for the 'url' configuration parameter. - * Does not open a page; use `amOnPage` for that. - * - * ``` php - * amOnSubdomain('user'); - * $I->amOnPage('/'); - * // moves to http://user.mysite.com/ - * ?> - * ``` - * - * @param $subdomain - * - * @return mixed - * @see \Codeception\Module\PhpBrowser::amOnSubdomain() - */ - public function amOnSubdomain($subdomain) { - return $this->scenario->runStep(new \Codeception\Step\Condition('amOnSubdomain', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Low-level API method. - * If Codeception commands are not enough, use [Guzzle HTTP Client](http://guzzlephp.org/) methods directly - * - * Example: - * - * ``` php - * executeInGuzzle(function (\GuzzleHttp\Client $client) { - * $client->get('/get', ['query' => ['foo' => 'bar']]); - * }); - * ?> - * ``` - * - * It is not recommended to use this command on a regular basis. - * If Codeception lacks important Guzzle Client methods, implement them and submit patches. - * - * @param callable $function - * @see \Codeception\Module\PhpBrowser::executeInGuzzle() - */ - public function executeInGuzzle($function) { - return $this->scenario->runStep(new \Codeception\Step\Action('executeInGuzzle', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Perform a click on a link or a button, given by a locator. - * If a fuzzy locator is given, the page will be searched for a button, link, or image matching the locator string. - * For buttons, the "value" attribute, "name" attribute, and inner text are searched. - * For links, the link text is searched. - * For images, the "alt" attribute and inner text of any parent links are searched. - * - * The second parameter is a context (CSS or XPath locator) to narrow the search. - * - * Note that if the locator matches a button of type `submit`, the form will be submitted. - * - * ``` php - * click('Logout'); - * // button of form - * $I->click('Submit'); - * // CSS button - * $I->click('#form input[type=submit]'); - * // XPath - * $I->click('//form/*[@type=submit]'); - * // link in context - * $I->click('Logout', '#nav'); - * // using strict locator - * $I->click(['link' => 'Login']); - * ?> - * ``` - * - * @param $link - * @param $context - * @see \Codeception\Lib\InnerBrowser::click() - */ - public function click($link, $context = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('click', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current page contains the given string. - * Specify a locator as the second parameter to match a specific region. - * - * ``` php - * see('Logout'); // I can suppose user is logged in - * $I->see('Sign Up','h1'); // I can suppose it's a signup page - * $I->see('Sign Up','//body/h1'); // with XPath - * ?> - * ``` - * - * @param $text - * @param null $selector - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::see() - */ - public function canSee($text, $selector = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('see', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current page contains the given string. - * Specify a locator as the second parameter to match a specific region. - * - * ``` php - * see('Logout'); // I can suppose user is logged in - * $I->see('Sign Up','h1'); // I can suppose it's a signup page - * $I->see('Sign Up','//body/h1'); // with XPath - * ?> - * ``` - * - * @param $text - * @param null $selector - * @see \Codeception\Lib\InnerBrowser::see() - */ - public function see($text, $selector = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('see', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current page doesn't contain the text specified. - * Give a locator as the second parameter to match a specific region. - * - * ```php - * dontSee('Login'); // I can suppose user is already logged in - * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page - * $I->dontSee('Sign Up','//body/h1'); // with XPath - * ?> - * ``` - * - * @param $text - * @param null $selector - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSee() - */ - public function cantSee($text, $selector = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSee', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current page doesn't contain the text specified. - * Give a locator as the second parameter to match a specific region. - * - * ```php - * dontSee('Login'); // I can suppose user is already logged in - * $I->dontSee('Sign Up','h1'); // I can suppose it's not a signup page - * $I->dontSee('Sign Up','//body/h1'); // with XPath - * ?> - * ``` - * - * @param $text - * @param null $selector - * @see \Codeception\Lib\InnerBrowser::dontSee() - */ - public function dontSee($text, $selector = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSee', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that there's a link with the specified text. - * Give a full URL as the second parameter to match links with that exact URL. - * - * ``` php - * seeLink('Logout'); // matches Logout - * $I->seeLink('Logout','/logout'); // matches Logout - * ?> - * ``` - * - * @param $text - * @param null $url - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeLink() - */ - public function canSeeLink($text, $url = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeLink', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that there's a link with the specified text. - * Give a full URL as the second parameter to match links with that exact URL. - * - * ``` php - * seeLink('Logout'); // matches Logout - * $I->seeLink('Logout','/logout'); // matches Logout - * ?> - * ``` - * - * @param $text - * @param null $url - * @see \Codeception\Lib\InnerBrowser::seeLink() - */ - public function seeLink($text, $url = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeLink', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the page doesn't contain a link with the given string. - * If the second parameter is given, only links with a matching "href" attribute will be checked. - * - * ``` php - * dontSeeLink('Logout'); // I suppose user is not logged in - * $I->dontSeeLink('Checkout now', '/store/cart.php'); - * ?> - * ``` - * - * @param $text - * @param null $url - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeLink() - */ - public function cantSeeLink($text, $url = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeLink', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the page doesn't contain a link with the given string. - * If the second parameter is given, only links with a matching "href" attribute will be checked. - * - * ``` php - * dontSeeLink('Logout'); // I suppose user is not logged in - * $I->dontSeeLink('Checkout now', '/store/cart.php'); - * ?> - * ``` - * - * @param $text - * @param null $url - * @see \Codeception\Lib\InnerBrowser::dontSeeLink() - */ - public function dontSeeLink($text, $url = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeLink', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that current URI contains the given string. - * - * ``` php - * seeInCurrentUrl('home'); - * // to match: /users/1 - * $I->seeInCurrentUrl('/users/'); - * ?> - * ``` - * - * @param $uri - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeInCurrentUrl() - */ - public function canSeeInCurrentUrl($uri) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInCurrentUrl', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that current URI contains the given string. - * - * ``` php - * seeInCurrentUrl('home'); - * // to match: /users/1 - * $I->seeInCurrentUrl('/users/'); - * ?> - * ``` - * - * @param $uri - * @see \Codeception\Lib\InnerBrowser::seeInCurrentUrl() - */ - public function seeInCurrentUrl($uri) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInCurrentUrl', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URI doesn't contain the given string. - * - * ``` php - * dontSeeInCurrentUrl('/users/'); - * ?> - * ``` - * - * @param $uri - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeInCurrentUrl() - */ - public function cantSeeInCurrentUrl($uri) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInCurrentUrl', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URI doesn't contain the given string. - * - * ``` php - * dontSeeInCurrentUrl('/users/'); - * ?> - * ``` - * - * @param $uri - * @see \Codeception\Lib\InnerBrowser::dontSeeInCurrentUrl() - */ - public function dontSeeInCurrentUrl($uri) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInCurrentUrl', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URL is equal to the given string. - * Unlike `seeInCurrentUrl`, this only matches the full URL. - * - * ``` php - * seeCurrentUrlEquals('/'); - * ?> - * ``` - * - * @param $uri - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlEquals() - */ - public function canSeeCurrentUrlEquals($uri) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlEquals', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URL is equal to the given string. - * Unlike `seeInCurrentUrl`, this only matches the full URL. - * - * ``` php - * seeCurrentUrlEquals('/'); - * ?> - * ``` - * - * @param $uri - * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlEquals() - */ - public function seeCurrentUrlEquals($uri) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCurrentUrlEquals', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URL doesn't equal the given string. - * Unlike `dontSeeInCurrentUrl`, this only matches the full URL. - * - * ``` php - * dontSeeCurrentUrlEquals('/'); - * ?> - * ``` - * - * @param $uri - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlEquals() - */ - public function cantSeeCurrentUrlEquals($uri) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlEquals', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URL doesn't equal the given string. - * Unlike `dontSeeInCurrentUrl`, this only matches the full URL. - * - * ``` php - * dontSeeCurrentUrlEquals('/'); - * ?> - * ``` - * - * @param $uri - * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlEquals() - */ - public function dontSeeCurrentUrlEquals($uri) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlEquals', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URL matches the given regular expression. - * - * ``` php - * seeCurrentUrlMatches('~$/users/(\d+)~'); - * ?> - * ``` - * - * @param $uri - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlMatches() - */ - public function canSeeCurrentUrlMatches($uri) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCurrentUrlMatches', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the current URL matches the given regular expression. - * - * ``` php - * seeCurrentUrlMatches('~$/users/(\d+)~'); - * ?> - * ``` - * - * @param $uri - * @see \Codeception\Lib\InnerBrowser::seeCurrentUrlMatches() - */ - public function seeCurrentUrlMatches($uri) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCurrentUrlMatches', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that current url doesn't match the given regular expression. - * - * ``` php - * dontSeeCurrentUrlMatches('~$/users/(\d+)~'); - * ?> - * ``` - * - * @param $uri - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlMatches() - */ - public function cantSeeCurrentUrlMatches($uri) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCurrentUrlMatches', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that current url doesn't match the given regular expression. - * - * ``` php - * dontSeeCurrentUrlMatches('~$/users/(\d+)~'); - * ?> - * ``` - * - * @param $uri - * @see \Codeception\Lib\InnerBrowser::dontSeeCurrentUrlMatches() - */ - public function dontSeeCurrentUrlMatches($uri) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCurrentUrlMatches', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Executes the given regular expression against the current URI and returns the first match. - * If no parameters are provided, the full URI is returned. - * - * ``` php - * grabFromCurrentUrl('~$/user/(\d+)/~'); - * $uri = $I->grabFromCurrentUrl(); - * ?> - * ``` - * - * @param null $uri - * - * @internal param $url - * @return mixed - * @see \Codeception\Lib\InnerBrowser::grabFromCurrentUrl() - */ - public function grabFromCurrentUrl($uri = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('grabFromCurrentUrl', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the specified checkbox is checked. - * - * ``` php - * seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms - * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form. - * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]'); - * ?> - * ``` - * - * @param $checkbox - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeCheckboxIsChecked() - */ - public function canSeeCheckboxIsChecked($checkbox) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCheckboxIsChecked', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the specified checkbox is checked. - * - * ``` php - * seeCheckboxIsChecked('#agree'); // I suppose user agreed to terms - * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user agreed to terms, If there is only one checkbox in form. - * $I->seeCheckboxIsChecked('//form/input[@type=checkbox and @name=agree]'); - * ?> - * ``` - * - * @param $checkbox - * @see \Codeception\Lib\InnerBrowser::seeCheckboxIsChecked() - */ - public function seeCheckboxIsChecked($checkbox) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCheckboxIsChecked', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Check that the specified checkbox is unchecked. - * - * ``` php - * dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms - * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form. - * ?> - * ``` - * - * @param $checkbox - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeCheckboxIsChecked() - */ - public function cantSeeCheckboxIsChecked($checkbox) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCheckboxIsChecked', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Check that the specified checkbox is unchecked. - * - * ``` php - * dontSeeCheckboxIsChecked('#agree'); // I suppose user didn't agree to terms - * $I->seeCheckboxIsChecked('#signup_form input[type=checkbox]'); // I suppose user didn't check the first checkbox in form. - * ?> - * ``` - * - * @param $checkbox - * @see \Codeception\Lib\InnerBrowser::dontSeeCheckboxIsChecked() - */ - public function dontSeeCheckboxIsChecked($checkbox) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCheckboxIsChecked', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given input field or textarea contains the given value. - * For fuzzy locators, fields are matched by label text, the "name" attribute, CSS, and XPath. - * - * ``` php - * seeInField('Body','Type your comment here'); - * $I->seeInField('form textarea[name=body]','Type your comment here'); - * $I->seeInField('form input[type=hidden]','hidden_value'); - * $I->seeInField('#searchform input','Search'); - * $I->seeInField('//form/*[@name=search]','Search'); - * $I->seeInField(['name' => 'search'], 'Search'); - * ?> - * ``` - * - * @param $field - * @param $value - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeInField() - */ - public function canSeeInField($field, $value) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInField', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given input field or textarea contains the given value. - * For fuzzy locators, fields are matched by label text, the "name" attribute, CSS, and XPath. - * - * ``` php - * seeInField('Body','Type your comment here'); - * $I->seeInField('form textarea[name=body]','Type your comment here'); - * $I->seeInField('form input[type=hidden]','hidden_value'); - * $I->seeInField('#searchform input','Search'); - * $I->seeInField('//form/*[@name=search]','Search'); - * $I->seeInField(['name' => 'search'], 'Search'); - * ?> - * ``` - * - * @param $field - * @param $value - * @see \Codeception\Lib\InnerBrowser::seeInField() - */ - public function seeInField($field, $value) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInField', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that an input field or textarea doesn't contain the given value. - * For fuzzy locators, the field is matched by label text, CSS and XPath. - * - * ``` php - * dontSeeInField('Body','Type your comment here'); - * $I->dontSeeInField('form textarea[name=body]','Type your comment here'); - * $I->dontSeeInField('form input[type=hidden]','hidden_value'); - * $I->dontSeeInField('#searchform input','Search'); - * $I->dontSeeInField('//form/*[@name=search]','Search'); - * $I->dontSeeInField(['name' => 'search'], 'Search'); - * ?> - * ``` - * - * @param $field - * @param $value - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeInField() - */ - public function cantSeeInField($field, $value) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInField', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that an input field or textarea doesn't contain the given value. - * For fuzzy locators, the field is matched by label text, CSS and XPath. - * - * ``` php - * dontSeeInField('Body','Type your comment here'); - * $I->dontSeeInField('form textarea[name=body]','Type your comment here'); - * $I->dontSeeInField('form input[type=hidden]','hidden_value'); - * $I->dontSeeInField('#searchform input','Search'); - * $I->dontSeeInField('//form/*[@name=search]','Search'); - * $I->dontSeeInField(['name' => 'search'], 'Search'); - * ?> - * ``` - * - * @param $field - * @param $value - * @see \Codeception\Lib\InnerBrowser::dontSeeInField() - */ - public function dontSeeInField($field, $value) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInField', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if the array of form parameters (name => value) are set on the form matched with the - * passed selector. - * - * ``` php - * seeInFormFields('form[name=myform]', [ - * 'input1' => 'value', - * 'input2' => 'other value', - * ]); - * ?> - * ``` - * - * For multi-select elements, or to check values of multiple elements with the same name, an - * array may be passed: - * - * ``` php - * seeInFormFields('.form-class', [ - * 'multiselect' => [ - * 'value1', - * 'value2', - * ], - * 'checkbox[]' => [ - * 'a checked value', - * 'another checked value', - * ], - * ]); - * ?> - * ``` - * - * Additionally, checkbox values can be checked with a boolean. - * - * ``` php - * seeInFormFields('#form-id', [ - * 'checkbox1' => true, // passes if checked - * 'checkbox2' => false, // passes if unchecked - * ]); - * ?> - * ``` - * - * Pair this with submitForm for quick testing magic. - * - * ``` php - * 'value', - * 'field2' => 'another value', - * 'checkbox1' => true, - * // ... - * ]; - * $I->submitForm('//form[@id=my-form]', $form, 'submitButton'); - * // $I->amOnPage('/path/to/form-page') may be needed - * $I->seeInFormFields('//form[@id=my-form]', $form); - * ?> - * ``` - * - * @param $formSelector - * @param $params - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeInFormFields() - */ - public function canSeeInFormFields($formSelector, $params) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInFormFields', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if the array of form parameters (name => value) are set on the form matched with the - * passed selector. - * - * ``` php - * seeInFormFields('form[name=myform]', [ - * 'input1' => 'value', - * 'input2' => 'other value', - * ]); - * ?> - * ``` - * - * For multi-select elements, or to check values of multiple elements with the same name, an - * array may be passed: - * - * ``` php - * seeInFormFields('.form-class', [ - * 'multiselect' => [ - * 'value1', - * 'value2', - * ], - * 'checkbox[]' => [ - * 'a checked value', - * 'another checked value', - * ], - * ]); - * ?> - * ``` - * - * Additionally, checkbox values can be checked with a boolean. - * - * ``` php - * seeInFormFields('#form-id', [ - * 'checkbox1' => true, // passes if checked - * 'checkbox2' => false, // passes if unchecked - * ]); - * ?> - * ``` - * - * Pair this with submitForm for quick testing magic. - * - * ``` php - * 'value', - * 'field2' => 'another value', - * 'checkbox1' => true, - * // ... - * ]; - * $I->submitForm('//form[@id=my-form]', $form, 'submitButton'); - * // $I->amOnPage('/path/to/form-page') may be needed - * $I->seeInFormFields('//form[@id=my-form]', $form); - * ?> - * ``` - * - * @param $formSelector - * @param $params - * @see \Codeception\Lib\InnerBrowser::seeInFormFields() - */ - public function seeInFormFields($formSelector, $params) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInFormFields', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if the array of form parameters (name => value) are not set on the form matched with - * the passed selector. - * - * ``` php - * dontSeeInFormFields('form[name=myform]', [ - * 'input1' => 'non-existent value', - * 'input2' => 'other non-existent value', - * ]); - * ?> - * ``` - * - * To check that an element hasn't been assigned any one of many values, an array can be passed - * as the value: - * - * ``` php - * dontSeeInFormFields('.form-class', [ - * 'fieldName' => [ - * 'This value shouldn\'t be set', - * 'And this value shouldn\'t be set', - * ], - * ]); - * ?> - * ``` - * - * Additionally, checkbox values can be checked with a boolean. - * - * ``` php - * dontSeeInFormFields('#form-id', [ - * 'checkbox1' => true, // fails if checked - * 'checkbox2' => false, // fails if unchecked - * ]); - * ?> - * ``` - * - * @param $formSelector - * @param $params - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeInFormFields() - */ - public function cantSeeInFormFields($formSelector, $params) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInFormFields', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if the array of form parameters (name => value) are not set on the form matched with - * the passed selector. - * - * ``` php - * dontSeeInFormFields('form[name=myform]', [ - * 'input1' => 'non-existent value', - * 'input2' => 'other non-existent value', - * ]); - * ?> - * ``` - * - * To check that an element hasn't been assigned any one of many values, an array can be passed - * as the value: - * - * ``` php - * dontSeeInFormFields('.form-class', [ - * 'fieldName' => [ - * 'This value shouldn\'t be set', - * 'And this value shouldn\'t be set', - * ], - * ]); - * ?> - * ``` - * - * Additionally, checkbox values can be checked with a boolean. - * - * ``` php - * dontSeeInFormFields('#form-id', [ - * 'checkbox1' => true, // fails if checked - * 'checkbox2' => false, // fails if unchecked - * ]); - * ?> - * ``` - * - * @param $formSelector - * @param $params - * @see \Codeception\Lib\InnerBrowser::dontSeeInFormFields() - */ - public function dontSeeInFormFields($formSelector, $params) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInFormFields', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Submits the given form on the page, optionally with the given form values. - * Give the form fields values as an array. - * - * Skipped fields will be filled by their values from the page. - * You don't need to click the 'Submit' button afterwards. - * This command itself triggers the request to form's action. - * - * You can optionally specify what button's value to include - * in the request with the last parameter as an alternative to - * explicitly setting its value in the second parameter, as - * button values are not otherwise included in the request. - * - * Examples: - * - * ``` php - * submitForm('#login', array('login' => 'davert', 'password' => '123456')); - * // or - * $I->submitForm('#login', array('login' => 'davert', 'password' => '123456'), 'submitButtonName'); - * - * ``` - * - * For example, given this sample "Sign Up" form: - * - * ``` html - *
    - * Login:
    - * Password:
    - * Do you agree to out terms?
    - * Select pricing plan - * - *
    - * ``` - * - * You could write the following to submit it: - * - * ``` php - * submitForm('#userForm', array('user' => array('login' => 'Davert', 'password' => '123456', 'agree' => true)), 'submitButton'); - * - * ``` - * Note that "2" will be the submitted value for the "plan" field, as it is the selected option. - * - * You can also emulate a JavaScript submission by not specifying any buttons in the third parameter to submitForm. - * - * ```php - * submitForm('#userForm', array('user' => array('login' => 'Davert', 'password' => '123456', 'agree' => true))); - * - * ``` - * - * Pair this with seeInFormFields for quick testing magic. - * - * ``` php - * 'value', - * 'field2' => 'another value', - * 'checkbox1' => true, - * // ... - * ]; - * $I->submitForm('//form[@id=my-form]', $form, 'submitButton'); - * // $I->amOnPage('/path/to/form-page') may be needed - * $I->seeInFormFields('//form[@id=my-form]', $form); - * ?> - * ``` - * - * Parameter values can be set to arrays for multiple input fields - * of the same name, or multi-select combo boxes. For checkboxes, - * either the string value can be used, or boolean values which will - * be replaced by the checkbox's value in the DOM. - * - * ``` php - * submitForm('#my-form', [ - * 'field1' => 'value', - * 'checkbox' => [ - * 'value of first checkbox', - * 'value of second checkbox, - * ], - * 'otherCheckboxes' => [ - * true, - * false, - * false - * ], - * 'multiselect' => [ - * 'first option value', - * 'second option value' - * ] - * ]); - * ?> - * ``` - * - * Mixing string and boolean values for a checkbox's value is not - * supported and may produce unexpected results. - * - * @param $selector - * @param $params - * @param $button - * @see \Codeception\Lib\InnerBrowser::submitForm() - */ - public function submitForm($selector, $params, $button = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('submitForm', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Fills a text field or textarea with the given string. - * - * ``` php - * fillField("//input[@type='text']", "Hello World!"); - * $I->fillField(['name' => 'email'], 'jon@mail.com'); - * ?> - * ``` - * - * @param $field - * @param $value - * @see \Codeception\Lib\InnerBrowser::fillField() - */ - public function fillField($field, $value) { - return $this->scenario->runStep(new \Codeception\Step\Action('fillField', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Selects an option in a select tag or in radio button group. - * - * ``` php - * selectOption('form select[name=account]', 'Premium'); - * $I->selectOption('form input[name=payment]', 'Monthly'); - * $I->selectOption('//form/select[@name=account]', 'Monthly'); - * ?> - * ``` - * - * Provide an array for the second argument to select multiple options: - * - * ``` php - * selectOption('Which OS do you use?', array('Windows','Linux')); - * ?> - * ``` - * - * @param $select - * @param $option - * @see \Codeception\Lib\InnerBrowser::selectOption() - */ - public function selectOption($select, $option) { - return $this->scenario->runStep(new \Codeception\Step\Action('selectOption', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Ticks a checkbox. For radio buttons, use the `selectOption` method instead. - * - * ``` php - * checkOption('#agree'); - * ?> - * ``` - * - * @param $option - * @see \Codeception\Lib\InnerBrowser::checkOption() - */ - public function checkOption($option) { - return $this->scenario->runStep(new \Codeception\Step\Action('checkOption', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Unticks a checkbox. - * - * ``` php - * uncheckOption('#notify'); - * ?> - * ``` - * - * @param $option - * @see \Codeception\Lib\InnerBrowser::uncheckOption() - */ - public function uncheckOption($option) { - return $this->scenario->runStep(new \Codeception\Step\Action('uncheckOption', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Attaches a file relative to the Codeception data directory to the given file upload field. - * - * ``` php - * attachFile('input[@type="file"]', 'prices.xls'); - * ?> - * ``` - * - * @param $field - * @param $filename - * @see \Codeception\Lib\InnerBrowser::attachFile() - */ - public function attachFile($field, $filename) { - return $this->scenario->runStep(new \Codeception\Step\Action('attachFile', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * If your page triggers an ajax request, you can perform it manually. - * This action sends a GET ajax request with specified params. - * - * See ->sendAjaxPostRequest for examples. - * - * @param $uri - * @param $params - * @see \Codeception\Lib\InnerBrowser::sendAjaxGetRequest() - */ - public function sendAjaxGetRequest($uri, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('sendAjaxGetRequest', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * If your page triggers an ajax request, you can perform it manually. - * This action sends a POST ajax request with specified params. - * Additional params can be passed as array. - * - * Example: - * - * Imagine that by clicking checkbox you trigger ajax request which updates user settings. - * We emulate that click by running this ajax request manually. - * - * ``` php - * sendAjaxPostRequest('/updateSettings', array('notifications' => true)); // POST - * $I->sendAjaxGetRequest('/updateSettings', array('notifications' => true)); // GET - * - * ``` - * - * @param $uri - * @param $params - * @see \Codeception\Lib\InnerBrowser::sendAjaxPostRequest() - */ - public function sendAjaxPostRequest($uri, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('sendAjaxPostRequest', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * If your page triggers an ajax request, you can perform it manually. - * This action sends an ajax request with specified method and params. - * - * Example: - * - * You need to perform an ajax request specifying the HTTP method. - * - * ``` php - * sendAjaxRequest('PUT', '/posts/7', array('title' => 'new title')); - * - * ``` - * - * @param $method - * @param $uri - * @param $params - * @see \Codeception\Lib\InnerBrowser::sendAjaxRequest() - */ - public function sendAjaxRequest($method, $uri, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('sendAjaxRequest', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Finds and returns the text contents of the given element. - * If a fuzzy locator is used, the element is found using CSS, XPath, and by matching the full page source by regular expression. - * - * ``` php - * grabTextFrom('h1'); - * $heading = $I->grabTextFrom('descendant-or-self::h1'); - * $value = $I->grabTextFrom('~ - * ``` - * - * @param $cssOrXPathOrRegex - * - * @return mixed - * @see \Codeception\Lib\InnerBrowser::grabTextFrom() - */ - public function grabTextFrom($cssOrXPathOrRegex) { - return $this->scenario->runStep(new \Codeception\Step\Action('grabTextFrom', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Grabs the value of the given attribute value from the given element. - * Fails if element is not found. - * - * ``` php - * grabAttributeFrom('#tooltip', 'title'); - * ?> - * ``` - * - * - * @param $cssOrXpath - * @param $attribute - * @internal param $element - * @return mixed - * @see \Codeception\Lib\InnerBrowser::grabAttributeFrom() - */ - public function grabAttributeFrom($cssOrXpath, $attribute) { - return $this->scenario->runStep(new \Codeception\Step\Action('grabAttributeFrom', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * @param $field - * - * @return array|mixed|null|string - * @see \Codeception\Lib\InnerBrowser::grabValueFrom() - */ - public function grabValueFrom($field) { - return $this->scenario->runStep(new \Codeception\Step\Action('grabValueFrom', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Sets a cookie with the given name and value. - * You can set additional cookie params like `domain`, `path`, `expire`, `secure` in array passed as last argument. - * - * ``` php - * setCookie('PHPSESSID', 'el4ukv0kqbvoirg7nkp4dncpk3'); - * ?> - * ``` - * - * @param $name - * @param $val - * @param array $params - * @internal param $cookie - * @internal param $value - * - * @return mixed - * @see \Codeception\Lib\InnerBrowser::setCookie() - */ - public function setCookie($name, $val, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('setCookie', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Grabs a cookie value. - * You can set additional cookie params like `domain`, `path` in array passed as last argument. - * - * @param $cookie - * - * @param array $params - * @return mixed - * @see \Codeception\Lib\InnerBrowser::grabCookie() - */ - public function grabCookie($name, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('grabCookie', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that a cookie with the given name is set. - * You can set additional cookie params like `domain`, `path` as array passed in last argument. - * - * ``` php - * seeCookie('PHPSESSID'); - * ?> - * ``` - * - * @param $cookie - * @param array $params - * @return mixed - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeCookie() - */ - public function canSeeCookie($name, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeCookie', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that a cookie with the given name is set. - * You can set additional cookie params like `domain`, `path` as array passed in last argument. - * - * ``` php - * seeCookie('PHPSESSID'); - * ?> - * ``` - * - * @param $cookie - * @param array $params - * @return mixed - * @see \Codeception\Lib\InnerBrowser::seeCookie() - */ - public function seeCookie($name, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeCookie', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that there isn't a cookie with the given name. - * You can set additional cookie params like `domain`, `path` as array passed in last argument. - * - * @param $cookie - * - * @param array $params - * @return mixed - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeCookie() - */ - public function cantSeeCookie($name, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeCookie', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that there isn't a cookie with the given name. - * You can set additional cookie params like `domain`, `path` as array passed in last argument. - * - * @param $cookie - * - * @param array $params - * @return mixed - * @see \Codeception\Lib\InnerBrowser::dontSeeCookie() - */ - public function dontSeeCookie($name, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeCookie', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Unsets cookie with the given name. - * You can set additional cookie params like `domain`, `path` in array passed as last argument. - * - * @param $cookie - * - * @param array $params - * @return mixed - * @see \Codeception\Lib\InnerBrowser::resetCookie() - */ - public function resetCookie($name, $params = null) { - return $this->scenario->runStep(new \Codeception\Step\Action('resetCookie', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given element exists on the page and is visible. - * You can also specify expected attributes of this element. - * - * ``` php - * seeElement('.error'); - * $I->seeElement('//form/input[1]'); - * $I->seeElement('input', ['name' => 'login']); - * $I->seeElement('input', ['value' => '123456']); - * - * // strict locator in first arg, attributes in second - * $I->seeElement(['css' => 'form input'], ['name' => 'login']); - * ?> - * ``` - * - * @param $selector - * @param array $attributes - * @return - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeElement() - */ - public function canSeeElement($selector, $attributes = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeElement', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given element exists on the page and is visible. - * You can also specify expected attributes of this element. - * - * ``` php - * seeElement('.error'); - * $I->seeElement('//form/input[1]'); - * $I->seeElement('input', ['name' => 'login']); - * $I->seeElement('input', ['value' => '123456']); - * - * // strict locator in first arg, attributes in second - * $I->seeElement(['css' => 'form input'], ['name' => 'login']); - * ?> - * ``` - * - * @param $selector - * @param array $attributes - * @return - * @see \Codeception\Lib\InnerBrowser::seeElement() - */ - public function seeElement($selector, $attributes = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeElement', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given element is invisible or not present on the page. - * You can also specify expected attributes of this element. - * - * ``` php - * dontSeeElement('.error'); - * $I->dontSeeElement('//form/input[1]'); - * $I->dontSeeElement('input', ['name' => 'login']); - * $I->dontSeeElement('input', ['value' => '123456']); - * ?> - * ``` - * - * @param $selector - * @param array $attributes - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeElement() - */ - public function cantSeeElement($selector, $attributes = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeElement', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given element is invisible or not present on the page. - * You can also specify expected attributes of this element. - * - * ``` php - * dontSeeElement('.error'); - * $I->dontSeeElement('//form/input[1]'); - * $I->dontSeeElement('input', ['name' => 'login']); - * $I->dontSeeElement('input', ['value' => '123456']); - * ?> - * ``` - * - * @param $selector - * @param array $attributes - * @see \Codeception\Lib\InnerBrowser::dontSeeElement() - */ - public function dontSeeElement($selector, $attributes = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeElement', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that there are a certain number of elements matched by the given locator on the page. - * - * ``` php - * seeNumberOfElements('tr', 10); - * $I->seeNumberOfElements('tr', [0,10]); //between 0 and 10 elements - * ?> - * ``` - * @param $selector - * @param mixed $expected: - * - string: strict number - * - array: range of numbers [0,10] - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeNumberOfElements() - */ - public function canSeeNumberOfElements($selector, $expected) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeNumberOfElements', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that there are a certain number of elements matched by the given locator on the page. - * - * ``` php - * seeNumberOfElements('tr', 10); - * $I->seeNumberOfElements('tr', [0,10]); //between 0 and 10 elements - * ?> - * ``` - * @param $selector - * @param mixed $expected: - * - string: strict number - * - array: range of numbers [0,10] - * @see \Codeception\Lib\InnerBrowser::seeNumberOfElements() - */ - public function seeNumberOfElements($selector, $expected) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeNumberOfElements', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given option is selected. - * - * ``` php - * seeOptionIsSelected('#form input[name=payment]', 'Visa'); - * ?> - * ``` - * - * @param $selector - * @param $optionText - * - * @return mixed - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected() - */ - public function canSeeOptionIsSelected($select, $optionText) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeOptionIsSelected', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given option is selected. - * - * ``` php - * seeOptionIsSelected('#form input[name=payment]', 'Visa'); - * ?> - * ``` - * - * @param $selector - * @param $optionText - * - * @return mixed - * @see \Codeception\Lib\InnerBrowser::seeOptionIsSelected() - */ - public function seeOptionIsSelected($select, $optionText) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeOptionIsSelected', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given option is not selected. - * - * ``` php - * dontSeeOptionIsSelected('#form input[name=payment]', 'Visa'); - * ?> - * ``` - * - * @param $selector - * @param $optionText - * - * @return mixed - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected() - */ - public function cantSeeOptionIsSelected($select, $optionText) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeOptionIsSelected', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the given option is not selected. - * - * ``` php - * dontSeeOptionIsSelected('#form input[name=payment]', 'Visa'); - * ?> - * ``` - * - * @param $selector - * @param $optionText - * - * @return mixed - * @see \Codeception\Lib\InnerBrowser::dontSeeOptionIsSelected() - */ - public function dontSeeOptionIsSelected($select, $optionText) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeOptionIsSelected', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Asserts that current page has 404 response status code. - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seePageNotFound() - */ - public function canSeePageNotFound() { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seePageNotFound', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Asserts that current page has 404 response status code. - * @see \Codeception\Lib\InnerBrowser::seePageNotFound() - */ - public function seePageNotFound() { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seePageNotFound', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that response code is equal to value provided. - * - * @param $code - * - * @return mixed - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIs() - */ - public function canSeeResponseCodeIs($code) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeResponseCodeIs', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that response code is equal to value provided. - * - * @param $code - * - * @return mixed - * @see \Codeception\Lib\InnerBrowser::seeResponseCodeIs() - */ - public function seeResponseCodeIs($code) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeResponseCodeIs', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the page title contains the given string. - * - * ``` php - * seeInTitle('Blog - Post #1'); - * ?> - * ``` - * - * @param $title - * - * @return mixed - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::seeInTitle() - */ - public function canSeeInTitle($title) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInTitle', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the page title contains the given string. - * - * ``` php - * seeInTitle('Blog - Post #1'); - * ?> - * ``` - * - * @param $title - * - * @return mixed - * @see \Codeception\Lib\InnerBrowser::seeInTitle() - */ - public function seeInTitle($title) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInTitle', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the page title does not contain the given string. - * - * @param $title - * - * @return mixed - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Lib\InnerBrowser::dontSeeInTitle() - */ - public function cantSeeInTitle($title) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInTitle', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks that the page title does not contain the given string. - * - * @param $title - * - * @return mixed - * @see \Codeception\Lib\InnerBrowser::dontSeeInTitle() - */ - public function dontSeeInTitle($title) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInTitle', func_get_args())); - } -} diff --git a/tests/functional.suite.yml b/tests/functional.suite.yml deleted file mode 100644 index 3b17a39dc..000000000 --- a/tests/functional.suite.yml +++ /dev/null @@ -1,9 +0,0 @@ -# Codeception Test Suite Configuration - -# suite for functional (integration) tests. -# emulate web requests and make application process them. -# Include one of framework modules (Symfony2, Yii2, Laravel4) to use it. - -class_name: FunctionalTester -modules: - enabled: [Filesystem, FunctionalHelper] diff --git a/tests/functional/FunctionalTester.php b/tests/functional/FunctionalTester.php deleted file mode 100644 index 881603c17..000000000 --- a/tests/functional/FunctionalTester.php +++ /dev/null @@ -1,360 +0,0 @@ -scenario->runStep(new \Codeception\Step\Condition('amInPath', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Opens a file and stores it's content. - * - * Usage: - * - * ``` php - * openFile('composer.json'); - * $I->seeInThisFile('codeception/codeception'); - * ?> - * ``` - * - * @param $filename - * @see \Codeception\Module\Filesystem::openFile() - */ - public function openFile($filename) { - return $this->scenario->runStep(new \Codeception\Step\Action('openFile', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Deletes a file - * - * ``` php - * deleteFile('composer.lock'); - * ?> - * ``` - * - * @param $filename - * @see \Codeception\Module\Filesystem::deleteFile() - */ - public function deleteFile($filename) { - return $this->scenario->runStep(new \Codeception\Step\Action('deleteFile', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Deletes directory with all subdirectories - * - * ``` php - * deleteDir('vendor'); - * ?> - * ``` - * - * @param $dirname - * @see \Codeception\Module\Filesystem::deleteDir() - */ - public function deleteDir($dirname) { - return $this->scenario->runStep(new \Codeception\Step\Action('deleteDir', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Copies directory with all contents - * - * ``` php - * copyDir('vendor','old_vendor'); - * ?> - * ``` - * - * @param $src - * @param $dst - * @see \Codeception\Module\Filesystem::copyDir() - */ - public function copyDir($src, $dst) { - return $this->scenario->runStep(new \Codeception\Step\Action('copyDir', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks If opened file has `text` in it. - * - * Usage: - * - * ``` php - * openFile('composer.json'); - * $I->seeInThisFile('codeception/codeception'); - * ?> - * ``` - * - * @param $text - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Module\Filesystem::seeInThisFile() - */ - public function canSeeInThisFile($text) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeInThisFile', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks If opened file has `text` in it. - * - * Usage: - * - * ``` php - * openFile('composer.json'); - * $I->seeInThisFile('codeception/codeception'); - * ?> - * ``` - * - * @param $text - * @see \Codeception\Module\Filesystem::seeInThisFile() - */ - public function seeInThisFile($text) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeInThisFile', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks the strict matching of file contents. - * Unlike `seeInThisFile` will fail if file has something more than expected lines. - * Better to use with HEREDOC strings. - * Matching is done after removing "\r" chars from file content. - * - * ``` php - * openFile('process.pid'); - * $I->seeFileContentsEqual('3192'); - * ?> - * ``` - * - * @param $text - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Module\Filesystem::seeFileContentsEqual() - */ - public function canSeeFileContentsEqual($text) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileContentsEqual', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks the strict matching of file contents. - * Unlike `seeInThisFile` will fail if file has something more than expected lines. - * Better to use with HEREDOC strings. - * Matching is done after removing "\r" chars from file content. - * - * ``` php - * openFile('process.pid'); - * $I->seeFileContentsEqual('3192'); - * ?> - * ``` - * - * @param $text - * @see \Codeception\Module\Filesystem::seeFileContentsEqual() - */ - public function seeFileContentsEqual($text) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileContentsEqual', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks If opened file doesn't contain `text` in it - * - * ``` php - * openFile('composer.json'); - * $I->dontSeeInThisFile('codeception/codeception'); - * ?> - * ``` - * - * @param $text - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Module\Filesystem::dontSeeInThisFile() - */ - public function cantSeeInThisFile($text) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeInThisFile', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks If opened file doesn't contain `text` in it - * - * ``` php - * openFile('composer.json'); - * $I->dontSeeInThisFile('codeception/codeception'); - * ?> - * ``` - * - * @param $text - * @see \Codeception\Module\Filesystem::dontSeeInThisFile() - */ - public function dontSeeInThisFile($text) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeInThisFile', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Deletes a file - * @see \Codeception\Module\Filesystem::deleteThisFile() - */ - public function deleteThisFile() { - return $this->scenario->runStep(new \Codeception\Step\Action('deleteThisFile', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if file exists in path. - * Opens a file when it's exists - * - * ``` php - * seeFileFound('UserModel.php','app/models'); - * ?> - * ``` - * - * @param $filename - * @param string $path - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Module\Filesystem::seeFileFound() - */ - public function canSeeFileFound($filename, $path = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('seeFileFound', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if file exists in path. - * Opens a file when it's exists - * - * ``` php - * seeFileFound('UserModel.php','app/models'); - * ?> - * ``` - * - * @param $filename - * @param string $path - * @see \Codeception\Module\Filesystem::seeFileFound() - */ - public function seeFileFound($filename, $path = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('seeFileFound', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if file does not exists in path - * - * @param $filename - * @param string $path - * Conditional Assertion: Test won't be stopped on fail - * @see \Codeception\Module\Filesystem::dontSeeFileFound() - */ - public function cantSeeFileFound($filename, $path = null) { - return $this->scenario->runStep(new \Codeception\Step\ConditionalAssertion('dontSeeFileFound', func_get_args())); - } - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Checks if file does not exists in path - * - * @param $filename - * @param string $path - * @see \Codeception\Module\Filesystem::dontSeeFileFound() - */ - public function dontSeeFileFound($filename, $path = null) { - return $this->scenario->runStep(new \Codeception\Step\Assertion('dontSeeFileFound', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Erases directory contents - * - * ``` php - * cleanDir('logs'); - * ?> - * ``` - * - * @param $dirname - * @see \Codeception\Module\Filesystem::cleanDir() - */ - public function cleanDir($dirname) { - return $this->scenario->runStep(new \Codeception\Step\Action('cleanDir', func_get_args())); - } - - - /** - * [!] Method is generated. Documentation taken from corresponding module. - * - * Saves contents to file - * - * @param $filename - * @param $contents - * @see \Codeception\Module\Filesystem::writeToFile() - */ - public function writeToFile($filename, $contents) { - return $this->scenario->runStep(new \Codeception\Step\Action('writeToFile', func_get_args())); - } -} diff --git a/tests/functional/_bootstrap.php b/tests/functional/_bootstrap.php deleted file mode 100644 index 8a8855580..000000000 --- a/tests/functional/_bootstrap.php +++ /dev/null @@ -1,2 +0,0 @@ -installTester = $I; - } - - /** - * @return installPage - */ - public static function of(InstallTester $I) - { - return new static($I); - } -} \ No newline at end of file diff --git a/tests/install/_steps/AdminSteps.php b/tests/install/_steps/AdminSteps.php deleted file mode 100644 index 191c9ba9c..000000000 --- a/tests/install/_steps/AdminSteps.php +++ /dev/null @@ -1,18 +0,0 @@ -loadFile(array('./common/js/common.js', 'head')); $handler->loadFile(array('./common/js/xml_js_filter.js', 'body')); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } else { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $expected[] = array('file' => '/xe/common/js/js_app.js' . $this->_filemtime('common/js/js_app.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/common.js' . $this->_filemtime('common/js/common.js'), 'targetie' => null); $this->assertEquals($handler->getJsFileList(), $expected); @@ -33,7 +38,14 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/jquery.js', 'body')); $handler->loadFile(array('./common/js/xml_js_filter.js', 'head')); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $this->assertEquals($handler->getJsFileList('body'), $expected); }); @@ -42,8 +54,16 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/css/xe.css')); $handler->loadFile(array('./common/css/mobile.css')); - $expected[] = array('file' => '/xe/common/css/xe.css' . $this->_filemtime('common/css/xe.css'), 'media' => 'all', 'targetie' => null); - $expected[] = array('file' => '/xe/common/css/mobile.css' . $this->_filemtime('common/css/mobile.css'), 'media' => 'all', 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/css/xe.css' . $this->_filemtime('common/css/xe.css'), 'media' => 'all', 'targetie' => null); + $expected[] = array('file' => '/xe/common/css/mobile.css' . $this->_filemtime('common/css/mobile.css'), 'media' => 'all', 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/css/xe.min.css' . $this->_filemtime('common/css/xe.min.css'), 'media' => 'all', 'targetie' => null); + $expected[] = array('file' => '/xe/common/css/mobile.min.css' . $this->_filemtime('common/css/mobile.min.css'), 'media' => 'all', 'targetie' => null); + } $this->assertEquals($handler->getCssFileList(), $expected); }); @@ -60,7 +80,14 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/xml_handler.js', 'head', '', -100000)); $handler->loadFile(array('./common/js/xml_js_filter.js', 'head', '', -100000)); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $expected[] = array('file' => '/xe/common/js/js_app.js' . $this->_filemtime('common/js/js_app.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/common.js' . $this->_filemtime('common/js/common.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/xml_handler.js' . $this->_filemtime('common/js/xml_handler.js'), 'targetie' => null); @@ -76,7 +103,14 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/common.js', 'head', '', -100000)); $handler->loadFile(array('./common/js/xml_js_filter.js', 'head', '', -100000)); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => null); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => null); + } $expected[] = array('file' => '/xe/common/js/js_app.js' . $this->_filemtime('common/js/js_app.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/common.js' . $this->_filemtime('common/js/common.js'), 'targetie' => null); $expected[] = array('file' => '/xe/common/js/xml_js_filter.js' . $this->_filemtime('common/js/xml_js_filter.js'), 'targetie' => null); @@ -106,9 +140,41 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $handler->loadFile(array('./common/js/jquery.js', 'head', 'ie7')); $handler->loadFile(array('./common/js/jquery.js', 'head', 'ie8')); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie6'); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie7'); - $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie8'); + if(__DEBUG__ || !__XE_VERSION_STABLE__) + { + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie6'); + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie7'); + $expected[] = array('file' => '/xe/common/js/jquery.js' . $this->_filemtime('common/js/jquery.js'), 'targetie' => 'ie8'); + } + else + { + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => 'ie6'); + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => 'ie7'); + $expected[] = array('file' => '/xe/common/js/jquery.min.js' . $this->_filemtime('common/js/jquery.min.js'), 'targetie' => 'ie8'); + } + $this->assertEquals($handler->getJsFileList(), $expected); + }); + + $this->specify("external file - schemaless", function() { + $handler = new FrontEndFileHandler(); + $handler->loadFile(array('http://external.host/js/script.js')); + $handler->loadFile(array('https://external.host/js/script.js')); + $handler->loadFile(array('//external.host/js/script1.js')); + $handler->loadFile(array('///external.host/js/script2.js')); + + $expected[] = array('file' => 'http://external.host/js/script.js', 'targetie' => null); + $expected[] = array('file' => 'https://external.host/js/script.js', 'targetie' => null); + $expected[] = array('file' => '//external.host/js/script1.js', 'targetie' => null); + $expected[] = array('file' => '//external.host/js/script2.js', 'targetie' => null); + $this->assertEquals($handler->getJsFileList(), $expected); + }); + + $this->specify("external file - schemaless", function() { + $handler = new FrontEndFileHandler(); + $handler->loadFile(array('//external.host/js/script.js')); + $handler->loadFile(array('///external.host/js/script.js')); + + $expected[] = array('file' => '//external.host/js/script.js', 'targetie' => null); $this->assertEquals($handler->getJsFileList(), $expected); }); @@ -146,13 +212,16 @@ class FrontEndFileHandlerTest extends \Codeception\TestCase\Test $this->assertEquals($handler->getCssFileList(), $expected); }); - $this->specify("external file", function() { + $this->specify("external file - schemaless", function() { $handler = new FrontEndFileHandler(); $handler->loadFile(array('//external.host/css/style.css')); + $handler->loadFile(array('///external.host/css2/style2.css')); $expected[] = array('file' => '//external.host/css/style.css', 'media'=>'all', 'targetie' => null); + $expected[] = array('file' => '//external.host/css2/style2.css', 'media'=>'all', 'targetie' => null); $this->assertEquals($handler->getCssFileList(), $expected); }); + } } diff --git a/tests/unit/classes/template/TemplateHandlerTest.php b/tests/unit/classes/template/TemplateHandlerTest.php index 313dcc331..daece9612 100644 --- a/tests/unit/classes/template/TemplateHandlerTest.php +++ b/tests/unit/classes/template/TemplateHandlerTest.php @@ -213,7 +213,7 @@ class TemplateHandlerTest extends \Codeception\TestCase\Test // issue 584 array( 'mobile', - PHP_EOL . 'if($__Context->oBodex->display_extra_images[\'mobile\'] && $__Context->arr_extra && $__Context->arr_extra->bodex->mobile){ ?>mobile' + PHP_EOL . 'if($__Context->oBodex->display_extra_images[\'mobile\'] && $__Context->arr_extra && $__Context->arr_extra->bodex->mobile){ ?>mobile' ), // issue 831 array( @@ -230,6 +230,55 @@ class TemplateHandlerTest extends \Codeception\TestCase\Test '{@ eval(\'$val = $document_srl;\')}', PHP_EOL . 'eval(\'$__Context->val = $__Context->document_srl;\') ?>' ), + // https://github.com/xpressengine/xe-core/issues/1510 + array( + '', + PHP_EOL . 'if($__Context->foo->bar){ ?>' + ), + // https://github.com/xpressengine/xe-core/issues/1510 + array( + 'a!@#$%^&*()_-=[]{}?/', + PHP_EOL . 'if($__Context->foo->bar > 100){ ?>a!@#$%^&*()_-=[]{}?/' + ), + // https://github.com/xpressengine/xe-core/issues/1510 + array( + '', + PHP_EOL . 'if($__Context->foo->bar){ ?>' + ), + // https://github.com/xpressengine/xe-core/issues/1510 + array( + '', + PHP_EOL . 'if(!$__Context->module_info->title){ ?>' + ), + // https://github.com/xpressengine/xe-core/issues/1510 + array( + '', + PHP_EOL . 'if($__Context->mi->title){ ?>mi->use){ ?> class="tmp_class" src="/xe/tests/unit/classes/img/common/blank.gif" />' + ), + array( + ' alt', + '?> foo->bar){ ?>alt' + ), + array( + '' . "\n" . ' alt', + '?>' . PHP_EOL . ' foo->bar){ ?>alt' + ), + array( + 'asf ', + '?>asf ' + ), + array( + '', + '?>' + ), + array( + 'asdf src="../img/img.gif" asdf src asdf src="../img/img.gif" asdf', + '?>asdf src="../img/img.gif" asdf src asdf src="../img/img.gif" asdf' + ), + array( + 'asdf src="../img/img.gif" asdf', + '?>asdf src="../img/img.gif" asdf' + ), ); } diff --git a/tools/dbxml_validator/connect_wrapper.php b/tools/dbxml_validator/connect_wrapper.php index 0d5afda6d..f9ebacf48 100644 --- a/tools/dbxml_validator/connect_wrapper.php +++ b/tools/dbxml_validator/connect_wrapper.php @@ -347,7 +347,7 @@ class DBMysqliConnectWrapper extends DBMysqli */ public function addQuotes($string) { - if(version_compare(PHP_VERSION, "5.9.0", "<") && get_magic_quotes_gpc()) + if(version_compare(PHP_VERSION, "5.4.0", "<") && get_magic_quotes_gpc()) { $string = stripslashes(str_replace("\\", "\\\\", $string)); } diff --git a/widgets/content/skins/default/img/black/lineTextDiv.gif b/widgets/content/skins/default/img/black/lineTextDiv.gif index a573ed164..4acb06c1c 100644 Binary files a/widgets/content/skins/default/img/black/lineTextDiv.gif and b/widgets/content/skins/default/img/black/lineTextDiv.gif differ diff --git a/widgets/content/skins/default/img/white/lineTextDiv.gif b/widgets/content/skins/default/img/white/lineTextDiv.gif index 0fa7654cb..1b7658cc9 100755 Binary files a/widgets/content/skins/default/img/white/lineTextDiv.gif and b/widgets/content/skins/default/img/white/lineTextDiv.gif differ diff --git a/widgets/login_info/skins/xe_global/images/black/bulletFF1A00.gif b/widgets/login_info/skins/xe_global/images/black/bulletFF1A00.gif index 4026f2521..ce2e645c6 100644 Binary files a/widgets/login_info/skins/xe_global/images/black/bulletFF1A00.gif and b/widgets/login_info/skins/xe_global/images/black/bulletFF1A00.gif differ diff --git a/widgets/login_info/skins/xe_global/images/black/vrType1.gif b/widgets/login_info/skins/xe_global/images/black/vrType1.gif index 65772afee..920688d9d 100644 Binary files a/widgets/login_info/skins/xe_global/images/black/vrType1.gif and b/widgets/login_info/skins/xe_global/images/black/vrType1.gif differ diff --git a/widgets/login_info/skins/xe_global/images/default/bu_v1.gif b/widgets/login_info/skins/xe_global/images/default/bu_v1.gif index 6a54d9d4e..03d4b059f 100644 Binary files a/widgets/login_info/skins/xe_global/images/default/bu_v1.gif and b/widgets/login_info/skins/xe_global/images/default/bu_v1.gif differ diff --git a/widgets/login_info/skins/xe_global/images/default/buttonLogin.gif b/widgets/login_info/skins/xe_global/images/default/buttonLogin.gif index 9942ce259..c7edc1632 100644 Binary files a/widgets/login_info/skins/xe_global/images/default/buttonLogin.gif and b/widgets/login_info/skins/xe_global/images/default/buttonLogin.gif differ diff --git a/widgets/login_info/skins/xe_global/images/default/buttonLogout.gif b/widgets/login_info/skins/xe_global/images/default/buttonLogout.gif index 5ba6ac617..6d4a94b8f 100644 Binary files a/widgets/login_info/skins/xe_global/images/default/buttonLogout.gif and b/widgets/login_info/skins/xe_global/images/default/buttonLogout.gif differ diff --git a/widgets/login_info/skins/xe_global/images/none_ssl.png b/widgets/login_info/skins/xe_global/images/none_ssl.png index b7561bfc4..16f2346f7 100644 Binary files a/widgets/login_info/skins/xe_global/images/none_ssl.png and b/widgets/login_info/skins/xe_global/images/none_ssl.png differ diff --git a/widgets/login_info/skins/xe_global/images/openid_login_bg.gif b/widgets/login_info/skins/xe_global/images/openid_login_bg.gif index cde836c89..be47484c5 100644 Binary files a/widgets/login_info/skins/xe_global/images/openid_login_bg.gif and b/widgets/login_info/skins/xe_global/images/openid_login_bg.gif differ diff --git a/widgets/login_info/skins/xe_global/images/ssl.png b/widgets/login_info/skins/xe_global/images/ssl.png index 330eb4e67..112313493 100644 Binary files a/widgets/login_info/skins/xe_global/images/ssl.png and b/widgets/login_info/skins/xe_global/images/ssl.png differ diff --git a/widgets/login_info/skins/xe_global/images/white/bulletFF1A00.gif b/widgets/login_info/skins/xe_global/images/white/bulletFF1A00.gif index 4026f2521..ce2e645c6 100644 Binary files a/widgets/login_info/skins/xe_global/images/white/bulletFF1A00.gif and b/widgets/login_info/skins/xe_global/images/white/bulletFF1A00.gif differ diff --git a/widgets/login_info/skins/xe_global/images/white/buttonLogin.gif b/widgets/login_info/skins/xe_global/images/white/buttonLogin.gif index b7513ba4b..4d366b5cf 100644 Binary files a/widgets/login_info/skins/xe_global/images/white/buttonLogin.gif and b/widgets/login_info/skins/xe_global/images/white/buttonLogin.gif differ diff --git a/widgets/login_info/skins/xe_global/images/white/powerdByZeroboard.gif b/widgets/login_info/skins/xe_global/images/white/powerdByZeroboard.gif index 8be15c8f4..aa327f1f9 100644 Binary files a/widgets/login_info/skins/xe_global/images/white/powerdByZeroboard.gif and b/widgets/login_info/skins/xe_global/images/white/powerdByZeroboard.gif differ diff --git a/widgets/login_info/skins/xe_global/images/white/vrType1.gif b/widgets/login_info/skins/xe_global/images/white/vrType1.gif index e3766aa3b..c5a8e25cd 100644 Binary files a/widgets/login_info/skins/xe_global/images/white/vrType1.gif and b/widgets/login_info/skins/xe_global/images/white/vrType1.gif differ diff --git a/widgets/login_info/skins/xe_globalTwo/images/default/bg_login.gif b/widgets/login_info/skins/xe_globalTwo/images/default/bg_login.gif index 4cee2bd4c..79402d7f6 100644 Binary files a/widgets/login_info/skins/xe_globalTwo/images/default/bg_login.gif and b/widgets/login_info/skins/xe_globalTwo/images/default/bg_login.gif differ diff --git a/widgets/login_info/skins/xe_globalTwo/images/default/bu_v1.gif b/widgets/login_info/skins/xe_globalTwo/images/default/bu_v1.gif index 6a54d9d4e..03d4b059f 100644 Binary files a/widgets/login_info/skins/xe_globalTwo/images/default/bu_v1.gif and b/widgets/login_info/skins/xe_globalTwo/images/default/bu_v1.gif differ diff --git a/widgets/login_info/skins/xe_globalTwo/images/default/buttonLogin.gif b/widgets/login_info/skins/xe_globalTwo/images/default/buttonLogin.gif index bbcf26d3f..d1f2b561a 100644 Binary files a/widgets/login_info/skins/xe_globalTwo/images/default/buttonLogin.gif and b/widgets/login_info/skins/xe_globalTwo/images/default/buttonLogin.gif differ diff --git a/widgets/login_info/skins/xe_official/images/black/bulletFF1A00.gif b/widgets/login_info/skins/xe_official/images/black/bulletFF1A00.gif index 4026f2521..ce2e645c6 100644 Binary files a/widgets/login_info/skins/xe_official/images/black/bulletFF1A00.gif and b/widgets/login_info/skins/xe_official/images/black/bulletFF1A00.gif differ diff --git a/widgets/login_info/skins/xe_official/images/black/vrType1.gif b/widgets/login_info/skins/xe_official/images/black/vrType1.gif index 65772afee..920688d9d 100644 Binary files a/widgets/login_info/skins/xe_official/images/black/vrType1.gif and b/widgets/login_info/skins/xe_official/images/black/vrType1.gif differ diff --git a/widgets/login_info/skins/xe_official/images/default/bulletFF1A00.gif b/widgets/login_info/skins/xe_official/images/default/bulletFF1A00.gif index 4026f2521..ce2e645c6 100644 Binary files a/widgets/login_info/skins/xe_official/images/default/bulletFF1A00.gif and b/widgets/login_info/skins/xe_official/images/default/bulletFF1A00.gif differ diff --git a/widgets/login_info/skins/xe_official/images/default/buttonLogin.gif b/widgets/login_info/skins/xe_official/images/default/buttonLogin.gif index b7513ba4b..4d366b5cf 100644 Binary files a/widgets/login_info/skins/xe_official/images/default/buttonLogin.gif and b/widgets/login_info/skins/xe_official/images/default/buttonLogin.gif differ diff --git a/widgets/login_info/skins/xe_official/images/default/vrType1.gif b/widgets/login_info/skins/xe_official/images/default/vrType1.gif index e3766aa3b..c5a8e25cd 100644 Binary files a/widgets/login_info/skins/xe_official/images/default/vrType1.gif and b/widgets/login_info/skins/xe_official/images/default/vrType1.gif differ diff --git a/widgets/login_info/skins/xe_official/images/none_ssl.png b/widgets/login_info/skins/xe_official/images/none_ssl.png index b7561bfc4..16f2346f7 100644 Binary files a/widgets/login_info/skins/xe_official/images/none_ssl.png and b/widgets/login_info/skins/xe_official/images/none_ssl.png differ diff --git a/widgets/login_info/skins/xe_official/images/openid_login_bg.gif b/widgets/login_info/skins/xe_official/images/openid_login_bg.gif index cde836c89..be47484c5 100644 Binary files a/widgets/login_info/skins/xe_official/images/openid_login_bg.gif and b/widgets/login_info/skins/xe_official/images/openid_login_bg.gif differ diff --git a/widgets/login_info/skins/xe_official/images/ssl.png b/widgets/login_info/skins/xe_official/images/ssl.png index 330eb4e67..112313493 100644 Binary files a/widgets/login_info/skins/xe_official/images/ssl.png and b/widgets/login_info/skins/xe_official/images/ssl.png differ diff --git a/widgets/login_info/skins/xe_official/images/white/bulletFF1A00.gif b/widgets/login_info/skins/xe_official/images/white/bulletFF1A00.gif index 4026f2521..ce2e645c6 100644 Binary files a/widgets/login_info/skins/xe_official/images/white/bulletFF1A00.gif and b/widgets/login_info/skins/xe_official/images/white/bulletFF1A00.gif differ diff --git a/widgets/login_info/skins/xe_official/images/white/buttonLogin.gif b/widgets/login_info/skins/xe_official/images/white/buttonLogin.gif index b7513ba4b..4d366b5cf 100644 Binary files a/widgets/login_info/skins/xe_official/images/white/buttonLogin.gif and b/widgets/login_info/skins/xe_official/images/white/buttonLogin.gif differ diff --git a/widgets/login_info/skins/xe_official/images/white/powerdByZeroboard.gif b/widgets/login_info/skins/xe_official/images/white/powerdByZeroboard.gif index 8be15c8f4..aa327f1f9 100644 Binary files a/widgets/login_info/skins/xe_official/images/white/powerdByZeroboard.gif and b/widgets/login_info/skins/xe_official/images/white/powerdByZeroboard.gif differ diff --git a/widgets/login_info/skins/xe_official/images/white/vrType1.gif b/widgets/login_info/skins/xe_official/images/white/vrType1.gif index e3766aa3b..c5a8e25cd 100644 Binary files a/widgets/login_info/skins/xe_official/images/white/vrType1.gif and b/widgets/login_info/skins/xe_official/images/white/vrType1.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signin.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signin.gif index 046f4b447..d2bb3dc93 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signin.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signin.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signout.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signout.gif index 96e5e72dd..212d7d893 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signout.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/btn_signout.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_id.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_id.gif index 8cd965ce5..07e7f0a67 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_id.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_id.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_pw.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_pw.gif index 102429273..92e866ba5 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_pw.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/bullet_input_pw.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_add.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_add.gif index 42520c97f..5ab68cdbf 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_add.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_add.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_article.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_article.gif index 023b63d2f..ef531ed5a 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_article.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_article.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_at.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_at.gif index 9e8a96f8a..98dd45cd2 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_at.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_at.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_book.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_book.gif index 9f5a8708b..44e5b7d85 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_book.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_book.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_check.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_check.gif index 7973f929d..1ddc4d2ba 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_check.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_check.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_friends.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_friends.gif index 7fae3300a..243b06c9d 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_friends.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_friends.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_graph.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_graph.gif index fb4202dcc..a9a0a5c46 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_graph.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_graph.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_help.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_help.gif index 4f9903d1f..dacbbbeb9 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_help.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_help.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_mbinfo.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_mbinfo.gif index 17b71fd1b..456c6fec9 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_mbinfo.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_mbinfo.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_message.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_message.gif index 1e7897dea..37320ce25 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_message.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_message.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_money.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_money.gif index ac400c442..bb40e9ae4 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_money.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_money.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_note.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_note.gif index 2f45c58c0..c5956f3c1 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_note.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_note.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_tool.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_tool.gif index 8c1835d22..2fb62abe2 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_tool.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_tool.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_write.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_write.gif index 03afbfc70..e42d1b7f5 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_write.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_write.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_written.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_written.gif index 6e5fba5da..0ad0d26bb 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_written.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/icon_written.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_bg_tail.png b/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_bg_tail.png index cd80e9a86..10239a431 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_bg_tail.png and b/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_bg_tail.png differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_body_bg.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_body_bg.gif index b1c9e6478..309777202 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_body_bg.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/minfo_body_bg.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tail.png b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tail.png index eb65ce349..5c8617eae 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tail.png and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tail.png differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tt.png b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tt.png index 859dfab7d..89011957d 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tt.png and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_bg_tt.png differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_body_bg.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_body_bg.gif index 052afedac..ef142f441 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_body_bg.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_body_bg.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_input.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_input.gif index 77ac26511..a44c0feb0 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_input.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_input.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_bg.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_bg.gif index 941b1ce56..33733e37a 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_bg.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_bg.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left.gif index ff8e7f3b1..723df2051 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_off.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_off.gif index be9663460..6f51e8571 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_off.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_off.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_on.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_on.gif index 4c134a5a4..ed596f966 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_on.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_left_on.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right.gif index 369640433..43ecf5b15 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_off.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_off.gif index ee62e52bc..9e204be97 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_off.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_off.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_on.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_on.gif index b12de1f43..de881052a 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_on.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_key_right_on.gif differ diff --git a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_win_hr.gif b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_win_hr.gif index 1f852123b..a314ea230 100644 Binary files a/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_win_hr.gif and b/widgets/login_info/skins/xe_solid_enterprise_login/images/signin_win_hr.gif differ diff --git a/widgetstyles/simple/preview.gif b/widgetstyles/simple/preview.gif index 6dfd02a8d..1c548a50e 100644 Binary files a/widgetstyles/simple/preview.gif and b/widgetstyles/simple/preview.gif differ