Compare commits
140 Commits
es_rev9879
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
112be64095 | ||
|
|
aa1443cb8f | ||
|
|
6b2e256fa7 | ||
|
|
f8715d54a8 | ||
|
|
49b9ba3f86 | ||
|
|
84fe861cdc | ||
|
|
e8f024ede5 | ||
|
|
95d2306b1f | ||
|
|
60fbba5a70 | ||
|
|
be258c73e9 | ||
|
|
68ddd41fb7 | ||
|
|
72c35fd0f7 | ||
|
|
40855d73d3 | ||
|
|
1c149f9daf | ||
|
|
e445696698 | ||
|
|
375b53c677 | ||
|
|
ccf108a35e | ||
|
|
d00dd46187 | ||
|
|
7845240bf4 | ||
|
|
6b4b3f3539 | ||
|
|
92925169b4 | ||
|
|
3088468332 | ||
|
|
208a35cb73 | ||
|
|
bc561b1a48 | ||
|
|
9d7d43073d | ||
|
|
e04138c89e | ||
|
|
b83a050a1d | ||
|
|
6b4668ec6b | ||
|
|
5f7eb82def | ||
|
|
e9c028b94e | ||
|
|
f0180cc682 | ||
|
|
0c119b6b5a | ||
|
|
69894e8397 | ||
|
|
50a54ba519 | ||
|
|
2fcbcf1938 | ||
|
|
b6a5b4bc7f | ||
|
|
b732b20da8 | ||
|
|
c87b70a3ae | ||
|
|
dcf5132773 | ||
|
|
82bf9a4294 | ||
|
|
af3698ba5e | ||
|
|
71721ea00b | ||
|
|
ac9d29b971 | ||
|
|
34f0aa5844 | ||
|
|
78ef7af5f8 | ||
|
|
359344c9dd | ||
|
|
b814c91e91 | ||
|
|
1aad62ed52 | ||
|
|
1f6fce1278 | ||
|
|
3dc478b4a0 | ||
|
|
85ac9f7366 | ||
|
|
09a902d469 | ||
|
|
d26fc98492 | ||
|
|
f67116980d | ||
|
|
5915af6a9c | ||
|
|
ad2b30f52b | ||
|
|
e062429871 | ||
|
|
1eae3b7413 | ||
|
|
72cfd1d652 | ||
|
|
3d2c30ea5f | ||
|
|
12089d7945 | ||
|
|
9d59f37138 | ||
|
|
5273940b82 | ||
|
|
e547279016 | ||
|
|
230ef8ed18 | ||
|
|
d61fd85ea6 | ||
|
|
a01d161864 | ||
|
|
0d5630bb58 | ||
|
|
e3dd6cc8e8 | ||
|
|
cd48fe182a | ||
|
|
3072b99151 | ||
|
|
0ce7d11e52 | ||
|
|
134f876e62 | ||
| 307a87eaf4 | |||
| 21e75a6492 | |||
| 13cbb7d987 | |||
| dbfe14e77e | |||
| b263e4a1b9 | |||
| a9581eff01 | |||
| 941f50e4fb | |||
| 67f6591851 | |||
| 7cde24a439 | |||
| 2fc0c6f7b7 | |||
| bb25a8b12e | |||
| 0febe3418b | |||
| 6cb6dd1609 | |||
| 4cbdfeff06 | |||
| f5671bc190 | |||
| a611b27ad9 | |||
| 8ff638d62e | |||
| e89b04cbd2 | |||
| 0ab318a43d | |||
| 13d0927c58 | |||
| a341bd98eb | |||
| dc84e79952 | |||
| ccf1040513 | |||
| 1c902db377 | |||
| b47d631095 | |||
| bef99dd762 | |||
| ca4d975715 | |||
| b0b92c2d36 | |||
| d8291e91ac | |||
| 4f4a838504 | |||
|
|
09b5cc752c | ||
| a1e8cc5128 | |||
|
|
bb3e2abf55 | ||
| f75dde457d | |||
| d97542f797 | |||
| f0a3b2bd3a | |||
| 784891705f | |||
| 1c829e16ff | |||
| fae444c238 | |||
| c10faceaf6 | |||
| 32a47fbba3 | |||
| 2568e85c59 | |||
| 38b4713276 | |||
| 456770ca3e | |||
| 7c398a9f33 | |||
| 2d698f604b | |||
| 3bcfb0a44a | |||
| 219969cae4 | |||
| 18d26a765a | |||
| 7d50973fd5 | |||
| 73572a3e1c | |||
| 84e0ddf50c | |||
| 5e98d82934 | |||
| 31d4c8dc5b | |||
| 3bbe6a50b7 | |||
| 1fb9640d9c | |||
| 41fb8d5730 | |||
| ff58c6aff9 | |||
| 76cf815477 | |||
| 410903ff5c | |||
| 19eb5113e9 | |||
| 0c3b85bb37 | |||
| b1478cfb8a | |||
| d1ca6eb311 | |||
| 88b3ca1d2f | |||
| 6a61c30689 | |||
| 88aaf9ed4c |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -4,4 +4,6 @@ EIFGENs
|
|||||||
*.rc
|
*.rc
|
||||||
*.bak
|
*.bak
|
||||||
*.sqlite
|
*.sqlite
|
||||||
|
.*.swo
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
*.dll
|
||||||
|
|||||||
19
.travis.yml
Normal file
19
.travis.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
language: eiffel
|
||||||
|
before_script:
|
||||||
|
- export current_dir=$PWD ; echo current_dir=$current_dir ; cd ..
|
||||||
|
- export ISE_VERSION=17.05; export ISE_BUILD=100416
|
||||||
|
- curl -sSL http://downloads.sourceforge.net/eiffelstudio/Eiffel_${ISE_VERSION}_gpl_${ISE_BUILD}-linux-x86-64.tar.bz2 | tar -x --bzip2
|
||||||
|
- export ISE_EIFFEL=$PWD/Eiffel_${ISE_VERSION} ; export ISE_PLATFORM=linux-x86-64
|
||||||
|
- export PATH=$PATH:$ISE_EIFFEL/studio/spec/$ISE_PLATFORM/bin:$PATH:$ISE_EIFFEL/tools/spec/$ISE_PLATFORM/bin
|
||||||
|
- echo `ec -version`
|
||||||
|
- cd $current_dir
|
||||||
|
- echo Check projects compilation status...
|
||||||
|
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
- v1
|
||||||
|
|
||||||
|
script: compile_all -ecb -melt -list_failures -log_verbose -clean -options dotnet=false
|
||||||
|
group: stable
|
||||||
|
os: linux
|
||||||
38
cms-safe.ecf
38
cms-safe.ecf
@@ -1,37 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="cms" uuid="8CC0D052-57D1-4CAA-AFF1-448FA290734B" library_target="cms">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="8CC0D052-57D1-4CAA-AFF1-448FA290734B" message="Obsolete: use cms.ecf !" location="cms.ecf">
|
||||||
<target name="cms">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/CVS$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option warning="true" full_class_checking="false" is_attached_by_default="true" void_safety="all" syntax="transitional">
|
|
||||||
<assertions precondition="true" postcondition="true" check="true" invariant="true" loop="true" supplier_precondition="true"/>
|
|
||||||
</option>
|
|
||||||
<mapping old_name="CMS_LAYOUT" new_name="CMS_ENVIRONMENT"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="base_extension" location="$ISE_LIBRARY\library\base_extension\base_extension-safe.ecf"/>
|
|
||||||
<library name="cms_app_env" location=".\library\app_env\app_env-safe.ecf"/>
|
|
||||||
<library name="cms_config" location=".\library\configuration\config-safe.ecf"/>
|
|
||||||
<library name="cms_model" location=".\library\model\cms_model-safe.ecf" readonly="false"/>
|
|
||||||
<library name="crypto" location="$ISE_LIBRARY\unstable\library\text\encryption\crypto\crypto-safe.ecf"/>
|
|
||||||
<library name="encoder" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\text\encoder\encoder-safe.ecf" readonly="false"/>
|
|
||||||
<library name="error" location="$ISE_LIBRARY\contrib\library\utility\general\error\error-safe.ecf"/>
|
|
||||||
<library name="http" location="$ISE_LIBRARY\contrib\library\network\protocol\http\http-safe.ecf"/>
|
|
||||||
<library name="i18n" location="$ISE_LIBRARY\library\i18n\i18n-safe.ecf"/>
|
|
||||||
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json-safe.ecf" readonly="false"/>
|
|
||||||
<library name="kmp_matcher" location="$ISE_LIBRARY\library\text\regexp\kmp_matcher\kmp_matcher-safe.ecf"/>
|
|
||||||
<library name="net" location="$ISE_LIBRARY\library\net\net-safe.ecf"/>
|
|
||||||
<library name="notification_mailer" location="$ISE_LIBRARY\contrib\library\runtime\process\notification_email\notification_email-safe.ecf"/>
|
|
||||||
<library name="smarty" location="$ISE_LIBRARY\contrib\library\text\template\smarty\smarty-safe.ecf" readonly="false"/>
|
|
||||||
<library name="text_filter" location="$ISE_LIBRARY\unstable\library\text\text_filter\text_filter-safe.ecf"/>
|
|
||||||
<library name="time" location="$ISE_LIBRARY\library\time\time-safe.ecf"/>
|
|
||||||
<library name="uri_template" location="$ISE_LIBRARY\contrib\library\text\parser\uri_template\uri_template-safe.ecf"/>
|
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
|
||||||
<library name="wsf_extension" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_extension-safe.ecf" readonly="false"/>
|
|
||||||
<library name="wsf_html" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf_html\wsf_html-safe.ecf" readonly="false"/>
|
|
||||||
<cluster name="src" location=".\src\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
10
cms.ecf
10
cms.ecf
@@ -1,16 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="cms" uuid="8CC0D052-57D1-4CAA-AFF1-448FA290734B" library_target="cms">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="cms" uuid="8CC0D052-57D1-4CAA-AFF1-448FA290734B" library_target="cms">
|
||||||
<description>ROC CMS library</description>
|
|
||||||
<target name="cms">
|
<target name="cms">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<file_rule>
|
<file_rule>
|
||||||
<exclude>/.svn$</exclude>
|
<exclude>/\.svn$</exclude>
|
||||||
<exclude>/CVS$</exclude>
|
<exclude>/CVS$</exclude>
|
||||||
<exclude>/EIFGENs$</exclude>
|
<exclude>/EIFGENs$</exclude>
|
||||||
</file_rule>
|
</file_rule>
|
||||||
<option warning="true" full_class_checking="false" void_safety="none" syntax="transitional">
|
|
||||||
<assertions precondition="true" postcondition="true" check="true" invariant="true" loop="true" supplier_precondition="true"/>
|
|
||||||
</option>
|
|
||||||
<mapping old_name="CMS_LAYOUT" new_name="CMS_ENVIRONMENT"/>
|
<mapping old_name="CMS_LAYOUT" new_name="CMS_ENVIRONMENT"/>
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="base_extension" location="$ISE_LIBRARY\library\base_extension\base_extension.ecf"/>
|
<library name="base_extension" location="$ISE_LIBRARY\library\base_extension\base_extension.ecf"/>
|
||||||
@@ -21,6 +17,7 @@
|
|||||||
<library name="encoder" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\text\encoder\encoder.ecf" readonly="false"/>
|
<library name="encoder" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\text\encoder\encoder.ecf" readonly="false"/>
|
||||||
<library name="error" location="$ISE_LIBRARY\contrib\library\utility\general\error\error.ecf"/>
|
<library name="error" location="$ISE_LIBRARY\contrib\library\utility\general\error\error.ecf"/>
|
||||||
<library name="http" location="$ISE_LIBRARY\contrib\library\network\protocol\http\http.ecf"/>
|
<library name="http" location="$ISE_LIBRARY\contrib\library\network\protocol\http\http.ecf"/>
|
||||||
|
<library name="http_authorization" location="$ISE_LIBRARY\contrib\library\web\authentication\http_authorization\http_authorization.ecf"/>
|
||||||
<library name="i18n" location="$ISE_LIBRARY\library\i18n\i18n.ecf"/>
|
<library name="i18n" location="$ISE_LIBRARY\library\i18n\i18n.ecf"/>
|
||||||
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json.ecf" readonly="false"/>
|
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json.ecf" readonly="false"/>
|
||||||
<library name="kmp_matcher" location="$ISE_LIBRARY\library\text\regexp\kmp_matcher\kmp_matcher.ecf"/>
|
<library name="kmp_matcher" location="$ISE_LIBRARY\library\text\regexp\kmp_matcher\kmp_matcher.ecf"/>
|
||||||
@@ -30,6 +27,7 @@
|
|||||||
<library name="text_filter" location="$ISE_LIBRARY\unstable\library\text\text_filter\text_filter.ecf"/>
|
<library name="text_filter" location="$ISE_LIBRARY\unstable\library\text\text_filter\text_filter.ecf"/>
|
||||||
<library name="time" location="$ISE_LIBRARY\library\time\time.ecf"/>
|
<library name="time" location="$ISE_LIBRARY\library\time\time.ecf"/>
|
||||||
<library name="uri_template" location="$ISE_LIBRARY\contrib\library\text\parser\uri_template\uri_template.ecf"/>
|
<library name="uri_template" location="$ISE_LIBRARY\contrib\library\text\parser\uri_template\uri_template.ecf"/>
|
||||||
|
<library name="uuid" location="$ISE_LIBRARY\library\uuid\uuid.ecf"/>
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf.ecf"/>
|
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf.ecf"/>
|
||||||
<library name="wsf_extension" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_extension.ecf" readonly="false"/>
|
<library name="wsf_extension" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_extension.ecf" readonly="false"/>
|
||||||
<library name="wsf_html" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf_html\wsf_html.ecf" readonly="false"/>
|
<library name="wsf_html" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf_html\wsf_html.ecf" readonly="false"/>
|
||||||
|
|||||||
87
dev_modules/masquerade_auth/masquerade_api.e
Normal file
87
dev_modules/masquerade_auth/masquerade_api.e
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
note
|
||||||
|
description: "API to manage CMS User session authentication"
|
||||||
|
date: "$Date$"
|
||||||
|
revision: "$Revision$"
|
||||||
|
|
||||||
|
class
|
||||||
|
MASQUERADE_API
|
||||||
|
|
||||||
|
inherit
|
||||||
|
CMS_AUTH_API_I
|
||||||
|
|
||||||
|
REFACTORING_HELPER
|
||||||
|
|
||||||
|
create {MASQUERADE_AUTH_MODULE}
|
||||||
|
make_with_session_api
|
||||||
|
|
||||||
|
feature {NONE} -- Initialization
|
||||||
|
|
||||||
|
make_with_session_api (a_api: CMS_API; a_session_api: CMS_SESSION_API)
|
||||||
|
do
|
||||||
|
session_api := a_session_api
|
||||||
|
make (a_api)
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Access
|
||||||
|
|
||||||
|
session_api: CMS_SESSION_API
|
||||||
|
|
||||||
|
feature -- Status report
|
||||||
|
|
||||||
|
has_permission_to_masquerade (a_user: detachable CMS_USER): BOOLEAN
|
||||||
|
local
|
||||||
|
v: STRING
|
||||||
|
do
|
||||||
|
if attached cms_api.setup.string_8_item_or_default ("dev.masquerade", "permission") as s then
|
||||||
|
v := s
|
||||||
|
v.left_adjust
|
||||||
|
v.right_adjust
|
||||||
|
if v.is_case_insensitive_equal_general ("none") then
|
||||||
|
elseif v.is_case_insensitive_equal_general ("all") then
|
||||||
|
Result := True
|
||||||
|
elseif v.is_case_insensitive_equal_general ("permission") then
|
||||||
|
Result := cms_api.user_has_permission (a_user, "masquerade")
|
||||||
|
else
|
||||||
|
-- no!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
is_authenticating (a_response: CMS_RESPONSE): BOOLEAN
|
||||||
|
do
|
||||||
|
if
|
||||||
|
a_response.is_authenticated and then
|
||||||
|
attached a_response.request.cookie (session_api.session_token)
|
||||||
|
then
|
||||||
|
Result := True
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Basic operation
|
||||||
|
|
||||||
|
process_user_login (a_user: CMS_USER; req: WSF_REQUEST; res: WSF_RESPONSE)
|
||||||
|
do
|
||||||
|
session_api.process_user_login (a_user, req, res)
|
||||||
|
end
|
||||||
|
|
||||||
|
process_user_logout (a_user: CMS_USER; req: WSF_REQUEST; res: WSF_RESPONSE)
|
||||||
|
do
|
||||||
|
session_api.process_user_logout (a_user, req, res)
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Access
|
||||||
|
|
||||||
|
-- user_by_session_token (a_token: READABLE_STRING_32): detachable CMS_USER
|
||||||
|
-- -- Retrieve user by token `a_token', if any.
|
||||||
|
-- do
|
||||||
|
-- Result := session_auth_storage.user_by_session_token (a_token)
|
||||||
|
-- end
|
||||||
|
|
||||||
|
-- has_user_token (a_user: CMS_USER): BOOLEAN
|
||||||
|
-- -- Has the user `a_user' and associated session token?
|
||||||
|
-- do
|
||||||
|
-- Result := session_auth_storage.has_user_token (a_user)
|
||||||
|
-- end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
3
dev_modules/masquerade_auth/masquerade_auth-safe.ecf
Normal file
3
dev_modules/masquerade_auth/masquerade_auth-safe.ecf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="73DA3649-BA18-426C-91CD-5892D52C811C" message="Obsolete: use masquerade_auth.ecf !" location="masquerade_auth.ecf">
|
||||||
|
</redirection>
|
||||||
26
dev_modules/masquerade_auth/masquerade_auth.ecf
Normal file
26
dev_modules/masquerade_auth/masquerade_auth.ecf
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="masquerade_auth" uuid="73DA3649-BA18-426C-91CD-5892D52C811C" library_target="masquerade_auth">
|
||||||
|
<target name="masquerade_auth">
|
||||||
|
<root all_classes="true"/>
|
||||||
|
<file_rule>
|
||||||
|
<exclude>/\.svn$</exclude>
|
||||||
|
<exclude>/CVS$</exclude>
|
||||||
|
<exclude>/EIFGENs$</exclude>
|
||||||
|
</file_rule>
|
||||||
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
|
<library name="cms" location="..\..\cms.ecf"/>
|
||||||
|
<library name="cms_app_env" location="..\..\library\app_env\app_env.ecf" readonly="false"/>
|
||||||
|
<library name="cms_auth_module" location="..\..\modules\auth\auth.ecf" readonly="false"/>
|
||||||
|
<library name="cms_model" location="..\..\library\model\cms_model.ecf" readonly="false"/>
|
||||||
|
<library name="cms_session_auth_module" location="..\..\modules\session_auth\cms_session_auth.ecf" readonly="false"/>
|
||||||
|
<library name="crypto" location="$ISE_LIBRARY\unstable\library\text\encryption\crypto\crypto.ecf"/>
|
||||||
|
<library name="encoder" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\text\encoder\encoder.ecf"/>
|
||||||
|
<library name="error" location="$ISE_LIBRARY\contrib\library\utility\general\error\error.ecf"/>
|
||||||
|
<library name="http" location="$ISE_LIBRARY\contrib\library\network\protocol\http\http.ecf"/>
|
||||||
|
<library name="http_authorization" location="$ISE_LIBRARY\contrib\library\web\authentication\http_authorization\http_authorization.ecf" readonly="false"/>
|
||||||
|
<library name="time" location="$ISE_LIBRARY\library\time\time.ecf"/>
|
||||||
|
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf.ecf"/>
|
||||||
|
<library name="wsf_extension" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_extension.ecf" readonly="false"/>
|
||||||
|
<cluster name="src" location=".\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
</system>
|
||||||
268
dev_modules/masquerade_auth/masquerade_auth_module.e
Normal file
268
dev_modules/masquerade_auth/masquerade_auth_module.e
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
note
|
||||||
|
description: "[
|
||||||
|
This module allows the use Session Based Authentication using Cookies to restrict access
|
||||||
|
by looking up users in the given providers.
|
||||||
|
]"
|
||||||
|
date: "$Date$"
|
||||||
|
revision: "$Revision$"
|
||||||
|
|
||||||
|
class
|
||||||
|
MASQUERADE_AUTH_MODULE
|
||||||
|
|
||||||
|
inherit
|
||||||
|
CMS_AUTH_MODULE_I
|
||||||
|
rename
|
||||||
|
module_api as masquerade_api
|
||||||
|
redefine
|
||||||
|
make,
|
||||||
|
setup_hooks,
|
||||||
|
initialize,
|
||||||
|
install,
|
||||||
|
permissions,
|
||||||
|
masquerade_api,
|
||||||
|
menu_system_alter
|
||||||
|
end
|
||||||
|
|
||||||
|
CMS_HOOK_BLOCK
|
||||||
|
|
||||||
|
CMS_HOOK_MENU_SYSTEM_ALTER
|
||||||
|
|
||||||
|
create
|
||||||
|
make
|
||||||
|
|
||||||
|
feature {NONE} -- Initialization
|
||||||
|
|
||||||
|
make
|
||||||
|
do
|
||||||
|
Precursor
|
||||||
|
version := "1.0"
|
||||||
|
description := "Service to easily log as user at development time"
|
||||||
|
package := "debug"
|
||||||
|
disable -- Disabled by default
|
||||||
|
add_dependency ({CMS_SESSION_AUTH_MODULE})
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Access
|
||||||
|
|
||||||
|
name: STRING = "masquerade_auth"
|
||||||
|
|
||||||
|
permissions: LIST [READABLE_STRING_8]
|
||||||
|
-- List of permission ids, used by this module, and declared.
|
||||||
|
do
|
||||||
|
Result := Precursor
|
||||||
|
Result.extend ("masquerade")
|
||||||
|
end
|
||||||
|
|
||||||
|
feature {CMS_API} -- Module Initialization
|
||||||
|
|
||||||
|
initialize (a_api: CMS_API)
|
||||||
|
-- <Precursor>
|
||||||
|
do
|
||||||
|
Precursor (a_api)
|
||||||
|
|
||||||
|
if attached {CMS_SESSION_API} a_api.module_api ({CMS_SESSION_AUTH_MODULE}) as l_session_api then
|
||||||
|
-- API initialization
|
||||||
|
create masquerade_api.make_with_session_api (a_api, l_session_api)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature {CMS_API} -- Module management
|
||||||
|
|
||||||
|
install (api: CMS_API)
|
||||||
|
do
|
||||||
|
Precursor {CMS_AUTH_MODULE_I} (api) -- Mark it as installed.
|
||||||
|
end
|
||||||
|
|
||||||
|
feature {CMS_API} -- Access: API
|
||||||
|
|
||||||
|
masquerade_api: detachable MASQUERADE_API
|
||||||
|
-- <Precursor>
|
||||||
|
|
||||||
|
feature -- Access: auth strategy
|
||||||
|
|
||||||
|
login_title: STRING = "Masquerade"
|
||||||
|
-- Module specific login title.
|
||||||
|
|
||||||
|
login_location: STRING = "account/auth/roc-masquerade-login"
|
||||||
|
|
||||||
|
logout_location: STRING = "account/auth/roc-masquerade-logout"
|
||||||
|
|
||||||
|
is_authenticating (a_response: CMS_RESPONSE): BOOLEAN
|
||||||
|
-- <Precursor>
|
||||||
|
do
|
||||||
|
if attached masquerade_api as l_masquerade_api then
|
||||||
|
Result := l_masquerade_api.is_authenticating (a_response)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Access: router
|
||||||
|
|
||||||
|
setup_router (a_router: WSF_ROUTER; a_api: CMS_API)
|
||||||
|
-- <Precursor>
|
||||||
|
do
|
||||||
|
if attached masquerade_api as l_masquerade_api then
|
||||||
|
a_router.handle ("/" + login_location, create {WSF_URI_AGENT_HANDLER}.make (agent handle_login (a_api, ?, ?)), a_router.methods_head_get)
|
||||||
|
a_router.handle ("/" + logout_location, create {WSF_URI_AGENT_HANDLER}.make (agent handle_logout (a_api, l_masquerade_api, ?, ?)), a_router.methods_get_post)
|
||||||
|
a_router.handle ("/" + login_location, create {WSF_URI_AGENT_HANDLER}.make (agent handle_login_with_masquerade (a_api, l_masquerade_api,?, ?)), a_router.methods_post)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature {NONE} -- Implementation: routes
|
||||||
|
|
||||||
|
handle_login (api: CMS_API; req: WSF_REQUEST; res: WSF_RESPONSE)
|
||||||
|
local
|
||||||
|
r: CMS_RESPONSE
|
||||||
|
do
|
||||||
|
create {GENERIC_VIEW_CMS_RESPONSE} r.make (req, res, api)
|
||||||
|
if
|
||||||
|
attached masquerade_api as l_masquerade_api and then
|
||||||
|
l_masquerade_api.has_permission_to_masquerade (api.user)
|
||||||
|
then
|
||||||
|
if api.user_is_authenticated then
|
||||||
|
r.add_warning_message ("You are signed.")
|
||||||
|
end
|
||||||
|
r.add_block (login_block ("login", Void, r), "content")
|
||||||
|
else
|
||||||
|
r.add_error_message ("You are not allowed to use masquerade authentication!")
|
||||||
|
end
|
||||||
|
r.execute
|
||||||
|
end
|
||||||
|
|
||||||
|
handle_logout (api: CMS_API; a_masquerade_api: MASQUERADE_API ; req: WSF_REQUEST; res: WSF_RESPONSE) local
|
||||||
|
r: CMS_RESPONSE
|
||||||
|
do
|
||||||
|
if attached api.user as l_user then
|
||||||
|
a_masquerade_api.process_user_logout (l_user, req, res)
|
||||||
|
create {GENERIC_VIEW_CMS_RESPONSE} r.make (req, res, api)
|
||||||
|
else
|
||||||
|
-- Not loggued in ... redirect to home
|
||||||
|
create {GENERIC_VIEW_CMS_RESPONSE} r.make (req, res, api)
|
||||||
|
r.set_status_code ({HTTP_CONSTANTS}.found)
|
||||||
|
end
|
||||||
|
if
|
||||||
|
attached {WSF_STRING} req.item ("destination") as p_destination and then
|
||||||
|
attached p_destination.value as v and then
|
||||||
|
v.is_valid_as_string_8
|
||||||
|
then
|
||||||
|
r.set_redirection (v.to_string_8)
|
||||||
|
else
|
||||||
|
r.set_redirection (req.absolute_script_url (""))
|
||||||
|
end
|
||||||
|
|
||||||
|
r.execute
|
||||||
|
end
|
||||||
|
|
||||||
|
handle_login_with_masquerade (api: CMS_API; a_masquerade_api: MASQUERADE_API; req: WSF_REQUEST; res: WSF_RESPONSE)
|
||||||
|
local
|
||||||
|
r: CMS_RESPONSE
|
||||||
|
do
|
||||||
|
if a_masquerade_api.has_permission_to_masquerade (api.user) then
|
||||||
|
if
|
||||||
|
attached {WSF_STRING} req.form_parameter ("username") as l_username
|
||||||
|
then
|
||||||
|
if
|
||||||
|
attached api.user_api.user_by_name (l_username.value) as l_user
|
||||||
|
then
|
||||||
|
a_masquerade_api.process_user_login (l_user, req, res)
|
||||||
|
|
||||||
|
create {GENERIC_VIEW_CMS_RESPONSE} r.make (req, res, api)
|
||||||
|
if
|
||||||
|
attached {WSF_STRING} req.item ("destination") as p_destination and then
|
||||||
|
attached p_destination.value as v and then
|
||||||
|
v.is_valid_as_string_8
|
||||||
|
then
|
||||||
|
r.set_redirection (v.to_string_8)
|
||||||
|
else
|
||||||
|
r.set_redirection ("")
|
||||||
|
end
|
||||||
|
else
|
||||||
|
create {GENERIC_VIEW_CMS_RESPONSE} r.make (req, res, api)
|
||||||
|
r.add_block (login_block ("login", Void, r), "content")
|
||||||
|
end
|
||||||
|
else
|
||||||
|
create {BAD_REQUEST_ERROR_CMS_RESPONSE} r.make (req, res, api)
|
||||||
|
r.add_block (login_block ("login", "Wrong username", r), "content")
|
||||||
|
end
|
||||||
|
r.execute
|
||||||
|
else
|
||||||
|
api.response_api.send_access_denied (Void, req, res)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Hooks configuration
|
||||||
|
|
||||||
|
setup_hooks (a_hooks: CMS_HOOK_CORE_MANAGER)
|
||||||
|
-- Module hooks configuration.
|
||||||
|
do
|
||||||
|
Precursor (a_hooks)
|
||||||
|
a_hooks.subscribe_to_block_hook (Current)
|
||||||
|
a_hooks.subscribe_to_menu_system_alter_hook (Current)
|
||||||
|
end
|
||||||
|
|
||||||
|
feature -- Hooks
|
||||||
|
|
||||||
|
block_list: ITERABLE [like {CMS_BLOCK}.name]
|
||||||
|
do
|
||||||
|
Result := <<"?login">>
|
||||||
|
end
|
||||||
|
|
||||||
|
get_block_view (a_block_id: READABLE_STRING_8; a_response: CMS_RESPONSE)
|
||||||
|
do
|
||||||
|
if a_block_id.is_case_insensitive_equal_general ("login") then
|
||||||
|
a_response.add_block (login_block (a_block_id, Void, a_response), "content")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
menu_system_alter (a_menu_system: CMS_MENU_SYSTEM; a_response: CMS_RESPONSE)
|
||||||
|
-- Hook execution on collection of menu contained by `a_menu_system'
|
||||||
|
-- for related response `a_response'.
|
||||||
|
local
|
||||||
|
u: detachable CMS_USER
|
||||||
|
do
|
||||||
|
u := a_response.api.user
|
||||||
|
if
|
||||||
|
attached masquerade_api as l_masquerade_api and then
|
||||||
|
l_masquerade_api.has_permission_to_masquerade (u)
|
||||||
|
then
|
||||||
|
Precursor (a_menu_system, a_response)
|
||||||
|
if u /= Void then
|
||||||
|
a_menu_system.navigation_menu.extend (a_response.local_link ("Masquerade", login_location))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
feature {NONE} -- Block views
|
||||||
|
|
||||||
|
login_block (a_block_id: READABLE_STRING_8; a_err: detachable READABLE_STRING_8; a_response: CMS_RESPONSE): CMS_CONTENT_BLOCK
|
||||||
|
do
|
||||||
|
create Result.make (a_block_id, Void, login_html (a_err, a_response), Void)
|
||||||
|
end
|
||||||
|
|
||||||
|
login_html (a_err: detachable READABLE_STRING_8; a_response: CMS_RESPONSE): STRING
|
||||||
|
local
|
||||||
|
params: CMS_DATA_QUERY_PARAMETERS
|
||||||
|
u: CMS_USER
|
||||||
|
do
|
||||||
|
create Result.make_from_string ("<div class=%"login-box%">")
|
||||||
|
if a_err /= Void then
|
||||||
|
Result.append ("<div class=%"error%">")
|
||||||
|
Result.append (a_err)
|
||||||
|
Result.append ("</div>")
|
||||||
|
end
|
||||||
|
Result.append ("<form name=%"masquerade_auth%" action=%"" + a_response.site_url + login_location + "%" method=%"POST%">%N")
|
||||||
|
Result.append ("<div><input type=%"text%" name=%"username%" id=%"username%" required value=%"%"><label>Username</label></div>")
|
||||||
|
Result.append ("<button type=%"submit%">Login</button>")
|
||||||
|
|
||||||
|
create params.make (0, a_response.api.user_api.users_count.as_natural_32)
|
||||||
|
across
|
||||||
|
a_response.api.user_api.recent_users (params) as ic
|
||||||
|
loop
|
||||||
|
u := ic.item
|
||||||
|
Result.append ("<li>")
|
||||||
|
Result.append (a_response.html_encoded (a_response.api.user_display_name (u)))
|
||||||
|
Result.append ("</li>%N")
|
||||||
|
end
|
||||||
|
Result.append ("</form></div>")
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
4
examples/demo/.gitignore
vendored
Normal file
4
examples/demo/.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
site/db/*
|
||||||
|
site/files/*
|
||||||
|
site/export/*
|
||||||
|
site/import/*
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="demo" uuid="3643E657-BCBE-46AA-931B-71EAEA877A18" library_target="demo">
|
|
||||||
<description>Example/demo for Eiffel ROC CMS library</description>
|
|
||||||
<target name="common" abstract="true">
|
|
||||||
<root class="DEMO_CMS_SERVER" feature="make_and_launch"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/CVS$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option debug="true" warning="true" full_class_checking="false" is_attached_by_default="true" is_obsolete_routine_type="true" void_safety="all" syntax="transitional">
|
|
||||||
<debug name="dbglog" enabled="true"/>
|
|
||||||
</option>
|
|
||||||
<setting name="executable_name" value="demo"/>
|
|
||||||
<setting name="concurrency" value="thread"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="cms" location="..\..\cms-safe.ecf" readonly="false">
|
|
||||||
<option>
|
|
||||||
<assertions precondition="true" postcondition="true" supplier_precondition="true"/>
|
|
||||||
</option>
|
|
||||||
</library>
|
|
||||||
<library name="cms_admin_module" location="..\..\modules\admin\admin-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_app_env" location="..\..\library\app_env\app_env-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_auth_module" location="..\..\modules\auth\auth-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_basic_auth_module" location="..\..\modules\basic_auth\basic_auth-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_blog_module" location="..\..\modules\blog\cms_blog_module-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_contact_module" location="..\..\modules\contact\contact-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_custom_block_module" location="..\..\modules\custom_block\custom_block-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_demo_module" location="modules\demo\cms_demo_module-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_email_service" location="..\..\library\email\email-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_feed_aggregator_module" location="..\..\modules\feed_aggregator\feed_aggregator-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_files_module" location="..\..\modules\files\files-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_google_search_module" location="..\..\modules\google_search\google_search-safe.ecf" readonly="false" use_application_options="true"/>
|
|
||||||
<library name="cms_model" location="..\..\library\model\cms_model-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_node_module" location="..\..\modules\node\node-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_oauth_20_module" location="..\..\modules\oauth20\oauth20-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_openid_module" location="..\..\modules\openid\openid-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_recent_changes_module" location="..\..\modules\recent_changes\recent_changes-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_seo_module" location="..\..\modules\seo\seo-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_session_auth_module" location="..\..\modules\session_auth\cms_session_auth-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_taxnomy_module" location="..\..\modules\taxonomy\taxonomy-safe.ecf" readonly="false"/>
|
|
||||||
<library name="persistence_sqlite3" location="..\..\library\persistence\sqlite3\sqlite3-safe.ecf" readonly="false"/>
|
|
||||||
<!--
|
|
||||||
By default, commented, since it depends on specific environment settings.
|
|
||||||
<library name="persistence_store_odbc" location="..\..\library\persistence\store_odbc\store_odbc-safe.ecf"/>
|
|
||||||
<library name="persistence_store_mysql" location="..\..\library\persistence\store_mysql\store_mysql-safe.ecf" />
|
|
||||||
-->
|
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
|
||||||
<library name="wsf_extension" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_extension-safe.ecf" readonly="false"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo_any" extends="common">
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<library name="any_launcher" location="..\..\launcher\any-safe.ecf" readonly="false"/>
|
|
||||||
<cluster name="src" location=".\src\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo_standalone" extends="common">
|
|
||||||
<option debug="true">
|
|
||||||
<debug name="dbglog" enabled="true"/>
|
|
||||||
</option>
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
<variable name="httpd_ssl_disabled" value="true"/>
|
|
||||||
<library name="standalone_launcher" location="..\..\launcher\standalone-safe.ecf" readonly="false"/>
|
|
||||||
<cluster name="src" location=".\src\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo_standalone_none" extends="demo_standalone">
|
|
||||||
<setting name="concurrency" value="none"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo_standalone_mt" extends="demo_standalone">
|
|
||||||
<setting name="concurrency" value="thread"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo_standalone_scoop" extends="demo_standalone">
|
|
||||||
<setting name="concurrency" value="scoop"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo_cgi" extends="common">
|
|
||||||
<setting name="concurrency" value="none"/>
|
|
||||||
<library name="cgi_launcher" location="..\..\launcher\cgi-safe.ecf" readonly="false"/>
|
|
||||||
<cluster name="src" location=".\src\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo_libfcgi" extends="common">
|
|
||||||
<setting name="concurrency" value="none"/>
|
|
||||||
<library name="libfcgi_launcher" location="..\..\launcher\libfcgi-safe.ecf" readonly="false"/>
|
|
||||||
<cluster name="src" location=".\src\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
<target name="demo" extends="demo_standalone">
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
102
examples/demo/demo.ecf
Normal file
102
examples/demo/demo.ecf
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="demo" uuid="3643E657-BCBE-46AA-931B-71EAEA877A18" library_target="demo">
|
||||||
|
<description>Example/demo for Eiffel ROC CMS library</description>
|
||||||
|
<target name="common" abstract="true">
|
||||||
|
<root class="DEMO_CMS_SERVER" feature="make_and_launch"/>
|
||||||
|
<file_rule>
|
||||||
|
<exclude>/\.svn$</exclude>
|
||||||
|
<exclude>/CVS$</exclude>
|
||||||
|
<exclude>/EIFGENs$</exclude>
|
||||||
|
</file_rule>
|
||||||
|
<option debug="true" warning="true">
|
||||||
|
<debug name="dbglog" enabled="true"/>
|
||||||
|
</option>
|
||||||
|
<setting name="executable_name" value="demo"/>
|
||||||
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
|
<library name="cms" location="..\..\cms.ecf" readonly="false">
|
||||||
|
<option>
|
||||||
|
<assertions precondition="true" postcondition="true" supplier_precondition="true"/>
|
||||||
|
</option>
|
||||||
|
</library>
|
||||||
|
<library name="cms_admin_module" location="..\..\modules\admin\admin.ecf" readonly="false"/>
|
||||||
|
<library name="cms_auth_module" location="..\..\modules\auth\auth.ecf" readonly="false"/>
|
||||||
|
<library name="cms_basic_auth_module" location="..\..\modules\basic_auth\basic_auth.ecf" readonly="false"/>
|
||||||
|
<library name="cms_blog_module" location="..\..\modules\blog\cms_blog_module.ecf" readonly="false"/>
|
||||||
|
<library name="cms_comments_module" location="..\..\modules\comments\comments.ecf" readonly="false"/>
|
||||||
|
<library name="cms_contact_module" location="..\..\modules\contact\contact.ecf" readonly="false"/>
|
||||||
|
<library name="cms_custom_block_module" location="..\..\modules\custom_block\custom_block.ecf" readonly="false"/>
|
||||||
|
<library name="cms_demo_module" location="modules\demo\cms_demo_module.ecf" readonly="false"/>
|
||||||
|
<library name="cms_feed_aggregator_module" location="..\..\modules\feed_aggregator\feed_aggregator.ecf" readonly="false"/>
|
||||||
|
<library name="cms_files_module" location="..\..\modules\files\files.ecf" readonly="false"/>
|
||||||
|
<library name="cms_google_search_20_module" location="..\..\modules\google_search_20\google_search_20.ecf" readonly="false" use_application_options="true"/>
|
||||||
|
<library name="cms_messaging_module" location="..\..\modules\messaging\messaging.ecf" readonly="false"/>
|
||||||
|
<library name="cms_node_module" location="..\..\modules\node\node.ecf" readonly="false"/>
|
||||||
|
<library name="cms_oauth_20_module" location="..\..\modules\oauth20\oauth20.ecf" readonly="false"/>
|
||||||
|
<library name="cms_openid_module" location="..\..\modules\openid\openid.ecf" readonly="false"/>
|
||||||
|
<library name="cms_recent_changes_module" location="..\..\modules\recent_changes\recent_changes.ecf" readonly="false"/>
|
||||||
|
<library name="cms_seo_module" location="..\..\modules\seo\seo.ecf" readonly="false"/>
|
||||||
|
<library name="cms_session_auth_module" location="..\..\modules\session_auth\cms_session_auth.ecf" readonly="false"/>
|
||||||
|
<library name="cms_sitemap_module" location="..\..\modules\sitemap\sitemap.ecf" readonly="false"/>
|
||||||
|
<library name="cms_taxonomy_module" location="..\..\modules\taxonomy\taxonomy.ecf" readonly="false"/>
|
||||||
|
<library name="cms_wikitext_module" location="..\..\modules\wikitext\wikitext.ecf" readonly="false"/>
|
||||||
|
<library name="embedded_video_module" location="..\..\modules\embedded_video\embedded_video.ecf" readonly="false"/>
|
||||||
|
<library name="masquerade_auth_module" location="..\..\dev_modules\masquerade_auth\masquerade_auth.ecf" readonly="false"/>
|
||||||
|
<library name="persistence_sqlite3" location="..\..\library\persistence\sqlite3\sqlite3.ecf" readonly="false"/>
|
||||||
|
<!--
|
||||||
|
By default, commented, since it depends on specific environment settings.
|
||||||
|
<library name="persistence_store_odbc" location="..\..\library\persistence\store_odbc\store_odbc.ecf"/>
|
||||||
|
<library name="persistence_store_mysql" location="..\..\library\persistence\store_mysql\store_mysql.ecf" />
|
||||||
|
-->
|
||||||
|
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf.ecf"/>
|
||||||
|
<library name="wsf_extension" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_extension.ecf" readonly="false"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_any" extends="common">
|
||||||
|
<library name="any_launcher" location="..\..\launcher\any.ecf" readonly="false"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_standalone" extends="common">
|
||||||
|
<variable name="httpd_ssl_disabled" value="true"/>
|
||||||
|
<library name="standalone_launcher" location="..\..\launcher\standalone.ecf" readonly="false"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_standalone_none" extends="demo_standalone">
|
||||||
|
<capability>
|
||||||
|
<concurrency use="none"/>
|
||||||
|
</capability>
|
||||||
|
</target>
|
||||||
|
<target name="demo_standalone_mt" extends="demo_standalone">
|
||||||
|
<capability>
|
||||||
|
<concurrency use="thread"/>
|
||||||
|
</capability>
|
||||||
|
</target>
|
||||||
|
<target name="demo_standalone_scoop" extends="demo_standalone">
|
||||||
|
<capability>
|
||||||
|
<concurrency use="scoop"/>
|
||||||
|
</capability>
|
||||||
|
</target>
|
||||||
|
<target name="demo_standalone_scoop_ssl" extends="demo_standalone_scoop">
|
||||||
|
<capability>
|
||||||
|
<concurrency use="scoop"/>
|
||||||
|
</capability>
|
||||||
|
<variable name="httpd_ssl_enabled" value="true"/>
|
||||||
|
<variable name="libcurl_http_client_disabled" value="true"/>
|
||||||
|
<variable name="net_http_client_disabled" value="false"/>
|
||||||
|
<variable name="netssl_http_client_enabled" value="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_cgi" extends="common">
|
||||||
|
<capability>
|
||||||
|
<concurrency use="none"/>
|
||||||
|
</capability>
|
||||||
|
<library name="cgi_launcher" location="..\..\launcher\cgi.ecf" readonly="false"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_libfcgi" extends="common">
|
||||||
|
<capability>
|
||||||
|
<concurrency use="none"/>
|
||||||
|
</capability>
|
||||||
|
<library name="libfcgi_launcher" location="..\..\launcher\libfcgi.ecf" readonly="false"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo" extends="demo_standalone">
|
||||||
|
</target>
|
||||||
|
</system>
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
port=9090
|
|
||||||
#port=12345
|
|
||||||
#verbose=true
|
|
||||||
51
examples/demo/demo_no_mysql-safe
Normal file
51
examples/demo/demo_no_mysql-safe
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-13-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-13-0 http://www.eiffel.com/developers/xml/configuration-1-13-0.xsd" name="demo_no_mysql" uuid="F8399C5A-9495-4418-B4DC-F38C22EE4683" library_target="demo_no_mysql">
|
||||||
|
<target name="common" abstract="true">
|
||||||
|
<file_rule>
|
||||||
|
<exclude>/EIFGENs$</exclude>
|
||||||
|
<exclude>/CVS$</exclude>
|
||||||
|
<exclude>/.svn$</exclude>
|
||||||
|
</file_rule>
|
||||||
|
<option warning="true" full_class_checking="false" is_attached_by_default="true" void_safety="transitional" syntax="transitional">
|
||||||
|
<assertions precondition="true" postcondition="true" check="true" invariant="true" loop="true" supplier_precondition="true"/>
|
||||||
|
</option>
|
||||||
|
<setting name="concurrency" value="none"/>
|
||||||
|
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
||||||
|
<library name="cms" location="..\..\cms-safe.ecf" readonly="false"/>
|
||||||
|
<library name="cms_demo_module" location="modules\demo\cms_demo_module-safe.ecf" readonly="false"/>
|
||||||
|
<library name="cms_model" location="..\..\library\model\cms_model-safe.ecf" readonly="false"/>
|
||||||
|
<library name="layout" location="..\..\library\layout\layout-safe.ecf" readonly="false"/>
|
||||||
|
<library name="persistence_sqlite" location="..\..\library\persistence\sqlite\persistence_sqlite-safe.ecf" readonly="false"/>
|
||||||
|
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
||||||
|
<library name="wsf_extension" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf_extension-safe.ecf" readonly="false"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_any" extends="common">
|
||||||
|
<root class="EWF_ROC_SERVER" feature="make_and_launch"/>
|
||||||
|
<library name="cgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\cgi-safe.ecf"/>
|
||||||
|
<library name="libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\libfcgi-safe.ecf"/>
|
||||||
|
<library name="nino" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\nino-safe.ecf"/>
|
||||||
|
<cluster name="launcher" location=".\launcher\any\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_nino" extends="common">
|
||||||
|
<root class="EWF_ROC_SERVER" feature="make_and_launch"/>
|
||||||
|
<setting name="concurrency" value="none"/>
|
||||||
|
<library name="default_nino" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\nino-safe.ecf"/>
|
||||||
|
<cluster name="launcher" location=".\launcher\default\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_cgi" extends="common">
|
||||||
|
<root class="EWF_ROC_SERVER" feature="make_and_launch"/>
|
||||||
|
<library name="default_cgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\cgi-safe.ecf"/>
|
||||||
|
<cluster name="launcher" location=".\launcher\default\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo_libfcgi" extends="common">
|
||||||
|
<root class="EWF_ROC_SERVER" feature="make_and_launch"/>
|
||||||
|
<library name="default_libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\libfcgi-safe.ecf"/>
|
||||||
|
<cluster name="launcher" location=".\launcher\default\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\src\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
<target name="demo" extends="demo_nino">
|
||||||
|
</target>
|
||||||
|
</system>
|
||||||
@@ -3,19 +3,4 @@ setlocal
|
|||||||
set ROC_CMD=call %~dp0..\..\tools\roc.bat
|
set ROC_CMD=call %~dp0..\..\tools\roc.bat
|
||||||
set ROC_CMS_DIR=%~dp0
|
set ROC_CMS_DIR=%~dp0
|
||||||
|
|
||||||
%ROC_CMD% install --module ..\..\modules\admin --dir %ROC_CMS_DIR%
|
%ROC_CMD% install --config roc.cfg
|
||||||
%ROC_CMD% install --module ..\..\modules\auth --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\basic_auth --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\blog --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\contact --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\feed_aggregator --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\google_search --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\node --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\oauth20 --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\openid --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\recent_changes --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\seo --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\session_auth --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\taxonomy --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\files --dir %ROC_CMS_DIR%
|
|
||||||
%ROC_CMD% install --module ..\..\modules\custom_block --dir %ROC_CMS_DIR%
|
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Effective class for APPLICATION_LAUNCHER_I
|
|
||||||
|
|
||||||
You can put modification in this class
|
|
||||||
]"
|
|
||||||
date: "$Date: 2013-06-12 13:55:42 +0200 (mer., 12 juin 2013) $"
|
|
||||||
revision: "$Revision: 36 $"
|
|
||||||
|
|
||||||
class
|
|
||||||
APPLICATION_LAUNCHER [G -> WSF_EXECUTION create make end]
|
|
||||||
|
|
||||||
inherit
|
|
||||||
APPLICATION_LAUNCHER_I [G]
|
|
||||||
|
|
||||||
feature -- Custom
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Specific application launcher
|
|
||||||
|
|
||||||
DO NOT EDIT THIS CLASS
|
|
||||||
|
|
||||||
you can customize APPLICATION_LAUNCHER
|
|
||||||
]"
|
|
||||||
date: "$Date: 2013-06-12 13:55:42 +0200 (mer., 12 juin 2013) $"
|
|
||||||
revision: "$Revision: 36 $"
|
|
||||||
|
|
||||||
deferred class
|
|
||||||
APPLICATION_LAUNCHER_I [G -> WSF_EXECUTION create make end]
|
|
||||||
|
|
||||||
inherit
|
|
||||||
SHARED_EXECUTION_ENVIRONMENT
|
|
||||||
|
|
||||||
feature -- Execution
|
|
||||||
|
|
||||||
launch (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS)
|
|
||||||
local
|
|
||||||
nature: like launcher_nature
|
|
||||||
do
|
|
||||||
nature := launcher_nature
|
|
||||||
if nature = Void then
|
|
||||||
launch_standalone (opts)
|
|
||||||
elseif nature = nature_standalone then
|
|
||||||
launch_standalone (opts)
|
|
||||||
elseif nature = nature_nino then
|
|
||||||
launch_nino (opts)
|
|
||||||
elseif nature = nature_cgi then
|
|
||||||
launch_cgi (opts)
|
|
||||||
elseif nature = nature_libfcgi then
|
|
||||||
launch_libfcgi (opts)
|
|
||||||
else
|
|
||||||
-- bye bye
|
|
||||||
(create {EXCEPTIONS}).die (-1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- Access
|
|
||||||
|
|
||||||
launcher_nature: detachable READABLE_STRING_8
|
|
||||||
-- Initialize the launcher nature
|
|
||||||
-- either cgi, libfcgi, or nino.
|
|
||||||
--| We could extend with more connector if needed.
|
|
||||||
--| and we could use WSF_DEFAULT_SERVICE_LAUNCHER to configure this at compilation time.
|
|
||||||
local
|
|
||||||
p: PATH
|
|
||||||
ext: detachable READABLE_STRING_32
|
|
||||||
do
|
|
||||||
create p.make_from_string (execution_environment.arguments.command_name)
|
|
||||||
if attached p.entry as l_entry then
|
|
||||||
ext := l_entry.extension
|
|
||||||
end
|
|
||||||
if ext /= Void then
|
|
||||||
if ext.same_string (nature_standalone) then
|
|
||||||
Result := nature_standalone
|
|
||||||
end
|
|
||||||
if ext.same_string (nature_nino) then
|
|
||||||
Result := nature_nino
|
|
||||||
end
|
|
||||||
if ext.same_string (nature_cgi) then
|
|
||||||
Result := nature_cgi
|
|
||||||
end
|
|
||||||
if ext.same_string (nature_libfcgi) or else ext.same_string ("fcgi") then
|
|
||||||
Result := nature_libfcgi
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Result := default_nature
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- standalone
|
|
||||||
|
|
||||||
nature_standalone: STRING = "standalone"
|
|
||||||
|
|
||||||
launch_standalone (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS)
|
|
||||||
local
|
|
||||||
launcher: WSF_STANDALONE_SERVICE_LAUNCHER [G]
|
|
||||||
do
|
|
||||||
create launcher.make_and_launch (opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- nino
|
|
||||||
|
|
||||||
nature_nino: STRING = "nino"
|
|
||||||
|
|
||||||
launch_nino (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS)
|
|
||||||
local
|
|
||||||
launcher: WSF_NINO_SERVICE_LAUNCHER [G]
|
|
||||||
do
|
|
||||||
create launcher.make_and_launch (opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- cgi
|
|
||||||
|
|
||||||
nature_cgi: STRING = "cgi"
|
|
||||||
|
|
||||||
launch_cgi (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS)
|
|
||||||
local
|
|
||||||
launcher: WSF_CGI_SERVICE_LAUNCHER [G]
|
|
||||||
do
|
|
||||||
create launcher.make_and_launch (opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- libfcgi
|
|
||||||
|
|
||||||
nature_libfcgi: STRING = "libfcgi"
|
|
||||||
|
|
||||||
launch_libfcgi (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS)
|
|
||||||
local
|
|
||||||
launcher: WSF_LIBFCGI_SERVICE_LAUNCHER [G]
|
|
||||||
do
|
|
||||||
create launcher.make_and_launch (opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature -- Default
|
|
||||||
|
|
||||||
default_nature: STRING
|
|
||||||
do
|
|
||||||
Result := nature_standalone
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Effective class for APPLICATION_LAUNCHER_I
|
|
||||||
|
|
||||||
You can put modification in this class
|
|
||||||
]"
|
|
||||||
date: "$Date: 2013-06-12 13:55:42 +0200 (mer., 12 juin 2013) $"
|
|
||||||
revision: "$Revision: 36 $"
|
|
||||||
|
|
||||||
class
|
|
||||||
APPLICATION_LAUNCHER [G -> WSF_EXECUTION create make end]
|
|
||||||
|
|
||||||
inherit
|
|
||||||
APPLICATION_LAUNCHER_I [G]
|
|
||||||
|
|
||||||
feature -- Custom
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
note
|
|
||||||
description: "[
|
|
||||||
Specific application launcher
|
|
||||||
|
|
||||||
DO NOT EDIT THIS CLASS
|
|
||||||
|
|
||||||
you can customize APPLICATION_LAUNCHER
|
|
||||||
]"
|
|
||||||
date: "$Date: 2015-02-09 22:29:56 +0100 (lun., 09 févr. 2015) $"
|
|
||||||
revision: "$Revision: 96596 $"
|
|
||||||
|
|
||||||
deferred class
|
|
||||||
APPLICATION_LAUNCHER_I [G -> WSF_EXECUTION create make end]
|
|
||||||
|
|
||||||
feature -- Execution
|
|
||||||
|
|
||||||
launch (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS)
|
|
||||||
local
|
|
||||||
launcher: WSF_DEFAULT_SERVICE_LAUNCHER [G]
|
|
||||||
do
|
|
||||||
create launcher.make_and_launch (opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,23 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-15-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-15-0 http://www.eiffel.com/developers/xml/configuration-1-15-0.xsd" name="cms_demo_module" uuid="4BB59A54-2544-4C10-BFA6-01D12E541A30" library_target="cms_demo_module">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="4BB59A54-2544-4C10-BFA6-01D12E541A30" message="Obsolete: use cms_demo_module.ecf !" location="cms_demo_module.ecf">
|
||||||
<target name="cms_demo_module">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/.git$</exclude>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
<option warning="true" full_class_checking="true" is_attached_by_default="true" void_safety="all" syntax="standard">
|
|
||||||
</option>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="base_extension" location="$ISE_LIBRARY\library\base_extension\base_extension-safe.ecf"/>
|
|
||||||
<library name="cms" location="..\..\..\..\cms-safe.ecf" readonly="false"/>
|
|
||||||
<library name="cms_model" location="..\..\..\..\library\model\cms_model-safe.ecf" readonly="false"/>
|
|
||||||
<library name="http" location="$ISE_LIBRARY\contrib\library\network\protocol\http\http-safe.ecf"/>
|
|
||||||
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json-safe.ecf" readonly="false"/>
|
|
||||||
<library name="time" location="$ISE_LIBRARY\library\time\time-safe.ecf"/>
|
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
|
||||||
<library name="wsf_encoder" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\text\encoder\encoder-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
note
|
note
|
||||||
description: "Summary description for {CMS_DEMO_MODULE}."
|
description: "Summary description for {CMS_DEMO_MODULE}."
|
||||||
author: ""
|
author: ""
|
||||||
date: "$Date: 2015-02-13 13:08:13 +0100 (ven., 13 févr. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96616 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
CMS_DEMO_MODULE
|
CMS_DEMO_MODULE
|
||||||
|
|||||||
21
examples/demo/modules/demo/cms_demo_module.ecf
Normal file
21
examples/demo/modules/demo/cms_demo_module.ecf
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="cms_demo_module" uuid="4BB59A54-2544-4C10-BFA6-01D12E541A30" library_target="cms_demo_module">
|
||||||
|
<target name="cms_demo_module">
|
||||||
|
<root all_classes="true"/>
|
||||||
|
<file_rule>
|
||||||
|
<exclude>/\.git$</exclude>
|
||||||
|
<exclude>/\.svn$</exclude>
|
||||||
|
<exclude>/EIFGENs$</exclude>
|
||||||
|
</file_rule>
|
||||||
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
|
<library name="base_extension" location="$ISE_LIBRARY\library\base_extension\base_extension.ecf"/>
|
||||||
|
<library name="cms" location="..\..\..\..\cms.ecf" readonly="false"/>
|
||||||
|
<library name="cms_model" location="..\..\..\..\library\model\cms_model.ecf" readonly="false"/>
|
||||||
|
<library name="http" location="$ISE_LIBRARY\contrib\library\network\protocol\http\http.ecf"/>
|
||||||
|
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json.ecf" readonly="false"/>
|
||||||
|
<library name="time" location="$ISE_LIBRARY\library\time\time.ecf"/>
|
||||||
|
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf.ecf"/>
|
||||||
|
<library name="wsf_encoder" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\text\encoder\encoder.ecf"/>
|
||||||
|
<cluster name="src" location=".\" recursive="true"/>
|
||||||
|
</target>
|
||||||
|
</system>
|
||||||
36
examples/demo/roc.cfg
Normal file
36
examples/demo/roc.cfg
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "demo",
|
||||||
|
"project": "demo-safe.ecf",
|
||||||
|
"location": ".",
|
||||||
|
"site_directory": "site",
|
||||||
|
"themes": {
|
||||||
|
"admin": { "location": "../../themes/admin", "mode": "link" }
|
||||||
|
},
|
||||||
|
"modules": {
|
||||||
|
"demo": { "location": "modules/demo" },
|
||||||
|
"core": { "location": "../../modules/core" },
|
||||||
|
"admin": { "location": "../../modules/admin" },
|
||||||
|
"auth": { "location": "../../modules/auth" },
|
||||||
|
"basic_auth": { "location": "../../modules/basic_auth" },
|
||||||
|
"blog": { "location": "../../modules/blog" },
|
||||||
|
"contact": { "location": "../../modules/contact" },
|
||||||
|
"feed_aggregator": { "location": "../../modules/feed_aggregator" },
|
||||||
|
"google_search": { "location": "../../modules/google_search" },
|
||||||
|
"google_search_20": { "location": "../../modules/google_search_20" },
|
||||||
|
"node": { "location": "../../modules/node" },
|
||||||
|
"oauth20": { "location": "../../modules/oauth20" },
|
||||||
|
"openid": { "location": "../../modules/openid" },
|
||||||
|
"recent_changes": { "location": "../../modules/recent_changes" },
|
||||||
|
"seo": { "location": "../../modules/seo" },
|
||||||
|
"sitemap": { "location": "../../modules/sitemap" },
|
||||||
|
"session_auth": { "location": "../../modules/session_auth" },
|
||||||
|
"taxonomy": { "location": "../../modules/taxonomy" },
|
||||||
|
"files": { "location": "../../modules/files" },
|
||||||
|
"custom_block": { "location": "../../modules/custom_block" },
|
||||||
|
"embedded_video": { "location": "../../modules/embedded_video" },
|
||||||
|
"wikitext": { "location": "../../modules/wikitext" },
|
||||||
|
"messaging": { "location": "../../modules/messaging" },
|
||||||
|
"comments": { "location": "../../modules/comments" },
|
||||||
|
"masquerade": { "location": "../../dev_modules/masquerade" }
|
||||||
|
}
|
||||||
|
}
|
||||||
15
examples/demo/server.crt
Normal file
15
examples/demo/server.crt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICWDCCAcGgAwIBAgIJAJnXGtV+PtiYMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
|
||||||
|
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
|
||||||
|
aWRnaXRzIFB0eSBMdGQwHhcNMTUwNDAzMjIxNTA0WhcNMTYwNDAyMjIxNTA0WjBF
|
||||||
|
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
|
||||||
|
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
|
||||||
|
gQDFMK6ojzg+KlklhTossR13c51izMgGc3B0z9ttfHIcx2kxra3HtHcKIl5wSUvn
|
||||||
|
G8zmSyFAyQTs5LUv65q46FM9qU8tP+vTeFCfNXvjRcIEpouta3J53K0xuUlxz4d4
|
||||||
|
4D6qvdDWAez/0AkI4y5etW5zXtg7IQorJhsI9TmfGuruzwIDAQABo1AwTjAdBgNV
|
||||||
|
HQ4EFgQUbWpk2HoHa0YqpEwr7CGEatBFTMkwHwYDVR0jBBgwFoAUbWpk2HoHa0Yq
|
||||||
|
pEwr7CGEatBFTMkwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQAi+h4/
|
||||||
|
IgEocWkdRZBKHEcTrRxz5WhEDJMoVo9LhnXvCfn1G/4p6Un6sYv7Xzpi9NuSY8uV
|
||||||
|
cjfJJXhtF3AtyZ70iTAxWaRWjGaZ03PYOjlledJ5rqJEt6CCn8m+JsfznduZvbxQ
|
||||||
|
zQ6jCLXfyD/tvemB+yYEI3NntvRKx5/zt6Q26Q==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
9
examples/demo/server.ini
Normal file
9
examples/demo/server.ini
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
port=9090
|
||||||
|
#port=12345
|
||||||
|
verbose=true
|
||||||
|
socket_timeout=60
|
||||||
|
socket_recv_timeout=45
|
||||||
|
keep_alive_timeout=25
|
||||||
|
ssl_enabled=false
|
||||||
|
ssl_ca_key=server.key
|
||||||
|
ssl_ca_crt=server.crt
|
||||||
15
examples/demo/server.key
Normal file
15
examples/demo/server.key
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIICXAIBAAKBgQDFMK6ojzg+KlklhTossR13c51izMgGc3B0z9ttfHIcx2kxra3H
|
||||||
|
tHcKIl5wSUvnG8zmSyFAyQTs5LUv65q46FM9qU8tP+vTeFCfNXvjRcIEpouta3J5
|
||||||
|
3K0xuUlxz4d44D6qvdDWAez/0AkI4y5etW5zXtg7IQorJhsI9TmfGuruzwIDAQAB
|
||||||
|
AoGAR5efMg+dieRyLU8rieJcImxVbfOPg9gRsjdtIVkXTR+RL7ow59q7hXBo/Td/
|
||||||
|
WU8cm1gXoJ/bK+71YYqWyB+BaLRIWvRWb7Gdw203tu4e136Ca5uuY+71qdbVTVcl
|
||||||
|
NQ7J+T+eAQFP+a+DdT3ZQxu9eze87SMbu6i5YSpIk2kusOECQQDunv/DQ+nc+NgR
|
||||||
|
DF+Td3sNYUVRT9a1CWi6abAG6reXwp8MS4NobWDf+Ps4JODhEEwlIdq5qL7qqYBZ
|
||||||
|
Gc1TJJ53AkEA0404Fn6vAzzegBcS4RLlYTK7nMr0m4pMmDMCI6YzAYdMmKHp1e6f
|
||||||
|
IwxSmQrmwyAgwcT01bc0+A8yipcC2BWQaQJBAJ01QZm635OGmos41KsKF5bsE8gL
|
||||||
|
SpBBH69Yu/ECqGwie7iU84FUNnO4zIHjwghlPVVlZX3Vz9o4S+fn2N9DC+cCQGyZ
|
||||||
|
QyCxGdC0r5fbwHJQS/ZQn+UGfvlVzqoXDVMVn3t6ZES6YZrT61eHnOM5qGqklIxE
|
||||||
|
Old3vDZXPt/MU8Zvk3kCQBOgUx2VxvTrHN37hk9/QIDiM62+RenBm1M3ah8xTosf
|
||||||
|
1mSeEb6d9Kwb3TgPBmA7YXzJuAQfRIvEPMPxT5SSr6Q=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
@@ -22,6 +22,7 @@ email=noreply@example.com
|
|||||||
# Name of website theme.
|
# Name of website theme.
|
||||||
theme=bootstrap
|
theme=bootstrap
|
||||||
|
|
||||||
|
|
||||||
[notification]
|
[notification]
|
||||||
# By default, notification.email = site.email
|
# By default, notification.email = site.email
|
||||||
# you can change here the email that will receive internal messages.
|
# you can change here the email that will receive internal messages.
|
||||||
@@ -34,7 +35,7 @@ subject_prefix=[Eiffel CMS]
|
|||||||
#from=...
|
#from=...
|
||||||
smtp=localhost:25
|
smtp=localhost:25
|
||||||
#sendmail=site\bin\roc_sendmail.bat
|
#sendmail=site\bin\roc_sendmail.bat
|
||||||
output=site\db\mailer.log
|
output=site\db\mails
|
||||||
|
|
||||||
[modules]
|
[modules]
|
||||||
# Module status
|
# Module status
|
||||||
@@ -43,7 +44,7 @@ output=site\db\mailer.log
|
|||||||
# Default is "on"
|
# Default is "on"
|
||||||
# for each module, this can be overwritten with
|
# for each module, this can be overwritten with
|
||||||
# module_name= on or off
|
# module_name= on or off
|
||||||
*=all
|
#*=on
|
||||||
|
|
||||||
[blocks]
|
[blocks]
|
||||||
@include=blocks.ini
|
@include=blocks.ini
|
||||||
@@ -56,6 +57,15 @@ output=site\db\mailer.log
|
|||||||
#openid.token=
|
#openid.token=
|
||||||
#oauth.token=
|
#oauth.token=
|
||||||
|
|
||||||
[admin]
|
[webapi]
|
||||||
|
mode=on
|
||||||
|
|
||||||
|
[administration]
|
||||||
|
base_path=/roc-admin
|
||||||
|
theme=admin
|
||||||
# CMS Installation, are accessible by "all", "none" or uppon "permission". (default is none)
|
# CMS Installation, are accessible by "all", "none" or uppon "permission". (default is none)
|
||||||
installation_access=all
|
installation_access=all
|
||||||
|
|
||||||
|
[dev]
|
||||||
|
# masquerade: all, none, permission. Default is none.
|
||||||
|
masquerade=all
|
||||||
|
|||||||
1
examples/demo/site/db/mails/README.md
Normal file
1
examples/demo/site/db/mails/README.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
This directory can be used to keep emails sent by the CMS.
|
||||||
@@ -1,34 +1,79 @@
|
|||||||
ul.cms-users {
|
ul.cms-users {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding: 3px 3px 3px 3px;
|
padding: 3px 3px 3px 3px;
|
||||||
border: solid 1px #ccc; }
|
border: solid 1px #ccc;
|
||||||
ul.cms-users li {
|
}
|
||||||
border-top: dotted 1px #ccc; }
|
ul.cms-users li {
|
||||||
ul.cms-users li:first-child {
|
border-top: dotted 1px #ccc;
|
||||||
border-top: none; }
|
display: flex;
|
||||||
ul.cms-users li.cms_user a::before {
|
flex-direction: row;
|
||||||
content: "[users] "; }
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
ul.cms-users li:first-child {
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
ul.cms-users li span {
|
||||||
|
flex-grow: 1;
|
||||||
|
flex-basis: 20px;
|
||||||
|
padding-left: 2px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
ul.cms-users li span.identifier a::before {
|
||||||
|
content: "[user] ";
|
||||||
|
}
|
||||||
|
ul.cms-users li span.roles {
|
||||||
|
color: #090;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
ul.cms-roles {
|
ul.cms-roles {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding: 3px 3px 3px 3px;
|
padding: 3px 3px 3px 3px;
|
||||||
border: solid 1px #ccc; }
|
border: solid 1px #ccc;
|
||||||
ul.cms-roles li {
|
}
|
||||||
border-top: dotted 1px #ccc; }
|
ul.cms-roles li {
|
||||||
ul.cms-roles li:first-child {
|
border-top: dotted 1px #ccc;
|
||||||
border-top: none; }
|
}
|
||||||
ul.cms-roles li.cms_role a::before {
|
ul.cms-roles li:first-child {
|
||||||
content: "[roles] "; }
|
border-top: none;
|
||||||
|
}
|
||||||
|
ul.cms-roles li.cms_role a::before {
|
||||||
|
content: "[role] ";
|
||||||
|
}
|
||||||
|
|
||||||
|
table.cms-roles {
|
||||||
|
border: solid 1px black;
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
table.cms-roles th, table.cms-roles td {
|
||||||
|
padding: 2px;
|
||||||
|
border: solid 1px black;
|
||||||
|
}
|
||||||
|
table.cms-roles td.cms_role_permission {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
ul.cms-permissions {
|
ul.cms-permissions {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding: 3px 3px 3px 3px;
|
padding: 3px 3px 3px 3px;
|
||||||
border: solid 1px #ccc; }
|
border: solid 1px #ccc;
|
||||||
ul.cms-permissions li {
|
}
|
||||||
border-top: dotted 1px #ccc; }
|
ul.cms-permissions li {
|
||||||
ul.cms-permissions li:first-child {
|
border-top: dotted 1px #ccc;
|
||||||
border-top: none; }
|
}
|
||||||
ul.cms-permissions li.cms_permission a::before {
|
ul.cms-permissions li:first-child {
|
||||||
content: "[permission] "; }
|
border-top: none;
|
||||||
|
}
|
||||||
|
ul.cms-permissions li.cms_permission a::before {
|
||||||
|
content: "[permission] ";
|
||||||
|
}
|
||||||
|
|
||||||
/*# sourceMappingURL=admin.css.map */
|
form#modules_collection thead td {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
form#modules_collection tr {
|
||||||
|
border-bottom: dotted 1px #ccc;
|
||||||
|
}
|
||||||
|
form#modules_collection td {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
ul.cms-users {
|
ul.cms-users {
|
||||||
|
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding: 3px 3px 3px 3px;
|
padding: 3px 3px 3px 3px;
|
||||||
border: solid 1px #ccc;
|
border: solid 1px #ccc;
|
||||||
@@ -9,10 +8,22 @@ ul.cms-users {
|
|||||||
&:first-child {
|
&:first-child {
|
||||||
border-top: none;
|
border-top: none;
|
||||||
}
|
}
|
||||||
}
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
li.cms_user a::before {
|
align-items: flex-start;
|
||||||
content: "[users] ";
|
span {
|
||||||
|
flex-grow: 1;
|
||||||
|
flex-basis: 20px;
|
||||||
|
padding-left: 2px;
|
||||||
|
text-align: left;
|
||||||
|
&.identifier a::before {
|
||||||
|
content: "[user] ";
|
||||||
|
}
|
||||||
|
&.roles {
|
||||||
|
color: #090;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -31,7 +42,15 @@ ul.cms-roles {
|
|||||||
}
|
}
|
||||||
|
|
||||||
li.cms_role a::before {
|
li.cms_role a::before {
|
||||||
content: "[roles] ";
|
content: "[role] ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
table.cms-roles {
|
||||||
|
border: solid 1px black;
|
||||||
|
border-collapse: collapse;
|
||||||
|
th,td {padding: 2px; border: solid 1px black; }
|
||||||
|
td.cms_role_permission {
|
||||||
|
font-style: italic;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,6 +73,16 @@ ul.cms-permissions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
form#modules_collection {
|
||||||
|
thead td {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
border-bottom: dotted 1px #ccc;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"email": "webmaster@example.com",
|
|
||||||
"subjet_register": "Thank you for regitering with us, activate account",
|
|
||||||
"subjet_activate": "New account ativation token",
|
|
||||||
"subjet_password": "Password Recovery!!!",
|
|
||||||
"subjet_oauth": "Welcome",
|
|
||||||
"smtp": "127.0.0.1"
|
|
||||||
}
|
|
||||||
@@ -8,6 +8,9 @@
|
|||||||
<div>
|
<div>
|
||||||
<label>Email:</label> {$user.email/}
|
<label>Email:</label> {$user.email/}
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Profile name:</label> {$user.profile_name/}
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label>Creation Date:</label> {$user.creation_date/} (UTC)
|
<label>Creation Date:</label> {$user.creation_date/} (UTC)
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<div>
|
<div>
|
||||||
<p>We have send you a new token code, check your email to generate a new password</p>
|
<p>We have sent you a new token code, check your email to generate a new password</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<h3>Login or <a href="{$site_url/}account/roc-register">Register</a></h3>
|
<h3>Login or <a href="{$site_url/}account/roc-register">Register</a></h3>
|
||||||
<div>
|
<div>
|
||||||
<form name="cms_basic_auth" action="{$site_url/}roc-basic-login" method="POST">
|
<form name="cms_basic_auth" action="{$site_url/}roc-basic-login" method="POST">
|
||||||
|
{unless isempty="$site_destination"}<input type="hidden" name="destination" value="{$site_destination/}">{/unless}
|
||||||
<input type="hidden" name="host" id="host" value="{$site_url/}">
|
<input type="hidden" name="host" id="host" value="{$site_url/}">
|
||||||
<div>
|
<div>
|
||||||
<input type="text" name="username" id="username" required>
|
<input type="text" name="username" id="username" required>
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
CREATE TABLE blog_post_nodes(
|
|
||||||
`nid` INTEGER NOT NULL CHECK("nid">=0),
|
|
||||||
`revision` INTEGER NOT NULL,
|
|
||||||
`tags` VARCHAR(255),
|
|
||||||
CONSTRAINT PK_nid_revision PRIMARY KEY (nid,revision)
|
|
||||||
);
|
|
||||||
18
examples/demo/site/modules/comments/files/css/comments.css
Normal file
18
examples/demo/site/modules/comments/files/css/comments.css
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
div.comments-box div.title {
|
||||||
|
font-size: x-large;
|
||||||
|
}
|
||||||
|
div.comments-box ul.comments {
|
||||||
|
border-top: solid 1px #eee;
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
border-left: solid 5px #eee;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
div.comments-box ul.comments li.comment {
|
||||||
|
border-bottom: solid 1px #eee;
|
||||||
|
}
|
||||||
|
div.comments-box ul.comments li.comment > span.author {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
div.comments-box ul.comments li.comment > span.info {
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
17
examples/demo/site/modules/comments/files/scss/comments.scss
Normal file
17
examples/demo/site/modules/comments/files/scss/comments.scss
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
div.comments-box {
|
||||||
|
div.title {
|
||||||
|
font-size: x-large;
|
||||||
|
}
|
||||||
|
ul.comments {
|
||||||
|
border-top: solid 1px #eee;
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
border-left: solid 5px #eee;
|
||||||
|
list-style-type: none;
|
||||||
|
li.comment {
|
||||||
|
border-bottom: solid 1px #eee;
|
||||||
|
&>span.author { font-weight: bold; }
|
||||||
|
&>span.info { font-style: italic; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
13
examples/demo/site/modules/comments/scripts/install.sql
Normal file
13
examples/demo/site/modules/comments/scripts/install.sql
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
CREATE TABLE comments(
|
||||||
|
`cid` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT UNIQUE,
|
||||||
|
`content` TEXT,
|
||||||
|
`format` VARCHAR(128),
|
||||||
|
`author` INTEGER,
|
||||||
|
`author_name` VARCHAR(255),
|
||||||
|
`created` DATETIME NOT NULL,
|
||||||
|
`changed` DATETIME NOT NULL,
|
||||||
|
`status` INTEGER,
|
||||||
|
`parent` INTEGER,
|
||||||
|
`entity` VARCHAR(255), /* Associated entity */
|
||||||
|
`entity_type` VARCHAR(255) /* Type of associated entity */
|
||||||
|
);
|
||||||
@@ -1,4 +1,29 @@
|
|||||||
|
|
||||||
|
CREATE TABLE `logs`(
|
||||||
|
`id` INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
|
||||||
|
`category` VARCHAR(255) NOT NULL,
|
||||||
|
`level` INTEGER NOT NULL,
|
||||||
|
`uid` INTEGER,
|
||||||
|
`message` TEXT NOT NULL,
|
||||||
|
`info` TEXT,
|
||||||
|
`link` TEXT,
|
||||||
|
`date` DATETIME NOT NULL
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `custom_values`(
|
||||||
|
`type` VARCHAR(255) NOT NULL,
|
||||||
|
`name` VARCHAR(255) NOT NULL,
|
||||||
|
`value` TEXT
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `path_aliases`(
|
||||||
|
`pid` INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
|
||||||
|
`source` VARCHAR(255) NOT NULL,
|
||||||
|
`alias` VARCHAR(255) NOT NULL,
|
||||||
|
`lang` VARCHAR(12)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE `users`(
|
CREATE TABLE `users`(
|
||||||
`uid` INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
|
`uid` INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
|
||||||
`name` VARCHAR(100) NOT NULL,
|
`name` VARCHAR(100) NOT NULL,
|
||||||
@@ -8,6 +33,7 @@ CREATE TABLE `users`(
|
|||||||
`status` INTEGER,
|
`status` INTEGER,
|
||||||
`created` DATETIME NOT NULL,
|
`created` DATETIME NOT NULL,
|
||||||
`signed` DATETIME,
|
`signed` DATETIME,
|
||||||
|
`profile_name` VARCHAR(250) NULL,
|
||||||
CONSTRAINT `name`
|
CONSTRAINT `name`
|
||||||
UNIQUE(`name`)
|
UNIQUE(`name`)
|
||||||
);
|
);
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
ALTER TABLE users ADD profile_name VARCHAR(250) NULL;
|
||||||
|
|
||||||
6
examples/demo/site/modules/core/scripts/user_profile.sql
Normal file
6
examples/demo/site/modules/core/scripts/user_profile.sql
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
CREATE TABLE user_profiles(
|
||||||
|
`uid` INTEGER NOT NULL CHECK("uid">=0),
|
||||||
|
`key` VARCHAR(255) NOT NULL,
|
||||||
|
`value` TEXT,
|
||||||
|
CONSTRAINT PK_uid_key PRIMARY KEY (uid,key)
|
||||||
|
);
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
"blocks": {
|
"blocks": {
|
||||||
"test": {
|
"test": {
|
||||||
"title": "Custom block test",
|
"title": "Custom block test",
|
||||||
|
"is_raw": "yes",
|
||||||
"region": "footer",
|
"region": "footer",
|
||||||
"weight": 100,
|
"weight": 100,
|
||||||
"conditions": ["path:demo/*"]
|
"conditions": ["path:demo/*"]
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
<div>
|
|
||||||
This is a nice custom block test for site {$sitename/}.
|
|
||||||
</div>
|
|
||||||
@@ -1,3 +1,10 @@
|
|||||||
|
div.feed ul.nav {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
div.feed ul.nav li {
|
||||||
|
display: inline-block;
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
div.feed ul {
|
div.feed ul {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
@@ -1,4 +1,11 @@
|
|||||||
div.feed {
|
div.feed {
|
||||||
|
ul.nav {
|
||||||
|
list-style: none;
|
||||||
|
li {
|
||||||
|
display: inline-block;
|
||||||
|
padding-right: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
ul {
|
ul {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|||||||
1
examples/demo/site/modules/files/files/js/basic.css
Normal file
1
examples/demo/site/modules/files/files/js/basic.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.dropzone,.dropzone *{box-sizing:border-box}.dropzone{position:relative}.dropzone .dz-preview{position:relative;display:inline-block;width:120px;margin:0.5em}.dropzone .dz-preview .dz-progress{display:block;height:15px;border:1px solid #aaa}.dropzone .dz-preview .dz-progress .dz-upload{display:block;height:100%;width:0;background:green}.dropzone .dz-preview .dz-error-message{color:red;display:none}.dropzone .dz-preview.dz-error .dz-error-message,.dropzone .dz-preview.dz-error .dz-error-mark{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{display:block}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{position:absolute;display:none;left:30px;top:30px;width:54px;height:58px;left:50%;margin-left:-27px}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"gcse": {
|
||||||
|
"search_engine_id":""
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<form action="{$site_url/}gcse20" class="search-form" id="search-form">
|
||||||
|
<div class="form-group has-feedback">
|
||||||
|
<input type="search" class="form-control" name="q" id="search-query" placeholder="search" value="{htmlentities}{$cms_search_query/}{/htmlentities}" >
|
||||||
|
<span class="glyphicon glyphicon-search form-control-feedback"></span>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
<section>
|
||||||
|
<header>
|
||||||
|
<h2>Results for <kbd>{$cms_search_query/}</kbd></h2>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<gcse:searchresults-only></gcse:searchresults-only>
|
||||||
|
</section>
|
||||||
15
examples/demo/site/modules/messaging/files/css/messaging.css
Normal file
15
examples/demo/site/modules/messaging/files/css/messaging.css
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
.messaging-box fieldset {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: flex-start;
|
||||||
|
overflow: scroll;
|
||||||
|
height: 50ex;
|
||||||
|
line-height: 2.5ex;
|
||||||
|
}
|
||||||
|
.messaging-box fieldset div {
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
.messaging-box fieldset input[type="checkbox"] {
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
.messaging-box {
|
||||||
|
fieldset {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: flex-start;
|
||||||
|
div {
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
overflow:scroll;
|
||||||
|
height:50ex;
|
||||||
|
line-height: 2.5ex;
|
||||||
|
input[type="checkbox"] {
|
||||||
|
margin-right: 5px;
|
||||||
|
margin-left: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,9 @@ ul.cms-nodes li {
|
|||||||
ul.cms-nodes li:first-child {
|
ul.cms-nodes li:first-child {
|
||||||
border-top: none;
|
border-top: none;
|
||||||
}
|
}
|
||||||
|
ul.cms-nodes li span.author, ul.cms-nodes li span.info {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
ul.cms-nodes li.cms_type_page a::before {
|
ul.cms-nodes li.cms_type_page a::before {
|
||||||
content: "[page] ";
|
content: "[page] ";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,9 @@ ul.cms-nodes {
|
|||||||
&:first-child {
|
&:first-child {
|
||||||
border-top: none;
|
border-top: none;
|
||||||
}
|
}
|
||||||
|
span.author, span.info {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
li.cms_type_page a::before {
|
li.cms_type_page a::before {
|
||||||
content: "[page] ";
|
content: "[page] ";
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ CREATE TABLE nodes (
|
|||||||
`content` TEXT,
|
`content` TEXT,
|
||||||
`format` VARCHAR(128),
|
`format` VARCHAR(128),
|
||||||
`author` INTEGER,
|
`author` INTEGER,
|
||||||
|
`editor` INTEGER,
|
||||||
`publish` DATETIME,
|
`publish` DATETIME,
|
||||||
`created` DATETIME NOT NULL,
|
`created` DATETIME NOT NULL,
|
||||||
`changed` DATETIME NOT NULL,
|
`changed` DATETIME NOT NULL,
|
||||||
@@ -23,15 +24,9 @@ CREATE TABLE node_revisions (
|
|||||||
`content` TEXT,
|
`content` TEXT,
|
||||||
`format` VARCHAR(128),
|
`format` VARCHAR(128),
|
||||||
`author` INTEGER,
|
`author` INTEGER,
|
||||||
|
`editor` INTEGER,
|
||||||
`changed` DATETIME NOT NULL,
|
`changed` DATETIME NOT NULL,
|
||||||
`status` INTEGER,
|
`status` INTEGER,
|
||||||
CONSTRAINT Unique_nid_revision PRIMARY KEY (nid,revision)
|
CONSTRAINT Unique_nid_revision PRIMARY KEY (nid,revision)
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE TABLE page_nodes(
|
|
||||||
`nid` INTEGER NOT NULL,
|
|
||||||
`revision` INTEGER NOT NULL,
|
|
||||||
`parent` INTEGER,
|
|
||||||
CONSTRAINT PK_nid_revision PRIMARY KEY (nid,revision)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|||||||
8
examples/demo/site/modules/node/scripts/page.sql
Normal file
8
examples/demo/site/modules/node/scripts/page.sql
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
CREATE TABLE page_nodes(
|
||||||
|
`nid` INTEGER NOT NULL,
|
||||||
|
`revision` INTEGER NOT NULL,
|
||||||
|
`parent` INTEGER,
|
||||||
|
CONSTRAINT PK_nid_revision PRIMARY KEY (nid,revision)
|
||||||
|
);
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
ALTER TABLE nodes ADD editor INTEGER ;
|
||||||
|
UPDATE nodes SET editor = author;
|
||||||
|
|
||||||
|
ALTER TABLE node_revisions ADD editor INTEGER ;
|
||||||
|
UPDATE node_revisions SET editor = author;
|
||||||
|
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<div class="primary-tabs">
|
<div class="primary-tabs">
|
||||||
<div>
|
<div>
|
||||||
{foreach item="item" from="$oauth_consumers"}
|
{foreach item="item" from="$oauth_consumers"}
|
||||||
<a href="{$site_url/}account/login-with-oauth/{$item/}">Login with {$item/}</a><br>
|
<a href="{$site_url/}account/auth/login-with-oauth/{$item/}">Login with {$item/}</a><br>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
<h3>Login or <a href="{$site_url/}account/roc-register">Register</a></h3>
|
<h3>Login or <a href="{$site_url/}account/roc-register">Register</a></h3>
|
||||||
<div>
|
<div>
|
||||||
<form name="cms_session_auth" action="{$site_url/}account/auth/roc-session-login" method="POST">
|
<form name="cms_session_auth" action="{$site_url/}account/auth/roc-session-login" method="POST">
|
||||||
|
{unless isempty="$site_destination"}<input type="hidden" name="destination" value="{$site_destination/}">{/unless}
|
||||||
<div>
|
<div>
|
||||||
<input type="text" name="username" id="username" required value="{$username/}">
|
<input type="text" name="username" id="username" required value="{$username/}">
|
||||||
<label>Username</label>
|
<label>Username</label>
|
||||||
|
|||||||
141
examples/demo/site/modules/sitemap/files/sitemap.xsl
Normal file
141
examples/demo/site/modules/sitemap/files/sitemap.xsl
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xsl:stylesheet version="2.0"
|
||||||
|
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||||
|
xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||||
|
<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||||
|
<xsl:template match="/">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<title>XML Sitemap</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
font-family:"Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 14px;
|
||||||
|
padding-bottom: 29px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 20px;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #aaaaaa;
|
||||||
|
line-height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
background: #f8f8f8;
|
||||||
|
border-top: 1px solid #dddddd;
|
||||||
|
padding-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content a:visited,
|
||||||
|
#content tr:hover a:visited {
|
||||||
|
color: #68009c;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr#table-header:hover {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr:hover {
|
||||||
|
background: #ebebeb;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content tr:hover a {
|
||||||
|
color: #6e6e6e;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
color: #6e6e6e;
|
||||||
|
font-size: 12px;
|
||||||
|
border-bottom: 1px solid #dddddd;
|
||||||
|
padding: 11px 5px 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
color: #333333;
|
||||||
|
font-size: 12px;
|
||||||
|
border-bottom: 1px solid #dddddd;
|
||||||
|
padding: 5px 50px 17px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer {
|
||||||
|
background: #f8f8f8;
|
||||||
|
font-size: 13px;
|
||||||
|
color: #aaaaaa;
|
||||||
|
padding: 54px 0 20px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #2384c6;
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
color: #6e6e6e;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="header">
|
||||||
|
<h1>XML Sitemap</h1>
|
||||||
|
<h2>This is a XML Sitemap which is supposed to be processed by <a href="http://www.google.com">Google search engine</a>.</h2>
|
||||||
|
</div>
|
||||||
|
<div id="content">
|
||||||
|
<table cellpadding="5" cellspacing="0">
|
||||||
|
<tr id="table-header">
|
||||||
|
<th>URL</th>
|
||||||
|
<th>Priority</th>
|
||||||
|
<th>Change Frequency</th>
|
||||||
|
<th>LastChange (GMT)</th>
|
||||||
|
</tr>
|
||||||
|
<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
|
||||||
|
<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
|
||||||
|
<xsl:for-each select="sitemap:urlset/sitemap:url">
|
||||||
|
<tr>
|
||||||
|
<xsl:if test="position() mod 2 != 1">
|
||||||
|
<xsl:attribute name="class">high</xsl:attribute>
|
||||||
|
</xsl:if>
|
||||||
|
<td>
|
||||||
|
<xsl:variable name="itemURL">
|
||||||
|
<xsl:value-of select="sitemap:loc"/>
|
||||||
|
</xsl:variable>
|
||||||
|
<a href="{$itemURL}">
|
||||||
|
<xsl:value-of select="sitemap:loc"/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<xsl:value-of select="concat(sitemap:priority*100,'%')"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</xsl:for-each>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
</xsl:template>
|
||||||
|
</xsl:stylesheet>
|
||||||
19
examples/demo/site/modules/wikitext/files/css/wikitext.css
Normal file
19
examples/demo/site/modules/wikitext/files/css/wikitext.css
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#main code, #main e, #main eiffel {
|
||||||
|
display: block;
|
||||||
|
font-family: monospace;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
border: solid 1px #ccc;
|
||||||
|
background-color: #fff;
|
||||||
|
line-height: 1.3;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 2px 0 2px 0;
|
||||||
|
}
|
||||||
|
#main code.inline, #main e.inline, #main eiffel.inline {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 2px 0 2px;
|
||||||
|
margin: 0;
|
||||||
|
border: none;
|
||||||
|
border-bottom: dotted 1px #ddd;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: #efefef;
|
||||||
|
}
|
||||||
22
examples/demo/site/modules/wikitext/files/scss/wikitext.scss
Normal file
22
examples/demo/site/modules/wikitext/files/scss/wikitext.scss
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#main {
|
||||||
|
code, e, eiffel {
|
||||||
|
display: block;
|
||||||
|
font-family: monospace;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
border: solid 1px #ccc;
|
||||||
|
background-color: #fff;
|
||||||
|
line-height: 1.3;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 2px 0 2px 0;
|
||||||
|
|
||||||
|
&.inline {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0 2px 0 2px;
|
||||||
|
margin: 0;
|
||||||
|
border: none;
|
||||||
|
border-bottom: dotted 1px #ddd;
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: #efefef;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
CREATE TABLE `logs`(
|
|
||||||
`id` INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
|
|
||||||
`category` VARCHAR(255) NOT NULL,
|
|
||||||
`level` INTEGER NOT NULL,
|
|
||||||
`uid` INTEGER,
|
|
||||||
`message` TEXT NOT NULL,
|
|
||||||
`info` TEXT,
|
|
||||||
`link` TEXT,
|
|
||||||
`date` DATETIME NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `custom_values`(
|
|
||||||
`type` VARCHAR(255) NOT NULL,
|
|
||||||
`name` VARCHAR(255) NOT NULL,
|
|
||||||
`value` TEXT
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE `path_aliases`(
|
|
||||||
`pid` INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
|
|
||||||
`source` VARCHAR(255) NOT NULL,
|
|
||||||
`alias` VARCHAR(255) NOT NULL,
|
|
||||||
`lang` VARCHAR(12)
|
|
||||||
);
|
|
||||||
107
examples/demo/site/themes/admin/assets/css/style.css
Normal file
107
examples/demo/site/themes/admin/assets/css/style.css
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
div {
|
||||||
|
background-color: #ffdddd;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul.horizontal li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header #primary.menu ul li {
|
||||||
|
color: #555;
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
#header #primary.menu ul li a {
|
||||||
|
color: #555;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
#header #primary.menu ul li a:hover {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
#header #primary.menu ul.horizontal {
|
||||||
|
border-bottom: solid 1px #ddd;
|
||||||
|
}
|
||||||
|
#header #primary.menu ul.horizontal li {
|
||||||
|
border-top: solid 3px #fff;
|
||||||
|
}
|
||||||
|
#header #primary.menu ul.horizontal li:hover {
|
||||||
|
background-color: #ffe;
|
||||||
|
border-top: solid 3px #999;
|
||||||
|
}
|
||||||
|
#header #primary.menu ul.horizontal li.active {
|
||||||
|
font-weight: bold;
|
||||||
|
border-top: solid 3px #ddd;
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
#header #primary.menu ul.horizontal li.active:hover {
|
||||||
|
border-top: solid 3px blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
margin-left: 20px;
|
||||||
|
}
|
||||||
|
#content #highlighted {
|
||||||
|
position: relative;
|
||||||
|
border: solid 1px #ddd;
|
||||||
|
background-color: #ffc;
|
||||||
|
width: 70%;
|
||||||
|
left: 15%;
|
||||||
|
right: 15%;
|
||||||
|
padding: 5px;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
#content .preview {
|
||||||
|
border: solid 1px red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar {
|
||||||
|
padding: 5px;
|
||||||
|
margin: 3px;
|
||||||
|
/* border: solid 1px #ccc; */
|
||||||
|
}
|
||||||
|
.sidebar#sidebar_first {
|
||||||
|
width: 250px;
|
||||||
|
position: fixed;
|
||||||
|
top: 45px;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 200px;
|
||||||
|
border-right: solid 1px #ddd;
|
||||||
|
}
|
||||||
|
.sidebar#sidebar_second {
|
||||||
|
width: 250px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.sidebar + .main {
|
||||||
|
margin-left: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#primary-tabs ul.horizontal {
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
#primary-tabs ul.horizontal li {
|
||||||
|
display: inline;
|
||||||
|
padding: 2px 5px;
|
||||||
|
border: solid 1px #ccf;
|
||||||
|
}
|
||||||
|
#primary-tabs ul.horizontal li.active {
|
||||||
|
border-color: #99f #99f #ddd;
|
||||||
|
border-style: solid solid none;
|
||||||
|
border-width: 2px 1px 0;
|
||||||
|
padding: 2px 7px 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#message li.error {
|
||||||
|
background-color: #f99;
|
||||||
|
border: solid 1px red;
|
||||||
|
padding: 5px 2px 5px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.with_border thead td {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
table.with_border td {
|
||||||
|
border: solid 1px #ccc;
|
||||||
|
padding: 2px 5px 2px 5px;
|
||||||
|
}
|
||||||
BIN
examples/demo/site/themes/admin/assets/favicon.ico
Normal file
BIN
examples/demo/site/themes/admin/assets/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 994 B |
6
examples/demo/site/themes/admin/assets/js/jquery-1.10.2.min.js
vendored
Normal file
6
examples/demo/site/themes/admin/assets/js/jquery-1.10.2.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
|
|||||||
|
$(document).ready(function() {
|
||||||
|
$('#gcse_search_form').submit(function() {
|
||||||
|
window.open('', 'formpopup', 'width=600,height=600,resizeable,scrollbars');
|
||||||
|
this.target = 'formpopup';
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
110
examples/demo/site/themes/admin/assets/scss/style.scss
Normal file
110
examples/demo/site/themes/admin/assets/scss/style.scss
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
ul.horizontal {
|
||||||
|
li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
#primary.menu {
|
||||||
|
ul {
|
||||||
|
li {
|
||||||
|
color: #555;
|
||||||
|
a {
|
||||||
|
color: #555;
|
||||||
|
text-decoration: none;
|
||||||
|
&:hover { color: black; }
|
||||||
|
}
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
&.horizontal {
|
||||||
|
border-bottom: solid 1px #ddd;
|
||||||
|
li {
|
||||||
|
border-top: solid 3px #fff;
|
||||||
|
&:hover {
|
||||||
|
background-color: #ffe;
|
||||||
|
border-top: solid 3px #999;
|
||||||
|
}
|
||||||
|
&.active {
|
||||||
|
font-weight: bold;
|
||||||
|
border-top: solid 3px #ddd;
|
||||||
|
background-color: #ddd;
|
||||||
|
}
|
||||||
|
&.active:hover {
|
||||||
|
border-top: solid 3px blue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#content {
|
||||||
|
margin-left: 20px;
|
||||||
|
#highlighted {
|
||||||
|
position: relative;
|
||||||
|
border: solid 1px #ddd;
|
||||||
|
background-color: #ffc;
|
||||||
|
width: 70%;
|
||||||
|
left: 15%;
|
||||||
|
right: 15%;
|
||||||
|
padding: 5px;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
.preview {
|
||||||
|
border: solid 1px red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sidebar {
|
||||||
|
padding: 5px;
|
||||||
|
margin: 3px;
|
||||||
|
/* border: solid 1px #ccc; */
|
||||||
|
&#sidebar_first {
|
||||||
|
width: 250px;
|
||||||
|
position: fixed;
|
||||||
|
top: 45px;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
width: 200px;
|
||||||
|
border-right: solid 1px #ddd;
|
||||||
|
}
|
||||||
|
&#sidebar_second {
|
||||||
|
width: 250px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
&+.main {
|
||||||
|
margin-left: 200px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#primary-tabs {
|
||||||
|
ul.horizontal {
|
||||||
|
list-style-type: none;
|
||||||
|
li {
|
||||||
|
display: inline;
|
||||||
|
padding: 2px 5px;
|
||||||
|
border: solid 1px #ccf;
|
||||||
|
}
|
||||||
|
li.active {
|
||||||
|
border-color: #99f #99f #ddd;
|
||||||
|
border-style: solid solid none;
|
||||||
|
border-width: 2px 1px 0;
|
||||||
|
padding: 2px 7px 1px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#message li.error {
|
||||||
|
background-color: #f99;
|
||||||
|
border: solid 1px red;
|
||||||
|
padding: 5px 2px 5px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.with_border {
|
||||||
|
thead td {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
border: solid 1px #ccc;
|
||||||
|
padding: 2px 5px 2px 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
38
examples/demo/site/themes/admin/debug.tpl
Normal file
38
examples/demo/site/themes/admin/debug.tpl
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{assign name="debug_enabled" value="True"/}
|
||||||
|
{if condition="$debug_enabled"}
|
||||||
|
<!-- start debug -->
|
||||||
|
{literal}
|
||||||
|
<style>
|
||||||
|
div.cms-debug>span {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 5px;
|
||||||
|
right: 5px;
|
||||||
|
color: #ccc;
|
||||||
|
padding: 5px;
|
||||||
|
}
|
||||||
|
div.cms-debug:hover>span {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
div.cms-debug>span+ul {
|
||||||
|
display: none;
|
||||||
|
border: solid 2px red;
|
||||||
|
background-color: #ccc;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
div.cms-debug:hover>span+ul {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
bottom: 5px;
|
||||||
|
left: 1%; right: 1%;
|
||||||
|
width: 98%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
{/literal}
|
||||||
|
<div class="cms-debug"><span>Show debug</span>
|
||||||
|
<ul>
|
||||||
|
{assign name="kpage" value="page"/}{assign name="kregions" value="regions"/}{foreach key="k" item="i" from="$page.variables"}{unless condition="$k ~ $kpage"}{unless condition="$k ~ $kregions"}<li><strong>{$k/}</strong>={htmlentities}{$i/}{/htmlentities}</li>{/unless}{/unless}
|
||||||
|
{/foreach}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- end debug -->
|
||||||
|
{/if}
|
||||||
101
examples/demo/site/themes/admin/page.tpl
Normal file
101
examples/demo/site/themes/admin/page.tpl
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<!-- EWF CMS -->
|
||||||
|
<link rel="stylesheet" href="{$theme_path/}css/style.css">
|
||||||
|
|
||||||
|
<!-- jQuery dep -->
|
||||||
|
<script src="{$theme_path/}js/jquery-1.10.2.min.js"></script>
|
||||||
|
<script src="{$theme_path/}js/popup_search.js"></script>
|
||||||
|
|
||||||
|
{if isset="$head"}{$head/}{/if}
|
||||||
|
{if isset="$styles"}{$styles/}{/if}
|
||||||
|
{if isset="$scripts"}{$scripts/}{/if}
|
||||||
|
{if isset="$head_lines"}{$head_lines/}{/if}
|
||||||
|
|
||||||
|
<!-- bootstrap framework -->
|
||||||
|
<!-- Latest compiled and minified CSS -->
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
|
||||||
|
<!-- Optional theme -->
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css">
|
||||||
|
|
||||||
|
<title>{$head_title/}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Page Top -->
|
||||||
|
{if isset="$region_top"}
|
||||||
|
{$region_top/}
|
||||||
|
{/if}
|
||||||
|
<!-- Body -->
|
||||||
|
<div class='container-fluid'>
|
||||||
|
|
||||||
|
<!-- Page Header -->
|
||||||
|
<div id="header">
|
||||||
|
{if isset="$page.primary_nav"}
|
||||||
|
{$page.primary_nav/}
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
<!-- Page search -->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-2 col-md-offset-9">
|
||||||
|
<form action="{$site_url/}gcse" class="search-form" id="gcse_search_form">
|
||||||
|
<div class="form-group has-feedback">
|
||||||
|
<input type="search" class="form-control" name="q" id="gcse_search" placeholder="search" value="{htmlentities}{$cms_search_query/}{/htmlentities}" >
|
||||||
|
<span class="glyphicon glyphicon-search form-control-feedback"></span>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- General Page Content -->
|
||||||
|
<div id='content' class='row-fluid'>
|
||||||
|
<!-- Left Sidebar sidebar_first -->
|
||||||
|
{unless isempty="$page.region_sidebar_first"}
|
||||||
|
<div id="sidebar_first" class="sidebar">{$page.region_sidebar_first/}</div>
|
||||||
|
{/unless}
|
||||||
|
<!-- Right Sidebar sidebar_second-->
|
||||||
|
{unless isempty="$page.region_sidebar_second"}
|
||||||
|
<div id="sidebar_second" class="sidebar">{$page.region_sidebar_second/}</div>
|
||||||
|
{/unless}
|
||||||
|
|
||||||
|
<!-- Highlighted, Help, Content -->
|
||||||
|
<div id='main' class='span8 main'>
|
||||||
|
<!-- Highlighted Section -->
|
||||||
|
{unless isempty="$page.region_highlighted"}
|
||||||
|
<div id="highlighted">{$page.region_highlighted/}</div>
|
||||||
|
{/unless}
|
||||||
|
<!-- Help Section -->
|
||||||
|
{unless isempty="$page.region_help"}
|
||||||
|
<div id="help">{$page.region_help/}</div>
|
||||||
|
{/unless}
|
||||||
|
|
||||||
|
<!-- Main Content Section -->
|
||||||
|
{unless isempty="$page_title"}<h1 class="page-title">{$page_title/}</h1>{/unless}
|
||||||
|
{$page.region_content/}
|
||||||
|
{if condition="$page.is_front"}
|
||||||
|
{if isset="$page.region_feed_news"}
|
||||||
|
<div class="column" style="width: 45%; float: left">{$page.region_feed_news/}</div>
|
||||||
|
{/if}
|
||||||
|
{if isset="$page.region_feed_forum"}
|
||||||
|
<div class="column" style="width: 45%; float: left">{$page.region_feed_forum/}</div>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--Page footer -->
|
||||||
|
{$page.region_footer/}
|
||||||
|
|
||||||
|
<!-- Page Bottom -->
|
||||||
|
{$page.region_bottom/}
|
||||||
|
|
||||||
|
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
||||||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
|
||||||
|
<!-- Latest compiled and minified JavaScript -->
|
||||||
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
|
||||||
|
|
||||||
|
{include file="debug.tpl"/}
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
14
examples/demo/site/themes/admin/theme.info
Normal file
14
examples/demo/site/themes/admin/theme.info
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
name=admin
|
||||||
|
engine=smarty
|
||||||
|
author=jocelyn fiat
|
||||||
|
version=0.1
|
||||||
|
regions[page_top] = Top
|
||||||
|
regions[header] = Header
|
||||||
|
regions[content] = Content
|
||||||
|
regions[highlighted] = Highlighted
|
||||||
|
regions[help] = Help
|
||||||
|
regions[footer] = Footer
|
||||||
|
regions[sidebar_first] = first sidebar
|
||||||
|
regions[sidebar_second] = second sidebar
|
||||||
|
regions[page_bottom] = Bottom
|
||||||
|
navigation=default_nav
|
||||||
@@ -47,6 +47,9 @@ ul.horizontal li {
|
|||||||
padding: 5px;
|
padding: 5px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
#content .preview {
|
||||||
|
border: solid 1px red;
|
||||||
|
}
|
||||||
|
|
||||||
.sidebar {
|
.sidebar {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|||||||
@@ -51,6 +51,9 @@ ul.horizontal {
|
|||||||
padding: 5px;
|
padding: 5px;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
.preview {
|
||||||
|
border: solid 1px red;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.sidebar {
|
.sidebar {
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<!-- EWF CMS -->
|
<!-- EWF CMS -->
|
||||||
<link rel="stylesheet" href="{$site_url/}theme/css/style.css">
|
<link rel="stylesheet" href="{$theme_path/}css/style.css">
|
||||||
|
|
||||||
<!-- jQuery dep -->
|
<!-- jQuery dep -->
|
||||||
<script src="{$site_url/}theme/js/jquery-1.10.2.min.js"></script>
|
<script src="{$theme_path/}js/jquery-1.10.2.min.js"></script>
|
||||||
<script src="{$site_url/}theme/js/popup_search.js"></script>
|
<script src="{$theme_path/}js/popup_search.js"></script>
|
||||||
|
|
||||||
{if isset="$head"}{$head/}{/if}
|
{if isset="$head"}{$head/}{/if}
|
||||||
{if isset="$styles"}{$styles/}{/if}
|
{if isset="$styles"}{$styles/}{/if}
|
||||||
@@ -37,17 +37,14 @@
|
|||||||
{$page.primary_nav/}
|
{$page.primary_nav/}
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
{if isset="$page.regions.search"}
|
||||||
<!-- Page search -->
|
<!-- Page search -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-2 col-md-offset-9">
|
<div class="col-md-2 col-md-offset-9">
|
||||||
<form action="{$site_url/}gcse" class="search-form" id="gcse_search_form">
|
{$page.regions.search/}
|
||||||
<div class="form-group has-feedback">
|
|
||||||
<input type="search" class="form-control" name="q" id="gcse_search" placeholder="search">
|
|
||||||
<span class="glyphicon glyphicon-search form-control-feedback"></span>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{/if}
|
||||||
<!-- General Page Content -->
|
<!-- General Page Content -->
|
||||||
<div id='content' class='row-fluid'>
|
<div id='content' class='row-fluid'>
|
||||||
<!-- Left Sidebar sidebar_first -->
|
<!-- Left Sidebar sidebar_first -->
|
||||||
|
|||||||
6
examples/demo/site/themes/bootstrap/search.tpl
Normal file
6
examples/demo/site/themes/bootstrap/search.tpl
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<form action="{$site_url/}search" class="search-form" id="search-form">
|
||||||
|
<div class="form-group has-feedback">
|
||||||
|
<input type="search" class="form-control" name="q" id="search-query" placeholder="search" value="{htmlentities}{$cms_search_query/}{/htmlentities}" >
|
||||||
|
<span class="glyphicon glyphicon-search form-control-feedback"></span>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
@@ -4,6 +4,7 @@ author=jvelilla
|
|||||||
version=0.1
|
version=0.1
|
||||||
regions[page_top] = Top
|
regions[page_top] = Top
|
||||||
regions[header] = Header
|
regions[header] = Header
|
||||||
|
regions[search] = Search
|
||||||
regions[content] = Content
|
regions[content] = Content
|
||||||
regions[highlighted] = Highlighted
|
regions[highlighted] = Highlighted
|
||||||
regions[help] = Help
|
regions[help] = Help
|
||||||
|
|||||||
@@ -53,8 +53,11 @@ feature -- CMS modules
|
|||||||
a_setup.register_module (create {CMS_OPENID_MODULE}.make)
|
a_setup.register_module (create {CMS_OPENID_MODULE}.make)
|
||||||
a_setup.register_module (create {CMS_SESSION_AUTH_MODULE}.make)
|
a_setup.register_module (create {CMS_SESSION_AUTH_MODULE}.make)
|
||||||
|
|
||||||
|
-- User
|
||||||
|
|
||||||
-- Nodes
|
-- Nodes
|
||||||
a_setup.register_module (create {CMS_NODE_MODULE}.make (a_setup))
|
a_setup.register_module (create {CMS_NODE_MODULE}.make)
|
||||||
|
a_setup.register_module (create {CMS_PAGE_MODULE}.make)
|
||||||
a_setup.register_module (create {CMS_BLOG_MODULE}.make)
|
a_setup.register_module (create {CMS_BLOG_MODULE}.make)
|
||||||
|
|
||||||
-- Files
|
-- Files
|
||||||
@@ -65,10 +68,16 @@ feature -- CMS modules
|
|||||||
|
|
||||||
-- Misc
|
-- Misc
|
||||||
a_setup.register_module (create {CMS_SEO_MODULE}.make)
|
a_setup.register_module (create {CMS_SEO_MODULE}.make)
|
||||||
|
a_setup.register_module (create {CMS_SITEMAP_MODULE}.make)
|
||||||
|
a_setup.register_module (create {CMS_COMMENTS_MODULE}.make)
|
||||||
|
|
||||||
-- Taxonomy
|
-- Taxonomy
|
||||||
a_setup.register_module (create {CMS_TAXONOMY_MODULE}.make)
|
a_setup.register_module (create {CMS_TAXONOMY_MODULE}.make)
|
||||||
|
|
||||||
|
-- Wiki
|
||||||
|
a_setup.register_module (create {WIKITEXT_MODULE}.make)
|
||||||
|
a_setup.register_module (create {EMBEDDED_VIDEO_MODULE}.make)
|
||||||
|
|
||||||
-- Recent changes
|
-- Recent changes
|
||||||
a_setup.register_module (create {CMS_RECENT_CHANGES_MODULE}.make)
|
a_setup.register_module (create {CMS_RECENT_CHANGES_MODULE}.make)
|
||||||
|
|
||||||
@@ -76,11 +85,15 @@ feature -- CMS modules
|
|||||||
a_setup.register_module (create {FEED_AGGREGATOR_MODULE}.make)
|
a_setup.register_module (create {FEED_AGGREGATOR_MODULE}.make)
|
||||||
|
|
||||||
-- Miscellanious
|
-- Miscellanious
|
||||||
a_setup.register_module (create {GOOGLE_CUSTOM_SEARCH_MODULE}.make)
|
a_setup.register_module (create {CMS_MESSAGING_MODULE}.make)
|
||||||
|
a_setup.register_module (create {GOOGLE_CUSTOM_SEARCH_MODULE_20}.make)
|
||||||
a_setup.register_module (create {CMS_CUSTOM_BLOCK_MODULE}.make)
|
a_setup.register_module (create {CMS_CUSTOM_BLOCK_MODULE}.make)
|
||||||
a_setup.register_module (create {CMS_DEBUG_MODULE}.make)
|
a_setup.register_module (create {CMS_DEBUG_MODULE}.make)
|
||||||
a_setup.register_module (create {CMS_DEMO_MODULE}.make)
|
a_setup.register_module (create {CMS_DEMO_MODULE}.make)
|
||||||
|
|
||||||
|
-- Dev
|
||||||
|
a_setup.register_module (create {MASQUERADE_AUTH_MODULE}.make)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,17 +2,24 @@ note
|
|||||||
description: "[
|
description: "[
|
||||||
DEMO application server.
|
DEMO application server.
|
||||||
]"
|
]"
|
||||||
date: "$Date: 2015-02-09 22:29:56 +0100 (lun., 09 févr. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96596 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
DEMO_CMS_SERVER
|
DEMO_CMS_SERVER
|
||||||
|
|
||||||
inherit
|
inherit
|
||||||
ROC_CMS_LAUNCHER [DEMO_CMS_EXECUTION]
|
ROC_CMS_LAUNCHER [DEMO_CMS_EXECUTION]
|
||||||
|
redefine
|
||||||
|
optional_application_name
|
||||||
|
end
|
||||||
|
|
||||||
create
|
create
|
||||||
make_and_launch
|
make_and_launch
|
||||||
|
|
||||||
|
feature -- Access
|
||||||
|
|
||||||
|
optional_application_name: STRING_32 = "server"
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-14-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-14-0 http://www.eiffel.com/developers/xml/configuration-1-14-0.xsd" name="launcher" uuid="6FDCA393-AFC3-436B-A58A-870923967C86" library_target="launcher">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="6FDCA393-AFC3-436B-A58A-870923967C86" message="Obsolete: use any.ecf !" location="any.ecf">
|
||||||
<target name="common" abstract="true">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="cms" location="..\cms-safe.ecf"/>
|
|
||||||
<library name="cms_app_env" location="..\library\app_env\app_env-safe.ecf" readonly="false"/>
|
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
|
||||||
</target>
|
|
||||||
<target name="launcher" extends="common">
|
|
||||||
<library name="cgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\cgi-safe.ecf"/>
|
|
||||||
<library name="libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\libfcgi-safe.ecf"/>
|
|
||||||
<library name="nino" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\nino-safe.ecf"/>
|
|
||||||
<library name="standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\standalone-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\" recursive="false"/>
|
|
||||||
<cluster name="launcher" location=".\any\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-14-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-14-0 http://www.eiffel.com/developers/xml/configuration-1-14-0.xsd" name="launcher" uuid="6FDCA393-AFC3-436B-A58A-870923967C86" library_target="launcher">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="launcher" uuid="6FDCA393-AFC3-436B-A58A-870923967C86" library_target="launcher">
|
||||||
<target name="common" abstract="true">
|
<target name="common" abstract="true">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<option void_safety="none" />
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="cms" location="..\cms.ecf"/>
|
<library name="cms" location="..\cms.ecf"/>
|
||||||
<library name="cms_app_env" location="..\library\app_env\app_env.ecf" readonly="false"/>
|
<library name="cms_app_env" location="..\library\app_env\app_env.ecf" readonly="false"/>
|
||||||
@@ -11,9 +10,8 @@
|
|||||||
<target name="launcher" extends="common">
|
<target name="launcher" extends="common">
|
||||||
<library name="cgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\cgi.ecf"/>
|
<library name="cgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\cgi.ecf"/>
|
||||||
<library name="libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\libfcgi.ecf"/>
|
<library name="libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\libfcgi.ecf"/>
|
||||||
<library name="nino" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\nino.ecf"/>
|
|
||||||
<library name="standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\standalone.ecf"/>
|
<library name="standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\standalone.ecf"/>
|
||||||
<cluster name="src" location=".\" recursive="false"/>
|
|
||||||
<cluster name="launcher" location=".\any\" recursive="true"/>
|
<cluster name="launcher" location=".\any\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\"/>
|
||||||
</target>
|
</target>
|
||||||
</system>
|
</system>
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ note
|
|||||||
|
|
||||||
You can put modification in this class
|
You can put modification in this class
|
||||||
]"
|
]"
|
||||||
date: "$Date: 2013-06-12 13:55:42 +0200 (mer., 12 juin 2013) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 36 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
APPLICATION_LAUNCHER [G -> WSF_EXECUTION create make end]
|
APPLICATION_LAUNCHER [G -> WSF_EXECUTION create make end]
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ note
|
|||||||
|
|
||||||
you can customize APPLICATION_LAUNCHER
|
you can customize APPLICATION_LAUNCHER
|
||||||
]"
|
]"
|
||||||
date: "$Date: 2013-06-12 13:55:42 +0200 (mer., 12 juin 2013) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 36 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
deferred class
|
deferred class
|
||||||
APPLICATION_LAUNCHER_I [G -> WSF_EXECUTION create make end]
|
APPLICATION_LAUNCHER_I [G -> WSF_EXECUTION create make end]
|
||||||
@@ -26,8 +26,6 @@ feature -- Execution
|
|||||||
launch_standalone (opts)
|
launch_standalone (opts)
|
||||||
elseif nature = nature_standalone then
|
elseif nature = nature_standalone then
|
||||||
launch_standalone (opts)
|
launch_standalone (opts)
|
||||||
elseif nature = nature_nino then
|
|
||||||
launch_nino (opts)
|
|
||||||
elseif nature = nature_cgi then
|
elseif nature = nature_cgi then
|
||||||
launch_cgi (opts)
|
launch_cgi (opts)
|
||||||
elseif nature = nature_libfcgi then
|
elseif nature = nature_libfcgi then
|
||||||
@@ -42,7 +40,7 @@ feature {NONE} -- Access
|
|||||||
|
|
||||||
launcher_nature: detachable READABLE_STRING_8
|
launcher_nature: detachable READABLE_STRING_8
|
||||||
-- Initialize the launcher nature
|
-- Initialize the launcher nature
|
||||||
-- either cgi, libfcgi, or nino.
|
-- either cgi, libfcgi, or standalone.
|
||||||
--| We could extend with more connector if needed.
|
--| We could extend with more connector if needed.
|
||||||
--| and we could use WSF_DEFAULT_SERVICE_LAUNCHER to configure this at compilation time.
|
--| and we could use WSF_DEFAULT_SERVICE_LAUNCHER to configure this at compilation time.
|
||||||
local
|
local
|
||||||
@@ -57,9 +55,6 @@ feature {NONE} -- Access
|
|||||||
if ext.same_string (nature_standalone) then
|
if ext.same_string (nature_standalone) then
|
||||||
Result := nature_standalone
|
Result := nature_standalone
|
||||||
end
|
end
|
||||||
if ext.same_string (nature_nino) then
|
|
||||||
Result := nature_nino
|
|
||||||
end
|
|
||||||
if ext.same_string (nature_cgi) then
|
if ext.same_string (nature_cgi) then
|
||||||
Result := nature_cgi
|
Result := nature_cgi
|
||||||
end
|
end
|
||||||
@@ -81,17 +76,6 @@ feature {NONE} -- standalone
|
|||||||
create launcher.make_and_launch (opts)
|
create launcher.make_and_launch (opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
feature {NONE} -- nino
|
|
||||||
|
|
||||||
nature_nino: STRING = "nino"
|
|
||||||
|
|
||||||
launch_nino (opts: detachable WSF_SERVICE_LAUNCHER_OPTIONS)
|
|
||||||
local
|
|
||||||
launcher: WSF_NINO_SERVICE_LAUNCHER [G]
|
|
||||||
do
|
|
||||||
create launcher.make_and_launch (opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
feature {NONE} -- cgi
|
feature {NONE} -- cgi
|
||||||
|
|
||||||
nature_cgi: STRING = "cgi"
|
nature_cgi: STRING = "cgi"
|
||||||
@@ -121,7 +105,4 @@ feature -- Default
|
|||||||
Result := nature_standalone
|
Result := nature_standalone
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-14-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-14-0 http://www.eiffel.com/developers/xml/configuration-1-14-0.xsd" name="cgi_launcher" uuid="0FE4F1D0-BB70-4C7F-A66E-B27F1D718109" library_target="cgi_launcher">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="0FE4F1D0-BB70-4C7F-A66E-B27F1D718109" message="Obsolete: use cgi.ecf !" location="cgi.ecf">
|
||||||
<target name="common" abstract="true">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="cms" location="..\cms-safe.ecf"/>
|
|
||||||
<library name="cms_app_env" location="..\library\app_env\app_env-safe.ecf" readonly="false"/>
|
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
|
||||||
</target>
|
|
||||||
<target name="cgi_launcher" extends="common">
|
|
||||||
<library name="default_cgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\cgi-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\" recursive="false"/>
|
|
||||||
<cluster name="launcher" location=".\default\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
15
launcher/cgi.ecf
Normal file
15
launcher/cgi.ecf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="cgi_launcher" uuid="0FE4F1D0-BB70-4C7F-A66E-B27F1D718109" library_target="cgi_launcher">
|
||||||
|
<target name="common" abstract="true">
|
||||||
|
<root all_classes="true"/>
|
||||||
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
|
<library name="cms" location="..\cms.ecf"/>
|
||||||
|
<library name="cms_app_env" location="..\library\app_env\app_env.ecf" readonly="false"/>
|
||||||
|
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf.ecf"/>
|
||||||
|
</target>
|
||||||
|
<target name="cgi_launcher" extends="common">
|
||||||
|
<library name="default_cgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\cgi.ecf"/>
|
||||||
|
<cluster name="launcher" location=".\default\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\"/>
|
||||||
|
</target>
|
||||||
|
</system>
|
||||||
@@ -4,8 +4,8 @@ note
|
|||||||
|
|
||||||
You can put modification in this class
|
You can put modification in this class
|
||||||
]"
|
]"
|
||||||
date: "$Date: 2013-06-12 13:55:42 +0200 (mer., 12 juin 2013) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 36 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
APPLICATION_LAUNCHER [G -> WSF_EXECUTION create make end]
|
APPLICATION_LAUNCHER [G -> WSF_EXECUTION create make end]
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ note
|
|||||||
|
|
||||||
you can customize APPLICATION_LAUNCHER
|
you can customize APPLICATION_LAUNCHER
|
||||||
]"
|
]"
|
||||||
date: "$Date: 2015-02-09 22:29:56 +0100 (lun., 09 févr. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96596 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
deferred class
|
deferred class
|
||||||
APPLICATION_LAUNCHER_I [G -> WSF_EXECUTION create make end]
|
APPLICATION_LAUNCHER_I [G -> WSF_EXECUTION create make end]
|
||||||
|
|||||||
@@ -1,15 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-14-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-14-0 http://www.eiffel.com/developers/xml/configuration-1-14-0.xsd" name="libfcgi_launcher" uuid="04D7D1EA-059B-4024-B0DE-BBB57AB2D00C" library_target="libfcgi_launcher">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="04D7D1EA-059B-4024-B0DE-BBB57AB2D00C" message="Obsolete: use libfcgi.ecf !" location="libfcgi.ecf">
|
||||||
<target name="common" abstract="true">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="cms" location="..\cms-safe.ecf"/>
|
|
||||||
<library name="cms_app_env" location="..\library\app_env\app_env-safe.ecf" readonly="false"/>
|
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
|
||||||
</target>
|
|
||||||
<target name="libfcgi_launcher" extends="common">
|
|
||||||
<library name="default_libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\libfcgi-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\" recursive="false"/>
|
|
||||||
<cluster name="launcher" location=".\default\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-14-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-14-0 http://www.eiffel.com/developers/xml/configuration-1-14-0.xsd" name="libfcgi_launcher" uuid="04D7D1EA-059B-4024-B0DE-BBB57AB2D00C" library_target="libfcgi_launcher">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="libfcgi_launcher" uuid="04D7D1EA-059B-4024-B0DE-BBB57AB2D00C" library_target="libfcgi_launcher">
|
||||||
<target name="common" abstract="true">
|
<target name="common" abstract="true">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<option void_safety="none" />
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="cms" location="..\cms.ecf"/>
|
<library name="cms" location="..\cms.ecf"/>
|
||||||
<library name="cms_app_env" location="..\library\app_env\app_env.ecf" readonly="false"/>
|
<library name="cms_app_env" location="..\library\app_env\app_env.ecf" readonly="false"/>
|
||||||
@@ -10,7 +9,7 @@
|
|||||||
</target>
|
</target>
|
||||||
<target name="libfcgi_launcher" extends="common">
|
<target name="libfcgi_launcher" extends="common">
|
||||||
<library name="default_libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\libfcgi.ecf"/>
|
<library name="default_libfcgi" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\libfcgi.ecf"/>
|
||||||
<cluster name="src" location=".\" recursive="false"/>
|
|
||||||
<cluster name="launcher" location=".\default\" recursive="true"/>
|
<cluster name="launcher" location=".\default\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\"/>
|
||||||
</target>
|
</target>
|
||||||
</system>
|
</system>
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ note
|
|||||||
description: "[
|
description: "[
|
||||||
Reusable ROC CMS launcher.
|
Reusable ROC CMS launcher.
|
||||||
]"
|
]"
|
||||||
date: "$Date: 2015-02-09 22:29:56 +0100 (lun., 09 févr. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96596 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
ROC_CMS_LAUNCHER [G -> CMS_EXECUTION create make end]
|
ROC_CMS_LAUNCHER [G -> CMS_EXECUTION create make end]
|
||||||
|
|||||||
@@ -1,16 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-14-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-14-0 http://www.eiffel.com/developers/xml/configuration-1-14-0.xsd" name="standalone_launcher" uuid="F42660A9-26C2-466B-A63C-C7823C808BE7" library_target="standalone_launcher">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="F42660A9-26C2-466B-A63C-C7823C808BE7" message="Obsolete: use standalone.ecf !" location="standalone.ecf">
|
||||||
<target name="common" abstract="true">
|
</redirection>
|
||||||
<root all_classes="true"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="cms" location="..\cms-safe.ecf"/>
|
|
||||||
<library name="cms_app_env" location="..\library\app_env\app_env-safe.ecf" readonly="false"/>
|
|
||||||
<library name="wsf" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\wsf-safe.ecf"/>
|
|
||||||
</target>
|
|
||||||
<target name="standalone_launcher" extends="common">
|
|
||||||
<library name="default_standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\standalone-safe.ecf"/>
|
|
||||||
<library name="standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\standalone-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\" recursive="false"/>
|
|
||||||
<cluster name="launcher" location=".\default\" recursive="true"/>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-14-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-14-0 http://www.eiffel.com/developers/xml/configuration-1-14-0.xsd" name="standalone_launcher" uuid="F42660A9-26C2-466B-A63C-C7823C808BE7" library_target="standalone_launcher">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="standalone_launcher" uuid="F42660A9-26C2-466B-A63C-C7823C808BE7" library_target="standalone_launcher">
|
||||||
<target name="common" abstract="true">
|
<target name="common" abstract="true">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<option void_safety="none" />
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="cms" location="..\cms.ecf"/>
|
<library name="cms" location="..\cms.ecf"/>
|
||||||
<library name="cms_app_env" location="..\library\app_env\app_env.ecf" readonly="false"/>
|
<library name="cms_app_env" location="..\library\app_env\app_env.ecf" readonly="false"/>
|
||||||
@@ -11,7 +10,7 @@
|
|||||||
<target name="standalone_launcher" extends="common">
|
<target name="standalone_launcher" extends="common">
|
||||||
<library name="default_standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\standalone.ecf"/>
|
<library name="default_standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\default\standalone.ecf"/>
|
||||||
<library name="standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\standalone.ecf"/>
|
<library name="standalone" location="$ISE_LIBRARY\contrib\library\web\framework\ewf\wsf\connector\standalone.ecf"/>
|
||||||
<cluster name="src" location=".\" recursive="false"/>
|
|
||||||
<cluster name="launcher" location=".\default\" recursive="true"/>
|
<cluster name="launcher" location=".\default\" recursive="true"/>
|
||||||
|
<cluster name="src" location=".\"/>
|
||||||
</target>
|
</target>
|
||||||
</system>
|
</system>
|
||||||
|
|||||||
@@ -1,22 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-13-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-13-0 http://www.eiffel.com/developers/xml/configuration-1-13-0.xsd" name="app_env" uuid="7AE9E48B-5A15-43F8-B99A-04F4185DED6B" library_target="app_env">
|
<redirection xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" uuid="7AE9E48B-5A15-43F8-B99A-04F4185DED6B" message="Obsolete: use app_env.ecf !" location="app_env.ecf">
|
||||||
<description>Application Environment (layout, configuration, logger, database, ...)</description>
|
</redirection>
|
||||||
<target name="app_env">
|
|
||||||
<root all_classes="true"/>
|
|
||||||
<option warning="true" void_safety="all">
|
|
||||||
<assertions precondition="true" postcondition="true" check="true" invariant="true" loop="true" supplier_precondition="true"/>
|
|
||||||
</option>
|
|
||||||
<setting name="console_application" value="true"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base-safe.ecf"/>
|
|
||||||
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json-safe.ecf" readonly="false"/>
|
|
||||||
<library name="logging" location="$ISE_LIBRARY\library\runtime\logging\logging-safe.ecf"/>
|
|
||||||
<library name="thread" location="$ISE_LIBRARY\library\thread\thread-safe.ecf"/>
|
|
||||||
<cluster name="src" location=".\src\" recursive="true">
|
|
||||||
<file_rule>
|
|
||||||
<exclude>/EIFGENs$</exclude>
|
|
||||||
<exclude>/CVS$</exclude>
|
|
||||||
<exclude>/.svn$</exclude>
|
|
||||||
</file_rule>
|
|
||||||
</cluster>
|
|
||||||
</target>
|
|
||||||
</system>
|
|
||||||
|
|||||||
@@ -1,21 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-13-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-13-0 http://www.eiffel.com/developers/xml/configuration-1-13-0.xsd" name="app_env" uuid="7AE9E48B-5A15-43F8-B99A-04F4185DED6B" library_target="app_env">
|
<system xmlns="http://www.eiffel.com/developers/xml/configuration-1-16-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eiffel.com/developers/xml/configuration-1-16-0 http://www.eiffel.com/developers/xml/configuration-1-16-0.xsd" name="app_env" uuid="7AE9E48B-5A15-43F8-B99A-04F4185DED6B" library_target="app_env">
|
||||||
<description>Application Environment (layout, configuration, logger, database, ...)</description>
|
<description>Application Environment (layout, configuration, logger, database, ...)</description>
|
||||||
<target name="app_env">
|
<target name="app_env">
|
||||||
<root all_classes="true"/>
|
<root all_classes="true"/>
|
||||||
<option warning="true" void_safety="none">
|
|
||||||
<assertions precondition="true" postcondition="true" check="true" invariant="true" loop="true" supplier_precondition="true"/>
|
|
||||||
</option>
|
|
||||||
<setting name="console_application" value="true"/>
|
|
||||||
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
<library name="base" location="$ISE_LIBRARY\library\base\base.ecf"/>
|
||||||
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json.ecf" readonly="false"/>
|
<library name="json" location="$ISE_LIBRARY\contrib\library\text\parser\json\library\json.ecf" readonly="false"/>
|
||||||
<library name="logging" location="$ISE_LIBRARY\library\runtime\logging\logging.ecf"/>
|
<library name="logging" location="$ISE_LIBRARY\library\runtime\logging\logging.ecf"/>
|
||||||
<library name="thread" location="$ISE_LIBRARY\library\thread\thread.ecf"/>
|
|
||||||
<cluster name="src" location=".\src\" recursive="true">
|
<cluster name="src" location=".\src\" recursive="true">
|
||||||
<file_rule>
|
<file_rule>
|
||||||
<exclude>/EIFGENs$</exclude>
|
<exclude>/\.svn$</exclude>
|
||||||
<exclude>/CVS$</exclude>
|
<exclude>/CVS$</exclude>
|
||||||
<exclude>/.svn$</exclude>
|
<exclude>/EIFGENs$</exclude>
|
||||||
</file_rule>
|
</file_rule>
|
||||||
</cluster>
|
</cluster>
|
||||||
</target>
|
</target>
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ note
|
|||||||
- templates (html, Collection+JSON, ...)
|
- templates (html, Collection+JSON, ...)
|
||||||
- ...
|
- ...
|
||||||
]"
|
]"
|
||||||
date: "$Date: 2015-02-05 10:25:53 +0100 (jeu., 05 févr. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96584 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
APPLICATION_ENVIRONMENT
|
APPLICATION_ENVIRONMENT
|
||||||
@@ -38,14 +38,14 @@ feature {NONE} -- Initialization
|
|||||||
end
|
end
|
||||||
|
|
||||||
make_with_path (p: PATH)
|
make_with_path (p: PATH)
|
||||||
-- Create a layour based on a path `p'.
|
-- Create a layout based on a path `p'.
|
||||||
do
|
do
|
||||||
path := p.absolute_path.canonical_path
|
path := p.absolute_path.canonical_path
|
||||||
initialize_name
|
initialize_name
|
||||||
end
|
end
|
||||||
|
|
||||||
make_with_directory_name (a_dirname: READABLE_STRING_GENERAL)
|
make_with_directory_name (a_dirname: READABLE_STRING_GENERAL)
|
||||||
-- Create a layour based on a path `p'.
|
-- Create a layout based on directory name `a_dirname'.
|
||||||
do
|
do
|
||||||
make_with_path (create {PATH}.make_from_string (a_dirname))
|
make_with_path (create {PATH}.make_from_string (a_dirname))
|
||||||
end
|
end
|
||||||
@@ -105,11 +105,18 @@ feature -- Access: internal
|
|||||||
application_config_path: PATH
|
application_config_path: PATH
|
||||||
-- Database Configuration file path.
|
-- Database Configuration file path.
|
||||||
local
|
local
|
||||||
p: detachable PATH
|
p,p_dft: detachable PATH
|
||||||
|
fut: FILE_UTILITIES
|
||||||
do
|
do
|
||||||
p := internal_application_config_path
|
p := internal_application_config_path
|
||||||
if p = Void then
|
if p = Void then
|
||||||
p := config_path.extended (name + ".json")
|
p := config_path.extended (name + ".json")
|
||||||
|
if not fut.file_path_exists (p) then
|
||||||
|
p_dft := config_path.extended ("env.json")
|
||||||
|
if fut.file_path_exists (p_dft) then
|
||||||
|
p := p_dft
|
||||||
|
end
|
||||||
|
end
|
||||||
internal_application_config_path := p
|
internal_application_config_path := p
|
||||||
end
|
end
|
||||||
Result := p
|
Result := p
|
||||||
@@ -206,6 +213,6 @@ feature {NONE} -- Implementation
|
|||||||
-- Directory for templates (HTML, etc).
|
-- Directory for templates (HTML, etc).
|
||||||
|
|
||||||
;note
|
;note
|
||||||
copyright: "2011-2015, Javier Velilla, Jocelyn Fiat, Eiffel Software and others"
|
copyright: "2011-2017, Javier Velilla, Jocelyn Fiat, Eiffel Software and others"
|
||||||
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
note
|
note
|
||||||
description: "Provide access to json configuration"
|
description: "Provide access to json configuration"
|
||||||
date: "$Date: 2015-01-27 19:15:02 +0100 (mar., 27 janv. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96542 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
APPLICATION_JSON_CONFIGURATION_HELPER
|
APPLICATION_JSON_CONFIGURATION_HELPER
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
note
|
note
|
||||||
description: "Object that represent Database configuration settings"
|
description: "Object that represent Database configuration settings"
|
||||||
date: "$Date: 2015-02-09 22:29:56 +0100 (lun., 09 févr. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96596 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
DATABASE_CONFIGURATION
|
DATABASE_CONFIGURATION
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
note
|
note
|
||||||
description: "Object that represents Logger configuration settings"
|
description: "Object that represents Logger configuration settings"
|
||||||
date: "$Date: 2015-02-03 19:11:23 +0100 (mar., 03 févr. 2015) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 96575 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
LOGGER_CONFIGURATION
|
LOGGER_CONFIGURATION
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
note
|
note
|
||||||
description: "Object handling error information"
|
description: "Object handling error information"
|
||||||
date: "$Date: 2014-08-20 15:21:15 -0300 (mi., 20 ago. 2014) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 95678 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
BASIC_ERROR_HANDLER
|
BASIC_ERROR_HANDLER
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
note
|
note
|
||||||
description: "Provides error information"
|
description: "Provides error information"
|
||||||
date: "$Date: 2014-08-20 15:21:15 -0300 (mi., 20 ago. 2014) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 95678 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
SHARED_ERROR
|
SHARED_ERROR
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
note
|
note
|
||||||
description: "Wrapper class providing synchronize logging access."
|
description: "Wrapper class providing synchronize logging access."
|
||||||
date: "$Date: 2014-08-20 15:21:15 -0300 (mi., 20 ago. 2014) $"
|
date: "$Date$"
|
||||||
revision: "$Revision: 95678 $"
|
revision: "$Revision$"
|
||||||
|
|
||||||
class
|
class
|
||||||
LOGGING_FACILITY
|
LOGGING_FACILITY
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user