Author: tdraier
Date: Mon Dec 24 13:28:07 2007
New Revision: 19408

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19408&repname=
=3Djahia
Log:
better license checks for multi lang and multi site (JAHIA-2454)

Modified:
    trunk/core/src/java/org/jahia/admin/sites/ManageSites.java
    trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java
    trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java

Modified: trunk/core/src/java/org/jahia/admin/sites/ManageSites.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/admin/sites/ManageSites.java&rev=3D19408&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/admin/sites/ManageSites.java (original)
+++ trunk/core/src/java/org/jahia/admin/sites/ManageSites.java Mon Dec 24 1=
3:28:07 2007
@@ -51,6 +51,7 @@
 import org.jahia.registries.SharedTemplatePackagesRegistry;
 import org.jahia.resourcebundle.JahiaResourceBundle;
 import org.jahia.security.license.License;
+import org.jahia.security.license.LicenseActionChecker;
 import org.jahia.services.acl.JahiaBaseACL;
 import org.jahia.services.files.JahiaTextFileService;
 import org.jahia.services.importexport.ImportExportBaseService;
@@ -2237,19 +2238,27 @@
 =

             JahiaAdministration.doRedirect(request, response, session, JSP=
_PATH + "import_choose.jsp");
         } else {
+            boolean license =3D LicenseActionChecker.isAuthorizedByLicense=
("org.jahia.actions.server.admin.sites.ManageSites", 0);
+            boolean noMoreSite =3D false;
+
             for (Iterator iterator =3D importsInfos.keySet().iterator(); i=
terator.hasNext();) {
                 File file =3D (File) iterator.next();
                 if (request.getParameter(file.getName()+"selected") !=3D n=
ull) {
                     Map infos =3D (Map) importsInfos.get(file);
                     if (infos.get("importFileName").equals("serverPermissi=
ons.xml")) {
-                        ImportExportBaseService.getInstance().importServer=
Permissions(jParams, new FileInputStream(file));
+                        if (LicenseActionChecker.isAuthorizedByLicense("or=
g.jahia.actions.server.admin.permissions.ManageServerPermissions", 0)) {
+                            ImportExportBaseService.getInstance().importSe=
rverPermissions(jParams, new FileInputStream(file));
+                        }
                     } else {
                         // site import
                         String tpl =3D (String) infos.get("templates");
                         if ("".equals(tpl)) tpl =3D null;
                         try {
-                            createSite(request, jParams.getUser().getUsern=
ame(), (String) infos.get("sitetitle"),
-                                    (String) infos.get("siteservername"), =
(String) infos.get("sitekey"), "", jParams.getLocale(), null, null, null, t=
pl, file, (String) infos.get("importFileName"),true);
+                            if (! noMoreSite) {
+                                createSite(request, jParams.getUser().getU=
sername(), (String) infos.get("sitetitle"),
+                                        (String) infos.get("siteservername=
"), (String) infos.get("sitekey"), "", jParams.getLocale(), null, null, nul=
l, tpl, file, (String) infos.get("importFileName"),true);
+                                noMoreSite =3D !license;
+                            }
                         } catch (Throwable e) {
                             logger.error("Cannot create site " + infos.get=
("sitetitle"), e);
                         }

Modified: trunk/core/src/java/org/jahia/services/importexport/ImportExportB=
aseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/importexport/ImportExportBaseService.java&rev=3D19408&rep=
name=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java (original)
+++ trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java Mon Dec 24 13:28:07 2007
@@ -1551,8 +1551,8 @@
                     logger.error("Cannot get languages", e);
                 }
 =

-//                boolean isMultiLang =3D LicenseActionChecker.isAuthorize=
dByLicense("org.jahia.actions.sites.*.admin.languages.ManageSiteLanguages",=
0);
-//
+                boolean isMultiLang =3D LicenseActionChecker.isAuthorizedB=
yLicense("org.jahia.actions.sites.*.admin.languages.ManageSiteLanguages",0);
+
                 for (Iterator iterator =3D keys.iterator(); iterator.hasNe=
xt();) {
                     String property =3D (String) iterator.next();
                     String value =3D p.getProperty(property);
@@ -1565,14 +1565,14 @@
                         SiteLanguageSettings set;
 =

                         if (!m.containsKey(lang)) {
-//                            if (isMultiLang || m.isEmpty()) {
+                            if (isMultiLang || m.isEmpty()) {
                                 set =3D new SiteLanguageSettings(site.getI=
D(), lang, true, m.size()+1, false);
                                 m.put(lang, set);
                             } else {
-//                                logger.warn("Multilanguage is not author=
ized by license, "+lang+" will be ignored");
-//                                continue;
-//                            }
-//                        } else {
+                                logger.warn("Multilanguage is not authoriz=
ed by license, "+lang+" will be ignored");
+                                continue;
+                            }
+                        } else {
                             set =3D (SiteLanguageSettings) m.get(lang);
                         }
                         if ("rank".equals(t)) {

Modified: trunk/core/src/java/org/jahia/services/importexport/ImportHandler=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/importexport/ImportHandler.java&rev=3D19408&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
(original)
+++ trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
Mon Dec 24 13:28:07 2007
@@ -77,6 +77,7 @@
 import org.jahia.services.esi.EsiService;
 import org.jahia.utils.LanguageCodeConverters;
 import org.jahia.engines.EngineMessage;
+import org.jahia.security.license.LicenseActionChecker;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.Locator;
@@ -162,11 +163,15 @@
 =

             if (!languageSettingsAsLocales.contains(currentLocale) && (cur=
rentObject =3D=3D null || (updateOnly && currentObject.getParent(null)=3D=
=3Dnull))) {
                 // create site language
-                SiteLanguageSettings newLanguage =3D
-                        new SiteLanguageSettings(site.getID(), currentLoca=
le.toString(), true, languageSettingsAsLocales.size()+1, false);
-                JahiaSiteLanguageListManager listManager =3D (JahiaSiteLan=
guageListManager) SpringContextSingleton.getInstance().getContext().getBean=
(JahiaSiteLanguageListManager.class.getName());
-                listManager.addSiteLanguageSettings(newLanguage);
-                languageSettingsAsLocales =3D site.getLanguageSettingsAsLo=
cales(false);
+                if (LicenseActionChecker.isAuthorizedByLicense("org.jahia.=
actions.sites.*.admin.languages.ManageSiteLanguages",0) || languageSettings=
AsLocales.isEmpty()) {
+                    SiteLanguageSettings newLanguage =3D
+                            new SiteLanguageSettings(site.getID(), current=
Locale.toString(), true, languageSettingsAsLocales.size()+1, false);
+                    JahiaSiteLanguageListManager listManager =3D (JahiaSit=
eLanguageListManager) SpringContextSingleton.getInstance().getContext().get=
Bean(JahiaSiteLanguageListManager.class.getName());
+                    listManager.addSiteLanguageSettings(newLanguage);
+                    languageSettingsAsLocales =3D site.getLanguageSettings=
AsLocales(false);
+                } else {
+                    throw new SAXException("languages");
+                }
             } else {
                 while (!languageSettingsAsLocales.contains(currentLocale))=
 {
                     if (!"".equals(currentLocale.getVariant())) {

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to