From 4a5a0436dbf931f41e94cc3c20d199af90e972b2 Mon Sep 17 00:00:00 2001 From: Quy Date: Sat, 12 Aug 2017 09:28:43 -0700 Subject: [PATCH 01/51] Regression: Fix undefined offset: 1 (#17139) * Fix undefined offset: 1 * Fix undefined offset: 1 --- libraries/src/Environment/Browser.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libraries/src/Environment/Browser.php b/libraries/src/Environment/Browser.php index 3bfa2a7c9b979..5e74cb33b46a5 100644 --- a/libraries/src/Environment/Browser.php +++ b/libraries/src/Environment/Browser.php @@ -279,7 +279,9 @@ public function match($userAgent = null, $accept = null) list ($this->majorVersion, $this->minorVersion) = explode('.', $version[1]); } - elseif (preg_match('/Chrome[\/ ]([0-9.]+)|CrMo[\/ ]([0-9.]+)|CriOS[\/ ]([0-9.]+)/i', $this->agent, $version)) + elseif (preg_match('/Chrome[\/ ]([0-9.]+)/i', $this->agent, $version) + || preg_match('/CrMo[\/ ]([0-9.]+)/i', $this->agent, $version) + || preg_match('/CriOS[\/ ]([0-9.]+)/i', $this->agent, $version)) { $this->setBrowser('chrome'); @@ -291,7 +293,10 @@ public function match($userAgent = null, $accept = null) { $this->setBrowser('palm'); } - elseif ((preg_match('/MSIE ([0-9.]+)|Internet Explorer\/([0-9.]+)|Trident\/([0-9.]+)/i', $this->agent, $version))) + elseif (preg_match('/MSIE ([0-9.]+)/i', $this->agent, $version) + || preg_match('/IE ([0-9.]+)/i', $this->agent, $version) + || preg_match('/Internet Explorer[\/ ]([0-9.]+)/i', $this->agent, $version) + || preg_match('/Trident\/.*rv:([0-9.]+)/i', $this->agent, $version)) { $this->setBrowser('msie'); From 66044934730e71ca191e5fc6394b8d6c27634cef Mon Sep 17 00:00:00 2001 From: infograf768 Date: Sat, 12 Aug 2017 19:53:57 +0200 Subject: [PATCH 02/51] Multilingual: Item should not show as associated to itself in the (#17503) association column --- .../com_categories/helpers/html/categoriesadministrator.php | 1 + administrator/components/com_contact/helpers/html/contact.php | 1 + .../components/com_content/helpers/html/contentadministrator.php | 1 + administrator/components/com_menus/helpers/html/menus.php | 1 + administrator/components/com_newsfeeds/helpers/html/newsfeed.php | 1 + 5 files changed, 5 insertions(+) diff --git a/administrator/components/com_categories/helpers/html/categoriesadministrator.php b/administrator/components/com_categories/helpers/html/categoriesadministrator.php index 3f2bdc464ef90..456cb89c8573f 100644 --- a/administrator/components/com_categories/helpers/html/categoriesadministrator.php +++ b/administrator/components/com_categories/helpers/html/categoriesadministrator.php @@ -49,6 +49,7 @@ public static function association($catid, $extension = 'com_content') ->select('l.lang_code') ->from('#__categories as c') ->where('c.id IN (' . implode(',', array_values($associations)) . ')') + ->where('c.id != ' . $catid) ->join('LEFT', '#__languages as l ON c.language=l.lang_code') ->select('l.image') ->select('l.title as language_title'); diff --git a/administrator/components/com_contact/helpers/html/contact.php b/administrator/components/com_contact/helpers/html/contact.php index 52a9814fd53df..6314c7a0b0eb3 100644 --- a/administrator/components/com_contact/helpers/html/contact.php +++ b/administrator/components/com_contact/helpers/html/contact.php @@ -51,6 +51,7 @@ public static function association($contactid) ->select('cat.title as category_title') ->join('LEFT', '#__categories as cat ON cat.id=c.catid') ->where('c.id IN (' . implode(',', array_values($associations)) . ')') + ->where('c.id != ' . $contactid) ->join('LEFT', '#__languages as l ON c.language=l.lang_code') ->select('l.image') ->select('l.title as language_title'); diff --git a/administrator/components/com_content/helpers/html/contentadministrator.php b/administrator/components/com_content/helpers/html/contentadministrator.php index f5e8da1c34520..fa9a1d9b8c3a7 100644 --- a/administrator/components/com_content/helpers/html/contentadministrator.php +++ b/administrator/components/com_content/helpers/html/contentadministrator.php @@ -52,6 +52,7 @@ public static function association($articleid) ->select('cat.title as category_title') ->join('LEFT', '#__categories as cat ON cat.id=c.catid') ->where('c.id IN (' . implode(',', array_values($associations)) . ')') + ->where('c.id != ' . $articleid) ->join('LEFT', '#__languages as l ON c.language=l.lang_code') ->select('l.image') ->select('l.title as language_title'); diff --git a/administrator/components/com_menus/helpers/html/menus.php b/administrator/components/com_menus/helpers/html/menus.php index 6212b2df1e95c..019bd592de416 100644 --- a/administrator/components/com_menus/helpers/html/menus.php +++ b/administrator/components/com_menus/helpers/html/menus.php @@ -50,6 +50,7 @@ public static function association($itemid) ->from('#__menu as m') ->join('LEFT', '#__menu_types as mt ON mt.menutype=m.menutype') ->where('m.id IN (' . implode(',', array_values($associations)) . ')') + ->where('m.id != ' . $itemid) ->join('LEFT', '#__languages as l ON m.language=l.lang_code') ->select('l.image') ->select('l.title as language_title'); diff --git a/administrator/components/com_newsfeeds/helpers/html/newsfeed.php b/administrator/components/com_newsfeeds/helpers/html/newsfeed.php index a5525fba1cbaa..4642a17bd8bb3 100644 --- a/administrator/components/com_newsfeeds/helpers/html/newsfeed.php +++ b/administrator/components/com_newsfeeds/helpers/html/newsfeed.php @@ -49,6 +49,7 @@ public static function association($newsfeedid) ->select('cat.title as category_title') ->join('LEFT', '#__categories as cat ON cat.id=c.catid') ->where('c.id IN (' . implode(',', array_values($associations)) . ')') + ->where('c.id != ' . $newsfeedid) ->join('LEFT', '#__languages as l ON c.language=l.lang_code') ->select('l.image') ->select('l.title as language_title'); From a5250be5261c1e980fb8062d8e167a416575ef39 Mon Sep 17 00:00:00 2001 From: wilsonge Date: Sun, 13 Aug 2017 11:35:47 +0100 Subject: [PATCH 03/51] Move Image package to correct location --- libraries/src/{Joomla/CMS => }/Image/Image.php | 0 libraries/src/{Joomla/CMS => }/Image/ImageFilter.php | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename libraries/src/{Joomla/CMS => }/Image/Image.php (100%) rename libraries/src/{Joomla/CMS => }/Image/ImageFilter.php (100%) diff --git a/libraries/src/Joomla/CMS/Image/Image.php b/libraries/src/Image/Image.php similarity index 100% rename from libraries/src/Joomla/CMS/Image/Image.php rename to libraries/src/Image/Image.php diff --git a/libraries/src/Joomla/CMS/Image/ImageFilter.php b/libraries/src/Image/ImageFilter.php similarity index 100% rename from libraries/src/Joomla/CMS/Image/ImageFilter.php rename to libraries/src/Image/ImageFilter.php From 1ec6e4100836fc4ca4eb92b68f80c60e8e5bb59b Mon Sep 17 00:00:00 2001 From: Stefan Bauer Date: Sun, 13 Aug 2017 14:37:12 +0200 Subject: [PATCH 04/51] fix typos (#17518) --- installation/language/de-AT/de-AT.ini | 8 ++++---- installation/language/de-CH/de-CH.ini | 8 ++++---- installation/language/de-DE/de-DE.ini | 8 ++++---- installation/language/de-LI/de-LI.ini | 8 ++++---- installation/language/de-LU/de-LU.ini | 8 ++++---- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/installation/language/de-AT/de-AT.ini b/installation/language/de-AT/de-AT.ini index 2d292829f4f06..4fe8bc5071ab3 100644 --- a/installation/language/de-AT/de-AT.ini +++ b/installation/language/de-AT/de-AT.ini @@ -52,7 +52,7 @@ INSTL_DATABASE_USER_LABEL="Benutzername" ;FTP view INSTL_AUTOFIND_FTP_PATH="Automatischer FTP-Pfad" INSTL_FTP="FTP-Konfiguration" -INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebsystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" +INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebssystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" INSTL_FTP_ENABLE_LABEL="FTP-Funktion aktivieren" INSTL_FTP_HOST_LABEL="FTP-Servername" INSTL_FTP_PASSWORD_LABEL="FTP-Passwort" @@ -83,7 +83,7 @@ INSTL_SITE_OFFLINE_LABEL="Site offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Webseitene.)" +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Webseite.)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -214,7 +214,7 @@ INSTL_DATABASE_INVALID_TYPE="Bitte den Datenbanktyp auswählen!" INSTL_DATABASE_NAME_TOO_LONG="Der MySQL-Datenbankname darf maximal 64 Zeichen lang sein!" INSTL_DATABASE_INVALID_NAME="MySQL-Versionen vor 5.1.6 enthalten eventuell keine „Periods“ oder andere „Sonderzeichen“ (special characters) im Namen. Die installierte Version ist: %s" INSTL_DATABASE_NAME_INVALID_SPACES="MySQL-Datenbanknamen und Tabellennamen sollten nicht mit Leerzeichen beginnen oder enden!" -INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enhalten!" +INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enthalten!" INSTL_DATABASE_FILE_DOES_NOT_EXIST="Die Datei „%s“ existiert nicht!" ;Controllers @@ -312,7 +312,7 @@ JLIB_INSTALLER_ABORT_PACK_INSTALL_CREATE_DIRECTORY="Paketinstallation: Das Verze JLIB_INSTALLER_ABORT_PACK_INSTALL_ERROR_EXTENSION="Paket %1$s: Bei der Installation der Erweiterung trat ein Fehler auf: %2$s" JLIB_INSTALLER_ABORT_PACK_INSTALL_NO_FILES="Paket %s: Keine Dateien zur Installation vorhanden!" JLIB_INSTALLER_ERROR_FAIL_COPY_FILE="JInstaller: :Install: Fehler beim Kopieren der Datei „%1$s“ nach „%2$s“." -JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben seperate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger seperat installiert zu werden." +JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben separate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger separat installiert zu werden." JLIB_UTIL_ERROR_CONNECT_DATABASE="JDatabase: :getInstance: Keine Verbindung mit der Datenbank!
joomla.library: %1$s - %2$s" ; Strings for the language debugger diff --git a/installation/language/de-CH/de-CH.ini b/installation/language/de-CH/de-CH.ini index a3e50dc9130cf..ae0ed10425911 100644 --- a/installation/language/de-CH/de-CH.ini +++ b/installation/language/de-CH/de-CH.ini @@ -52,7 +52,7 @@ INSTL_DATABASE_USER_LABEL="Benutzername" ;FTP view INSTL_AUTOFIND_FTP_PATH="Automatischer FTP-Pfad" INSTL_FTP="FTP-Konfiguration" -INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebsystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" +INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebssystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" INSTL_FTP_ENABLE_LABEL="FTP-Funktion aktivieren" INSTL_FTP_HOST_LABEL="FTP-Servername" INSTL_FTP_PASSWORD_LABEL="FTP-Passwort" @@ -83,7 +83,7 @@ INSTL_SITE_OFFLINE_LABEL="Site offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmässig eingerichtete mehrsprachige Webseitene.)" +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmässig eingerichtete mehrsprachige Webseite.)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -214,7 +214,7 @@ INSTL_DATABASE_INVALID_TYPE="Bitte den Datenbanktyp auswählen!" INSTL_DATABASE_NAME_TOO_LONG="Der MySQL-Datenbankname darf maximal 64 Zeichen lang sein!" INSTL_DATABASE_INVALID_NAME="MySQL-Versionen vor 5.1.6 enthalten eventuell keine „Periods“ oder andere „Sonderzeichen“ (special characters) im Namen. Die installierte Version ist: %s" INSTL_DATABASE_NAME_INVALID_SPACES="MySQL-Datenbanknamen und Tabellennamen sollten nicht mit Leerzeichen beginnen oder enden!" -INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enhalten!" +INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enthalten!" INSTL_DATABASE_FILE_DOES_NOT_EXIST="Die Datei „%s“ existiert nicht!" ;Controllers @@ -312,7 +312,7 @@ JLIB_INSTALLER_ABORT_PACK_INSTALL_CREATE_DIRECTORY="Paketinstallation: Das Verze JLIB_INSTALLER_ABORT_PACK_INSTALL_ERROR_EXTENSION="Paket %1$s: Bei der Installation der Erweiterung trat ein Fehler auf: %2$s" JLIB_INSTALLER_ABORT_PACK_INSTALL_NO_FILES="Paket %s: Keine Dateien zur Installation vorhanden!" JLIB_INSTALLER_ERROR_FAIL_COPY_FILE="JInstaller: :Install: Fehler beim Kopieren der Datei „%1$s“ nach „%2$s“." -JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben seperate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger seperat installiert zu werden." +JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben separate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger separat installiert zu werden." JLIB_UTIL_ERROR_CONNECT_DATABASE="JDatabase: :getInstance: Keine Verbindung mit der Datenbank!
joomla.library: %1$s - %2$s" ; Strings for the language debugger diff --git a/installation/language/de-DE/de-DE.ini b/installation/language/de-DE/de-DE.ini index 2863eb5148ff0..d0c1cdb5d252f 100644 --- a/installation/language/de-DE/de-DE.ini +++ b/installation/language/de-DE/de-DE.ini @@ -52,7 +52,7 @@ INSTL_DATABASE_USER_LABEL="Benutzername" ;FTP view INSTL_AUTOFIND_FTP_PATH="Automatischer FTP-Pfad" INSTL_FTP="FTP-Konfiguration" -INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebsystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" +INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebssystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" INSTL_FTP_ENABLE_LABEL="FTP-Funktion aktivieren" INSTL_FTP_HOST_LABEL="FTP-Servername" INSTL_FTP_PASSWORD_LABEL="FTP-Passwort" @@ -83,7 +83,7 @@ INSTL_SITE_OFFLINE_LABEL="Site offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Webseitene.)" +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Webseite.)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -214,7 +214,7 @@ INSTL_DATABASE_INVALID_TYPE="Bitte den Datenbanktyp auswählen!" INSTL_DATABASE_NAME_TOO_LONG="Der MySQL-Datenbankname darf maximal 64 Zeichen lang sein!" INSTL_DATABASE_INVALID_NAME="MySQL-Versionen vor 5.1.6 enthalten eventuell keine „Periods“ oder andere „Sonderzeichen“ (special characters) im Namen. Die installierte Version ist: %s" INSTL_DATABASE_NAME_INVALID_SPACES="MySQL-Datenbanknamen und Tabellennamen sollten nicht mit Leerzeichen beginnen oder enden!" -INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enhalten!" +INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enthalten!" INSTL_DATABASE_FILE_DOES_NOT_EXIST="Die Datei „%s“ existiert nicht!" ;Controllers @@ -312,7 +312,7 @@ JLIB_INSTALLER_ABORT_PACK_INSTALL_CREATE_DIRECTORY="Paketinstallation: Das Verze JLIB_INSTALLER_ABORT_PACK_INSTALL_ERROR_EXTENSION="Paket %1$s: Bei der Installation der Erweiterung trat ein Fehler auf: %2$s" JLIB_INSTALLER_ABORT_PACK_INSTALL_NO_FILES="Paket %s: Keine Dateien zur Installation vorhanden!" JLIB_INSTALLER_ERROR_FAIL_COPY_FILE="JInstaller: :Install: Fehler beim Kopieren der Datei „%1$s“ nach „%2$s“." -JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben seperate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger seperat installiert zu werden." +JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben separate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger separat installiert zu werden." JLIB_UTIL_ERROR_CONNECT_DATABASE="JDatabase: :getInstance: Keine Verbindung mit der Datenbank!
joomla.library: %1$s - %2$s" ; Strings for the language debugger diff --git a/installation/language/de-LI/de-LI.ini b/installation/language/de-LI/de-LI.ini index 80411210e7aa0..1aa47ec021cb8 100644 --- a/installation/language/de-LI/de-LI.ini +++ b/installation/language/de-LI/de-LI.ini @@ -52,7 +52,7 @@ INSTL_DATABASE_USER_LABEL="Benutzername" ;FTP view INSTL_AUTOFIND_FTP_PATH="Automatischer FTP-Pfad" INSTL_FTP="FTP-Konfiguration" -INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebsystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" +INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebssystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" INSTL_FTP_ENABLE_LABEL="FTP-Funktion aktivieren" INSTL_FTP_HOST_LABEL="FTP-Servername" INSTL_FTP_PASSWORD_LABEL="FTP-Passwort" @@ -83,7 +83,7 @@ INSTL_SITE_OFFLINE_LABEL="Site offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmässig eingerichtete mehrsprachige Webseitene.)" +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmässig eingerichtete mehrsprachige Webseite.)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -214,7 +214,7 @@ INSTL_DATABASE_INVALID_TYPE="Bitte den Datenbanktyp auswählen!" INSTL_DATABASE_NAME_TOO_LONG="Der MySQL-Datenbankname darf maximal 64 Zeichen lang sein!" INSTL_DATABASE_INVALID_NAME="MySQL-Versionen vor 5.1.6 enthalten eventuell keine „Periods“ oder andere „Sonderzeichen“ (special characters) im Namen. Die installierte Version ist: %s" INSTL_DATABASE_NAME_INVALID_SPACES="MySQL-Datenbanknamen und Tabellennamen sollten nicht mit Leerzeichen beginnen oder enden!" -INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enhalten!" +INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enthalten!" INSTL_DATABASE_FILE_DOES_NOT_EXIST="Die Datei „%s“ existiert nicht!" ;Controllers @@ -312,7 +312,7 @@ JLIB_INSTALLER_ABORT_PACK_INSTALL_CREATE_DIRECTORY="Paketinstallation: Das Verze JLIB_INSTALLER_ABORT_PACK_INSTALL_ERROR_EXTENSION="Paket %1$s: Bei der Installation der Erweiterung trat ein Fehler auf: %2$s" JLIB_INSTALLER_ABORT_PACK_INSTALL_NO_FILES="Paket %s: Keine Dateien zur Installation vorhanden!" JLIB_INSTALLER_ERROR_FAIL_COPY_FILE="JInstaller: :Install: Fehler beim Kopieren der Datei „%1$s“ nach „%2$s“." -JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben seperate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger seperat installiert zu werden." +JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben separate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger separat installiert zu werden." JLIB_UTIL_ERROR_CONNECT_DATABASE="JDatabase: :getInstance: Keine Verbindung mit der Datenbank!
joomla.library: %1$s - %2$s" ; Strings for the language debugger diff --git a/installation/language/de-LU/de-LU.ini b/installation/language/de-LU/de-LU.ini index d4397853df15d..01d7e934e5804 100644 --- a/installation/language/de-LU/de-LU.ini +++ b/installation/language/de-LU/de-LU.ini @@ -52,7 +52,7 @@ INSTL_DATABASE_USER_LABEL="Benutzername" ;FTP view INSTL_AUTOFIND_FTP_PATH="Automatischer FTP-Pfad" INSTL_FTP="FTP-Konfiguration" -INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebsystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" +INSTL_FTP_DESC="

Bei manchen Webservern werden FTP-Daten zum erfolgreichen Abschluss der Installation benötigt. Sollte es Probleme bei der Installation ohne diese FTP-Daten geben, sollte zusammen mit dem Webhoster überprüft werden, ob diese Daten wirklich notwendig sind.

Aus Sicherheitsgründen ist ein separates FTP-Konto anzulegen, dieses sollte nur Zugriff auf die Joomla!-Installation haben und nicht auf die übrigen Dateien des Webservers. Der Webhoster kann hier unterstützen!

Hinweis: Erfolgt die Installation auf dem Betriebssystem „Windows“, ist der Einsatz der FTP-Funktion nicht erforderlich!

" INSTL_FTP_ENABLE_LABEL="FTP-Funktion aktivieren" INSTL_FTP_HOST_LABEL="FTP-Servername" INSTL_FTP_PASSWORD_LABEL="FTP-Passwort" @@ -83,7 +83,7 @@ INSTL_SITE_OFFLINE_LABEL="Site offline" INSTL_SITE_OFFLINE_TITLE_LABEL="Die Website (Frontend) kann nach der Installation deaktiviert (Offlinemodus) werden. Später kann sie dann über die Konfiguration wieder aktiviert werden." INSTL_SITE_INSTALL_SAMPLE_LABEL="Beispieldaten installieren" INSTL_SITE_INSTALL_SAMPLE_DESC="Anfängern wird dringend empfohlen diese Daten zu installieren. Hiermit werden die Beispielinhalte eingefügt, die dem Installationspaket von Joomla! beiliegen." -INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Webseitene.)" +INSTL_SITE_INSTALL_SAMPLE_NONE="Keine (Benötigt für eine automatisch standardmäßig eingerichtete mehrsprachige Webseite.)" INSTL_SAMPLE_BLOG_SET="Englische (GB) Beispieldaten: Bloginhalte" INSTL_SAMPLE_BROCHURE_SET="Englische (GB) Beispieldaten: Prospektinhalte" INSTL_SAMPLE_DATA_SET="Englische (GB) Beispieldaten: Standardinhalte" @@ -214,7 +214,7 @@ INSTL_DATABASE_INVALID_TYPE="Bitte den Datenbanktyp auswählen!" INSTL_DATABASE_NAME_TOO_LONG="Der MySQL-Datenbankname darf maximal 64 Zeichen lang sein!" INSTL_DATABASE_INVALID_NAME="MySQL-Versionen vor 5.1.6 enthalten eventuell keine „Periods“ oder andere „Sonderzeichen“ (special characters) im Namen. Die installierte Version ist: %s" INSTL_DATABASE_NAME_INVALID_SPACES="MySQL-Datenbanknamen und Tabellennamen sollten nicht mit Leerzeichen beginnen oder enden!" -INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enhalten!" +INSTL_DATABASE_NAME_INVALID_CHAR="Kein MySQL-Identifikator sollte ein „NULL ASCII(0x00)“ enthalten!" INSTL_DATABASE_FILE_DOES_NOT_EXIST="Die Datei „%s“ existiert nicht!" ;Controllers @@ -312,7 +312,7 @@ JLIB_INSTALLER_ABORT_PACK_INSTALL_CREATE_DIRECTORY="Paketinstallation: Das Verze JLIB_INSTALLER_ABORT_PACK_INSTALL_ERROR_EXTENSION="Paket %1$s: Bei der Installation der Erweiterung trat ein Fehler auf: %2$s" JLIB_INSTALLER_ABORT_PACK_INSTALL_NO_FILES="Paket %s: Keine Dateien zur Installation vorhanden!" JLIB_INSTALLER_ERROR_FAIL_COPY_FILE="JInstaller: :Install: Fehler beim Kopieren der Datei „%1$s“ nach „%2$s“." -JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben seperate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger seperat installiert zu werden." +JLIB_INSTALLER_NOT_ERROR="Wenn der Fehler mit der Installation von TinyMCE-Sprachdateien in Verbindung steht, so hat er keine Auswirkungen auf die Installation der Sprache(n). Einige Sprachpakete vor Joomla! 3.2.0 haben separate TinyMCE-Sprachdateien mitinstalliert, da diese Sprachdateien jetzt aber bereits im Joomla!-Kern enthalten sind, brauchen sie nun nicht länger separat installiert zu werden." JLIB_UTIL_ERROR_CONNECT_DATABASE="JDatabase: :getInstance: Keine Verbindung mit der Datenbank!
joomla.library: %1$s - %2$s" ; Strings for the language debugger From 6b791b3f5670df2ac08f64dbf53fda7ebcb9563e Mon Sep 17 00:00:00 2001 From: Martijn Maandag Date: Sun, 13 Aug 2017 15:04:40 +0200 Subject: [PATCH 05/51] Update en-GB.ini (#17523) --- installation/language/en-GB/en-GB.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installation/language/en-GB/en-GB.ini b/installation/language/en-GB/en-GB.ini index d303a1a524455..c2f673b079997 100644 --- a/installation/language/en-GB/en-GB.ini +++ b/installation/language/en-GB/en-GB.ini @@ -32,7 +32,7 @@ INSTL_DATABASE_ERROR_POSTGRESQL_QUERY="PostgreSQL database query failed." INSTL_DATABASE_HOST_DESC="This is usually "localhost" or a name provided by your host." INSTL_DATABASE_HOST_LABEL="Host Name" INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE="We were not able to create the file. Please manually create a file named "%s" and upload it to the "installation" folder of your Joomla site." -INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="In order to confirm that you are the the owner of this website please delete the file named "%s" we have just created in the "installation" folder of your Joomla site." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="In order to confirm that you are the owner of this website please delete the file named "%s" we have just created in the "installation" folder of your Joomla site." INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_GENERAL_MESSAGE="You are trying to use a database host which is not on your local server. For security reasons, you need to verify the ownership of your web hosting account. Please read the documentation for more information." INSTL_DATABASE_NAME_DESC="Some hosts allow only a certain DB name per site. Use table prefix in this case for distinct Joomla! sites." INSTL_DATABASE_NAME_LABEL="Database Name" From 883bbffca6a92006c5b7b581e0a8f6f8f1a1a9f7 Mon Sep 17 00:00:00 2001 From: Martijn Maandag Date: Sun, 13 Aug 2017 15:05:02 +0200 Subject: [PATCH 06/51] Update en-GB.com_menus.ini (#17521) * Update en-GB.com_menus.ini * correction --- administrator/language/en-GB/en-GB.com_menus.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/language/en-GB/en-GB.com_menus.ini b/administrator/language/en-GB/en-GB.com_menus.ini index ca531ccbf7ca0..4186b9c9ff924 100644 --- a/administrator/language/en-GB/en-GB.com_menus.ini +++ b/administrator/language/en-GB/en-GB.com_menus.ini @@ -195,7 +195,7 @@ COM_MENUS_NO_MENUS_SELECTED="No menu selected." COM_MENUS_OPTION_SELECT_COMPONENT="- Select Component -" COM_MENUS_OPTION_SELECT_LEVEL="- Select Max Levels -" COM_MENUS_PAGE_OPTIONS_LABEL="Page Display" -COM_MENUS_PRESET_IMPORT_SUCCESS="Menu was saved and the menu items was imported from the selected preset." +COM_MENUS_PRESET_IMPORT_SUCCESS="Menu was saved and the menu items were imported from the selected preset." COM_MENUS_PRESET_IMPORT_FAILED="Menu was saved but failed to import the preset: %s" COM_MENUS_PRESET_LOAD_FAILED="Failed to load the specified preset." COM_MENUS_REQUEST_FIELDSET_LABEL="Required Settings" From 81dc289133ebf5f1dde5e741722c5ef3b5c6c6aa Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 13 Aug 2017 14:53:52 +0100 Subject: [PATCH 07/51] Complete the removal of weblinks from stats modules (#17458) * Complete the removal of weblinks from stats modules In #13389 the code for weblinks in the stats module was rempved but the description remains in the module. This is confusing and so this PR removess the text about weblinks from the description. Its not needed just as there is no text in the description about having plugins installedd that will inject other stats into that module * update * sloppy * less haste more speed --- administrator/language/en-GB/en-GB.mod_stats_admin.ini | 2 +- administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini | 2 +- administrator/language/en-GB/en-GB.plg_sampledata_testing.ini | 2 +- .../mod_stats_admin/language/en-GB.mod_stats_admin.ini | 2 +- .../mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini | 2 +- language/en-GB/en-GB.mod_stats.ini | 2 +- language/en-GB/en-GB.mod_stats.sys.ini | 2 +- tests/unit/stubs/database/jos_content.csv | 2 +- tests/unit/stubs/database/jos_finder_links.csv | 4 ++-- tests/unit/stubs/database/jos_ucm_content.csv | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/administrator/language/en-GB/en-GB.mod_stats_admin.ini b/administrator/language/en-GB/en-GB.mod_stats_admin.ini index e52e44aa51930..9f253bbc0b963 100644 --- a/administrator/language/en-GB/en-GB.mod_stats_admin.ini +++ b/administrator/language/en-GB/en-GB.mod_stats_admin.ini @@ -22,4 +22,4 @@ MOD_STATS_PHP="PHP" MOD_STATS_TIME="Time" MOD_STATS_USERS="Users" MOD_STATS_WEBLINKS="Web Links" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide." +MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." diff --git a/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini b/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini index 21ce560b2d7da..785f4b56cbd04 100644 --- a/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini +++ b/administrator/language/en-GB/en-GB.mod_stats_admin.sys.ini @@ -5,5 +5,5 @@ MOD_STATS_ADMIN="Statistics" MOD_STATS_LAYOUT_DEFAULT="Default" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide." +MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." diff --git a/administrator/language/en-GB/en-GB.plg_sampledata_testing.ini b/administrator/language/en-GB/en-GB.plg_sampledata_testing.ini index a00271db3469e..37a0ab964c74b 100644 --- a/administrator/language/en-GB/en-GB.plg_sampledata_testing.ini +++ b/administrator/language/en-GB/en-GB.plg_sampledata_testing.ini @@ -198,7 +198,7 @@ PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_42_FULLTEXT="

" PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_42_INTROTEXT="

" PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_42_TITLE="Spotted Quoll" PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_43_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_43_INTROTEXT="

This module shows information about your server installation together with statistics on the Web site users, number of Articles in your database and the number of Web links you provide.

{loadmodule mod_stats,Statistics}
" +PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_43_INTROTEXT="

This module shows information about your server installation together with statistics on the Web site users and the number of Articles in your database.

{loadmodule mod_stats,Statistics}
" PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_43_TITLE="Statistics Module" PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_44_FULLTEXT="" PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_44_INTROTEXT="

The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. Help

{loadposition syndicate,Syndicate}
" diff --git a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini index 8fd1335559328..911c38e656431 100644 --- a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini +++ b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.ini @@ -21,4 +21,4 @@ MOD_STATS_PHP="PHP" MOD_STATS_TIME="Time" MOD_STATS_USERS="Users" MOD_STATS_WEBLINKS="Web Links" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide." +MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." diff --git a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini index 1d1bf87cfb7ff..e57b1af3a8a9b 100644 --- a/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini +++ b/administrator/modules/mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini @@ -4,6 +4,6 @@ ; Note : All ini files need to be saved as UTF-8 MOD_STATS_ADMIN="Statistics" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide." +MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." MOD_STATS_LAYOUT_DEFAULT="Default" diff --git a/language/en-GB/en-GB.mod_stats.ini b/language/en-GB/en-GB.mod_stats.ini index b7c9b8a71f741..6ae6512536e45 100644 --- a/language/en-GB/en-GB.mod_stats.ini +++ b/language/en-GB/en-GB.mod_stats.ini @@ -22,4 +22,4 @@ MOD_STATS_PHP="PHP" MOD_STATS_TIME="Time" MOD_STATS_USERS="Users" MOD_STATS_WEBLINKS="Web Links" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide." +MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." diff --git a/language/en-GB/en-GB.mod_stats.sys.ini b/language/en-GB/en-GB.mod_stats.sys.ini index 4b73204a30112..291aab271fcb8 100644 --- a/language/en-GB/en-GB.mod_stats.sys.ini +++ b/language/en-GB/en-GB.mod_stats.sys.ini @@ -4,6 +4,6 @@ ; Note : All ini files need to be saved as UTF-8 MOD_STATS="Statistics" -MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide." +MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database." MOD_STATS_LAYOUT_DEFAULT="Default" diff --git a/tests/unit/stubs/database/jos_content.csv b/tests/unit/stubs/database/jos_content.csv index 18c2a96424ee2..3ab421bc951d9 100644 --- a/tests/unit/stubs/database/jos_content.csv +++ b/tests/unit/stubs/database/jos_content.csv @@ -192,7 +192,7 @@

','

','1','72','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"images\\/sampledata\\/parks\\/animals\\/220px_spottedquoll_2005_seanmcclean.jpg","float_intro":"","image_intro_alt":"Spotted Quoll","image_intro_caption":"","image_fulltext":"images\\/sampledata\\/parks\\/animals\\/789px_spottedquoll_2005_seanmcclean.jpg","float_fulltext":"","image_fulltext_alt":"Spotted Quoll","image_fulltext_caption":"Source: http:\\/\\/en.wikipedia.org\\/wiki\\/File:SpottedQuoll_2005_SeanMcClean.jpg Author: Sean McClean License: GNU Free Documentation License v 1.2 or later"}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','4',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', -'44','142','Statistics Module','statistics','

This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.

+'44','142','Statistics Module','statistics','

This module shows information about your server installation together with statistics on the website users and the number of Articles in your database.

{loadmodule mod_stats,Statistics}
',,'1','67','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','5',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', '45','143','Syndicate Module','syndicate-module','

The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. Help

{loadposition syndicate,Syndicate}
',,'1','67','2011-01-01 00:00:01','100','Joomla','0000-00-00 00:00:00','0','0','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','{"image_intro":"","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}','{"urla":"","urlatext":"","targeta":"","urlb":"","urlbtext":"","targetb":"","urlc":"","urlctext":"","targetc":""}','{"show_title":"","link_titles":"","show_intro":"","show_category":"","link_category":"","show_parent_category":"","link_parent_category":"","show_author":"","link_author":"","show_create_date":"","show_modify_date":"","show_publish_date":"","show_item_navigation":"","show_icons":"","show_print_icon":"","show_email_icon":"","show_vote":"","show_hits":"","show_noauth":"","alternative_readmore":"","article_layout":"","show_publishing_options":"","show_article_options":"","show_urls_images_backend":"","show_urls_images_frontend":""}','1','6',,,'1','0','{"robots":"","author":"","rights":"","xreference":""}','0','*', diff --git a/tests/unit/stubs/database/jos_finder_links.csv b/tests/unit/stubs/database/jos_finder_links.csv index 2300b519ebe20..1c94b550e617a 100644 --- a/tests/unit/stubs/database/jos_finder_links.csv +++ b/tests/unit/stubs/database/jos_finder_links.csv @@ -302,8 +302,8 @@ Source:http://commons.wikimedia.org/wiki/File:Koeh-134.jpg";s:16:"created_by_ali

";s:4:"body";s:10:"

";s:5:"catid";s:2:"72";s:10:"created_by";s:3:"100";s:16:"created_by_alias";s:6:"Joomla";s:8:"modified";s:19:"0000-00-00 00:00:00";s:11:"modified_by";s:1:"0";s:6:"params";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":67:{s:14:"article_layout";s:9:"_:default";s:10:"show_title";s:1:"1";s:11:"link_titles";s:1:"1";s:10:"show_intro";s:1:"1";s:13:"show_category";s:1:"1";s:13:"link_category";s:1:"1";s:20:"show_parent_category";s:1:"0";s:20:"link_parent_category";s:1:"0";s:11:"show_author";s:1:"1";s:11:"link_author";s:1:"0";s:16:"show_create_date";s:1:"0";s:16:"show_modify_date";s:1:"0";s:17:"show_publish_date";s:1:"1";s:20:"show_item_navigation";s:1:"1";s:9:"show_vote";s:1:"0";s:13:"show_readmore";s:1:"1";s:19:"show_readmore_title";s:1:"1";s:14:"readmore_limit";s:3:"100";s:10:"show_icons";s:1:"1";s:15:"show_print_icon";s:1:"1";s:15:"show_email_icon";s:1:"1";s:9:"show_hits";s:1:"1";s:11:"show_noauth";s:1:"0";s:23:"show_publishing_options";s:1:"1";s:20:"show_article_options";s:1:"1";s:25:"show_urls_images_frontend";s:1:"0";s:24:"show_urls_images_backend";s:1:"1";s:7:"targeta";i:0;s:7:"targetb";i:0;s:7:"targetc";i:0;s:11:"float_intro";s:4:"left";s:14:"float_fulltext";s:4:"left";s:15:"category_layout";s:6:"_:blog";s:19:"show_category_title";s:1:"0";s:16:"show_description";s:1:"0";s:22:"show_description_image";s:1:"0";s:8:"maxLevel";s:1:"1";s:21:"show_empty_categories";s:1:"0";s:16:"show_no_articles";s:1:"1";s:16:"show_subcat_desc";s:1:"1";s:21:"show_cat_num_articles";s:1:"0";s:21:"show_base_description";s:1:"1";s:11:"maxLevelcat";s:2:"-1";s:25:"show_empty_categories_cat";s:1:"0";s:20:"show_subcat_desc_cat";s:1:"1";s:25:"show_cat_num_articles_cat";s:1:"1";s:20:"num_leading_articles";s:1:"1";s:18:"num_intro_articles";s:1:"4";s:11:"num_columns";s:1:"2";s:9:"num_links";s:1:"4";s:18:"multi_column_order";s:1:"0";s:24:"show_subcategory_content";s:1:"0";s:21:"show_pagination_limit";s:1:"1";s:12:"filter_field";s:4:"hide";s:13:"show_headings";s:1:"1";s:14:"list_show_date";s:1:"0";s:11:"date_format";s:0:"";s:14:"list_show_hits";s:1:"1";s:16:"list_show_author";s:1:"1";s:11:"orderby_pri";s:5:"order";s:11:"orderby_sec";s:5:"rdate";s:10:"order_date";s:9:"published";s:15:"show_pagination";s:1:"2";s:23:"show_pagination_results";s:1:"1";s:14:"show_feed_link";s:1:"1";s:12:"feed_summary";s:1:"0";s:19:"info_block_position";s:1:"0";}}s:7:"metakey";s:0:"";s:8:"metadesc";s:0:"";s:8:"metadata";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":4:{s:6:"robots";s:0:"";s:6:"author";s:0:"";s:6:"rights";s:0:"";s:10:"xreference";s:0:"";}}s:7:"version";s:1:"1";s:8:"ordering";s:1:"4";s:8:"category";s:7:"Animals";s:9:"cat_state";s:1:"1";s:10:"cat_access";s:1:"1";s:4:"slug";s:16:"43:spotted-quoll";s:7:"catslug";s:10:"72:animals";s:6:"author";s:10:"Super User";s:4:"mime";N;s:6:"layout";s:7:"article";s:4:"path";s:104:"index.php/image-gallery/animals/72-sample-data-articles/park-site/photo-gallery/animals/43-spotted-quoll";s:10:"metaauthor";N;}s:15:"�*�instructions";a:5:{i:1;a:3:{i:0;s:5:"title";i:1;s:8:"subtitle";i:2;s:2:"id";}i:2;a:2:{i:0;s:7:"summary";i:1;s:4:"body";}i:3;a:8:{i:0;s:4:"meta";i:1;s:10:"list_price";i:2;s:10:"sale_price";i:3;s:7:"metakey";i:4;s:8:"metadesc";i:5;s:10:"metaauthor";i:6;s:6:"author";i:7;s:16:"created_by_alias";}i:4;a:2:{i:0;s:4:"path";i:1;s:5:"alias";}i:5;a:1:{i:0;s:8:"comments";}}s:11:"�*�taxonomy";a:4:{s:4:"Type";a:1:{s:7:"Article";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:7:"Article";s:5:"state";i:1;s:6:"access";i:1;}}s:6:"Author";a:1:{s:6:"Joomla";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:6:"Joomla";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Category";a:1:{s:7:"Animals";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:7:"Animals";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Language";a:1:{s:5:"en-GB";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:5:"en-GB";s:5:"state";i:1;s:6:"access";i:1;}}}s:3:"url";s:47:"index.php?option=com_content&view=article&id=43";s:5:"route";s:89:"index.php?option=com_content&view=article&id=43:spotted-quoll&catid=72:animals&Itemid=399";s:5:"title";s:13:"Spotted Quoll";s:11:"description";s:0:"";s:9:"published";N;s:5:"state";i:1;s:6:"access";s:1:"1";s:8:"language";s:5:"en-GB";s:18:"publish_start_date";s:19:"2011-01-01 00:00:01";s:16:"publish_end_date";s:19:"0000-00-00 00:00:00";s:10:"start_date";s:19:"2011-01-01 00:00:01";s:8:"end_date";s:19:"0000-00-00 00:00:00";s:10:"list_price";N;s:10:"sale_price";N;s:7:"type_id";i:4;s:15:"defaultLanguage";s:5:"en-GB";}' -'118','index.php?option=com_content&view=article&id=44','index.php?option=com_content&view=article&id=44:statistics&catid=67:utility-modules&Itemid=304','Statistics Module','This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide. {loadmodule mod_stats,Statistics}','2013-06-02 17:41:35','167ebf4a95d7fc44cbdd95cc0cbe99a6','1','1','1','en-GB','2011-01-01 00:00:01','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','0','0','4','O:19:"FinderIndexerResult":19:{s:11:"�*�elements";a:25:{s:2:"id";s:2:"44";s:5:"alias";s:10:"statistics";s:7:"summary";s:260:"

This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.

-
{loadmodule mod_stats,Statistics}
";s:4:"body";s:0:"";s:5:"catid";s:2:"67";s:10:"created_by";s:3:"100";s:16:"created_by_alias";s:6:"Joomla";s:8:"modified";s:19:"0000-00-00 00:00:00";s:11:"modified_by";s:1:"0";s:6:"params";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":67:{s:14:"article_layout";s:9:"_:default";s:10:"show_title";s:1:"1";s:11:"link_titles";s:1:"1";s:10:"show_intro";s:1:"1";s:13:"show_category";s:1:"1";s:13:"link_category";s:1:"1";s:20:"show_parent_category";s:1:"0";s:20:"link_parent_category";s:1:"0";s:11:"show_author";s:1:"1";s:11:"link_author";s:1:"0";s:16:"show_create_date";s:1:"0";s:16:"show_modify_date";s:1:"0";s:17:"show_publish_date";s:1:"1";s:20:"show_item_navigation";s:1:"1";s:9:"show_vote";s:1:"0";s:13:"show_readmore";s:1:"1";s:19:"show_readmore_title";s:1:"1";s:14:"readmore_limit";s:3:"100";s:10:"show_icons";s:1:"1";s:15:"show_print_icon";s:1:"1";s:15:"show_email_icon";s:1:"1";s:9:"show_hits";s:1:"1";s:11:"show_noauth";s:1:"0";s:23:"show_publishing_options";s:1:"1";s:20:"show_article_options";s:1:"1";s:25:"show_urls_images_frontend";s:1:"0";s:24:"show_urls_images_backend";s:1:"1";s:7:"targeta";i:0;s:7:"targetb";i:0;s:7:"targetc";i:0;s:11:"float_intro";s:4:"left";s:14:"float_fulltext";s:4:"left";s:15:"category_layout";s:6:"_:blog";s:19:"show_category_title";s:1:"0";s:16:"show_description";s:1:"0";s:22:"show_description_image";s:1:"0";s:8:"maxLevel";s:1:"1";s:21:"show_empty_categories";s:1:"0";s:16:"show_no_articles";s:1:"1";s:16:"show_subcat_desc";s:1:"1";s:21:"show_cat_num_articles";s:1:"0";s:21:"show_base_description";s:1:"1";s:11:"maxLevelcat";s:2:"-1";s:25:"show_empty_categories_cat";s:1:"0";s:20:"show_subcat_desc_cat";s:1:"1";s:25:"show_cat_num_articles_cat";s:1:"1";s:20:"num_leading_articles";s:1:"1";s:18:"num_intro_articles";s:1:"4";s:11:"num_columns";s:1:"2";s:9:"num_links";s:1:"4";s:18:"multi_column_order";s:1:"0";s:24:"show_subcategory_content";s:1:"0";s:21:"show_pagination_limit";s:1:"1";s:12:"filter_field";s:4:"hide";s:13:"show_headings";s:1:"1";s:14:"list_show_date";s:1:"0";s:11:"date_format";s:0:"";s:14:"list_show_hits";s:1:"1";s:16:"list_show_author";s:1:"1";s:11:"orderby_pri";s:5:"order";s:11:"orderby_sec";s:5:"rdate";s:10:"order_date";s:9:"published";s:15:"show_pagination";s:1:"2";s:23:"show_pagination_results";s:1:"1";s:14:"show_feed_link";s:1:"1";s:12:"feed_summary";s:1:"0";s:19:"info_block_position";s:1:"0";}}s:7:"metakey";s:0:"";s:8:"metadesc";s:0:"";s:8:"metadata";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":4:{s:6:"robots";s:0:"";s:6:"author";s:0:"";s:6:"rights";s:0:"";s:10:"xreference";s:0:"";}}s:7:"version";s:1:"1";s:8:"ordering";s:1:"5";s:8:"category";s:15:"Utility Modules";s:9:"cat_state";s:1:"1";s:10:"cat_access";s:1:"1";s:4:"slug";s:13:"44:statistics";s:7:"catslug";s:18:"67:utility-modules";s:6:"author";s:10:"Super User";s:4:"mime";N;s:6:"layout";s:7:"article";s:4:"path";s:148:"index.php/using-joomla/extensions/modules/utility-modules/statistics/67-sample-data-articles/joomla/extensions/modules/utility-modules/44-statistics";s:10:"metaauthor";N;}s:15:"�*�instructions";a:5:{i:1;a:3:{i:0;s:5:"title";i:1;s:8:"subtitle";i:2;s:2:"id";}i:2;a:2:{i:0;s:7:"summary";i:1;s:4:"body";}i:3;a:8:{i:0;s:4:"meta";i:1;s:10:"list_price";i:2;s:10:"sale_price";i:3;s:7:"metakey";i:4;s:8:"metadesc";i:5;s:10:"metaauthor";i:6;s:6:"author";i:7;s:16:"created_by_alias";}i:4;a:2:{i:0;s:4:"path";i:1;s:5:"alias";}i:5;a:1:{i:0;s:8:"comments";}}s:11:"�*�taxonomy";a:4:{s:4:"Type";a:1:{s:7:"Article";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:7:"Article";s:5:"state";i:1;s:6:"access";i:1;}}s:6:"Author";a:1:{s:6:"Joomla";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:6:"Joomla";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Category";a:1:{s:15:"Utility Modules";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:15:"Utility Modules";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Language";a:1:{s:5:"en-GB";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:5:"en-GB";s:5:"state";i:1;s:6:"access";i:1;}}}s:3:"url";s:47:"index.php?option=com_content&view=article&id=44";s:5:"route";s:94:"index.php?option=com_content&view=article&id=44:statistics&catid=67:utility-modules&Itemid=304";s:5:"title";s:17:"Statistics Module";s:11:"description";s:219:"This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide. {loadmodule mod_stats,Statistics}";s:9:"published";N;s:5:"state";i:1;s:6:"access";s:1:"1";s:8:"language";s:5:"en-GB";s:18:"publish_start_date";s:19:"2011-01-01 00:00:01";s:16:"publish_end_date";s:19:"0000-00-00 00:00:00";s:10:"start_date";s:19:"2011-01-01 00:00:01";s:8:"end_date";s:19:"0000-00-00 00:00:00";s:10:"list_price";N;s:10:"sale_price";N;s:7:"type_id";i:4;s:15:"defaultLanguage";s:5:"en-GB";}' +'118','index.php?option=com_content&view=article&id=44','index.php?option=com_content&view=article&id=44:statistics&catid=67:utility-modules&Itemid=304','Statistics Module','This module shows information about your server installation together with statistics on the website users and the number of Articles in your database. {loadmodule mod_stats,Statistics}','2013-06-02 17:41:35','167ebf4a95d7fc44cbdd95cc0cbe99a6','1','1','1','en-GB','2011-01-01 00:00:01','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','0','0','4','O:19:"FinderIndexerResult":19:{s:11:"�*�elements";a:25:{s:2:"id";s:2:"44";s:5:"alias";s:10:"statistics";s:7:"summary";s:260:"

This module shows information about your server installation together with statistics on the website users and the number of Articles in your database.

+
{loadmodule mod_stats,Statistics}
";s:4:"body";s:0:"";s:5:"catid";s:2:"67";s:10:"created_by";s:3:"100";s:16:"created_by_alias";s:6:"Joomla";s:8:"modified";s:19:"0000-00-00 00:00:00";s:11:"modified_by";s:1:"0";s:6:"params";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":67:{s:14:"article_layout";s:9:"_:default";s:10:"show_title";s:1:"1";s:11:"link_titles";s:1:"1";s:10:"show_intro";s:1:"1";s:13:"show_category";s:1:"1";s:13:"link_category";s:1:"1";s:20:"show_parent_category";s:1:"0";s:20:"link_parent_category";s:1:"0";s:11:"show_author";s:1:"1";s:11:"link_author";s:1:"0";s:16:"show_create_date";s:1:"0";s:16:"show_modify_date";s:1:"0";s:17:"show_publish_date";s:1:"1";s:20:"show_item_navigation";s:1:"1";s:9:"show_vote";s:1:"0";s:13:"show_readmore";s:1:"1";s:19:"show_readmore_title";s:1:"1";s:14:"readmore_limit";s:3:"100";s:10:"show_icons";s:1:"1";s:15:"show_print_icon";s:1:"1";s:15:"show_email_icon";s:1:"1";s:9:"show_hits";s:1:"1";s:11:"show_noauth";s:1:"0";s:23:"show_publishing_options";s:1:"1";s:20:"show_article_options";s:1:"1";s:25:"show_urls_images_frontend";s:1:"0";s:24:"show_urls_images_backend";s:1:"1";s:7:"targeta";i:0;s:7:"targetb";i:0;s:7:"targetc";i:0;s:11:"float_intro";s:4:"left";s:14:"float_fulltext";s:4:"left";s:15:"category_layout";s:6:"_:blog";s:19:"show_category_title";s:1:"0";s:16:"show_description";s:1:"0";s:22:"show_description_image";s:1:"0";s:8:"maxLevel";s:1:"1";s:21:"show_empty_categories";s:1:"0";s:16:"show_no_articles";s:1:"1";s:16:"show_subcat_desc";s:1:"1";s:21:"show_cat_num_articles";s:1:"0";s:21:"show_base_description";s:1:"1";s:11:"maxLevelcat";s:2:"-1";s:25:"show_empty_categories_cat";s:1:"0";s:20:"show_subcat_desc_cat";s:1:"1";s:25:"show_cat_num_articles_cat";s:1:"1";s:20:"num_leading_articles";s:1:"1";s:18:"num_intro_articles";s:1:"4";s:11:"num_columns";s:1:"2";s:9:"num_links";s:1:"4";s:18:"multi_column_order";s:1:"0";s:24:"show_subcategory_content";s:1:"0";s:21:"show_pagination_limit";s:1:"1";s:12:"filter_field";s:4:"hide";s:13:"show_headings";s:1:"1";s:14:"list_show_date";s:1:"0";s:11:"date_format";s:0:"";s:14:"list_show_hits";s:1:"1";s:16:"list_show_author";s:1:"1";s:11:"orderby_pri";s:5:"order";s:11:"orderby_sec";s:5:"rdate";s:10:"order_date";s:9:"published";s:15:"show_pagination";s:1:"2";s:23:"show_pagination_results";s:1:"1";s:14:"show_feed_link";s:1:"1";s:12:"feed_summary";s:1:"0";s:19:"info_block_position";s:1:"0";}}s:7:"metakey";s:0:"";s:8:"metadesc";s:0:"";s:8:"metadata";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":4:{s:6:"robots";s:0:"";s:6:"author";s:0:"";s:6:"rights";s:0:"";s:10:"xreference";s:0:"";}}s:7:"version";s:1:"1";s:8:"ordering";s:1:"5";s:8:"category";s:15:"Utility Modules";s:9:"cat_state";s:1:"1";s:10:"cat_access";s:1:"1";s:4:"slug";s:13:"44:statistics";s:7:"catslug";s:18:"67:utility-modules";s:6:"author";s:10:"Super User";s:4:"mime";N;s:6:"layout";s:7:"article";s:4:"path";s:148:"index.php/using-joomla/extensions/modules/utility-modules/statistics/67-sample-data-articles/joomla/extensions/modules/utility-modules/44-statistics";s:10:"metaauthor";N;}s:15:"�*�instructions";a:5:{i:1;a:3:{i:0;s:5:"title";i:1;s:8:"subtitle";i:2;s:2:"id";}i:2;a:2:{i:0;s:7:"summary";i:1;s:4:"body";}i:3;a:8:{i:0;s:4:"meta";i:1;s:10:"list_price";i:2;s:10:"sale_price";i:3;s:7:"metakey";i:4;s:8:"metadesc";i:5;s:10:"metaauthor";i:6;s:6:"author";i:7;s:16:"created_by_alias";}i:4;a:2:{i:0;s:4:"path";i:1;s:5:"alias";}i:5;a:1:{i:0;s:8:"comments";}}s:11:"�*�taxonomy";a:4:{s:4:"Type";a:1:{s:7:"Article";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:7:"Article";s:5:"state";i:1;s:6:"access";i:1;}}s:6:"Author";a:1:{s:6:"Joomla";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:6:"Joomla";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Category";a:1:{s:15:"Utility Modules";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:15:"Utility Modules";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Language";a:1:{s:5:"en-GB";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:5:"en-GB";s:5:"state";i:1;s:6:"access";i:1;}}}s:3:"url";s:47:"index.php?option=com_content&view=article&id=44";s:5:"route";s:94:"index.php?option=com_content&view=article&id=44:statistics&catid=67:utility-modules&Itemid=304";s:5:"title";s:17:"Statistics Module";s:11:"description";s:219:"This module shows information about your server installation together with statistics on the website users and the number of Articles in your database. {loadmodule mod_stats,Statistics}";s:9:"published";N;s:5:"state";i:1;s:6:"access";s:1:"1";s:8:"language";s:5:"en-GB";s:18:"publish_start_date";s:19:"2011-01-01 00:00:01";s:16:"publish_end_date";s:19:"0000-00-00 00:00:00";s:10:"start_date";s:19:"2011-01-01 00:00:01";s:8:"end_date";s:19:"0000-00-00 00:00:00";s:10:"list_price";N;s:10:"sale_price";N;s:7:"type_id";i:4;s:15:"defaultLanguage";s:5:"en-GB";}' '119','index.php?option=com_content&view=article&id=45','index.php?option=com_content&view=article&id=45:syndicate-module&catid=67:utility-modules&Itemid=311','Syndicate Module','The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. Help {load','2013-06-02 17:41:35','ed61f06d823a66e9da47122ca18930e1','1','1','1','en-GB','2011-01-01 00:00:01','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','0','0','4','O:19:"FinderIndexerResult":19:{s:11:"�*�elements";a:25:{s:2:"id";s:2:"45";s:5:"alias";s:16:"syndicate-module";s:7:"summary";s:430:"

The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. Help

{loadposition syndicate,Syndicate}
";s:4:"body";s:0:"";s:5:"catid";s:2:"67";s:10:"created_by";s:3:"100";s:16:"created_by_alias";s:6:"Joomla";s:8:"modified";s:19:"0000-00-00 00:00:00";s:11:"modified_by";s:1:"0";s:6:"params";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":67:{s:14:"article_layout";s:9:"_:default";s:10:"show_title";s:1:"1";s:11:"link_titles";s:1:"1";s:10:"show_intro";s:1:"1";s:13:"show_category";s:1:"1";s:13:"link_category";s:1:"1";s:20:"show_parent_category";s:1:"0";s:20:"link_parent_category";s:1:"0";s:11:"show_author";s:1:"1";s:11:"link_author";s:1:"0";s:16:"show_create_date";s:1:"0";s:16:"show_modify_date";s:1:"0";s:17:"show_publish_date";s:1:"1";s:20:"show_item_navigation";s:1:"1";s:9:"show_vote";s:1:"0";s:13:"show_readmore";s:1:"1";s:19:"show_readmore_title";s:1:"1";s:14:"readmore_limit";s:3:"100";s:10:"show_icons";s:1:"1";s:15:"show_print_icon";s:1:"1";s:15:"show_email_icon";s:1:"1";s:9:"show_hits";s:1:"1";s:11:"show_noauth";s:1:"0";s:23:"show_publishing_options";s:1:"1";s:20:"show_article_options";s:1:"1";s:25:"show_urls_images_frontend";s:1:"0";s:24:"show_urls_images_backend";s:1:"1";s:7:"targeta";i:0;s:7:"targetb";i:0;s:7:"targetc";i:0;s:11:"float_intro";s:4:"left";s:14:"float_fulltext";s:4:"left";s:15:"category_layout";s:6:"_:blog";s:19:"show_category_title";s:1:"0";s:16:"show_description";s:1:"0";s:22:"show_description_image";s:1:"0";s:8:"maxLevel";s:1:"1";s:21:"show_empty_categories";s:1:"0";s:16:"show_no_articles";s:1:"1";s:16:"show_subcat_desc";s:1:"1";s:21:"show_cat_num_articles";s:1:"0";s:21:"show_base_description";s:1:"1";s:11:"maxLevelcat";s:2:"-1";s:25:"show_empty_categories_cat";s:1:"0";s:20:"show_subcat_desc_cat";s:1:"1";s:25:"show_cat_num_articles_cat";s:1:"1";s:20:"num_leading_articles";s:1:"1";s:18:"num_intro_articles";s:1:"4";s:11:"num_columns";s:1:"2";s:9:"num_links";s:1:"4";s:18:"multi_column_order";s:1:"0";s:24:"show_subcategory_content";s:1:"0";s:21:"show_pagination_limit";s:1:"1";s:12:"filter_field";s:4:"hide";s:13:"show_headings";s:1:"1";s:14:"list_show_date";s:1:"0";s:11:"date_format";s:0:"";s:14:"list_show_hits";s:1:"1";s:16:"list_show_author";s:1:"1";s:11:"orderby_pri";s:5:"order";s:11:"orderby_sec";s:5:"rdate";s:10:"order_date";s:9:"published";s:15:"show_pagination";s:1:"2";s:23:"show_pagination_results";s:1:"1";s:14:"show_feed_link";s:1:"1";s:12:"feed_summary";s:1:"0";s:19:"info_block_position";s:1:"0";}}s:7:"metakey";s:0:"";s:8:"metadesc";s:0:"";s:8:"metadata";O:9:"JRegistry":1:{s:7:"�*�data";O:8:"stdClass":4:{s:6:"robots";s:0:"";s:6:"author";s:0:"";s:6:"rights";s:0:"";s:10:"xreference";s:0:"";}}s:7:"version";s:1:"1";s:8:"ordering";s:1:"6";s:8:"category";s:15:"Utility Modules";s:9:"cat_state";s:1:"1";s:10:"cat_access";s:1:"1";s:4:"slug";s:19:"45:syndicate-module";s:7:"catslug";s:18:"67:utility-modules";s:6:"author";s:10:"Super User";s:4:"mime";N;s:6:"layout";s:7:"article";s:4:"path";s:153:"index.php/using-joomla/extensions/modules/utility-modules/syndicate/67-sample-data-articles/joomla/extensions/modules/utility-modules/45-syndicate-module";s:10:"metaauthor";N;}s:15:"�*�instructions";a:5:{i:1;a:3:{i:0;s:5:"title";i:1;s:8:"subtitle";i:2;s:2:"id";}i:2;a:2:{i:0;s:7:"summary";i:1;s:4:"body";}i:3;a:8:{i:0;s:4:"meta";i:1;s:10:"list_price";i:2;s:10:"sale_price";i:3;s:7:"metakey";i:4;s:8:"metadesc";i:5;s:10:"metaauthor";i:6;s:6:"author";i:7;s:16:"created_by_alias";}i:4;a:2:{i:0;s:4:"path";i:1;s:5:"alias";}i:5;a:1:{i:0;s:8:"comments";}}s:11:"�*�taxonomy";a:4:{s:4:"Type";a:1:{s:7:"Article";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:7:"Article";s:5:"state";i:1;s:6:"access";i:1;}}s:6:"Author";a:1:{s:6:"Joomla";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:6:"Joomla";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Category";a:1:{s:15:"Utility Modules";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:15:"Utility Modules";s:5:"state";i:1;s:6:"access";i:1;}}s:8:"Language";a:1:{s:5:"en-GB";O:7:"JObject":4:{s:10:"�*�_errors";a:0:{}s:5:"title";s:5:"en-GB";s:5:"state";i:1;s:6:"access";i:1;}}}s:3:"url";s:47:"index.php?option=com_content&view=article&id=45";s:5:"route";s:100:"index.php?option=com_content&view=article&id=45:syndicate-module&catid=67:utility-modules&Itemid=311";s:5:"title";s:16:"Syndicate Module";s:11:"description";s:284:"The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. Help {loadposition syndicate,Syndicate}";s:9:"published";N;s:5:"state";i:1;s:6:"access";s:1:"1";s:8:"language";s:5:"en-GB";s:18:"publish_start_date";s:19:"2011-01-01 00:00:01";s:16:"publish_end_date";s:19:"0000-00-00 00:00:00";s:10:"start_date";s:19:"2011-01-01 00:00:01";s:8:"end_date";s:19:"0000-00-00 00:00:00";s:10:"list_price";N;s:10:"sale_price";N;s:7:"type_id";i:4;s:15:"defaultLanguage";s:5:"en-GB";}' '120','index.php?option=com_content&view=article&id=46','index.php?option=com_content&view=article&id=46:system&catid=25:plugins&Itemid=317','System','System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect','2013-06-02 17:41:36','720ffbca5e97d12af0937f7b4e9f60db','1','1','1','en-GB','2011-01-01 00:00:01','0000-00-00 00:00:00','2011-01-01 00:00:01','0000-00-00 00:00:00','0','0','4','O:19:"FinderIndexerResult":19:{s:11:"�*�elements";a:25:{s:2:"id";s:2:"46";s:5:"alias";s:6:"system";s:7:"summary";s:1342:"

System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a "remember me" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.

diff --git a/tests/unit/stubs/database/jos_ucm_content.csv b/tests/unit/stubs/database/jos_ucm_content.csv index eb00fb0b8a162..a5f24b105d309 100644 --- a/tests/unit/stubs/database/jos_ucm_content.csv +++ b/tests/unit/stubs/database/jos_ucm_content.csv @@ -214,7 +214,7 @@ '52','com_content.article','Spotted Quoll','spotted-quoll','

','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','43','141',,,'0','1','4',,,'72',,'1' -'53','com_content.article','Statistics Module','statistics','

This module shows information about your server installation together with statistics on the website users, number of Articles in your database and the number of Web links you provide.

+'53','com_content.article','Statistics Module','statistics','

This module shows information about your server installation together with statistics on the website users and the number of Articles in your database.

{loadmodule mod_stats,Statistics}
','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','44','142',,,'0','1','5',,,'67',,'1' '54','com_content.article','Syndicate Module','syndicate-module','

The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. Help

{loadposition syndicate,Syndicate}
','1',,'0','1',,'0',,'0',,'2011-01-01 00:00:01','0','0000-00-00 00:00:00','*','2011-01-01 00:00:01','0000-00-00 00:00:00','45','143',,,'0','1','6',,,'67',,'1' From 2c9db489b283fc0a925bc6278ac79dae0ed06d4c Mon Sep 17 00:00:00 2001 From: Izhar Aazmi Date: Sun, 13 Aug 2017 21:08:49 +0530 Subject: [PATCH 08/51] Admin menu - home menu item icons display. (#17511) * Admin menu - home menu item icons display. Fixes #17406 * fix little bug * Remove icon css dependancy and the newly added css file --- .../components/com_menus/presets/joomla.xml | 11 ++++++---- .../components/com_menus/presets/menu.xsd | 4 ++++ .../components/com_menus/presets/modern.xml | 11 ++++++---- administrator/modules/mod_menu/menu.php | 9 +++++---- .../modules/mod_menu/tmpl/default_submenu.php | 20 ++++++++++++++++++- libraries/src/Menu/MenuHelper.php | 17 +++++++++++++++- 6 files changed, 58 insertions(+), 14 deletions(-) diff --git a/administrator/components/com_menus/presets/joomla.xml b/administrator/components/com_menus/presets/joomla.xml index 10b93ad3a3a49..ed971d744fdf2 100644 --- a/administrator/components/com_menus/presets/joomla.xml +++ b/administrator/components/com_menus/presets/joomla.xml @@ -205,15 +205,18 @@ type="separator" title="JSITE" hidden="false" - sql_select="title, menutype" - sql_from="#__menu_types" - sql_where="client_id = 0" - sql_order="title ASC"> + sql_select="a.title, a.menutype, CASE COALESCE(SUM(m.home), 0) WHEN 0 THEN '' WHEN 1 THEN CASE m.language WHEN '*' THEN 'class:icon-home' ELSE CONCAT('image:mod_languages/', l.image, '.gif') END ELSE 'image:mod_languages/icon-16-language.png' END AS icon" + sql_from="#__menu_types AS a" + sql_where="a.client_id = 0" + sql_leftjoin="#__menu AS m ON m.menutype = a.menutype AND m.home = 1 LEFT JOIN #__languages AS l ON l.lang_code = m.language" + sql_group="a.id" + sql_order="a.title ASC"> + + + + diff --git a/administrator/components/com_menus/presets/modern.xml b/administrator/components/com_menus/presets/modern.xml index 3c56af59b54af..c34396ac5d508 100644 --- a/administrator/components/com_menus/presets/modern.xml +++ b/administrator/components/com_menus/presets/modern.xml @@ -205,15 +205,18 @@ type="separator" title="JSITE" hidden="false" - sql_select="title, menutype" - sql_from="#__menu_types" - sql_where="client_id = 0" - sql_order="title ASC"> + sql_select="a.title, a.menutype, CASE COALESCE(SUM(m.home), 0) WHEN 0 THEN '' WHEN 1 THEN CASE m.language WHEN '*' THEN 'class:icon-home' ELSE CONCAT('image:mod_languages/', l.image, '.gif') END ELSE 'image:mod_languages/icon-16-language.png' END AS icon" + sql_from="#__menu_types AS a" + sql_where="a.client_id = 0" + sql_leftjoin="#__menu AS m ON m.menutype = a.menutype AND m.home = 1 LEFT JOIN #__languages AS l ON l.lang_code = m.language" + sql_group="a.id" + sql_order="a.title ASC"> scope = isset($item->scope) ? $item->scope : 'default'; + $item->icon = isset($item->icon) ? $item->icon : ''; // Whether this scope can be displayed. Applies only to preset items. Db driven items should use un/published state. if (($item->scope == 'help' && !$this->params->get('showhelp')) || ($item->scope == 'edit' && !$this->params->get('shownew'))) @@ -352,7 +353,7 @@ protected function populateTree($levels) elseif ($item->type == 'heading') { // We already excluded heading type menu item with no children. - $this->tree->addChild(new Node\Heading($item->title, $class), $this->enabled); + $this->tree->addChild(new Node\Heading($item->title, $class, null, $item->icon), $this->enabled); if ($this->enabled) { @@ -362,7 +363,7 @@ protected function populateTree($levels) } elseif ($item->type == 'url') { - $cNode = new Node\Url($item->title, $item->link, $item->browserNav, $class); + $cNode = new Node\Url($item->title, $item->link, $item->browserNav, $class, null, $item->icon); $this->tree->addChild($cNode, $this->enabled); if ($this->enabled) @@ -373,7 +374,7 @@ protected function populateTree($levels) } elseif ($item->type == 'component') { - $cNode = new Node\Component($item->title, $item->element, $item->link, $item->browserNav, $class); + $cNode = new Node\Component($item->title, $item->element, $item->link, $item->browserNav, $class, null, $item->icon); $this->tree->addChild($cNode, $this->enabled); if ($this->enabled) @@ -385,7 +386,7 @@ protected function populateTree($levels) elseif ($item->type == 'container') { // We already excluded container type menu item with no children. - $this->tree->addChild(new Node\Container($item->title, $item->class), $this->enabled); + $this->tree->addChild(new Node\Container($item->title, $item->class, null, $item->icon), $this->enabled); if ($this->enabled) { diff --git a/administrator/modules/mod_menu/tmpl/default_submenu.php b/administrator/modules/mod_menu/tmpl/default_submenu.php index 4f13537b35f7d..7b7c27d776e3f 100644 --- a/administrator/modules/mod_menu/tmpl/default_submenu.php +++ b/administrator/modules/mod_menu/tmpl/default_submenu.php @@ -86,10 +86,28 @@ // Links: component/url/heading/container if ($link = $current->get('link')) { + $icon = $current->get('icon'); + + if ($icon) + { + if (substr($icon, 0, 6) == 'class:') + { + $icon = ''; + } + elseif (substr($icon, 0, 6) == 'image:') + { + $icon = JHtml::_('image', substr($icon, 6), null, null, true); + } + else + { + $icon = JHtml::_('image', $icon, null); + } + } + $target = $current->get('target') ? 'target="' . $current->get('target') . '"' : ''; echo '' . - JText::_($current->get('title')) . ' ' . $current->get('icon') . $dropdownCaret . ''; + JText::_($current->get('title')) . '   ' . $icon . $dropdownCaret . ''; } // Separator else diff --git a/libraries/src/Menu/MenuHelper.php b/libraries/src/Menu/MenuHelper.php index a1e61c6dd5826..2737bc29f3915 100644 --- a/libraries/src/Menu/MenuHelper.php +++ b/libraries/src/Menu/MenuHelper.php @@ -279,6 +279,8 @@ protected static function loadXml($elements, &$items, $replace = array()) $where = (string) $element['sql_where']; $order = (string) $element['sql_order']; $group = (string) $element['sql_group']; + $lJoin = (string) $element['sql_leftjoin']; + $iJoin = (string) $element['sql_innerjoin']; $db = \JFactory::getDbo(); $query = $db->getQuery(true); @@ -296,7 +298,17 @@ protected static function loadXml($elements, &$items, $replace = array()) if ($group) { - $query->order($group); + $query->group($group); + } + + if ($lJoin) + { + $query->leftJoin($lJoin); + } + + if ($iJoin) + { + $query->innerJoin($iJoin); } $results = $db->setQuery($query)->loadObjectList(); @@ -349,6 +361,7 @@ protected static function parseXmlNode($node, $replace = array()) $item->link = (string) $node['link']; $item->element = (string) $node['element']; $item->class = (string) $node['class']; + $item->icon = (string) $node['icon']; $item->browserNav = (string) $node['target']; $item->access = (int) $node['access']; $item->params = new Registry(trim($node->params)); @@ -361,6 +374,8 @@ protected static function parseXmlNode($node, $replace = array()) $item->title = str_replace("{sql:$var}", $val, $item->title); $item->element = str_replace("{sql:$var}", $val, $item->element); $item->link = str_replace("{sql:$var}", $val, $item->link); + $item->class = str_replace("{sql:$var}", $val, $item->class); + $item->icon = str_replace("{sql:$var}", $val, $item->icon); } return $item; From cbe265048d0b27faf37c603861e002380eddcac8 Mon Sep 17 00:00:00 2001 From: Stefan Wajda Date: Sun, 13 Aug 2017 17:39:56 +0200 Subject: [PATCH 09/51] a11y improvement: plugins Pagenavigation (#17508) * added tooltips with title, added aria-label with message Access to article and article title * Added new language strings * string languages correction * string correction * fix copy/paste error * language changes * code style * Extra blank line --- administrator/language/en-GB/en-GB.ini | 2 ++ language/en-GB/en-GB.ini | 4 +++- plugins/content/pagenavigation/tmpl/default.php | 8 ++++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/administrator/language/en-GB/en-GB.ini b/administrator/language/en-GB/en-GB.ini index af3322b33369b..a8cf190e4412f 100644 --- a/administrator/language/en-GB/en-GB.ini +++ b/administrator/language/en-GB/en-GB.ini @@ -91,6 +91,7 @@ JMENU_MULTILANG_WARNING_MISSING_MODULES="An administrator menu module for prev) : $direction = $lang->isRtl() ? 'right' : 'left'; ?> next) : $direction = $lang->isRtl() ? 'left' : 'right'; ?> From 6f043fa75f24699df2b8930ab857d4abdbc5db05 Mon Sep 17 00:00:00 2001 From: Nicola Galgano Date: Sun, 13 Aug 2017 17:40:41 +0200 Subject: [PATCH 10/51] [postgresql] - sql error upgrading from 3.6.5 to 3.74 (#17505) sql error upgrading from 3.6.5 to 3.74 --- .../com_admin/sql/updates/postgresql/3.7.0-2017-04-19.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2017-04-19.sql b/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2017-04-19.sql index 5df4318cc3680..a71c3e11b2db5 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2017-04-19.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2017-04-19.sql @@ -1,2 +1,2 @@ -- Set integer field default values. -UPDATE `#__extensions` SET `params` = '{"multiple":"0","first":"1","last":"100","step":"1"}' WHERE `name` = 'plg_fields_integer'; +UPDATE "#__extensions" SET "params" = '{"multiple":"0","first":"1","last":"100","step":"1"}' WHERE "name" = 'plg_fields_integer'; From 62a709419a0cb2dd2c9d498bf7cb32f3cd28d135 Mon Sep 17 00:00:00 2001 From: twister65 Date: Sun, 13 Aug 2017 17:40:57 +0200 Subject: [PATCH 11/51] Fix problems with postgresql update (#17499) --- .../com_admin/sql/updates/postgresql/3.7.0-2016-11-19.sql | 2 +- .../com_admin/sql/updates/postgresql/3.7.0-2016-11-21.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-19.sql b/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-19.sql index da2b368041418..1711f5761e2e9 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-19.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-19.sql @@ -1,3 +1,3 @@ -ALTER TABLE "#__menu_types" ADD "client_id" int DEFAULT 0 NOT NULL; +ALTER TABLE "#__menu_types" ADD COLUMN "client_id" int DEFAULT 0 NOT NULL; UPDATE "#__menu" SET "published" = 1 WHERE "menutype" = 'main' OR "menutype" = 'menu'; diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-21.sql b/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-21.sql index 3fee4a355d6a9..e68abd215444d 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-21.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.7.0-2016-11-21.sql @@ -1,2 +1,2 @@ -- Replace language image UNIQUE index for a normal INDEX. -ALTER TABLE "#__languages" DROP CONSTRAINT "#__idx_image"; +ALTER TABLE "#__languages" DROP CONSTRAINT "#__languages_idx_image"; From b4e0c947b4b5b8d563c1b45894fa6f5840258080 Mon Sep 17 00:00:00 2001 From: LivioCavallo Date: Sun, 13 Aug 2017 17:41:27 +0200 Subject: [PATCH 12/51] url-encoding on Article-Save (#17494) Erroneous url-encoding on Redirect after frontend Article Save --- components/com_content/controllers/article.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/components/com_content/controllers/article.php b/components/com_content/controllers/article.php index 63bf3d74a26da..1e19a07ffccbf 100644 --- a/components/com_content/controllers/article.php +++ b/components/com_content/controllers/article.php @@ -161,7 +161,7 @@ public function cancel($key = 'a_id') parent::cancel($key); // Redirect to the return page. - $this->setRedirect(JRoute::_($this->getReturnPage())); + $this->setRedirect(JRoute::_($this->getReturnPage(), false)); } /** @@ -181,7 +181,7 @@ public function edit($key = null, $urlVar = 'a_id') if (!$result) { - $this->setRedirect(JRoute::_($this->getReturnPage())); + $this->setRedirect(JRoute::_($this->getReturnPage(), false)); } return $result; @@ -320,7 +320,7 @@ public function save($key = null, $urlVar = 'a_id') // If ok, redirect to the return page. if ($result) { - $this->setRedirect(JRoute::_('index.php?Itemid=' . $menuitem . $lang)); + $this->setRedirect(JRoute::_('index.php?Itemid=' . $menuitem . $lang, false)); } } else @@ -328,7 +328,7 @@ public function save($key = null, $urlVar = 'a_id') // If ok, redirect to the return page. if ($result) { - $this->setRedirect(JRoute::_($this->getReturnPage())); + $this->setRedirect(JRoute::_($this->getReturnPage(), false)); } } From 986a4ab8a2c4be153c48d7b14e1cae50567499e6 Mon Sep 17 00:00:00 2001 From: 123monsite-regis Date: Sun, 13 Aug 2017 17:41:51 +0200 Subject: [PATCH 13/51] User list : modal view : un-activated icon not shown in certain cases (#17463) * User list : modal view : un-activated icon not shown in certain cases (field was cast to int instead if empty or not) * codestyle --- administrator/components/com_users/views/users/tmpl/modal.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_users/views/users/tmpl/modal.php b/administrator/components/com_users/views/users/tmpl/modal.php index 098f9a0d13b5b..93ffdd255dfcf 100644 --- a/administrator/components/com_users/views/users/tmpl/modal.php +++ b/administrator/components/com_users/views/users/tmpl/modal.php @@ -104,7 +104,7 @@ - + group_names); ?> From ae070d151dc2af1644f8bd9f002449df65309e02 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Sun, 13 Aug 2017 16:42:44 +0100 Subject: [PATCH 14/51] com_redirect disabled not unpublished (#17418) * com_redirect disabled not unpublished Update the error and success message and the toolbar button for the Purge functionality to change from unpublished to disabled as redirects are enabled/disabled and not published/unpublished * com_redirect status filter --- .../models/forms/filter_links.xml | 2 +- .../language/en-GB/en-GB.com_redirect.ini | 6 +-- libraries/classmap.php | 1 + .../CMS/Form/Field/RedirectStatusField.php | 44 +++++++++++++++++++ 4 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 libraries/src/Joomla/CMS/Form/Field/RedirectStatusField.php diff --git a/administrator/components/com_redirect/models/forms/filter_links.xml b/administrator/components/com_redirect/models/forms/filter_links.xml index a54890a890bb1..ae51da8f3f2a9 100644 --- a/administrator/components/com_redirect/models/forms/filter_links.xml +++ b/administrator/components/com_redirect/models/forms/filter_links.xml @@ -10,7 +10,7 @@ /> 'JTRASHED', + '0' => 'JDISABLED', + '1' => 'JENABLED', + '*' => 'JALL', + ); +} From 493308e71c0f9e8efc3edf5ea1082ab6633bcb32 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Sun, 13 Aug 2017 17:43:10 +0200 Subject: [PATCH 15/51] Clear the field cache after save operations (#17291) --- .../components/com_fields/helpers/fields.php | 13 +++++++++++++ .../components/com_fields/models/field.php | 3 +++ 2 files changed, 16 insertions(+) diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index d20333c74aa54..e426752d6e9a7 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -728,4 +728,17 @@ public static function getFieldTypes() return $data; } + + /** + * Clears the internal cache for the custom fields. + * + * @return void + * + * @since __DEPLOY_VERSION__ + */ + public static function clearFieldsCache() + { + self::$fieldCache = null; + self::$fieldsCache = null; + } } diff --git a/administrator/components/com_fields/models/field.php b/administrator/components/com_fields/models/field.php index f93492c8584cb..b44ab6796e965 100644 --- a/administrator/components/com_fields/models/field.php +++ b/administrator/components/com_fields/models/field.php @@ -196,6 +196,8 @@ public function save($data) } } + FieldsHelper::clearFieldsCache(); + return true; } @@ -642,6 +644,7 @@ public function setFieldValue($fieldId, $itemId, $value) } $this->valueCache = array(); + FieldsHelper::clearFieldsCache(); return true; } From 42845a483cc4e3ed31e0a2af4d791d6602e8d87b Mon Sep 17 00:00:00 2001 From: Dimitri Grammatikogianni Date: Sun, 13 Aug 2017 18:58:40 +0300 Subject: [PATCH 16/51] Clean up core.js (#17516) * Clean up * the minified as well * typo * Update core-uncompressed.js --- media/system/js/core-uncompressed.js | 102 ++++++++++++++++++++------- media/system/js/core.js | 2 +- 2 files changed, 79 insertions(+), 25 deletions(-) diff --git a/media/system/js/core-uncompressed.js b/media/system/js/core-uncompressed.js index 69b5e68fa3b17..33ac145955589 100644 --- a/media/system/js/core-uncompressed.js +++ b/media/system/js/core-uncompressed.js @@ -47,6 +47,12 @@ Joomla.editors.instances = Joomla.editors.instances || { /** * Generic submit form + * + * @param {String} task The given task + * @param {node} form The form element + * @param {bool} validate The form element + * + * @returns {void} */ Joomla.submitform = function(task, form, validate) { @@ -81,7 +87,11 @@ Joomla.editors.instances = Joomla.editors.instances || { }; /** - * Default function. Usually would be overriden by the component + * Default function. Can be overriden by the component to add custom logic + * + * @param {bool} task The given task + * + * @returns {void} */ Joomla.submitbutton = function( pressbutton ) { Joomla.submitform( pressbutton ); @@ -90,6 +100,8 @@ Joomla.editors.instances = Joomla.editors.instances || { /** * Custom behavior for JavaScript I18N in Joomla! 1.6 * + * @type {{}} + * * Allows you to call Joomla.JText._() to get a translated JavaScript string pushed in with JText::script() in Joomla. */ Joomla.JText = { @@ -148,10 +160,10 @@ Joomla.editors.instances = Joomla.editors.instances || { /** * Get script(s) options * - * @param {String} key Name in Storage - * @param mixed def Default value if nothing found + * @param {String} key Name in Storage + * @param {mixed} def Default value if nothing found * - * @return mixed + * @return {mixed} * * @since 3.7.0 */ @@ -167,7 +179,7 @@ Joomla.editors.instances = Joomla.editors.instances || { /** * Load new options from given options object or from Element * - * @param {Object|undefined} options The options object to load. Eg {"com_foobar" : {"option1": 1, "option2": 2}} + * @param {Object|undefined} options The options object to load. Eg {"com_foobar" : {"option1": 1, "option2": 2}} * * @since 3.7.0 */ @@ -211,6 +223,9 @@ Joomla.editors.instances = Joomla.editors.instances || { /** * Method to replace all request tokens on the page with a new one. + * + * @param {String} newToken The token + * * Used in Joomla Installation */ Joomla.replaceTokens = function( newToken ) { @@ -234,8 +249,11 @@ Joomla.editors.instances = Joomla.editors.instances || { * * Verifies if the string is in a valid email format * - * @param string - * @return boolean + * @param {string} text The text for validation + * + * @return {boolean} + * + * @deprecated 4.0 No replacement. Use formvalidator */ Joomla.isEmail = function( text ) { var regex = /^[\w.!#$%&‚Äô*+\/=?^`{|}~-]+@[a-z0-9-]+(?:\.[a-z0-9-]{2,})+$/i; @@ -249,8 +267,10 @@ Joomla.editors.instances = Joomla.editors.instances || { * * Checkboxes must have an id attribute in the form cb0, cb1... * - * @param mixed The number of box to 'check', for a checkbox element - * @param string An alternative field name + * @param {mixed} checkbox The number of box to 'check', for a checkbox element + * @param {string} stub An alternative field name + * + * @return {boolean} */ Joomla.checkAll = function( checkbox, stub ) { if (!checkbox.form) return false; @@ -280,12 +300,12 @@ Joomla.editors.instances = Joomla.editors.instances || { * Render messages send via JSON * Used by some javascripts such as validate.js * - * @param object messages JavaScript object containing the messages to render. Example: + * @param {object} messages JavaScript object containing the messages to render. Example: * var messages = { - * "message": ["Message one", "Message two"], - * "error": ["Error one", "Error two"] + * "message": ["Message one", "Message two"], + * "error": ["Error one", "Error two"] * }; - * @return void + * @return {void} */ Joomla.renderMessages = function( messages ) { Joomla.removeMessages(); @@ -337,11 +357,10 @@ Joomla.editors.instances = Joomla.editors.instances || { } }; - /** * Remove messages * - * @return void + * @return {void} */ Joomla.removeMessages = function() { var messageContainer = document.getElementById( 'system-message-container' ); @@ -359,11 +378,11 @@ Joomla.editors.instances = Joomla.editors.instances || { * Treat AJAX errors. * Used by some javascripts such as sendtestmail.js and permissions.js * - * @param object xhr XHR object. - * @param string textStatus Type of error that occurred. - * @param string error Textual portion of the HTTP status. + * @param {object} xhr XHR object. + * @param {string} textStatus Type of error that occurred. + * @param {string} error Textual portion of the HTTP status. * - * @return object JavaScript object containing the system error message. + * @return {object} JavaScript object containing the system error message. * * @since 3.6.0 */ @@ -421,9 +440,10 @@ Joomla.editors.instances = Joomla.editors.instances || { * administrator/components/com_languages/helpers/html/languages.php * libraries/joomla/html/html/grid.php * - * @param isitchecked - * @param form - * @return + * @param {boolean} isitchecked Flag for checked + * @param {node} form The form + * + * @return {void} */ Joomla.isChecked = function( isitchecked, form ) { if ( typeof form === 'undefined' ) { @@ -455,6 +475,7 @@ Joomla.editors.instances = Joomla.editors.instances || { * USED IN: libraries/joomla/html/toolbar/button/help.php * * Pops up a new window in the middle of the screen + * @deprecated 4.0 No replacement */ Joomla.popupWindow = function( mypage, myname, w, h, scroll ) { var winl = ( screen.width - w ) / 2, @@ -473,6 +494,13 @@ Joomla.editors.instances = Joomla.editors.instances || { /** * USED IN: libraries/joomla/html/html/grid.php * In other words, on any reorderable table + * + * @param {string} order The order value + * @param {string} dir The direction + * @param {string} task The task + * @param {node} form The form + * + * return {void} */ Joomla.tableOrdering = function( order, dir, task, form ) { if ( typeof form === 'undefined' ) { @@ -501,6 +529,8 @@ Joomla.editors.instances = Joomla.editors.instances || { * The original item value that was selected * @param string * The elem where the list will be written + * + * @deprecated 4.0 No replacement */ window.writeDynaList = function ( selectParams, source, key, orig_key, orig_val, element ) { var html = '";if(element){element.innerHTML=html}else{document.writeln(html)}};window.changeDynaList=function(listname,source,key,orig_key,orig_val){var list=document.adminForm[listname],hasSelection=key==orig_key,i,x,item,opt;while(list.firstChild)list.removeChild(list.firstChild);i=0;for(x in source){if(!source.hasOwnProperty(x)){continue}item=source[x];if(item[0]!=key){continue}opt=new Option;opt.value=item[1];opt.text=item[2];if(hasSelection&&orig_val==opt.value||!hasSelection&&i===0){opt.selected=true}list.options[i++]=opt}list.length=i};window.radioGetCheckedValue=function(radioObj){if(!radioObj){return""}var n=radioObj.length,i;if(n===undefined){return radioObj.checked?radioObj.value:""}for(i=0;i-1){return srcList.options[i].value}else{return null}};window.listItemTask=function(id,task){var f=document.adminForm,i=0,cbx,cb=f[id];if(!cb)return false;while(true){cbx=f["cb"+i];if(!cbx)break;cbx.checked=false;i++}cb.checked=true;f.boxchecked.value=1;window.submitform(task);return false};window.submitbutton=function(pressbutton){Joomla.submitbutton(pressbutton)};window.submitform=function(pressbutton){Joomla.submitform(pressbutton)};window.saveorder=function(n,task){window.checkAll_button(n,task)};window.checkAll_button=function(n,task){task=task?task:"saveorder";var j,box;for(j=0;j<=n;j++){box=document.adminForm["cb"+j];if(box){box.checked=true}else{alert("You cannot change the order of items, as an item in the list is `Checked Out`");return}}Joomla.submitform(task)};Joomla.loadingLayer=function(task,parentElement){task=task||"show";parentElement=parentElement||document.body;if(task==="load"){var systemPaths=Joomla.getOptions("system.paths")||{},basePath=systemPaths.root||"";var loadingDiv=document.createElement("div");loadingDiv.id="loading-logo";loadingDiv.style["position"]="fixed";loadingDiv.style["top"]="0";loadingDiv.style["left"]="0";loadingDiv.style["width"]="100%";loadingDiv.style["height"]="100%";loadingDiv.style["opacity"]="0.8";loadingDiv.style["filter"]="alpha(opacity=80)";loadingDiv.style["overflow"]="hidden";loadingDiv.style["z-index"]="10000";loadingDiv.style["display"]="none";loadingDiv.style["background-color"]="#fff";loadingDiv.style["background-image"]='url("'+basePath+'/media/jui/images/ajax-loader.gif")';loadingDiv.style["background-position"]="center";loadingDiv.style["background-repeat"]="no-repeat";loadingDiv.style["background-attachment"]="fixed";parentElement.appendChild(loadingDiv)}else{if(!document.getElementById("loading-logo")){Joomla.loadingLayer("load",parentElement)}document.getElementById("loading-logo").style["display"]=task=="show"?"block":"none"}return document.getElementById("loading-logo")};Joomla.extend=function(destination,source){for(var p in source){if(source.hasOwnProperty(p)){destination[p]=source[p]}}return destination};Joomla.request=function(options){options=Joomla.extend({url:"",method:"GET",data:null,perform:true},options);options.method=options.data?"POST":options.method;try{var xhr=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP.3.0");xhr.open(options.method,options.url,true);xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("X-Ajax-Engine","Joomla!");if(options.method==="POST"&&(!options.headers||!options.headers["Content-Type"])){xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}if(options.headers){for(var p in options.headers){if(options.headers.hasOwnProperty(p)){xhr.setRequestHeader(p,options.headers[p])}}}xhr.onreadystatechange=function(){if(xhr.readyState!==4)return;if(xhr.status===200){if(options.onSuccess){options.onSuccess.call(window,xhr.responseText,xhr)}}else if(options.onError){options.onError.call(window,xhr)}};if(options.perform){if(options.onBefore&&options.onBefore.call(window,xhr)===false){return xhr}xhr.send(options.data)}}catch(error){window.console?console.log(error):null;return false}return xhr}})(Joomla,document); \ No newline at end of file +Joomla=window.Joomla||{},Joomla.editors=Joomla.editors||{},Joomla.editors.instances=Joomla.editors.instances||{},function(e,t){"use strict";e.submitform=function(e,o,n){o||(o=t.getElementById("adminForm")),e&&(o.task.value=e),o.noValidate=!n,n?o.hasAttribute("novalidate")&&o.removeAttribute("novalidate"):o.setAttribute("novalidate","");var r=t.createElement("input");r.style.display="none",r.type="submit",o.appendChild(r).click(),o.removeChild(r)},e.submitbutton=function(t){e.submitform(t)},e.JText={strings:{},_:function(t,o){var n=e.getOptions("joomla.jtext");return n&&(this.load(n),e.loadOptions({"joomla.jtext":null})),o=void 0===o?"":o,t=t.toUpperCase(),void 0!==this.strings[t]?this.strings[t]:o},load:function(e){for(var t in e)e.hasOwnProperty(t)&&(this.strings[t.toUpperCase()]=e[t]);return this}},e.optionsStorage=e.optionsStorage||null,e.getOptions=function(t,o){return e.optionsStorage||e.loadOptions(),void 0!==e.optionsStorage[t]?e.optionsStorage[t]:o},e.loadOptions=function(o){if(!o){for(var n,r,i,a=t.querySelectorAll(".joomla-script-options.new"),s=0,l=0,d=a.length;l=0;s--)(l=t.createElement("div")).innerHTML=r[s],i.appendChild(l);c.appendChild(i)}},e.removeMessages=function(){for(var e=t.getElementById("system-message-container");e.firstChild;)e.removeChild(e.firstChild);e.style.display="none",e.offsetHeight,e.style.display=""},e.ajaxErrorsMessages=function(t,o,n){var r={};if("parsererror"===o){for(var i=t.responseText.trim(),a=[],s=i.length-1;s>=0;s--)a.unshift(["&#",i[s].charCodeAt(),";"].join(""));i=a.join(""),r.error=[e.JText._("JLIB_JS_AJAX_ERROR_PARSE").replace("%s",i)]}else"nocontent"===o?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_NO_CONTENT")]:"timeout"===o?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_TIMEOUT")]:"abort"===o?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_CONNECTION_ABORT")]:t.responseJSON&&t.responseJSON.message?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",t.status)+" "+t.responseJSON.message+""]:t.statusText?r.error=[e.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",t.status)+" "+t.statusText+""]:r.error=[e.JText._("JLIB_JS_AJAX_ERROR_OTHER").replace("%s",t.status)];return r},e.isChecked=function(e,o){if(void 0===o&&(o=t.getElementById("adminForm")),o.boxchecked.value=e?parseInt(o.boxchecked.value)+1:parseInt(o.boxchecked.value)-1,o.elements["checkall-toggle"]){var n,r,i,a=!0;for(n=0,i=o.elements.length;n",u=n==r,m=0;for(l in o)o.hasOwnProperty(l)&&(d=o[l])[0]==n&&(s="",(u&&i==d[1]||!u&&0===m)&&(s='selected="selected"'),c+='",m++);c+="",a?a.innerHTML=c:t.writeln(c)},window.changeDynaList=function(e,o,n,r,i){for(var a,s,l,d,c=t.adminForm[e],u=n==r;c.firstChild;)c.removeChild(c.firstChild);a=0;for(s in o)o.hasOwnProperty(s)&&(l=o[s])[0]==n&&((d=new Option).value=l[1],d.text=l[2],(u&&i==d.value||!u&&0===a)&&(d.selected=!0),c.options[a++]=d);c.length=a},window.radioGetCheckedValue=function(e){if(!e)return"";var t,o=e.length;if(void 0===o)return e.checked?e.value:"";for(t=0;t-1?n.options[r].value:null},window.listItemTask=function(t,o){e.listItemTask(t,o)},e.listItemTask=function(e,o){var n,r=t.adminForm,i=0,a=r[e];if(!a)return!1;for(;;){if(!(n=r["cb"+i]))break;n.checked=!1,i++}return a.checked=!0,r.boxchecked.value=1,window.submitform(o),!1},window.submitbutton=function(t){e.submitbutton(t)},window.submitform=function(t){e.submitform(t)},window.saveorder=function(e,t){window.checkAll_button(e,t)},window.checkAll_button=function(o,n){n=n||"saveorder";var r,i;for(r=0;r<=o;r++){if(!(i=t.adminForm["cb"+r]))return void alert("You cannot change the order of items, as an item in the list is `Checked Out`");i.checked=!0}e.submitform(n)},e.loadingLayer=function(o,n){if(o=o||"show",n=n||t.body,"load"===o){var r=(e.getOptions("system.paths")||{}).root||"",i=t.createElement("div");i.id="loading-logo",i.style.position="fixed",i.style.top="0",i.style.left="0",i.style.width="100%",i.style.height="100%",i.style.opacity="0.8",i.style.filter="alpha(opacity=80)",i.style.overflow="hidden",i.style["z-index"]="10000",i.style.display="none",i.style["background-color"]="#fff",i.style["background-image"]='url("'+r+'/media/jui/images/ajax-loader.gif")',i.style["background-position"]="center",i.style["background-repeat"]="no-repeat",i.style["background-attachment"]="fixed",n.appendChild(i)}else t.getElementById("loading-logo")||e.loadingLayer("load",n),t.getElementById("loading-logo").style.display="show"==o?"block":"none";return t.getElementById("loading-logo")},e.extend=function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o]);return e},e.request=function(t){(t=e.extend({url:"",method:"GET",data:null,perform:!0},t)).method=t.data?"POST":t.method.toUpperCase();try{var o=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP.3.0");if(o.open(t.method,t.url,!0),o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.setRequestHeader("X-Ajax-Engine","Joomla!"),"POST"===t.method){var n=e.getOptions("csrf.token","");n&&o.setRequestHeader("X-CSRF-Token",n),t.headers&&t.headers["Content-Type"]||o.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}if(t.headers)for(var r in t.headers)t.headers.hasOwnProperty(r)&&o.setRequestHeader(r,t.headers[r]);if(o.onreadystatechange=function(){4===o.readyState&&(200===o.status?t.onSuccess&&t.onSuccess.call(window,o.responseText,o):t.onError&&t.onError.call(window,o))},t.perform){if(t.onBefore&&!1===t.onBefore.call(window,o))return o;o.send(t.data)}}catch(e){return window.console&&console.log(e),!1}return o}}(Joomla,document); From 9217057c486b0050fdbde816b26d3fb83e1f806a Mon Sep 17 00:00:00 2001 From: zero-24 Date: Sun, 13 Aug 2017 18:08:21 +0200 Subject: [PATCH 17/51] cleanup module helper docblocks (#17525) --- modules/mod_articles_archive/helper.php | 4 +--- modules/mod_articles_category/helper.php | 5 +---- modules/mod_articles_popular/helper.php | 5 +---- modules/mod_breadcrumbs/helper.php | 4 +--- modules/mod_feed/helper.php | 4 +--- modules/mod_finder/helper.php | 4 +--- modules/mod_languages/helper.php | 5 +---- modules/mod_login/helper.php | 5 +---- modules/mod_menu/helper.php | 4 +--- modules/mod_random_image/helper.php | 4 +--- modules/mod_related_items/helper.php | 4 +--- modules/mod_search/helper.php | 4 +--- modules/mod_syndicate/helper.php | 4 +--- modules/mod_tags_popular/helper.php | 4 +--- modules/mod_tags_similar/helper.php | 4 +--- modules/mod_users_latest/helper.php | 5 +---- modules/mod_wrapper/helper.php | 4 +--- 17 files changed, 17 insertions(+), 56 deletions(-) diff --git a/modules/mod_articles_archive/helper.php b/modules/mod_articles_archive/helper.php index ba214761b8890..f22e0dd3ecf1d 100644 --- a/modules/mod_articles_archive/helper.php +++ b/modules/mod_articles_archive/helper.php @@ -12,9 +12,7 @@ /** * Helper for mod_articles_archive * - * @package Joomla.Site - * @subpackage mod_articles_archive - * @since 1.5 + * @since 1.5 */ class ModArchiveHelper { diff --git a/modules/mod_articles_category/helper.php b/modules/mod_articles_category/helper.php index 0033c725bc874..0f5aefa155f26 100644 --- a/modules/mod_articles_category/helper.php +++ b/modules/mod_articles_category/helper.php @@ -19,10 +19,7 @@ /** * Helper for mod_articles_category * - * @package Joomla.Site - * @subpackage mod_articles_category - * - * @since 1.6 + * @since 1.6 */ abstract class ModArticlesCategoryHelper { diff --git a/modules/mod_articles_popular/helper.php b/modules/mod_articles_popular/helper.php index f0c6d17167a63..5ecc97000fe61 100644 --- a/modules/mod_articles_popular/helper.php +++ b/modules/mod_articles_popular/helper.php @@ -16,10 +16,7 @@ /** * Helper for mod_articles_popular * - * @package Joomla.Site - * @subpackage mod_articles_popular - * - * @since 1.6.0 + * @since 1.6 */ abstract class ModArticlesPopularHelper { diff --git a/modules/mod_breadcrumbs/helper.php b/modules/mod_breadcrumbs/helper.php index 6cfd06fd70372..e884013ada389 100644 --- a/modules/mod_breadcrumbs/helper.php +++ b/modules/mod_breadcrumbs/helper.php @@ -12,9 +12,7 @@ /** * Helper for mod_breadcrumbs * - * @package Joomla.Site - * @subpackage mod_breadcrumbs - * @since 1.5 + * @since 1.5 */ class ModBreadCrumbsHelper { diff --git a/modules/mod_feed/helper.php b/modules/mod_feed/helper.php index 6672d089994a5..ea86794b4a851 100644 --- a/modules/mod_feed/helper.php +++ b/modules/mod_feed/helper.php @@ -12,9 +12,7 @@ /** * Helper for mod_feed * - * @package Joomla.Site - * @subpackage mod_feed - * @since 1.5 + * @since 1.5 */ class ModFeedHelper { diff --git a/modules/mod_finder/helper.php b/modules/mod_finder/helper.php index ca81238547c7d..2366a2d4e70d2 100644 --- a/modules/mod_finder/helper.php +++ b/modules/mod_finder/helper.php @@ -14,9 +14,7 @@ /** * Finder module helper. * - * @package Joomla.Site - * @subpackage mod_finder - * @since 2.5 + * @since 2.5 */ class ModFinderHelper { diff --git a/modules/mod_languages/helper.php b/modules/mod_languages/helper.php index 303195e4dabd5..01bb8cf458e61 100644 --- a/modules/mod_languages/helper.php +++ b/modules/mod_languages/helper.php @@ -14,10 +14,7 @@ /** * Helper for mod_languages * - * @package Joomla.Site - * @subpackage mod_languages - * - * @since 1.6.0 + * @since 1.6 */ abstract class ModLanguagesHelper { diff --git a/modules/mod_login/helper.php b/modules/mod_login/helper.php index 4b868e96903b4..fc31d5444b606 100644 --- a/modules/mod_login/helper.php +++ b/modules/mod_login/helper.php @@ -12,10 +12,7 @@ /** * Helper for mod_login * - * @package Joomla.Site - * @subpackage mod_login - * - * @since 1.5 + * @since 1.5 */ class ModLoginHelper { diff --git a/modules/mod_menu/helper.php b/modules/mod_menu/helper.php index d0dc47222777a..ed8f16b23117c 100644 --- a/modules/mod_menu/helper.php +++ b/modules/mod_menu/helper.php @@ -12,9 +12,7 @@ /** * Helper for mod_menu * - * @package Joomla.Site - * @subpackage mod_menu - * @since 1.5 + * @since 1.5 */ class ModMenuHelper { diff --git a/modules/mod_random_image/helper.php b/modules/mod_random_image/helper.php index 4cbca1d53cc3e..8dda701911ac6 100644 --- a/modules/mod_random_image/helper.php +++ b/modules/mod_random_image/helper.php @@ -14,9 +14,7 @@ /** * Helper for mod_random_image * - * @package Joomla.Site - * @subpackage mod_random_image - * @since 1.5 + * @since 1.5 */ class ModRandomImageHelper { diff --git a/modules/mod_related_items/helper.php b/modules/mod_related_items/helper.php index 0325191939d7d..05fc81b1da48a 100644 --- a/modules/mod_related_items/helper.php +++ b/modules/mod_related_items/helper.php @@ -14,9 +14,7 @@ /** * Helper for mod_related_items * - * @package Joomla.Site - * @subpackage mod_related_items - * @since 1.5 + * @since 1.5 */ abstract class ModRelatedItemsHelper { diff --git a/modules/mod_search/helper.php b/modules/mod_search/helper.php index ac53c80b41ccb..72048887a71b1 100644 --- a/modules/mod_search/helper.php +++ b/modules/mod_search/helper.php @@ -12,9 +12,7 @@ /** * Helper for mod_search * - * @package Joomla.Site - * @subpackage mod_search - * @since 1.5 + * @since 1.5 */ class ModSearchHelper { diff --git a/modules/mod_syndicate/helper.php b/modules/mod_syndicate/helper.php index 6b80d6a4c14c0..eb3999e921100 100644 --- a/modules/mod_syndicate/helper.php +++ b/modules/mod_syndicate/helper.php @@ -14,9 +14,7 @@ /** * Helper for mod_syndicate * - * @package Joomla.Site - * @subpackage mod_syndicate - * @since 1.5 + * @since 1.5 */ class ModSyndicateHelper { diff --git a/modules/mod_tags_popular/helper.php b/modules/mod_tags_popular/helper.php index c00a84f8b0269..94d5c49c94ff5 100644 --- a/modules/mod_tags_popular/helper.php +++ b/modules/mod_tags_popular/helper.php @@ -12,9 +12,7 @@ /** * Helper for mod_tags_popular * - * @package Joomla.Site - * @subpackage mod_tags_popular - * @since 3.1 + * @since 3.1 */ abstract class ModTagsPopularHelper { diff --git a/modules/mod_tags_similar/helper.php b/modules/mod_tags_similar/helper.php index f22b7c05fe952..82ee15f6ad115 100644 --- a/modules/mod_tags_similar/helper.php +++ b/modules/mod_tags_similar/helper.php @@ -14,9 +14,7 @@ /** * Helper for mod_tags_similar * - * @package Joomla.Site - * @subpackage mod_tags_similar - * @since 3.1 + * @since 3.1 */ abstract class ModTagssimilarHelper { diff --git a/modules/mod_users_latest/helper.php b/modules/mod_users_latest/helper.php index f74eeba263b7c..12983bb88df1b 100644 --- a/modules/mod_users_latest/helper.php +++ b/modules/mod_users_latest/helper.php @@ -12,10 +12,7 @@ /** * Helper for mod_users_latest * - * @package Joomla.Site - * @subpackage mod_users_latest - * - * @since 1.6 + * @since 1.6 */ class ModUsersLatestHelper { diff --git a/modules/mod_wrapper/helper.php b/modules/mod_wrapper/helper.php index 65dbe1fc45461..32ead1497cecb 100644 --- a/modules/mod_wrapper/helper.php +++ b/modules/mod_wrapper/helper.php @@ -12,9 +12,7 @@ /** * Helper for mod_wrapper * - * @package Joomla.Site - * @subpackage mod_wrapper - * @since 1.5 + * @since 1.5 */ class ModWrapperHelper { From c474342291773d72a46b5bf9811836c9d7bb4da1 Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Sun, 13 Aug 2017 18:43:14 -0600 Subject: [PATCH 18/51] Add LDAP to Appveyor (#17507) --- .appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.appveyor.yml b/.appveyor.yml index 9a411df9f2586..fde466dcb7c5b 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -91,10 +91,11 @@ install: - IF %PHP%==1 echo wincache.enablecli = 1 >> php.ini - IF %PHP%==1 echo zend_extension=php_opcache.dll >> php.ini - IF %PHP%==1 echo opcache.enable_cli=1 >> php.ini + - IF %PHP%==1 echo extension=php_ldap.dll >> php.ini - IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar - cd C:\projects\joomla-cms - - appveyor-retry composer install --ignore-platform-reqs --no-progress --profile + - appveyor-retry composer install --no-progress --profile before_test: # Database setup for MySQL via PowerShell tools From a31d059647f79a83b17e4ea0d16081f6cd724d14 Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Sun, 13 Aug 2017 18:45:39 -0600 Subject: [PATCH 19/51] PBPCS2 - Alpha2 autofixes (#16914) - No blank line found after control structure - Please consider an empty line before the if statement; - Expected 1 space after "!="; 0 found - Expected 1 space after FUNCTION keyword; 0 found - No blank line found after control structure - Closing parenthesis of a multi-line function call must be on a line by itself - Object operator not indented correctly; - Please consider an empty line before the foreach statement; - Expected 0 spaces before opening parenthesis; 1 found - Multi-line function call not indented correctly; - Whitespace found at end of line --- .../components/com_fields/helpers/fields.php | 24 +++++++++++-------- .../components/com_fields/models/field.php | 4 ++++ .../components/com_fields/models/fields.php | 3 ++- .../com_fields/models/fields/fieldgroups.php | 1 + .../com_fields/models/fields/section.php | 7 +++--- .../com_fields/models/fields/type.php | 3 ++- 6 files changed, 27 insertions(+), 15 deletions(-) diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index e426752d6e9a7..304a53af723c7 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -106,10 +106,12 @@ public static function getFields($context, $item = null, $prepareValue = false, { $item = (object) $item; } - if (JLanguageMultilang::isEnabled() && isset($item->language) && $item->language !='*') + + if (JLanguageMultilang::isEnabled() && isset($item->language) && $item->language != '*') { self::$fieldsCache->setState('filter.language', array('*', $item->language)); } + self::$fieldsCache->setState('filter.context', $context); /* @@ -146,7 +148,7 @@ public static function getFields($context, $item = null, $prepareValue = false, } $fieldIds = array_map( - function($f) + function ($f) { return $f->id; }, @@ -305,6 +307,7 @@ public static function prepareForm($context, JForm $form, $data) { $assignedCatids = $firstChoice->getAttribute('value'); } + $data->fieldscatid = $assignedCatids; } @@ -333,7 +336,8 @@ function categoryHasChanged(element) { Joomla.loadingLayer('load'); var formControl = '#" . $form->getFormControl() . "_catid'; if (!jQuery(formControl).val() != '" . $assignedCatids . "'){jQuery(formControl).val('" . $assignedCatids . "');} - });"); + });" + ); } // Getting the fields @@ -600,9 +604,9 @@ public static function getAssignedCategoriesTitles($fieldId) $query = $db->getQuery(true); $query->select($db->quoteName('c.title')) - ->from($db->quoteName('#__fields_categories', 'a')) - ->join('LEFT', $db->quoteName('#__categories', 'c') . ' ON a.category_id = c.id') - ->where('field_id = ' . $fieldId); + ->from($db->quoteName('#__fields_categories', 'a')) + ->join('LEFT', $db->quoteName('#__categories', 'c') . ' ON a.category_id = c.id') + ->where('field_id = ' . $fieldId); $db->setQuery($query); @@ -620,10 +624,10 @@ public static function getFieldsPluginId() { $db = JFactory::getDbo(); $query = $db->getQuery(true) - ->select($db->quoteName('extension_id')) - ->from($db->quoteName('#__extensions')) - ->where($db->quoteName('folder') . ' = ' . $db->quote('system')) - ->where($db->quoteName('element') . ' = ' . $db->quote('fields')); + ->select($db->quoteName('extension_id')) + ->from($db->quoteName('#__extensions')) + ->where($db->quoteName('folder') . ' = ' . $db->quote('system')) + ->where($db->quoteName('element') . ' = ' . $db->quote('fields')); $db->setQuery($query); try diff --git a/administrator/components/com_fields/models/field.php b/administrator/components/com_fields/models/field.php index b44ab6796e965..4c8208370b161 100644 --- a/administrator/components/com_fields/models/field.php +++ b/administrator/components/com_fields/models/field.php @@ -184,10 +184,12 @@ public function save($data) if (is_object($oldParams) && is_object($newParams) && $oldParams != $newParams) { $names = array(); + foreach ($newParams as $param) { $names[] = $db->q($param['value']); } + $query = $db->getQuery(true); $query->delete('#__fields_values')->where('field_id = ' . (int) $field->id) ->where('value NOT IN (' . implode(',', $names) . ')'); @@ -943,12 +945,14 @@ protected function preprocessForm(JForm $form, $data, $group = 'content') // Allow to override the default value label and description through the plugin $key = 'PLG_FIELDS_' . strtoupper($dataObject->type) . '_DEFAULT_VALUE_LABEL'; + if (JFactory::getLanguage()->hasKey($key)) { $form->setFieldAttribute('default_value', 'label', $key); } $key = 'PLG_FIELDS_' . strtoupper($dataObject->type) . '_DEFAULT_VALUE_DESC'; + if (JFactory::getLanguage()->hasKey($key)) { $form->setFieldAttribute('default_value', 'description', $key); diff --git a/administrator/components/com_fields/models/fields.php b/administrator/components/com_fields/models/fields.php index c3e806cc55530..fb31386d071d5 100644 --- a/administrator/components/com_fields/models/fields.php +++ b/administrator/components/com_fields/models/fields.php @@ -240,6 +240,7 @@ protected function getListQuery() $includeGroupState = !$app->isClient('administrator') || $app->input->get('option') != 'com_fields' || $app->input->get('view') != 'fields'; + if (is_numeric($state)) { $query->where('a.state = ' . (int) $state); @@ -304,7 +305,7 @@ protected function getListQuery() $listOrdering = $this->state->get('list.ordering', 'a.ordering'); $orderDirn = $this->state->get('list.direction', 'ASC'); - $query->order($db->escape($listOrdering) . ' ' . $db->escape($orderDirn)); + $query->order($db->escape($listOrdering) . ' ' . $db->escape($orderDirn)); return $query; } diff --git a/administrator/components/com_fields/models/fields/fieldgroups.php b/administrator/components/com_fields/models/fields/fieldgroups.php index cf92647ed746b..5fb101b24293a 100644 --- a/administrator/components/com_fields/models/fields/fieldgroups.php +++ b/administrator/components/com_fields/models/fields/fieldgroups.php @@ -55,6 +55,7 @@ protected function getOptions() { $option->text = '[' . $option->text . ']'; } + if ($option->state == 2) { $option->text = '{' . $option->text . '}'; diff --git a/administrator/components/com_fields/models/fields/section.php b/administrator/components/com_fields/models/fields/section.php index 9532ac633c485..c00cb6d8961a6 100644 --- a/administrator/components/com_fields/models/fields/section.php +++ b/administrator/components/com_fields/models/fields/section.php @@ -50,17 +50,18 @@ public function setup(SimpleXMLElement $element, $value, $group = null) * * @since 3.7.0 */ - protected function getInput () + protected function getInput() { // Add the change context function to the document JFactory::getDocument()->addScriptDeclaration( - "function fieldsChangeContext(context) + "function fieldsChangeContext(context) { var regex = new RegExp(\"([?;&])context[^&;]*[;&]?\"); var url = window.location.href; var query = url.replace(regex, \"$1\").replace(/&$/, ''); window.location.href = (query.length > 2 ? query + \"&\" : \"?\") + (context ? \"context=\" + context : ''); - }"); + }" + ); return parent::getInput(); } diff --git a/administrator/components/com_fields/models/fields/type.php b/administrator/components/com_fields/models/fields/type.php index d7f0ed7dbc494..216310d05208a 100644 --- a/administrator/components/com_fields/models/fields/type.php +++ b/administrator/components/com_fields/models/fields/type.php @@ -78,7 +78,8 @@ function typeHasChanged(element){ jQuery('input[name=task]').val('field.reload'); element.form.submit(); } - "); + " + ); return $options; } From e6b9e18d27374be910220e05c6ea054631c04cf5 Mon Sep 17 00:00:00 2001 From: Carlos Ferreira Date: Mon, 14 Aug 2017 07:54:01 +0200 Subject: [PATCH 20/51] SECURITY: Hide Redis Host and Auth from export (#17529) * Hide Redis Host and Auth from export * alpha order the array keys --- administrator/components/com_admin/models/sysinfo.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php index bd79d9a9c92a4..3a2fb6ab3838d 100644 --- a/administrator/components/com_admin/models/sysinfo.php +++ b/administrator/components/com_admin/models/sysinfo.php @@ -118,11 +118,15 @@ class AdminModelSysInfo extends JModelLegacy 'proxy_host', 'proxy_user', 'proxy_pass', + 'redis_server_host', + 'redis_server_auth', 'secret', 'sendmail', 'session.save_path', 'session_memcache_server_host', 'session_memcached_server_host', + 'session_redis_server_host', + 'session_redis_server_auth', 'sitename', 'smtphost', 'tmp_path', From 742f10298946e4b4c3badc091a2279b932c7a303 Mon Sep 17 00:00:00 2001 From: Quy Date: Mon, 14 Aug 2017 04:34:46 -0700 Subject: [PATCH 21/51] Fix invalid markup (#14817) * Fix invalid markup * Remove
tag * Revert deletion * Remove block elements from language string * Remove block element from language string * Remove block element and move text * Update language string * Update language string * Update language string --- .../com_postinstall/views/messages/tmpl/default.php | 2 +- administrator/language/en-GB/en-GB.com_cpanel.ini | 4 ++-- administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/components/com_postinstall/views/messages/tmpl/default.php b/administrator/components/com_postinstall/views/messages/tmpl/default.php index 5a6ee4faa5c3d..1c2d9f6d0d0a4 100644 --- a/administrator/components/com_postinstall/views/messages/tmpl/default.php +++ b/administrator/components/com_postinstall/views/messages/tmpl/default.php @@ -53,8 +53,8 @@

version_introduced); ?>

-

description_key); ?>

+ description_key); ?> type !== 'message') : ?> action_key); ?> diff --git a/administrator/language/en-GB/en-GB.com_cpanel.ini b/administrator/language/en-GB/en-GB.com_cpanel.ini index 4bd853414eae6..580f0148f6b26 100644 --- a/administrator/language/en-GB/en-GB.com_cpanel.ini +++ b/administrator/language/en-GB/en-GB.com_cpanel.ini @@ -30,8 +30,8 @@ COM_CPANEL_MSG_PHPVERSION_BODY="Beginning with Joomla! 3.3, the version of PHP t COM_CPANEL_MSG_PHPVERSION_TITLE="Your PHP Version Will Be Unsupported in Joomla! 3.3" COM_CPANEL_MSG_ROBOTS_TITLE="robots.txt Update" COM_CPANEL_MSG_ROBOTS_BODY="A change to the default robots.txt files was made in Joomla! 3.3 to allow Google to access templates and media files by default to improve SEO. This change is not applied automatically on upgrades and users are recommended to review the changes in the robots.txt.dist file and implement these changes in their own robots.txt file." -COM_CPANEL_MSG_STATS_COLLECTION_BODY="Since Joomla! 3.5 a statistics plugin will submit anonymous data to the Joomla Project. This will only submit the Joomla version, PHP version, database engine and version, and server operating system.

This data is collected to ensure that future versions of Joomla can take advantage of the latest database and PHP features without affecting significant numbers of users. The need for this became clear when a minimum of PHP 5.3.10 was required when Joomla! 3.3 implemented the more secure Bcrypt passwords.

In the interest of full transparency and to help developers
this data is publicly available. An API and graphs will show the Joomla version, PHP versions and database engines in use.

If you do not wish to provide the Joomla Project with this information you can disable the plugin called System - Joomla Statistics." +COM_CPANEL_MSG_STATS_COLLECTION_BODY="

Since Joomla! 3.5 a statistics plugin will submit anonymous data to the Joomla Project. This will only submit the Joomla version, PHP version, database engine and version, and server operating system.

This data is collected to ensure that future versions of Joomla can take advantage of the latest database and PHP features without affecting significant numbers of users. The need for this became clear when a minimum of PHP 5.3.10 was required when Joomla! 3.3 implemented the more secure Bcrypt passwords.

In the interest of full transparency and to help developers this data is publicly available. An API and graphs will show the Joomla version, PHP versions and database engines in use.

If you do not wish to provide the Joomla Project with this information you can disable the plugin called System - Joomla Statistics.

" COM_CPANEL_MSG_STATS_COLLECTION_TITLE="Stats Collection in Joomla" -COM_CPANEL_WELCOME_BEGINNERS_MESSAGE="

Community resources are available for new users

" +COM_CPANEL_WELCOME_BEGINNERS_MESSAGE="

Community resources are available for new users.

" COM_CPANEL_WELCOME_BEGINNERS_TITLE="Welcome to Joomla!" COM_CPANEL_XML_DESCRIPTION="Control Panel component" diff --git a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini index c2ed55603b590..74ccd14e6413c 100644 --- a/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini +++ b/administrator/language/en-GB/en-GB.plg_twofactorauth_totp.ini @@ -8,7 +8,7 @@ PLG_TWOFACTORAUTH_TOTP_ERR_VALIDATIONFAILED="You did not enter a valid security PLG_TWOFACTORAUTH_TOTP_INTRO="This feature allows you to use Google Authenticator, or a compatible application such as FreeOTP, for two factor authentication. In addition to your username and password you will also need to provide a six digit security code to be able to login to this site. The security code is rotated every 30 seconds. This provides extra protection against hackers logging in to your account even if they were able to get hold of your password." PLG_TWOFACTORAUTH_TOTP_METHOD_TITLE="Google Authenticator" PLG_TWOFACTORAUTH_TOTP_POSTINSTALL_TITLE="Two Factor Authentication is Available" -PLG_TWOFACTORAUTH_TOTP_POSTINSTALL_BODY="Joomla! comes with a built-in two factor authentication system. It secures your site login with a secondary secret code that's changing every 30 seconds. You can use your mobile device and the Google Authenticator app to produce that code.
By selecting the button below:
  • Joomla! will enable the two factor authentication plugins
  • Two Factor Authentication is going to be available for all users.
  • Each user can configure Two Factor Authentication in User Details.
  • You can always disable Two Factor Authentication plugin, or configure it for Backend usage only.
  • You will be taken to your user profile page where you can find more information on two factor authentication and enable it for your user account.
" +PLG_TWOFACTORAUTH_TOTP_POSTINSTALL_BODY="

Joomla! comes with a built-in two factor authentication system. It secures your site login with a secondary secret code that's changing every 30 seconds. You can use your mobile device and the Google Authenticator app to produce that code.

By selecting the button below:

  • Joomla! will enable the two factor authentication plugins
  • Two Factor Authentication is going to be available for all users.
  • Each user can configure Two Factor Authentication in User Details.
  • You can always disable Two Factor Authentication plugin, or configure it for Backend usage only.
  • You will be taken to your user profile page where you can find more information on two factor authentication and enable it for your user account.
" PLG_TWOFACTORAUTH_TOTP_POSTINSTALL_ACTION="Enable two factor authentication" PLG_TWOFACTORAUTH_TOTP_SECTION_ADMIN="Administrator (Backend)" PLG_TWOFACTORAUTH_TOTP_SECTION_BOTH="Both" From a3d1b8800c96d5541ac29754cde623eb823c52c0 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Mon, 14 Aug 2017 14:10:31 +0200 Subject: [PATCH 22/51] Drone errors (#17526) * fix drone errors after #17481 * remove some tabs * remove some tabs * keep @quy and @richard67 happy --- libraries/src/Updater/Adapter/ExtensionAdapter.php | 6 ++++-- libraries/src/Updater/Update.php | 7 +++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libraries/src/Updater/Adapter/ExtensionAdapter.php b/libraries/src/Updater/Adapter/ExtensionAdapter.php index b5a4bc191a165..b07547c1cd911 100644 --- a/libraries/src/Updater/Adapter/ExtensionAdapter.php +++ b/libraries/src/Updater/Adapter/ExtensionAdapter.php @@ -124,8 +124,10 @@ protected function _endElement($parser, $name) * * Check for optional min_dev_level and max_dev_level attributes to further specify targetplatform (e.g., 3.0.1) */ - $patchMinimumSupported = !isset($this->currentUpdate->targetplatform->min_dev_level) || Version::PATCH_VERSION >= $this->currentUpdate->targetplatform->min_dev_level; - $patchMaximumSupported = !isset($this->currentUpdate->targetplatform->max_dev_level) || Version::PATCH_VERSION <= $this->currentUpdate->targetplatform->max_dev_level; + $patchMinimumSupported = !isset($this->currentUpdate->targetplatform->min_dev_level) + || Version::PATCH_VERSION >= $this->currentUpdate->targetplatform->min_dev_level; + $patchMaximumSupported = !isset($this->currentUpdate->targetplatform->max_dev_level) + || Version::PATCH_VERSION <= $this->currentUpdate->targetplatform->max_dev_level; if ($product == $this->currentUpdate->targetplatform['NAME'] && preg_match('/^' . $this->currentUpdate->targetplatform['VERSION'] . '/', JVERSION) diff --git a/libraries/src/Updater/Update.php b/libraries/src/Updater/Update.php index 2855c8c108d42..dced0de77cf75 100644 --- a/libraries/src/Updater/Update.php +++ b/libraries/src/Updater/Update.php @@ -324,8 +324,11 @@ public function _endElement($parser, $name) * Check for optional min_dev_level and max_dev_level attributes to further specify targetplatform (e.g., 3.0.1) */ $patchVersion = $this->get('jversion.dev_level', Version::PATCH_VERSION); - $patchMinimumSupported = !isset($this->currentUpdate->targetplatform->min_dev_level) || $patchVersion >= $this->currentUpdate->targetplatform->min_dev_level; - $patchMaximumSupported = !isset($this->currentUpdate->targetplatform->max_dev_level) || $patchVersion <= $this->currentUpdate->targetplatform->max_dev_level; + $patchMinimumSupported = !isset($this->currentUpdate->targetplatform->min_dev_level) + || $patchVersion >= $this->currentUpdate->targetplatform->min_dev_level; + + $patchMaximumSupported = !isset($this->currentUpdate->targetplatform->max_dev_level) + || $patchVersion <= $this->currentUpdate->targetplatform->max_dev_level; if (isset($this->currentUpdate->targetplatform->name) && $product == $this->currentUpdate->targetplatform->name From e10b0c84840991a244fd58e28d44d81102768162 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Mon, 14 Aug 2017 14:37:41 +0200 Subject: [PATCH 23/51] us the renamed field thanks @LivioCavallo (#17364) --- libraries/src/Helper/TagsHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Helper/TagsHelper.php b/libraries/src/Helper/TagsHelper.php index 2ecbe41e2b1f0..125812c107f6a 100644 --- a/libraries/src/Helper/TagsHelper.php +++ b/libraries/src/Helper/TagsHelper.php @@ -638,7 +638,7 @@ public function getTagItemsQuery($tagId, $typesr = null, $includeChildren = fals $groups = '0,' . implode(',', array_unique($user->getAuthorisedViewLevels())); $query->where('c.core_access IN (' . $groups . ')') - ->group('m.type_alias, m.content_item_id, m.core_content_id, core_modified_time, core_created_time, core_created_by_alias, name, author_email'); + ->group('m.type_alias, m.content_item_id, m.core_content_id, core_modified_time, core_created_time, core_created_by_alias, author, author_email'); // Use HAVING if matching all tags and we are matching more than one tag. if ($ntagsr > 1 && $anyOrAll != 1 && $includeChildren != 1) From d222e798317a2d5e9085e53784f619ebf2d103c0 Mon Sep 17 00:00:00 2001 From: George Wilson Date: Mon, 14 Aug 2017 15:40:59 +0100 Subject: [PATCH 24/51] Fix RuntimeException fatal --- libraries/src/Crypt/Cipher/SodiumCipher.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/src/Crypt/Cipher/SodiumCipher.php b/libraries/src/Crypt/Cipher/SodiumCipher.php index 679e99867c802..0958b39d18ae3 100644 --- a/libraries/src/Crypt/Cipher/SodiumCipher.php +++ b/libraries/src/Crypt/Cipher/SodiumCipher.php @@ -38,7 +38,7 @@ class SodiumCipher implements CipherInterface * @return string The decrypted data string. * * @since 3.8.0 - * @throws RuntimeException + * @throws \RuntimeException */ public function decrypt($data, Key $key) { @@ -61,7 +61,7 @@ public function decrypt($data, Key $key) if ($decrypted === false) { - throw new RuntimeException('Malformed message or invalid MAC'); + throw new \RuntimeException('Malformed message or invalid MAC'); } return $decrypted; @@ -76,7 +76,7 @@ public function decrypt($data, Key $key) * @return string The encrypted data string. * * @since 3.8.0 - * @throws RuntimeException + * @throws \RuntimeException */ public function encrypt($data, Key $key) { From 40d1517d02c2cadd3464c5911ad6eddbfe400f4a Mon Sep 17 00:00:00 2001 From: George Wilson Date: Mon, 14 Aug 2017 15:58:06 +0100 Subject: [PATCH 25/51] Unsupported Storage Exception is being removed in Joomla 4 --- libraries/classmap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/classmap.php b/libraries/classmap.php index 89bb781b72d74..4f0c8d03255c7 100644 --- a/libraries/classmap.php +++ b/libraries/classmap.php @@ -294,7 +294,7 @@ JLoader::registerAlias('JCacheExceptionUnsupported', '\\Joomla\\CMS\\Cache\\Exception\\UnsupportedCacheException', '5.0'); JLoader::registerAlias('JSession', '\\Joomla\\CMS\\Session\\Session', '5.0'); -JLoader::registerAlias('JSessionExceptionUnsupported', '\\Joomla\\CMS\\Session\\Exception\\UnsupportedStorageException', '5.0'); +JLoader::registerAlias('JSessionExceptionUnsupported', '\\Joomla\\CMS\\Session\\Exception\\UnsupportedStorageException', '4.0'); JLoader::registerAlias('JUser', '\\Joomla\\CMS\\User\\User', '5.0'); JLoader::registerAlias('JUserHelper', '\\Joomla\\CMS\\User\\UserHelper', '5.0'); From b42b2869fd63595f18876affa897ff26affaa4a7 Mon Sep 17 00:00:00 2001 From: George Wilson Date: Mon, 14 Aug 2017 16:11:57 +0100 Subject: [PATCH 26/51] Wrapper is being removed in J4 --- libraries/classmap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/classmap.php b/libraries/classmap.php index 4f0c8d03255c7..0404cfada1577 100644 --- a/libraries/classmap.php +++ b/libraries/classmap.php @@ -219,7 +219,7 @@ JLoader::registerAlias('JHttpTransportCurl', '\\Joomla\\CMS\\Http\\Transport\\CurlTransport', '5.0'); JLoader::registerAlias('JHttpTransportSocket', '\\Joomla\\CMS\\Http\\Transport\\SocketTransport', '5.0'); JLoader::registerAlias('JHttpTransportStream', '\\Joomla\\CMS\\Http\\Transport\\StreamTransport', '5.0'); -JLoader::registerAlias('JHttpWrapperFactory', '\\Joomla\\CMS\\Http\\Wrapper\\FactoryWrapper', '5.0'); +JLoader::registerAlias('JHttpWrapperFactory', '\\Joomla\\CMS\\Http\\Wrapper\\FactoryWrapper', '4.0'); JLoader::registerAlias('JInstaller', '\\Joomla\\CMS\\Installer\\Installer', '5.0'); JLoader::registerAlias('JInstallerAdapter', '\\Joomla\\CMS\\Installer\\InstallerAdapter', '5.0'); From c0e7934de50e058674f5b84a23ee7116d62b0cc6 Mon Sep 17 00:00:00 2001 From: Thomas Hunziker Date: Mon, 14 Aug 2017 18:52:16 +0200 Subject: [PATCH 27/51] Remove testing sample data plugin (#17482) --- .../sql/updates/mysql/3.8.0-2017-07-31.sql | 3 +- .../updates/postgresql/3.8.0-2017-07-31.sql | 3 +- .../sql/updates/sqlazure/3.8.0-2017-07-31.sql | 3 +- .../en-GB/en-GB.plg_sampledata_testing.ini | 536 -- .../en-GB.plg_sampledata_testing.sys.ini | 7 - installation/sql/mysql/joomla.sql | 1 - installation/sql/postgresql/joomla.sql | 1 - installation/sql/sqlazure/joomla.sql | 1 - plugins/sampledata/testing/testing.php | 4748 ----------------- plugins/sampledata/testing/testing.xml | 23 - 10 files changed, 3 insertions(+), 5323 deletions(-) delete mode 100644 administrator/language/en-GB/en-GB.plg_sampledata_testing.ini delete mode 100644 administrator/language/en-GB/en-GB.plg_sampledata_testing.sys.ini delete mode 100644 plugins/sampledata/testing/testing.php delete mode 100644 plugins/sampledata/testing/testing.xml diff --git a/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-31.sql b/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-31.sql index 8be562570a95c..81a631edd50c8 100644 --- a/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-31.sql +++ b/administrator/components/com_admin/sql/updates/mysql/3.8.0-2017-07-31.sql @@ -2,5 +2,4 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`) VALUES (318, 0, 'mod_sampledata', 'module', 'mod_sampledata', '', 1, 0, 1, 0, '', '{}', '', '', 0, '0000-00-00 00:00:00', 0, 0), - (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), - (480, 0, 'plg_sampledata_testing', 'plugin', 'testing', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0); + (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0); diff --git a/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-31.sql b/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-31.sql index e662ec4146016..e03ec77abc604 100644 --- a/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-31.sql +++ b/administrator/components/com_admin/sql/updates/postgresql/3.8.0-2017-07-31.sql @@ -2,5 +2,4 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES (318, 0, 'mod_sampledata', 'module', 'mod_sampledata', '', 1, 0, 1, 0, '', '{}', '', '', 0, '1970-01-01 00:00:00', 0, 0), - (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), - (480, 0, 'plg_sampledata_testing', 'plugin', 'testing', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0); + (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0); diff --git a/administrator/components/com_admin/sql/updates/sqlazure/3.8.0-2017-07-31.sql b/administrator/components/com_admin/sql/updates/sqlazure/3.8.0-2017-07-31.sql index 3f13bd860b812..b9ed858fcd02b 100644 --- a/administrator/components/com_admin/sql/updates/sqlazure/3.8.0-2017-07-31.sql +++ b/administrator/components/com_admin/sql/updates/sqlazure/3.8.0-2017-07-31.sql @@ -1,5 +1,4 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "element", "folder", "client_id", "enabled", "access", "protected", "manifest_cache", "params", "custom_data", "system_data", "checked_out", "checked_out_time", "ordering", "state") VALUES (318, 0, 'mod_sampledata', 'module', 'mod_sampledata', '', 1, 0, 1, 0, '', '{}', '', '', 0, '1900-01-01 00:00:00', 0, 0), - (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), - (480, 0, 'plg_sampledata_testing', 'plugin', 'testing', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0); + (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 0, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0); diff --git a/administrator/language/en-GB/en-GB.plg_sampledata_testing.ini b/administrator/language/en-GB/en-GB.plg_sampledata_testing.ini deleted file mode 100644 index 37a0ab964c74b..0000000000000 --- a/administrator/language/en-GB/en-GB.plg_sampledata_testing.ini +++ /dev/null @@ -1,536 +0,0 @@ -; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - -PLG_SAMPLEDATA_TESTING="Sample Data - Testing" -PLG_SAMPLEDATA_TESTING_OVERVIEW_DESC="Sample data which will help with testing the CMS." -PLG_SAMPLEDATA_TESTING_OVERVIEW_TITLE="Testing Sample Data" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_1_DESC="Get books about Joomla! at the Joomla! Book Shop." -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_1_NAME="Shop 1" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_2_DESC="T-shirts, caps and more from the Joomla! Shop." -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_2_NAME="Shop 2" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_3_DESC="Your contributions of time, talent and money make Joomla possible." -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_3_NAME="Support Joomla!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CATEGORY_0_TITLE="Sample Data-Banners" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_1_CONTACT="Administrator" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_1_NAME="Joomla" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_2_CONTACT="Example" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_2_NAME="Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_3_CONTACT="Bookstore Example" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_3_NAME="Bookstore" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_TITLE="Sample Data-Contact" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_0_TITLE="Park Site" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_TITLE="Shop Site" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_0_DESC="

Please feel free to contact our staff at any time should you need assistance.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_0_TITLE="Staff" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_1_DESC="

Our directory of information about different kinds of fruit.

We love fruit and want the world to know more about all of its many varieties.

Although it is small now, we work on it whenever we have a chance.

All of the images can be found in Wikimedia Commons.

\"Apples\"

This encyclopedia is implemented using the contact component, each fruit a separate contact and a category for each letter. A CSS style is used to create the horizontal layout of the alphabet headings.

If you wanted to, you could allow some users (such as your growers) to have access to just this category in the contact component and let them help you to create new content for the encyclopedia.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_1_TITLE="Fruit Encyclopedia" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_ADDRESS="Address" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_COUNTRY="Country" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_FAX="Fax" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_MISC="

Information about or by the contact.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_NAME="Contact Name Here" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_POSITION="Position" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_POSTCODE="Zip Code" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SORTNAME1="last" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SORTNAME2="first" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SORTNAME3="middle" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_STATE="State" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SUBURB="Suburb" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_TELEPHONE="Telephone" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_1_NAME="Webmaster" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_2_MISC="

I'm the owner of this store.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_2_NAME="Owner" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_3_MISC="

I am in charge of buying fruit. If you sell good fruit, contact me.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_3_NAME="Buyer" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_ADDRESS="Image Credit: EnzikRights: Creative Commons Share Alike Unported 3.0 Source: http://commons.wikimedia.org/wiki/File:Bananas_-_Morocco.jpg" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_COUNTRY="Large Producers: India, China, Brasil" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_MISC="

Bananas are a great source of potassium.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_NAME="Bananas" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_POSITION="Scientific Name: Musa" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_STATE="Type: Herbaceous" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_ADDRESS="Image Credit: FievetRights: Public DomainSource: http://commons.wikimedia.org/wiki/File:Pommes_vertes.JPG" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_COUNTRY="Large: Producers: China, United States" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_MISC="

Apples are a versatile fruit, used for eating, cooking, and preserving.

There are more that 7500 different kinds of apples grown around the world.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_NAME="Apples" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_POSITION="Scientific Name: Malus domestica" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_STATE="Family: Rosaceae" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_ADDRESS="Image Credit: Franz Eugen Köhler, Köhler's Medizinal-Pflanzen Rights: Public DomainSource: http://commons.wikimedia.org/wiki/File:Koeh-134.jpg" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_COUNTRY="Large Producers: India, United States" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_MISC="

Tamarinds are a versatile fruit used around the world. In its young form it is used in hot sauces; ripened it is the basis for many refreshing drinks.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_NAME="Tamarind" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_POSITION="Scientific Name: Tamarindus indica" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_STATE="Family: Fabaceae" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_ADDRESS="Our City" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_COUNTRY="Our Country" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_MISC="

Here are directions for how to get to our shop.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_NAME="Shop Address" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_SUBURB="Our Province" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_TELEPHONE="555-555-5555" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_00_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_00_INTROTEXT="

All components are also used in the administrator area of your website. In addition to the ones listed here, there are components in the administrator that do not have direct front end displays, but do help shape your site. The most important ones for most users are

  • Media Manager
  • Extensions Manager
  • Menu Manager
  • Global Configuration
  • Banners
  • Redirect

Media Manager

The media manager component lets you upload and insert images into content throughout your site. Optionally, you can enable the flash uploader which will allow you to to upload multiple images. Help


Extensions Manager

The extensions manager lets you install, update, uninstall and manage all of your extensions. The extensions manager has been extensively redesigned, although the core install and uninstall functionality remains the same as in Joomla! 1.5. Help


Menu Manager

The menu manager lets you create the menus you see displayed on your site. It also allows you to assign modules and template styles to specific menu links. Help


Global Configuration

The global configuration is where the site administrator configures things such as whether search engine friendly urls are enabled, the site meta data (descriptive text used by search engines and indexers) and other functions. For many beginning users simply leaving the settings on default is a good way to begin, although when your site is ready for the public you will want to change the meta data to match its content. Help


Banners

The banners component provides a simple way to display a rotating image in a module and, if you wish to have advertising, a way to track the number of times an image is viewed and clicked. Help



Redirect

The redirect component is used to manage broken links that produce Page Not Found (404) errors. If enabled it will allow you to redirect broken links to specific pages. It can also be used to manage migration related URL changes. Help

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_00_TITLE="Administrator Components" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_01_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_01_INTROTEXT="

This module shows a list of the calendar months containing archived articles. After you have changed the status of an article to archived, this list will be automatically generated. Help

{loadmodule articles_archive,Archived Articles}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_01_TITLE="Archive Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_02_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_02_INTROTEXT="

This module displays a list of categories from one parent category. Help

{loadmodule articles_categories,Articles Categories}

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_02_TITLE="Article Categories Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_03_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_03_INTROTEXT="

This module allows you to display the articles in a specific category. Help

{loadmodule articles_category,Articles Category}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_03_TITLE="Articles Category Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_04_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_04_INTROTEXT="

The authentication plugins operate when users login to your site or administrator. The Joomla! authentication plugin is in operation by default but you can enable Gmail or LDAP or install a plugin for a different system. An example is included that may be used to create a new authentication plugin.

Default on:

Default off:

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_04_TITLE="Authentication" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_05_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_05_INTROTEXT="

Cradle Park Banner

Welcome!

This is a basic site about the beautiful and fascinating parks of Australia.

On this site you can read all about my travels to different parks, see photos, and find links to park websites.

This sample site is an example of using the core of Joomla! to create a basic website, whether a brochure site, a personal blog, or as a way to present information on a topic you are interested in.

Read more about the site in the About Parks module.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_05_TITLE="Australian Parks " -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_06_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_06_INTROTEXT="

The banner module is used to display the banners that are managed by the banners component in the site administrator. Help.

{loadmodule banners,Banners}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_06_TITLE="Banner Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_07_FULLTEXT="

Explore the articles and other resources right here on your site data to learn more about how Joomla works. (When you're done reading, you can delete or archive all of this.) You will also probably want to visit the Beginners' Areas of the Joomla documentation and support forums.

You'll also want to sign up for the Joomla Security Mailing list and the Announcements mailing list. For inspiration visit the Joomla! Site Showcase to see an amazing array of ways people use Joomla to tell their stories on the web.

The basic Joomla installation will let you get a great site up and running, but when you are ready for more features the power of Joomla is in the creative ways that developers have extended it to do all kinds of things. Visit the Joomla! Extensions Directory to see thousands of extensions that can do almost anything you could want on a website. Can't find what you need? You may want to find a Joomla professional in the Joomla! Resource Directory.

Want to learn more? Consider attending a Joomla! Day or other event or joining a local Joomla! Users Group. Can't find one near you? Start one yourself.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_07_INTROTEXT="

If this is your first Joomla! site or your first web site, you have come to the right place. Joomla will help you get your website up and running quickly and easily.

Start off using your site by logging in using the administrator account you created when you installed Joomla.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_07_TITLE="Beginners" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_08_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_08_INTROTEXT="

The contact component provides a way to provide contact forms and information for your site or to create a complex directory that can be used for many different purposes. Help

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_08_TITLE="Contacts" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_09_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_09_INTROTEXT="

The content component (com_content) is what you use to write articles. It is extremely flexible and has the largest number of built in views. Articles can be created and edited from the front end, making content the easiest component to use to create your site content. Help

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_09_TITLE="Content" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_10_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_10_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_10_TITLE="Cradle Mountain" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_11_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_11_INTROTEXT="

This module allows you to create your own HTML Module using a WYSIWYG editor. Help

{loadmodule custom,Custom HTML}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_11_TITLE="Custom HTML Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_12_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_12_INTROTEXT="

Here's how to find our shop.

By car

Drive along Main Street to the intersection with First Avenue. Look for our sign.

By foot

From the center of town, walk north on Main Street until you see our sign.

By bus

Take the #73 Bus to the last stop. We are on the north east corner.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_12_TITLE="Directions" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_13_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_13_INTROTEXT="

Editors are used thoughout Joomla! where content is created. TinyMCE is the default choice in most locations although CodeMirror is used in the template manager. No Editor provides a text box for html content.

Default on:

Default off:

  • None
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_13_TITLE="Editors" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_14_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_14_INTROTEXT="

These plugins are the buttons found beneath your editor. They only run when an editor plugin runs.

Default on:

  • Editor Button: Image Help
  • Editor Button: Readmore Help
  • Editor Button: Page Break Help
  • Editor Button: Article Help

Default off:

  • None
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_14_TITLE="Editors-xtd" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_15_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_15_INTROTEXT="

This module allows the displaying of a syndicated feed. Help

{loadmodule feed,Feed Display}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_15_TITLE="Feed Display" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_16_FULLTEXT="

Quisque a massa sed libero tristique suscipit. Morbi tristique molestie metus, vel vehicula nisl ultrices pretium. Sed sit amet est et sapien condimentum viverra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Phasellus viverra tortor porta orci convallis ac cursus erat sagittis. Vivamus aliquam, purus non luctus adipiscing, orci urna imperdiet eros, sed tincidunt neque sapien et leo. Cras fermentum, dolor id tempor vestibulum, neque lectus luctus mauris, nec congue tellus arcu nec augue. Nulla quis mi arcu, in bibendum quam. Sed placerat laoreet fermentum. In varius lobortis consequat. Proin vulputate felis ac arcu lacinia adipiscing. Morbi molestie, massa id sagittis luctus, sem sapien sollicitudin quam, in vehicula quam lectus quis augue. Integer orci lectus, bibendum in fringilla sit amet, rutrum eget enim. Curabitur at libero vitae lectus gravida luctus. Nam mattis, ligula sit amet vestibulum feugiat, eros sem sodales mi, nec dignissim ante elit quis nisi. Nulla nec magna ut leo convallis sagittis ac non erat. Etiam in augue nulla, sed tristique orci. Vestibulum quis eleifend sapien.

Nam ut orci vel felis feugiat posuere ut eu lorem. In risus tellus, sodales eu eleifend sed, imperdiet id nulla. Nunc at enim lacus. Etiam dignissim, arcu quis accumsan varius, dui dui faucibus erat, in molestie mauris diam ac lacus. Sed sit amet egestas nunc. Nam sollicitudin lacinia sapien, non gravida eros convallis vitae. Integer vehicula dui a elit placerat venenatis. Nullam tincidunt ligula aliquet dui interdum feugiat. Maecenas ultricies, lacus quis facilisis vehicula, lectus diam consequat nunc, euismod eleifend metus felis eu mauris. Aliquam dapibus, ipsum a dapibus commodo, dolor arcu accumsan neque, et tempor metus arcu ut massa. Curabitur non risus vitae nisl ornare pellentesque. Pellentesque nec ipsum eu dolor sodales aliquet. Vestibulum egestas scelerisque tincidunt. Integer adipiscing ultrices erat vel rhoncus.

Integer ac lectus ligula. Nam ornare nisl id magna tincidunt ultrices. Phasellus est nisi, condimentum at sollicitudin vel, consequat eu ipsum. In venenatis ipsum in ligula tincidunt bibendum id et leo. Vivamus quis purus massa. Ut enim magna, pharetra ut condimentum malesuada, auctor ut ligula. Proin mollis, urna a aliquam rutrum, risus erat cursus odio, a convallis enim lectus ut lorem. Nullam semper egestas quam non mattis. Vestibulum venenatis aliquet arcu, consectetur pretium erat pulvinar vel. Vestibulum in aliquet arcu. Ut dolor sem, pellentesque sit amet vestibulum nec, tristique in orci. Sed lacinia metus vel purus pretium sit amet commodo neque condimentum.

Aenean laoreet aliquet ullamcorper. Nunc tincidunt luctus tellus, eu lobortis sapien tincidunt sed. Donec luctus accumsan sem, at porttitor arcu vestibulum in. Sed suscipit malesuada arcu, ac porttitor orci volutpat in. Vestibulum consectetur vulputate eros ut porttitor. Aenean dictum urna quis erat rutrum nec malesuada tellus elementum. Quisque faucibus, turpis nec consectetur vulputate, mi enim semper mi, nec porttitor libero magna ut lacus. Quisque sodales, leo ut fermentum ullamcorper, tellus augue gravida magna, eget ultricies felis dolor vitae justo. Vestibulum blandit placerat neque, imperdiet ornare ipsum malesuada sed. Quisque bibendum quam porta diam molestie luctus. Sed metus lectus, ornare eu vulputate vel, eleifend facilisis augue. Maecenas eget urna velit, ac volutpat velit. Nam id bibendum ligula. Donec pellentesque, velit eu convallis sodales, nisi dui egestas nunc, et scelerisque lectus quam ut ipsum.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_16_INTROTEXT="

Lorem Ipsum is filler text that is commonly used by designers before the content for a new site is ready.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus purus vitae diam posuere nec eleifend elit dictum. Aenean sit amet erat purus, id fermentum lorem. Integer elementum tristique lectus, non posuere quam pretium sed. Quisque scelerisque erat at urna condimentum euismod. Fusce vestibulum facilisis est, a accumsan massa aliquam in. In auctor interdum mauris a luctus. Morbi euismod tempor dapibus. Duis dapibus posuere quam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In eu est nec erat sollicitudin hendrerit. Pellentesque sed turpis nunc, sit amet laoreet velit. Praesent vulputate semper nulla nec varius. Aenean aliquam, justo at blandit sodales, mauris leo viverra orci, sed sodales mauris orci vitae magna.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_16_TITLE="First Blog Post" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_17_FULLTEXT="

Nam eget venenatis lorem. Vestibulum a interdum sapien. Suspendisse potenti. Quisque auctor purus nec sapien venenatis vehicula malesuada velit vehicula. Fusce vel diam dolor, quis facilisis tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque libero nisi, pellentesque quis cursus sit amet, vehicula vitae nisl. Curabitur nec nunc ac sem tincidunt auctor. Phasellus in mattis magna. Donec consequat orci eget tortor ultricies rutrum. Mauris luctus vulputate molestie. Proin tincidunt vehicula euismod. Nam congue leo non erat cursus a adipiscing ipsum congue. Nulla iaculis purus sit amet turpis aliquam sit amet dapibus odio tincidunt. Ut augue diam, congue ut commodo pellentesque, fermentum mattis leo. Sed iaculis urna id enim dignissim sodales at a ipsum. Quisque varius lobortis mollis. Nunc purus magna, pellentesque pellentesque convallis sed, varius id ipsum. Etiam commodo mi mollis erat scelerisque fringilla. Nullam bibendum massa sagittis diam ornare rutrum.

Praesent convallis metus ut elit faucibus tempus in quis dui. Donec fringilla imperdiet nibh, sit amet fringilla velit congue et. Quisque commodo luctus ligula, vitae porttitor eros venenatis in. Praesent aliquet commodo orci id varius. Nulla nulla nibh, varius id volutpat nec, sagittis nec eros. Cras et dui justo. Curabitur malesuada facilisis neque, sed tempus massa tincidunt ut. Sed suscipit odio in lacus auctor vehicula non ut lacus. In hac habitasse platea dictumst. Sed nulla nisi, lacinia in viverra at, blandit vel tellus. Nulla metus erat, ultrices non pretium vel, varius nec sem. Morbi sollicitudin mattis lacus quis pharetra. Donec tincidunt mollis pretium. Proin non libero justo, vitae mattis diam. Integer vel elit in enim varius posuere sed vitae magna. Duis blandit tempor elementum. Vestibulum molestie dui nisi.

Curabitur volutpat interdum lorem sed tempus. Sed placerat quam non ligula lacinia sodales. Cras ultrices justo at nisi luctus hendrerit. Quisque sit amet placerat justo. In id sapien eu neque varius pharetra sed in sapien. Etiam nisl nunc, suscipit sed gravida sed, scelerisque ut nisl. Mauris quis massa nisl, aliquet posuere ligula. Etiam eget tortor mauris. Sed pellentesque vestibulum commodo. Mauris vitae est a libero dapibus dictum fringilla vitae magna.

Nulla facilisi. Praesent eget elit et mauris gravida lobortis ac nec risus. Ut vulputate ullamcorper est, volutpat feugiat lacus convallis non. Maecenas quis sem odio, et aliquam libero. Integer vel tortor eget orci tincidunt pulvinar interdum at erat. Integer ullamcorper consequat eros a pellentesque. Cras sagittis interdum enim in malesuada. Etiam non nunc neque. Fusce non ligula at tellus porta venenatis. Praesent tortor orci, fermentum sed tincidunt vel, varius vel dui. Duis pulvinar luctus odio, eget porta justo vulputate ac. Nulla varius feugiat lorem sed tempor. Phasellus pulvinar dapibus magna eget egestas. In malesuada lectus at justo pellentesque vitae rhoncus nulla ultrices. Proin ut sem sem. Donec eu suscipit ipsum. Cras eu arcu porttitor massa feugiat aliquet at quis nisl.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_17_INTROTEXT="

Lorem Ipsum is text that is traditionally used by designers when working on a site before the content is ready.

Pellentesque bibendum metus ut dolor fermentum ut pulvinar tortor hendrerit. Nam vel odio vel diam tempus iaculis in non urna. Curabitur scelerisque, nunc id interdum vestibulum, felis elit luctus dui, ac dapibus tellus mauris tempus augue. Duis congue facilisis lobortis. Phasellus neque erat, tincidunt non lacinia sit amet, rutrum vitae nunc. Sed placerat lacinia fermentum. Integer justo sem, cursus id tristique eget, accumsan vel sapien. Curabitur ipsum neque, elementum vel vestibulum ut, lobortis a nisl. Fusce malesuada mollis purus consectetur auctor. Morbi tellus nunc, dapibus sit amet rutrum vel, laoreet quis mauris. Aenean nec sem nec purus bibendum venenatis. Mauris auctor commodo libero, in adipiscing dui adipiscing eu. Praesent eget orci ac nunc sodales varius.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_17_TITLE="Second Blog Post" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_18_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_18_INTROTEXT="

This module shows the Joomla! copyright information. Help

{loadmodule footer,Footer}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_18_TITLE="Footer Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_19_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_19_INTROTEXT="

Welcome to the Fruit Shop

We sell fruits from around the world. Please use our website to learn more about our business. We hope you will come to our shop and buy some fruit.

This mini site will show you how you might want to set up a site for a business, in this example one selling fruit. It shows how to use access controls to manage your site content. If you were building a real site, you might want to extend it with e-commerce, a catalog, mailing lists or other enhancements, many of which are available through the Joomla! Extensions Directory.

To understand this site you will probably want to make one user with group set to customer and one with group set to grower. By logging in with different privileges you can see how access control works.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_19_TITLE="Fruit Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_20_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_20_INTROTEXT="

There are lots of places you can get help with Joomla!. In many places in your site administrator you will see the help icon. Click on this for more information about the options and functions of items on your screen. Other places to get help are:

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_20_TITLE="Getting Help" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_21_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_21_INTROTEXT="

It's easy to get started creating your website. Knowing some of the basics will help.

What is a Content Management System?

A content management system is software that allows you to create and manage webpages easily by separating the creation of your content from the mechanics required to present it on the web.

In this site, the content is stored in a database. The look and feel are created by a template. The Joomla! software brings together the template and the content to create web pages.

Site and Administrator

Your site actually has two separate sites. The site (also called the front end) is what visitors to your site will see. The administrator (also called the back end) is only used by people managing your site. You can access the administrator by clicking the \"Site Administrator\" link on the \"This Site\" menu or by adding /administrator to the end of you domain name.

Log in to the administrator using the username and password created during the installation of Joomla.

Logging in

To login to the front end of your site use the login form or the login menu link on the \"This Site\" menu. Use the user name and password that were created as part of the installation process. Once logged-in you will be able to create and edit articles.

In managing your site, you will be able to create content that only logged-in users are able to see.

Creating an article

Once you are logged-in, a new menu will be visible. To create a new article, click on the \"submit article\" link on that menu.

The new article interface gives you a lot of options, but all you need to do is add a title and put something in the content area. To make it easy to find, set the state to published and put it in the Joomla category.

You can edit an existing article by clicking on the edit icon (this only displays to users who have the right to edit).

Learn more

There is much more to learn about how to use Joomla! to create the web site you envision. You can learn much more at the Joomla! documentation site and on the Joomla! forums.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_21_TITLE="Getting Started" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_22_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_22_INTROTEXT="

At our orchard we grow the world's best oranges as well as other citrus fruit such as lemons and grapefruit. Our family has been tending this orchard for generations.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_22_TITLE="Happy Orange Orchard" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_23_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_23_INTROTEXT="

Thanks for helping us to test Joomla!

We're getting ready for the release of Joomla and we appreciate you helping us find and fix problems as we work.

If you haven't done testing before here are some tips.

  • Don't delete the installation folder when you finish installing! While we're working we turn that security feature off to make it easier to test.
  • Go to global configuration and set Error Reporting to Development (that's on the server tab) and enable both debugging and language debugging (those are on the system tab). Don't worry when you see ** around words --that means Joomla translation is doing its job.

How to test

  • First, do the things you normally do and see if you spot any problems.
  • Look at all of the front end views and record any problems
  • Look at all the back end views and report any problems
  • See more ideas below

What to look for

  • Any error messages that say things like Fatal Error or Strict or similar things that indicate that something is not working correctly.
  • Untranslated strings. You will know these because they look like this: ?STRING_HERE?
  • Problems of rendering--items not aligned correctly, missing or wrong images, pages that just don't look right.
  • Unexpected behavior--anything that is working differently than it did in 2.5.

Report problems

If you find a problem please report it to the CMS Issue Tracker. You will need to register for a github.com account if you don't have one.

More Testing Ideas

  • Pick one module or view and test all of the parameters.
  • Install an extension and see if anything breaks (report to the developer unless you are positive it is a core bug).
  • Turn on caching with different options
  • Try different session options
  • Install a language and test all the layouts.
  • Try different environments (like different servers which may have different version of PHP) or try you have IIS with MySQLi or SqlSrv. With millions of users Joomla needs to be ready for unusual environments.
  • Try with SEF URLS on or off and also with Apache rewrite on or off (if you are on Apache).
  • Try different combinations of browsers (Chrome, IE, FireFox, Opera to start) and operating systems (Mac, Windows, Linux).
  • Yes grammar and spelling errors are bugs too -- just keep in mind that we use British spelling.
  • Visit the Feature Tracker and test a new feature.

Testing changes

You can also help Joomla by testing bug fixes and new features. A useful tool is the patchtester component which helps to simplify and automate the process. Report your feedback on the CMS Issue Tracker. If you enjoy helping Joomla this way, you may want to join the Joomla Bug Squad.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_23_TITLE="Joomla! Testing" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_24_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_24_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_24_TITLE="Koala" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_25_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_25_INTROTEXT="

The language switcher module allows you to take advantage of the language tags that are available when content, modules and menu links are created.

This module displays a list of available Content Languages for switching between them.

When switching languages, it redirects to the Home page, or associated menu item, defined for the chosen language. Thereafter, the navigation will be the one defined for that language.

The language filter plugin must be enabled for this module to work properly.

Help

To view an example of the language switch moduler module, go to the site administrator and enable the language filter plugin and the language switcher module labelled \"language switcher\" and visit the fruit shop or park sample sites. Then follow the instructions in this tutorial.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_25_TITLE="Language Switcher" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_26_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_26_INTROTEXT="

This module shows a list of the most recently published and current Articles. Some that are shown may have expired even though they are the most recent. Help

{loadmodule articles_latest,Latest News}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_26_TITLE="Latest Articles Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_27_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_27_INTROTEXT="

This module displays a username and password login form. It also displays a link to retrieve a forgotten password. If user registration is enabled (in the Global Configuration settings), another link will be shown to enable self-registration for users. Help

{loadmodule login,login}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_27_TITLE="Login Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_28_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_28_INTROTEXT="

This module displays a menu on the site (frontend). Menus can be displayed in a wide variety of ways by using the menu options and css menu styles. Help

{loadmodule mod_menu,Menu Example}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_28_TITLE="Menu Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_29_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_29_INTROTEXT="

This module shows a list of the currently published Articles which have the highest number of page views. Help

{loadmodule articles_popular,Articles Most Read}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_29_TITLE="Most Read Content" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_30_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_30_INTROTEXT="

Displays a set number of articles from a category based on date or random selection. Help

{loadmodule articles_news,News Flash}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_30_TITLE="News Flash" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_31_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_31_INTROTEXT="

As you make your Joomla! site you will control the details of the display using options also referred to as parameters. Options control everything from whether the author's name is displayed to who can view what to the number of items shown on a list.

Default options for each component are changed using the Options button on the component toolbar.

Options can also be set on an individual item, such as an article or contact and in menu links.

If you are happy with how your site looks, it is fine to leave all of the options set to the defaults that were created when your site was installed. As you become more experienced with Joomla you will use options more.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_31_TITLE="Options" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_32_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_32_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_32_TITLE="Phyllopteryx" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_33_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_33_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_33_TITLE="Pinnacles" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_34_FULLTEXT="

Working with multiple template styles and overrides for the same views, creating the design you want is easier than it has ever been. Limiting support to PHP 5.2.4 and above makes Joomla lighter and faster than ever. Languages files can now be overridden without having your changes lost during an upgrade. With the proper xml your users update extensions with a single click.

Access control lists are now incorporated using a new system developed for Joomla. The ACL system is designed with developers in mind, so it is easy to incorporate into your extensions. The new nested sets libraries allow you to incorporate infinitely deep categories but also to use nested sets in a variety of other ways.

A new forms library makes creating all kinds of user interaction simple. MooTools 1.3 provides a highly flexible javascript framework that is a major advance over MooTools 1.0.

New events throughout the core make integration of your plugins where you want them a snap.

The separation of the Joomla! Platform project from the Joomla! CMS project makes continuous development of new, powerful APIs and continuous improvement of existing APIs possible while maintaining the stability of the CMS that millions of webmasters and professionals rely upon.

Learn about:

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_34_INTROTEXT="

Joomla! 2.5 continues development of the Joomla Framework and CMS as a powerful and flexible way to bring your vision of the web to reality. With the administrator now fully MVC, the ability to control its look and the management of extensions is now complete.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_34_TITLE="Professionals" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_35_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_35_INTROTEXT="

This module displays a random image from your chosen image directory. Help

{loadmodule random_image,Random Image}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_35_TITLE="Random Image Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_36_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_36_INTROTEXT="

This module displays other Articles that are related to the one currently being viewed. These relations are established by the Meta Keywords. All the keywords of the current Article are searched against all the keywords of all other published articles. Help

{loadmodule related_items,Articles Related Items}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_36_TITLE="Related Items Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_37_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_37_INTROTEXT="

Your installation includes sample data, designed to show you some of the options you have for building your website. In addition to information about Joomla! there are two sample \"sites within a site\" designed to help you get started with building your own site.

The first site is a simple site about Australian Parks. It shows how you can quickly and easily build a personal site with just the building blocks that are part of Joomla. It includes a personal blog, weblinks, and a very simple image gallery.

The second site is slightly more complex and represents what you might do if you are building a site for a small business, in this case a Fruit Shop.

In building either style site, or something completely different, you will probably want to add extensions and either create or purchase your own template. Many Joomla users start by modifying the templates that come with the core distribution so that they include special images and other design elements that relate to their site's focus.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_37_TITLE="Sample Sites" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_38_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_38_INTROTEXT="

Joomla! 2.5 offers two search options.

The Basic Search component provides basic search functionality for the information contained in your core components. Many extensions can also be searched by the search component. Help

The Smart Search component offers searching similar to that found in major search engines. Smart Search is disabled by default. If you choose to enable it you will need to take several steps. First, enable the Smart Search Plugin in the plugin manager. Then, if you are using the Basic Search Module replace it with the Smart Search Module. Finally, if you have already created content, go to the Smart Search component in your site administrator and click the Index icon. Once indexing of your content is complete, Smart Search will be ready to use. Help.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_38_TITLE="Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_39_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_39_INTROTEXT="

This module will display a search box. Help

{loadmodule search,Search}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_39_TITLE="Search Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_40_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_40_INTROTEXT="

The search component uses plugins to control which parts of your Joomla! site are searched. You may choose to turn off some areas to improve performance or for other reasons. Many third party Joomla! extensions have search plugins that extend where search takes place.

Default On:

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_40_TITLE="Search " -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_41_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_41_INTROTEXT="

{loadposition sitemapload}

By putting all of your content into nested categories you can give users and search engines access to everything using a menu.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_41_TITLE="Site Map" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_42_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_42_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_42_TITLE="Spotted Quoll" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_43_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_43_INTROTEXT="

This module shows information about your server installation together with statistics on the Web site users and the number of Articles in your database.

{loadmodule mod_stats,Statistics}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_43_TITLE="Statistics Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_44_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_44_INTROTEXT="

The syndicate module will display a link that allows users to take a feed from your site. It will only display on pages for which feeds are possible. That means it will not display on single article, contact or weblinks pages, such as this one. Help

{loadposition syndicate,Syndicate}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_44_TITLE="Syndicate Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_45_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_45_INTROTEXT="

System plugins operate every time a page on your site loads. They control such things as your URLS, whether users can check a \"remember me\" box on the login module, and whether caching is enabled. New is the redirect plugin that together with the redirect component will assist you in managing changes in URLs.

Default on:

Default off:

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_45_TITLE="System" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_46_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_46_INTROTEXT="

Joomla means All Together, and it is a community of people all working and having fun together that makes Joomla possible. Thousands of people each year participate in the Joomla community, and we hope you will be one of them.

People with all kinds of skills, of all skill levels and from around the world are welcome to join in. Participate in the Joomla.org family of websites (the forum is a great place to start). Come to a Joomla! event. Join or start a Joomla! Users Group. Whether you are a developer, site administrator, designer, end user or fan, there are ways for you to participate and contribute.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_46_TITLE="The Joomla! Community" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_47_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_47_INTROTEXT="

The Joomla Project consists of all of the people who make and support the Joomla Web Platform and Content Management System.

Our mission is to provide a flexible platform for digital publishing and collaboration.

The core values are:

  • Freedom
  • Equality
  • Trust
  • Community
  • Collaboration
  • Usability

In our vision, we see:

  • People publishing and collaborating in their communities and around the world
  • Software that is free, secure, and high-quality
  • A community that is enjoyable and rewarding to participate in
  • People around the world using their preferred languages
  • A project that acts autonomously
  • A project that is socially responsible
  • A project dedicated to maintaining the trust of its users

There are millions of users around the world and thousands of people who contribute to the Joomla Project. They work in three main groups: the Production Working Group, responsible for everything that goes into software and documentation; the Community Working Group, responsible for creating a nurturing the community; and Open Source Matters, the non profit organization responsible for managing legal, financial and organizational issues.

Joomla is a free and open source project, which uses the GNU General Public License version 2 or later.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_47_TITLE="The Joomla! Project" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_48_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_48_INTROTEXT="

H1 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz

H2 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz

H3 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz

H4 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz

H5 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz
H6 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmonpqrstuvwzyz

P The quick brown fox ran over the lazy dog. THE QUICK BROWN FOX RAN OVER THE LAZY DOG.

  • Item
  • Item
  • Item
    • Item
    • Item
    • Item
      • Item
      • Item
      • Item
  1. tem
  2. Item
  3. Item
    1. Item
    2. Item
    3. Item
      1. Item
      2. Item
      3. Item
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_48_TITLE="Typography" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_49_FULLTEXT="

The new user manager will let you manage who has access to what in your site. You can leave access groups exactly the way you had them in Joomla 1.5 or make them as complicated as you want. You can learn more about how access control works in on the Joomla! Documentation site

In Joomla 1.5 and 1.0 content was organized into sections and categories. From 1.6 forward sections are gone, and you can create categories within categories, going as deep as you want. The sample data provides many examples of the use of nested categories.

All layouts have been redesigned to improve accessibility and flexibility.

Updating your site and extensions when needed is easier than ever thanks to installer improvements.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_49_INTROTEXT="

If you are an experienced Joomla! 1.5 user, this Joomla site will seem very familiar. There are new templates and improved user interfaces, but most functionality is the same. The biggest changes are improved access control (ACL) and nested categories. This release of Joomla has strong continuity with Joomla! 1.7 while adding enhancements.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_49_TITLE="Upgraders" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_50_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_50_INTROTEXT="

Default on:

Default off:

Two new plugins are available but are disabled by default.

  • Contact Creator Help
    Creates a new linked contact record for each new user created.
  • Profile Help
    This example profile plugin allows you to insert additional fields into user registration and profile display. This is intended as an example of the types of extensions to the profile you might want to create.
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_50_TITLE="User" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_51_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_51_INTROTEXT="

The users extension lets your site visitors register, login and logout, change their passwords and other information, and recover lost passwords. In the administrator it allows you to create, block and manage users and create user groups and access levels. Help

Please note that some of the user views will not display if you are not logged-in to the site.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_51_TITLE="Users" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_52_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_52_INTROTEXT="

With Joomla you can create anything from a simple personal website to a complex ecommerce or social site with millions of visitors.

This section of the sample data provides you with a brief introduction to Joomla concepts and reference material to help you understand how Joomla works.

When you no longer need the sample data, you can can simply unpublish the sample data category found within each extension in the site administrator or you may completely delete each item and all of the categories.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_52_TITLE="Using Joomla!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_53_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_53_INTROTEXT="

The Who's Online Module displays the number of Anonymous Users (e.g. Guests) and Registered Users (ones logged-in) that are currently accessing the Web site. Help

{loadmodule whosonline,Who's Online}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_53_TITLE="Who's Online" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_54_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_54_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_54_TITLE="Wobbegone" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_55_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_55_INTROTEXT="

Watermelon is a wonderful and healthy treat. We grow the world's sweetest watermelon. We have the largest watermelon patch in our country.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_55_TITLE="Wonderful Watermelon" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_56_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_56_INTROTEXT="

This module shows an iFrame window to specified location. Help

{loadmodule wrapper,Wrapper}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_56_TITLE="Wrapper Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_57_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_57_INTROTEXT="

News Feeds (com_newsfeeds) provides a way to organize and present news feeds. News feeds are a way that you present information from another site on your site. For example, the joomla.org website has numerous feeds that you can incorporate on your site. You an use menus to present a single feed, a list of feeds in a category, or a list of all feed categories. Help

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_57_TITLE="News Feeds" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_58_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_58_INTROTEXT="

Breadcrumbs provide a pathway for users to navigate through the site. Help

{loadmodule breadcrumbs,breadcrumbs}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_58_TITLE="Breadcrumbs Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_59_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_59_INTROTEXT="

Content plugins run when specific kinds of pages are loaded. They do things ranging from protecting email addresses from harvesters to creating page breaks.

Default on:

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_59_TITLE="Content" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_60_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_60_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_60_TITLE="Blue Mountain Rain Forest" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_61_FULLTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_61_INTROTEXT="

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_61_TITLE="Ormiston Pound" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_62_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_62_INTROTEXT="

This module displays the latest registered users. Help

{loadmodule users_latest,Users Latest}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_62_TITLE="Latest Users Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_63_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_63_INTROTEXT="

This article deliberately archived as an example.

As with previous releases, Joomla! provides a unified and easy-to-use framework for delivering content for Web sites of all kinds. To support the changing nature of the Internet and emerging Web technologies, Joomla! required substantial restructuring of its core functionality and we also used this effort to simplify many challenges within the current user interface. Joomla! 1.5 has many new features.

In Joomla! 1.5, you''ll notice:

  • Substantially improved usability, manageability, and scalability far beyond the original Mambo foundations
  • Expanded accessibility to support internationalisation, double-byte characters and right-to-left support for Arabic, Farsi, and Hebrew languages among others
  • Extended integration of external applications through Web services
  • Enhanced content delivery, template and presentation capabilities to support accessibility standards and content delivery to any destination
  • A more sustainable and flexible framework for Component and Extension developers
  • Backward compatibility with previous releases of Components, Templates, Modules, and other Extensions
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_63_TITLE="What's New in 1.5?" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_64_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_64_INTROTEXT="

The Captcha plugins are used to prevent spam submissions on your forms such as registration, contact and login. You basic installation of Joomla includes one Captcha plugin which leverages the ReCaptcha® service but you may install other plugins connecting to different Captcha systems.

Default on:

Note: ReCaptcha is a the trademark of Google Inc. and is an independent product not associated with or endorsed by the Joomla Project. You will need to register and agree to the Terms of Service at Recaptcha.net to use this plugin. Complete instructions are available if you edit the ReCaptcha plugin in the Plugin Manager.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_64_TITLE="Captcha" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_65_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_65_INTROTEXT="

The Quick Icon plugin group is used to provide notification that updates to Joomla! or installed extensions are available and should be applied. These notifications display on your administrator control panel, which is the page you see when you first log in to your site administrator.

Default on:

  • Quick icon - Joomla! extensions updates notification Help.
  • Quick icon - Joomla! update notification Help
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_65_TITLE="Quick Icons" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_66_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_66_INTROTEXT="

This module provides search using the Smart Search component. You should only use it if you have indexed your content and either have enabled the Smart Search content plugin or are keeping the index of your site updated manually. Help.

{loadmodule finder,Smart Search}
" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_66_TITLE="Smart Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_67_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_67_INTROTEXT="

The similar tags modules shows a list of items which have the same or a similar set of tags.

{loadmodule tags_similar,Similar Tags}

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_67_TITLE="Similar Tags" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_68_FULLTEXT="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_68_INTROTEXT="

The Popular Tags displays a list of the most commonly uses tags. It offers both a list and a tag cloud layout.

{loadmodule tags_popular,Popular Tags}

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_68_TITLE="Popular Tags" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_TITLE="Sample Data-Articles" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_TITLE="Joomla!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_DESC="

The Joomla! content management system lets you create webpages of various types using extensions. There are 5 basic types of extensions: components, modules, templates, languages, and plugins. Your website includes the extensions you need to create a basic website in English, but thousands of additional extensions of all types are available. The Joomla! Extensions Directory is the largest directory of Joomla extensions.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_TITLE="Extensions" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_0_DESC="

Component ImageComponents are larger extensions that produce the major content for your site. Each component has one or more 'views' that control how content is displayed. In the Joomla administrator there are additional extensions such as Menus, Redirection, and the extension managers.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_0_TITLE="Components" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_DESC="

Media ImageModules are small blocks of content that can be displayed in positions on a web page. The menus on this site are displayed in modules. The core of Joomla! includes 24 separate modules ranging from login to search to random images. Each module has a name that starts mod_ but when it displays it has a title. In the descriptions in this section, the titles are the same as the names.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_TITLE="Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_0_DESC="

Content modules display article and other information from the content component.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_0_TITLE="Content Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_1_DESC="

User modules interact with the user system, allowing users to login, show who is logged-in, and showing the most recently registered users.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_1_TITLE="User Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_2_DESC="

These modules display information from components other than content and user. These include weblinks, news feeds and the media manager.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_2_TITLE="Display Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_3_DESC="

Utility modules provide useful functionality such as search, syndication and statistics.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_3_TITLE="Utility Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_4_DESC="

Navigation modules help your visitors move through your site and find what they need.

Menus provide your site with structure and help your visitors navigate your site. Although they are all based on the same menu module, the variety of ways menus are used in the sample data show how flexible this module is.

A menu can range from extremely simple (for example the top menu or the menu for the Australian Parks sample site) to extremely complex (for example the About Joomla! menu with its many levels). They can also be used for other types of presentation such as the site map linked from the \"This Site\" menu.

Breadcrumbs provide users with information about where they are in a site.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_4_TITLE="Navigation Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_DESC="

Media ImageTemplates give your site its look and feel. They determine layout, colours, typefaces, graphics and other aspects of design that make your site unique. Your installation of Joomla comes prepackaged with three front end templates and two backend templates. Help

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_TITLE="Templates" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_5_DESC="

The Atomic Template

Atomic is a minimal template designed to be a skeleton for making your own template and to learn about Joomla! templating.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_5_TITLE="Atomic" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_6_DESC="

Beez_20 thumbnail

Beez 2.0 is a versatile, easy to customise template that works for a variety of sites. It meets major accessibility standards and demonstrates a range of css and javascript techniques. It is the default template that installs with Joomla!

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_6_TITLE="Beez 20" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_7_DESC="

Beez5 Thumbnail

Beez 5 is an html5 implementation of a Joomla! template. It uses a number of html5 techniques to enhance the presentation of a site. It is used as the template for the Fruit Shop sample site.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_7_TITLE="Beez 5" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_3_DESC="

Languages ImageJoomla! installs in English, but translations of the interfaces, sample data and help screens are available in dozens of languages. Help

Translation information

If there is no language pack available for your language, instructions are available for creating your own translation, which you can also contribute to the community by starting a translation team to create an accredited translation.

Translations of the interfaces are installed using the extensions manager in the site administrator and then managed using the language manager.

If you have two or more languages installed you may enable the language switcher plugin and module. They should always be used together. If you create multilingual content and mark your content, menu items or modules as being in specific languages and follow the complete instructions your users will be able to select a specific content language using the module. By default both the plugin and module are disabled.

Joomla 2.5 installs with a language override manager that allows you to change the specific words (such as Edit or Search) used in the Joomla application.

There are a number of extensions that can help you manage translations of content available in the Joomla! Extensions Directory.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_3_TITLE="Languages" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_4_DESC="

Plugin ImagePlugins are small task oriented extensions that enhance the Joomla! framework. Some are associated with particular extensions and others, such as editors, are used across all of Joomla. Most beginning users do not need to change any of the plugins that install with Joomla. Help

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_4_TITLE="Plugins" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_TITLE="Park Site" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_1_DESC="

Here is where I will blog all about the parks of Australia.

You can make a blog on your website by creating a category to write your blog posts in (this one is called Park Blog). Each blog post will be an article in that category. If you make a category blog menu link with 1 column it will look like this page, if you display the category description then this part is displayed.

To enhance your blog you may want to add extensions for comments, interacting with social network sites, tagging, and keeping in contact with your readers. You can also enable the syndication that is included in Joomla (in the Integration Options set Show Feed Link to Show and make sure to display the syndication module on the page).

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_1_TITLE="Park Blog" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_DESC="

These are my photos from parks I have visited (I didn't take them, they are all from Wikimedia Commons).

This shows you how to make a simple image gallery using articles in com_content.

In each article put a thumbnail image before a 'readmore' and the full size image after it. Set the article to Show Intro Text: Hide.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_TITLE="Photo Gallery" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_5_TITLE="Animals" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_6_TITLE="Scenery" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_TITLE="Fruit Shop Site" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_3_DESC="

We search the whole countryside for the best fruit growers.

You can let each supplier have a page that he or she can edit. To see this in action you will need to create a user who is in the suppliers group.

Create one page in the growers category for that user and make that supplier the author of the page. That user will be able to edit his or her page.

This illustrates the use of the Edit Own permission.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_3_TITLE="Growers" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_4_DESC="

Customers and suppliers can post their favorite recipes for fruit here.

A good idea is to promote the use of metadata keywords to make finding other recipes for the same fruit easier.

To see this in action, create a user assigned to the customer group and a user assigned to the suppliers group. These users will be able to create their own recipe pages and edit those pages. They will not be able to edit other users pages.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_4_TITLE="Recipes" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_0_TITLE="Your Profile" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_1_TITLE="Joomla.org" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_2_TITLE="Single Contact" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_3_TITLE="Login" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_4_TITLE="Park Blog" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_5_TITLE="Sample Sites" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_6_TITLE="Write a Blog Post" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_7_TITLE="Parks Home" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_8_TITLE="Image Gallery" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_8_1_TITLE="Animals" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_8_2_TITLE="Scenery" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_9_TITLE="Contact Categories" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_10_PARAM_CATEGORIES_DESCRIPTION="Because this links to the root category the \"uncategorised\" category is displayed." -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_10_TITLE="News Feed Categories" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_11_TITLE="News Feed Category" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_12_TITLE="Single News Feed" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_13_TITLE="Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_14_TITLE="Archived Articles" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_15_TITLE="Single Article" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_16_TITLE="Article Category Blog" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_17_TITLE="Article Category List" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_18_TITLE="Featured Articles" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_19_TITLE="Submit Article" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_20_TITLE="Content Component" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_21_PARAM_PAGE_TITLE="Newsfeeds Categories View" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_21_TITLE="News Feeds Component" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_22_TITLE="Contact Component" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_23_TITLE="Users Component" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_24_TITLE="Article Categories" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_25_TITLE="Contact Single Category" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_26_TITLE="Search Components" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_TITLE="Using Joomla!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_TITLE="Using Extensions" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_TITLE="Templates" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_7_TITLE="Beez 2" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_7_2_TITLE="Typography Beez 2" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_7_3_TITLE="Home Page Beez 2" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_8_TITLE="Atomic" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_8_0_TITLE="Typography Atomic" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_8_1_TITLE="Home Page Atomic" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_9_TITLE="Beez5" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_9_4_TITLE="Typography Beez5" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_9_5_TITLE="Home Page Beez5" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_1_TITLE="Languages" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_TITLE="Plugins" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_0_TITLE="System" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_1_TITLE="Authentication" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_2_TITLE="Content" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_3_TITLE="Editors" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_4_TITLE="Editors Extended" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_5_TITLE="Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_6_TITLE="User" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_28_TITLE="Latest Users" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_29_TITLE="Who's Online" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_30_TITLE="Most Read" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_31_TITLE="Menu" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_32_TITLE="Statistics" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_33_TITLE="Banner" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_34_TITLE="Search Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_35_TITLE="Random Image" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_36_TITLE="News Flash" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_37_TITLE="Latest Articles" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_38_TITLE="Syndicate" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_39_TITLE="Login" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_40_TITLE="Wrapper" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_41_TITLE="Footer" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_42_TITLE="Archive" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_43_TITLE="Related Items" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_44_TITLE="Login Form" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_45_TITLE="User Profile" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_46_TITLE="Edit User Profile" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_47_TITLE="Registration Form" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_48_TITLE="Username Reminder Request" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_49_TITLE="Password Reset" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_50_TITLE="Feed Display" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_51_TITLE="Content Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_52_TITLE="User Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_53_TITLE="Breadcrumbs" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_54_TITLE="Custom HTML" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_55_TITLE="Fruit Encyclopedia" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_56_TITLE="Welcome" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_57_TITLE="Contact Us" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_58_TITLE="Growers" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_59_TITLE="Login Form" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_60_TITLE="Directions" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_61_TITLE="Testing Home" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_62_TITLE="Getting Started" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_63_TITLE="Article Categories" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_64_TITLE="Language Switcher" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_65_TITLE="Site Administrator" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_66_TITLE="Submit an Article" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_67_TITLE="Featured Contacts" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_68_TITLE="Article Category" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_69_TITLE="Add a recipe" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_70_TITLE="Recipes" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_71_TITLE="Smart Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_72_TITLE="Smart Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_73_TITLE="Similar Tags" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_74_TITLE="Popular Tags" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_75_TITLE="Compact Tagged" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_76_TITLE="Tagged Items" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_77_TITLE="All Tags" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_78_TITLE="Site Settings" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_79_TITLE="Template Settings" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_X_TITLE="Foo" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_100_TITLE="Sample Sites" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_101_TITLE="Testing Home" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_102_TITLE="Parks" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_103_TITLE="Fruit Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_104_TITLE="Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_0_DESCRIPTION="A Menu for logged-in Users" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_0_TITLE="User Menu" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_1_DESCRIPTION="Links for major types of users" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_1_TITLE="Top" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_2_DESCRIPTION="All about Joomla!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_2_TITLE="About Joomla" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_3_DESCRIPTION="Main menu for a site about Australian park" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_3_TITLE="Australian Parks" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_4_DESCRIPTION="Simple Home Menu" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_4_TITLE="Main Menu Testing" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_5_DESCRIPTION="Menu for the sample shop site." -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_5_TITLE="Fruit Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_6_DESCRIPTION="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_6_TITLE="All Front End Views" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_7_DESCRIPTION="" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_7_TITLE="All Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_0_TITLE="Main Menu Testing" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_1_TITLE="Book Store" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_1_FOOTEER_TEXT="Books!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_2_TITLE="User Menu" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_3_TITLE="Top" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_4_TITLE="Australian Parks" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_5_TITLE="A Deep Menu" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_6_TITLE="Site Map" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_7_TITLE="This Site" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_8_TITLE="Archived Articles" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_9_TITLE="Latest News" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_10_TITLE="Articles Most Read" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_11_TITLE="Feed Display" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_12_TITLE="News Flash" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_13_TITLE="Random Image" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_14_TITLE="Articles Related Items" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_15_TITLE="Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_16_TITLE="Statistics" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_17_TITLE="Syndicate Feeds" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_18_TITLE="Users Latest" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_19_TITLE="Who's Online" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_20_TITLE="Wrapper" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_21_TITLE="Footer" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_22_TITLE="Login" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_23_TITLE="Menu Example" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_24_TITLE="Latest Park Blogs" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_25_TITLE="Custom HTML" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_25_CONTENT="

This is a custom html module. That means you can enter whatever content you want.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_26_TITLE="Breadcrumbs" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_26_HOMETEXT="Home" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_27_TITLE="Banners" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_28_TITLE="Fruit Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_29_TITLE="Special!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_29_CONTENT="

This week we have a special, half price on delicious oranges!

Only for our special customers!
Use the code: Joomla! when ordering

This module can only be seen by people in the customers group or higher.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_30_TITLE="Articles Categories" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_31_TITLE="Language Switcher" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_32_TITLE="Search" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_33_TITLE="Language Switcher" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_34_TITLE="About Fruit Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_34_CONTENT="

The Fruit Shop site shows a number of Joomla! features.

The template uses classes in cascading style sheets to change the layout of items, such as creating the horizontal alphabetical list in the Fruit Encyclopedia.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_35_TITLE="Extensions" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_36_TITLE="About Parks" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_36_CONTENT="

The Parks sample site is designed as a simple site that can be routinely updated from the front end of Joomla!.

As a site, it is largely focused on a blog which can be updated using the front end article submission.

New weblinks can also be added through the front end.

A simple image gallery uses com_content with thumbnails displayed in a blog layout and full size images shown in article layout.

The Parks site features the language switch module. All of the content and modules are tagged as English (en-GB). If a second language pack is added with sample data this can be filtered using the language switch.

Parks uses HTML5 which is a major web standard (along with XHTML which is used in other areas of sample data).

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_37_TITLE="Articles Category" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_38_TITLE="Search (Atomic Template)" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_39_TITLE="Top Menu (Atomic Template)" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_40_TITLE="Top Quote (Atomic Template)" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_40_CONTENT="

Powerful Content Management and a Simple Extensible Framework.


" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_41_TITLE="Bottom Left Column (Atomic Template)" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_41_CONTENT="
This is a nested column

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_42_TITLE="Bottom Middle Column (Atomic Template)" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_42_CONTENT="
This is another nested column

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_43_TITLE="Sidebar (Atomic Template)" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_43_CONTENT="

A Simple Sidebar

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue.

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue.

Incremental leading

Vestibulum ante ipsum primis in faucibus orci luctus vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus.

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras ornare mattis nunc. Mauris venenatis, pede sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue. sed aliquet vehicula, lectus tellus pulvinar neque, non cursus sem nisi vel augue.

4" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_44_TITLE="Login (Atomic Template)" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_45_TITLE="Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_45_FOOTER_TEXT="Shop!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_46_TITLE="Contribute" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_46_FOOTER_TEXT="Contribute!" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_47_TITLE="Smart Search Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_48_TITLE="All Front End Views" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_49_TITLE="All Modules" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_50_TITLE="Fruit Shop" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_51_TITLE="Popular Tags" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_52_TITLE="Similar Tags" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_53_TITLE="Syndicate Feeds" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_53_TEXT="Feed Entries" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_54_TITLE="Similar Tags 2" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_55_TITLE="Custom Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_55_CONTENT="

Example custom module for the testing data.

" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_56_TITLE="Admin Feed Module" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_57_TITLE="Statistics" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_CATEGORY_0_TITLE="Sample Data-Newsfeeds" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_0_NAME="Joomla! Announcements" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_1_NAME="New Joomla! Extensions" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_2_NAME="Joomla! Security News" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_3_NAME="Joomla! Connect" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_TAG_0_TITLE="Red" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_TAG_1_TITLE="Yellow" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_TAG_2_TITLE="Green" -PLG_SAMPLEDATA_TESTING_SAMPLEDATA_TAG_3_TITLE="Lime" -PLG_SAMPLEDATA_TESTING_STEP_FAILED="Step %1$u Failed: %2$s" -PLG_SAMPLEDATA_TESTING_STEP_SKIPPED="Step %1$u Skipped: '%2$s' is either not installed or disabled." -PLG_SAMPLEDATA_TESTING_STEP1_SUCCESS="Step 1: Tags done!" -PLG_SAMPLEDATA_TESTING_STEP2_SUCCESS="Step 2: Banners done!" -PLG_SAMPLEDATA_TESTING_STEP3_SUCCESS="Step 3: Articles done!" -PLG_SAMPLEDATA_TESTING_STEP4_SUCCESS="Step 4: Contacts done!" -PLG_SAMPLEDATA_TESTING_STEP5_SUCCESS="Step 5: Newsfeeds done!" -PLG_SAMPLEDATA_TESTING_STEP6_SUCCESS="Step 6: Menus done!" -PLG_SAMPLEDATA_TESTING_STEP7_SUCCESS="Step 7: Modules done!" -PLG_SAMPLEDATA_TESTING_XML_DESCRIPTION="Provides the testing sample data. Can be installed using the sample data module." diff --git a/administrator/language/en-GB/en-GB.plg_sampledata_testing.sys.ini b/administrator/language/en-GB/en-GB.plg_sampledata_testing.sys.ini deleted file mode 100644 index 6f37a3a8addfc..0000000000000 --- a/administrator/language/en-GB/en-GB.plg_sampledata_testing.sys.ini +++ /dev/null @@ -1,7 +0,0 @@ -; Joomla! Project -; Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. -; License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php -; Note : All ini files need to be saved as UTF-8 - -PLG_SAMPLEDATA_TESTING="Sample Data - Testing" -PLG_SAMPLEDATA_TESTING_XML_DESCRIPTION="Provides the testing sample data. Can be installed using the sample data module." \ No newline at end of file diff --git a/installation/sql/mysql/joomla.sql b/installation/sql/mysql/joomla.sql index f64325a6c6c63..977eb2e3e9b3d 100644 --- a/installation/sql/mysql/joomla.sql +++ b/installation/sql/mysql/joomla.sql @@ -641,7 +641,6 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `elem (477, 0, 'plg_content_fields', 'plugin', 'fields', 'content', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (478, 0, 'plg_editors-xtd_fields', 'plugin', 'fields', 'editors-xtd', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), -(480, 0, 'plg_sampledata_testing', 'plugin', 'testing', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '0000-00-00 00:00:00', 0, 0), (503, 0, 'beez3', 'template', 'beez3', '', 0, 1, 1, 0, '', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (504, 0, 'hathor', 'template', 'hathor', '', 1, 1, 1, 0, '', '{"showSiteName":"0","colourChoice":"0","boldText":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), (506, 0, 'protostar', 'template', 'protostar', '', 0, 1, 1, 0, '', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '0000-00-00 00:00:00', 0, 0), diff --git a/installation/sql/postgresql/joomla.sql b/installation/sql/postgresql/joomla.sql index 2c960f51d620b..bb4f30f2424f4 100644 --- a/installation/sql/postgresql/joomla.sql +++ b/installation/sql/postgresql/joomla.sql @@ -654,7 +654,6 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (477, 0, 'plg_content_fields', 'plugin', 'fields', 'content', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (478, 0, 'plg_editors-xtd_fields', 'plugin', 'fields', 'editors-xtd', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), -(480, 0, 'plg_sampledata_testing', 'plugin', 'testing', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '1970-01-01 00:00:00', 0, 0), (503, 0, 'beez3', 'template', 'beez3', '', 0, 1, 1, 0, '', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (504, 0, 'hathor', 'template', 'hathor', '', 1, 1, 1, 0, '', '{"showSiteName":"0","colourChoice":"0","boldText":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), (506, 0, 'protostar', 'template', 'protostar', '', 0, 1, 1, 0, '', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '1970-01-01 00:00:00', 0, 0), diff --git a/installation/sql/sqlazure/joomla.sql b/installation/sql/sqlazure/joomla.sql index 7a669c5df95fd..f1a541f3e93ef 100644 --- a/installation/sql/sqlazure/joomla.sql +++ b/installation/sql/sqlazure/joomla.sql @@ -866,7 +866,6 @@ INSERT INTO "#__extensions" ("extension_id", "package_id", "name", "type", "elem (477, 0, 'plg_content_fields', 'plugin', 'fields', 'content', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (478, 0, 'plg_editors-xtd_fields', 'plugin', 'fields', 'editors-xtd', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (479, 0, 'plg_sampledata_blog', 'plugin', 'blog', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), -(480, 0, 'plg_sampledata_testing', 'plugin', 'testing', 'sampledata', 0, 1, 1, 0, '', '', '', '', 0, '1900-01-01 00:00:00', 0, 0), (503, 0, 'beez3', 'template', 'beez3', '', 0, 1, 1, 0, '', '{"wrapperSmall":"53","wrapperLarge":"72","sitetitle":"","sitedescription":"","navposition":"center","templatecolor":"nature"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (504, 0, 'hathor', 'template', 'hathor', '', 1, 1, 1, 0, '', '{"showSiteName":"0","colourChoice":"0","boldText":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), (506, 0, 'protostar', 'template', 'protostar', '', 0, 1, 1, 0, '', '{"templateColor":"","logoFile":"","googleFont":"1","googleFontName":"Open+Sans","fluidContainer":"0"}', '', '', 0, '1900-01-01 00:00:00', 0, 0), diff --git a/plugins/sampledata/testing/testing.php b/plugins/sampledata/testing/testing.php deleted file mode 100644 index c47ee0f00ed02..0000000000000 --- a/plugins/sampledata/testing/testing.php +++ /dev/null @@ -1,4748 +0,0 @@ -name = $this->_name; - $data->title = JText::_('PLG_SAMPLEDATA_TESTING_OVERVIEW_TITLE'); - $data->description = JText::_('PLG_SAMPLEDATA_TESTING_OVERVIEW_DESC'); - $data->icon = 'flash'; - $data->steps = 7; - - return $data; - } - - /** - * First step to enter the sampledata. Tags - * - * @return array or void Will be converted into the JSON response to the module. - * - * @since 3.8.0 - */ - public function onAjaxSampledataApplyStep1() - { - if ($this->app->input->get('type') != $this->_name) - { - return; - } - - if (!JComponentHelper::isEnabled('com_tags')) - { - $response = array(); - $response['success'] = true; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_SKIPPED', 1, 'com_tags'); - - return $response; - } - - // Add Include Paths. - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_tags/models/', 'TagsModel'); - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_tags/tables/'); - $model = JModelLegacy::getInstance('Tag', 'TagsModel'); - $access = (int) $this->app->get('access', 1); - $user = JFactory::getUser(); - $tagIds = array(); - - // Create first three tags. - for ($i = 0; $i <= 2; $i++) - { - $title = JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_TAG_' . $i . '_TITLE'); - $tag = array( - 'id' => 0, - 'title' => $title, - 'alias' => JApplicationHelper::stringURLSafe($title), - 'parent_id' => 1, - 'published' => 1, - 'access' => $access, - 'created_user_id' => $user->id, - 'language' => '*', - 'description' => '', - ); - - try - { - if (!$model->save($tag)) - { - JFactory::getLanguage()->load('com_tags'); - throw new Exception(JText::_($model->getError())); - } - } - catch (Exception $e) - { - - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 1, $e->getMessage()); - - return $response; - } - - $tagIds[] = $model->getItem()->id; - } - - // Create fourth tag as child of the third. - $title = JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_TAG_3_TITLE'); - $tag = array( - 'id' => 0, - 'title' => $title, - 'alias' => JApplicationHelper::stringURLSafe($title), - 'parent_id' => $tagIds[2], - 'published' => 1, - 'access' => $access, - 'created_user_id' => $user->id, - 'language' => '*', - 'description' => '', - ); - - try - { - if (!$model->save($tag)) - { - JFactory::getLanguage()->load('com_tags'); - throw new Exception(JText::_($model->getError())); - } - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 1, $e->getMessage()); - - return $response; - } - - $tagIds[] = $model->getItem()->id; - - // Storing IDs in UserState for later useage. - $this->app->setUserState('sampledata.testing.tags', $tagIds); - - $response = array(); - $response['success'] = true; - $response['message'] = JText::_('PLG_SAMPLEDATA_TESTING_STEP1_SUCCESS'); - - return $response; - } - - /** - * Second step to enter the sampledata. Banners - * - * @return array or void Will be converted into the JSON response to the module. - * - * @since 3.8.0 - */ - public function onAjaxSampledataApplyStep2() - { - if ($this->app->input->get('type') != $this->_name) - { - return; - } - - if (!JComponentHelper::isEnabled('com_banners')) - { - $response = array(); - $response['success'] = true; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_SKIPPED', 2, 'com_banners'); - - return $response; - } - - // Add Include Paths. - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_banners/tables/'); - - $user = JFactory::getUser(); - - // Add categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CATEGORY_0_TITLE'), - 'parent_id' => 1, - ); - - try - { - $catIds = $this->addCategories($categories, 'com_banners', 1); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 2, $e->getMessage()); - - return $response; - } - - $this->app->setUserState('sampledata.testing.banners.catids', $catIds); - - // Add Clients. - $clients = array(); - $clients[] = array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_1_NAME'), - 'contact' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_1_CONTACT'), - 'purchase_type' => -1, - 'track_clicks' => -1, - 'track_impressions' => -1, - ); - $clients[] = array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_2_NAME'), - 'contact' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_2_CONTACT'), - 'email' => 'banner@example.com', - 'purchase_type' => -1, - 'track_clicks' => 0, - 'track_impressions' => 0, - ); - $clients[] = array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_3_NAME'), - 'contact' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_CLIENT_3_CONTACT'), - 'purchase_type' => -1, - 'track_clicks' => 0, - 'track_impressions' => 0, - ); - $clientTable = JTable::getInstance('Client', 'BannersTable'); - $clientIds = array(); - - foreach ($clients as $client) - { - // Set values which are always the same. - $client['id'] = 0; - $client['email'] = 'banner@example.com'; - $client['state'] = 1; - $client['metakey'] = ''; - $client['extrainfo'] = ''; - - $clientTable->load(); - $clientTable->bind($client); - - try - { - if (!$clientTable->store()) - { - JFactory::getLanguage()->load('com_banners'); - throw new Exception(JText::_($clientTable->getError())); - } - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 2, $e->getMessage()); - - return $response; - } - - $clientIds[] = $clientTable->id; - } - - // Add Banners. - $banners = array(); - $banners[] = array( - 'cid' => $clientIds[2], - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_1_NAME'), - 'clickurl' => 'http://shop.joomla.org/amazoncom-bookstores.html', - 'catid' => $catIds[0], - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_1_DESC'), - 'ordering' => 1, - 'params' => '{"imageurl":"images/banners/white.png","width":"","height":"","alt":"Joomla! Books"}', - ); - $banners[] = array( - 'cid' => $clientIds[1], - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_2_NAME'), - 'clickurl' => 'http://shop.joomla.org', - 'catid' => $catIds[0], - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_2_DESC'), - 'ordering' => 2, - 'params' => '{"imageurl":"images/banners/white.png","width":"","height":"","alt":"Joomla! Shop"}', - ); - $banners[] = array( - 'cid' => $clientIds[0], - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_3_NAME'), - 'clickurl' => 'http://contribute.joomla.org', - 'catid' => $catIds[0], - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_BANNERS_BANNER_3_DESC'), - 'ordering' => 3, - 'params' => '{"imageurl":"images/banners/white.png","width":"","height":"","alt":""}', - ); - - $bannerTable = JTable::getInstance('Banner', 'BannersTable'); - - foreach ($banners as $banner) - { - // Set values which are always the same. - $banner['id'] = 0; - $banner['type'] = 0; - $banner['state'] = 1; - $banner['alias'] = JApplicationHelper::stringURLSafe($banner['name']); - $banner['custombannercode'] = ''; - $banner['metakey'] = ''; - $banner['purchase_type'] = -1; - $banner['created_by'] = $user->id; - $banner['created_by_alias'] = 'Joomla'; - $banner['language'] = 'en-GB'; - - $bannerTable->load(); - $bannerTable->bind($banner); - - try - { - if (!$bannerTable->store()) - { - JFactory::getLanguage()->load('com_banners'); - throw new Exception(JText::_($bannerTable->getError())); - } - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 2, $e->getMessage()); - - return $response; - } - } - - $response = array(); - $response['success'] = true; - $response['message'] = JText::_('PLG_SAMPLEDATA_TESTING_STEP2_SUCCESS'); - - return $response; - } - - /** - * Third step to enter the sampledata. Content - * - * @return array or void Will be converted into the JSON response to the module. - * - * @since 3.8.0 - */ - public function onAjaxSampledataApplyStep3() - { - if ($this->app->input->get('type') != $this->_name) - { - return; - } - - if (!JComponentHelper::isEnabled('com_content')) - { - $response = array(); - $response['success'] = true; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_SKIPPED', 3, 'com_content'); - - return $response; - } - - // Add Include Paths. - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_content/models/', 'ContentModel'); - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_content/tables/'); - - // Insert first level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_TITLE'), - 'parent_id' => 1, - ); - - try - { - $catIdsLevel1 = $this->addCategories($categories, 'com_content', 1); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 3, $e->getMessage()); - - return $response; - } - - // Insert second level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_TITLE'), - 'parent_id' => $catIdsLevel1[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_TITLE'), - 'parent_id' => $catIdsLevel1[0], - 'language' => 'en-GB', - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_TITLE'), - 'parent_id' => $catIdsLevel1[0], - ); - - try - { - $catIdsLevel2 = $this->addCategories($categories, 'com_content', 2); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 3, $e->getMessage()); - - return $response; - } - - // Insert third level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_DESC'), - 'parent_id' => $catIdsLevel2[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_1_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_1_DESC'), - 'parent_id' => $catIdsLevel2[1], - 'params' => '{"category_layout":"","image":"images/sampledata/parks/banner_cradle.jpg"}', - 'language' => 'en-GB', - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_DESC'), - 'parent_id' => $catIdsLevel2[1], - 'language' => 'en-GB', - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_3_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_3_DESC'), - 'parent_id' => $catIdsLevel2[2], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_4_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_2_4_DESC'), - 'parent_id' => $catIdsLevel2[2], - ); - - try - { - $catIdsLevel3 = $this->addCategories($categories, 'com_content', 3); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 3, $e->getMessage()); - - return $response; - } - - // Insert fourth level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_0_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_0_DESC'), - 'parent_id' => $catIdsLevel3[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_DESC'), - 'parent_id' => $catIdsLevel3[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_DESC'), - 'parent_id' => $catIdsLevel3[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_3_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_3_DESC'), - 'parent_id' => $catIdsLevel3[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_4_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_4_DESC'), - 'parent_id' => $catIdsLevel3[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_5_TITLE'), - 'parent_id' => $catIdsLevel3[2], - 'language' => 'en-GB', - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_1_2_6_TITLE'), - 'parent_id' => $catIdsLevel3[2], - 'language' => 'en-GB', - ); - - try - { - $catIdsLevel4 = $this->addCategories($categories, 'com_content', 4); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 3, $e->getMessage()); - - return $response; - } - - // Insert fifth level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_0_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_0_DESC'), - 'parent_id' => $catIdsLevel4[1], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_1_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_1_DESC'), - 'parent_id' => $catIdsLevel4[1], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_2_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_2_DESC'), - 'parent_id' => $catIdsLevel4[1], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_3_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_3_DESC'), - 'parent_id' => $catIdsLevel4[1], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_4_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_1_4_DESC'), - 'parent_id' => $catIdsLevel4[1], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_5_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_5_DESC'), - 'parent_id' => $catIdsLevel4[2], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_6_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_6_DESC'), - 'parent_id' => $catIdsLevel4[2], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_7_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_CATEGORY_0_0_0_2_7_DESC'), - 'parent_id' => $catIdsLevel4[2], - ); - - try - { - $catIdsLevel5 = $this->addCategories($categories, 'com_content', 5); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 3, $e->getMessage()); - - return $response; - } - - $tagIds = $this->app->getUserState('sampledata.testing.tags', array()); - - $articles = array( - // Articles 0 - 9 - array( - 'catid' => $catIdsLevel4[0], - 'ordering' => 7, - ), - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 5, - ), - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 6, - ), - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 7, - ), - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel2[1], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[2], - 'ordering' => 6, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 4, - 'featured' => 1 - ), - array( - 'catid' => $catIdsLevel4[0], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel4[0], - 'ordering' => 1, - ), - // Articles 10 - 19 - array( - 'catid' => $catIdsLevel4[6], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/landscape/250px_cradle_mountain_seen_from_barn_bluff.jpg', - 'image_intro_alt' => 'Cradle Mountain', - 'image_fulltext' => 'images/sampledata/parks/landscape/250px_cradle_mountain_seen_from_barn_bluff.jpg', - 'image_fulltext_alt' => 'Cradle Mountain', - 'image_fulltext_caption' => 'Source: http://commons.wikimedia.org/wiki/File:Rainforest,bluemountainsNSW.jpg' - . ' Author: Alan J.W.C. License: GNU Free Documentation License v. 1.2 or later' - ), - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[2], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel2[2], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 5, - ), - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 6, - ), - array( - 'catid' => $catIdsLevel5[2], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel3[1], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel3[1], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[2], - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel2[2], - 'ordering' => 1, - ), - // Articles 20 - 29 - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 8, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 9, - ), - array( - 'catid' => $catIdsLevel3[3], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 2, - 'tags' => $tagIds, - 'featured' => 1 - ), - array( - 'catid' => $catIdsLevel5[4], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/animals/180px_koala_ag1.jpg', - 'image_intro_alt' => 'Koala Thumbnail', - 'image_fulltext' => 'images/sampledata/parks/animals/800px_koala_ag1.jpg', - 'image_fulltext_alt' => 'Koala Climbing Tree', - 'image_fulltext_caption' => 'Source: http://en.wikipedia.org/wiki/File:Koala-ag1.jpg' - . ' Author: Arnaud Gaillard License: Creative Commons Share Alike Attribution Generic 1.0' - ), - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel5[3], - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[1], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel5[4], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 2, - ), - // Articles 30 - 39 - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 10, - ), - array( - 'catid' => $catIdsLevel5[4], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/animals/200px_phyllopteryx_taeniolatus1.jpg', - 'image_intro_alt' => 'Phyllopteryx', - 'image_fulltext' => 'images/sampledata/parks/animals/800px_phyllopteryx_taeniolatus1.jpg', - 'image_fulltext_alt' => 'Phyllopteryx', - 'image_fulltext_caption' => 'Source: http://en.wikipedia.org/wiki/File:Phyllopteryx_taeniolatus1.jpg' - . ' Author: Richard Ling License: GNU Free Documentation License v 1.2 or later' - ), - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel4[6], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/landscape/120px_pinnacles_western_australia.jpg', - 'image_intro_alt' => 'Kings Canyon', - 'image_fulltext' => 'images/sampledata/parks/landscape/800px_pinnacles_western_australia.jpg', - 'image_fulltext_alt' => 'Kings Canyon', - 'image_fulltext_caption' => 'Source: http://commons.wikimedia.org/wiki/File:Pinnacles_Western_Australia.jpg' - . ' Author: Martin Gloss License: GNU Free Documentation license v 1.2 or later.' - ), - 'ordering' => 4, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 5, - 'featured' => 1 - ), - array( - 'catid' => $catIdsLevel5[2], - 'ordering' => 4, - ), - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 4, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 11, - ), - array( - 'catid' => $catIdsLevel4[0], - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel5[3], - 'ordering' => 4, - ), - // Articles 40 - 49 - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel1[0], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[4], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/animals/220px_spottedquoll_2005_seanmcclean.jpg', - 'image_intro_alt' => 'Spotted Quoll', - 'image_fulltext' => 'images/sampledata/parks/animals/789px_spottedquoll_2005_seanmcclean.jpg', - 'image_fulltext_alt' => 'Spotted Quoll', - 'image_fulltext_caption' => 'Source: http://en.wikipedia.org/wiki/File:SpottedQuoll_2005_SeanMcClean.jpg' - . ' Author: Sean McClean License: GNU Free Documentation License v 1.2 or later' - ), - 'ordering' => 4, - ), - array( - 'catid' => $catIdsLevel5[3], - 'ordering' => 5, - ), - array( - 'catid' => $catIdsLevel5[3], - 'ordering' => 6, - ), - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel4[2], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 6, - 'featured' => 1 - ), - // Articles 50 - 59 - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 4, - ), - array( - 'catid' => $catIdsLevel4[0], - 'ordering' => 5, - ), - array( - 'catid' => $catIdsLevel2[0], - 'ordering' => 7, - ), - array( - 'catid' => $catIdsLevel5[1], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[4], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/animals/180px_wobbegong.jpg', - 'image_intro_alt' => 'Wobbegon', - 'image_fulltext' => 'images/sampledata/parks/animals/800px_wobbegong.jpg', - 'image_fulltext_alt' => 'Wobbegon', - 'image_fulltext_caption' => 'Source: http://en.wikipedia.org/wiki/File:Wobbegong.jpg' - . ' Author: Richard Ling License: GNU Free Documentation License v 1.2 or later' - ), - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel3[3], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel5[3], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel4[0], - 'ordering' => 4, - ), - array( - 'catid' => $catIdsLevel5[4], - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 7, - ), - // Articles 60 - 68 - array( - 'catid' => $catIdsLevel4[6], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/landscape/120px_rainforest_bluemountainsnsw.jpg', - 'float_intro' => 'none', - 'image_intro_alt' => 'Rain Forest Blue Mountains', - 'image_fulltext' => 'images/sampledata/parks/landscape/727px_rainforest_bluemountainsnsw.jpg', - 'image_fulltext_alt' => 'Rain Forest Blue Mountains', - 'image_fulltext_caption' => 'Source: http://commons.wikimedia.org/wiki/File:Rainforest,bluemountainsNSW.jpg' - . ' Author: Adam J.W.C. License: GNU Free Public Documentation License' - ), - 'ordering' => 2, - ), - array( - 'catid' => $catIdsLevel4[6], - 'images' => array( - 'image_intro' => 'images/sampledata/parks/landscape/180px_ormiston_pound.jpg', - 'float_intro' => 'none', - 'image_intro_alt' => 'Ormiston Pound', - 'image_fulltext' => 'images/sampledata/parks/landscape/800px_ormiston_pound.jpg', - 'image_fulltext_alt' => 'Ormiston Pound', - 'image_fulltext_caption' => 'Source: http://commons.wikimedia.org/wiki/File:Ormiston_Pound.JPG' - . ' Author: License: GNU Free Public Documentation License' - ), - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel5[1], - 'ordering' => 3, - ), - array( - 'catid' => $catIdsLevel2[0], - 'state' => 2, - 'ordering' => 0, - ), - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 1, - ), - array( - 'catid' => $catIdsLevel4[4], - 'ordering' => 0, - ), - array( - 'catid' => $catIdsLevel5[3], - 'ordering' => 0, - ), - array( - 'catid' => $catIdsLevel5[0], - 'tags' => array($tagIds[0], $tagIds[1], $tagIds[2]), - 'ordering' => 0, - ), - array( - 'catid' => $catIdsLevel5[0], - 'ordering' => 0, - ) - ); - - try - { - $ids = $this->addArticles($articles); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 3, $e->getMessage()); - - return $response; - } - - $this->app->setUserState('sampledata.testing.articles', $ids); - $this->app->setUserState('sampledata.testing.articles.catids1', $catIdsLevel1); - $this->app->setUserState('sampledata.testing.articles.catids2', $catIdsLevel2); - $this->app->setUserState('sampledata.testing.articles.catids3', $catIdsLevel3); - $this->app->setUserState('sampledata.testing.articles.catids4', $catIdsLevel4); - $this->app->setUserState('sampledata.testing.articles.catids5', $catIdsLevel5); - - $response = array(); - $response['success'] = true; - $response['message'] = JText::_('PLG_SAMPLEDATA_TESTING_STEP3_SUCCESS'); - - return $response; - } - - /** - * Fourth step to enter the sampledata. Contacts - * - * @return array or void Will be converted into the JSON response to the module. - * - * @since 3.8.0 - */ - public function onAjaxSampledataApplyStep4() - { - if ($this->app->input->get('type') != $this->_name) - { - return; - } - - if (!JComponentHelper::isEnabled('com_contact')) - { - $response = array(); - $response['success'] = true; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_SKIPPED', 4, 'com_contact'); - - return $response; - } - - // Add Include Paths. - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_contact/models/', 'ContactModel'); - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_contact/tables/'); - $model = JModelLegacy::getInstance('Contact', 'ContactModel'); - $access = (int) $this->app->get('access', 1); - $user = JFactory::getUser(); - - // Insert first level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_TITLE'), - 'parent_id' => 1, - ); - - try - { - $catIdsLevel1 = $this->addCategories($categories, 'com_contact', 1); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 4, $e->getMessage()); - - return $response; - } - - // Insert second level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_0_TITLE'), - 'parent_id' => $catIdsLevel1[0], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_TITLE'), - 'parent_id' => $catIdsLevel1[0], - ); - - try - { - $catIdsLevel2 = $this->addCategories($categories, 'com_contact', 2); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 4, $e->getMessage()); - - return $response; - } - - // Insert third level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_0_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_0_DESC'), - 'parent_id' => $catIdsLevel2[1], - ); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_1_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CATEGORY_0_1_1_DESC'), - 'parent_id' => $catIdsLevel2[1], - ); - - try - { - $catIdsLevel3 = $this->addCategories($categories, 'com_contact', 3); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 4, $e->getMessage()); - - return $response; - } - - // Insert fourth level of categories. - $categories = array(); - - // Categories A-Z. - for ($i = 65; $i <= 90; $i++) - { - $categories[] = array( - 'title' => chr($i), - 'parent_id' => $catIdsLevel3[1], - ); - } - - try - { - $catIdsLevel4 = $this->addCategories($categories, 'com_contact', 4); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 4, $e->getMessage()); - - return $response; - } - - $contacts = array( - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_NAME'), - 'con_position' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_POSITION'), - 'address' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_ADDRESS'), - 'suburb' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SUBURB'), - 'state' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_STATE'), - 'country' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_COUNTRY'), - 'postcode' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_POSTCODE'), - 'telephone' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_TELEPHONE'), - 'fax' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_FAX'), - 'misc' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_MISC'), - 'sortname1' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SORTNAME1'), - 'sortname2' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SORTNAME2'), - 'sortname3' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_0_SORTNAME3'), - 'image' => 'images/powered_by.png', - 'email_to' => 'email@example.com', - 'default_con' => 1, - 'featured' => 1, - 'catid' => $catIdsLevel1[0], - 'params' => array( - 'show_links' => 1, - 'linka_name' => 'Twitter', - 'linka' => 'http://twitter.com/joomla', - 'linkb_name' => 'YouTube', - 'linkb' => 'http://www.youtube.com/user/joomla', - 'linkc_name' => 'Facebook', - 'linkc' => 'http://www.facebook.com/joomla', - 'linkd_name' => 'FriendFeed', - 'linkd' => 'http://friendfeed.com/joomla', - 'linke_name' => 'Scribed', - 'linke' => 'http://www.scribd.com/people/view/504592-joomla', - ), - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_1_NAME'), - 'email_to' => 'webmaster@example.com', - 'featured' => 1, - 'catid' => $catIdsLevel2[0], - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_2_NAME'), - 'misc' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_2_MISC'), - 'catid' => $catIdsLevel3[0], - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_3_NAME'), - 'misc' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_3_MISC'), - 'catid' => $catIdsLevel3[0], - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_NAME'), - 'con_position' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_POSITION'), - 'address' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_ADDRESS'), - 'state' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_STATE'), - 'misc' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_4_MISC'), - 'image' => 'images/sampledata/fruitshop/bananas_2.jpg', - 'catid' => $catIdsLevel4[1], - 'params' => array( - 'show_contact_category' => 'show_with_link', - 'presentation_style' => 'plain', - 'show_position' => 1, - 'show_state' => 1, - 'show_country' => 1, - 'show_links' => 1, - 'linka_name' => 'Wikipedia: Banana English', - 'linka' => 'https://en.wikipedia.org/wiki/Banana', - 'linkb_name' => 'Wikipedia: हिन्दी केला', - 'linkb' => 'https://hi.wikipedia.org/wiki/%E0%A4%95%E0%A5%87%E0%A4%B2%E0%A4%BE', - 'linkc_name' => 'Wikipedia:Banana Português', - 'linkc' => 'https://pt.wikipedia.org/wiki/Banana', - 'linkd_name' => 'Wikipedia: Банан Русский', - 'linkd' => 'https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%BD%D0%B0%D0%BD', - 'linke_name' => '', - 'linke' => '', - 'contact_layout' => 'beez5:encyclopedia', - ), - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_NAME'), - 'con_position' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_POSITION'), - 'address' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_ADDRESS'), - 'state' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_STATE'), - 'misc' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_5_MISC'), - 'image' => 'images/sampledata/fruitshop/apple.jpg', - 'catid' => $catIdsLevel4[0], - 'params' => array( - 'presentation_style' => 'plain', - 'show_links' => 1, - 'linka_name' => 'Wikipedia: Apples English', - 'linka' => 'https://en.wikipedia.org/wiki/Apple', - 'linkb_name' => 'Wikipedia: Manzana Español', - 'linkb' => 'https://es.wikipedia.org/wiki/Manzana', - 'linkc_name' => 'Wikipedia: 苹果 中文', - 'linkc' => 'http://zh.wikipedia.org/zh/苹果', - 'linkd_name' => 'Wikipedia: Tofaa Kiswahili', - 'linkd' => 'http://sw.wikipedia.org/wiki/Tofaa', - 'linke_name' => '', - 'linke' => '', - 'contact_layout' => 'beez5:encyclopedia', - ), - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_NAME'), - 'con_position' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_POSITION'), - 'address' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_ADDRESS'), - 'state' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_STATE'), - 'misc' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_6_MISC'), - 'image' => 'images/sampledata/fruitshop/tamarind.jpg', - 'catid' => $catIdsLevel4[19], - 'params' => array( - 'presentation_style' => 'plain', - 'show_links' => 1, - 'linka_name' => 'Wikipedia: Tamarind English', - 'linka' => 'https://en.wikipedia.org/wiki/Tamarind', - 'linkb_name' => 'Wikipedia: তেঁতুল বাংলা', - 'linkb' => 'http://bn.wikipedia.org/wiki/তেঁতুল', - 'linkc_name' => 'Wikipedia: Tamarinier Français', - 'linkc' => 'https://fr.wikipedia.org/wiki/Tamarinier', - 'linkd_name' => 'Wikipedia:Tamaline lea faka-Tonga', - 'linkd' => 'http://to.wikipedia.org/wiki/Tamaline', - 'linke_name' => '', - 'linke' => '', - 'contact_layout' => 'beez5:encyclopedia', - ), - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_NAME'), - 'suburb' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_SUBURB'), - 'country' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_COUNTRY'), - 'address' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_ADDRESS'), - 'telephone' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_TELEPHONE'), - 'misc' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTACT_CONTACT_7_MISC'), - 'catid' => $catIdsLevel2[1], - ), - ); - $contactIds = array(); - - foreach ($contacts as $contact) - { - // Set values which are always the same. - $contact['id'] = 0; - $contact['access'] = $access; - $contact['created_user_id'] = $user->id; - $contact['alias'] = JApplicationHelper::stringURLSafe($contact['name']); - $contact['published'] = 1; - $contact['language'] = '*'; - $contact['associations'] = array(); - - // Reset some fields if not specified. - $fields = array('con_position', 'address', 'suburb', 'state', 'country', 'postcode', 'telephone', 'fax', - 'misc', 'sortname1', 'sortname2', 'sortname3', 'email_to', 'image'); - - // Temporary, they are waiting for PR #14112 - $fields[] = 'metakey'; - $fields[] = 'metadesc'; - $contact['metadata'] = '{}'; - - foreach ($fields as $field) - { - if (!isset($contact[$field])) - { - $contact[$field] = ''; - } - } - - // Set featured state to published if not set. - if (!isset($contact['featured'])) - { - $contact['featured'] = 0; - } - - // Set state to published if not set. - if (!isset($contact['default_con'])) - { - $contact['default_con'] = 0; - } - - // Set params to empty if not set. - if (!isset($contact['params'])) - { - $contact['params'] = array( - 'linka_name' => '', - 'linka' => '', - 'linkb_name' => '', - 'linkb' => '', - 'linkc_name' => '', - 'linkc' => '', - 'linkd_name' => '', - 'linkd' => '', - 'linke_name' => '', - 'linke' => '', - ); - } - - try - { - if (!$model->save($contact)) - { - JFactory::getLanguage()->load('com_contact'); - throw new Exception(JText::_($model->getError())); - } - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 4, $e->getMessage()); - - return $response; - } - - // Get ID from category we just added - $contactIds[] = $model->getItem()->id; - - } - - // Storing IDs in UserState for later useage. - $this->app->setUserState('sampledata.testing.contacts', $contactIds); - $this->app->setUserState('sampledata.testing.contacts.catids1', $catIdsLevel1); - $this->app->setUserState('sampledata.testing.contacts.catids2', $catIdsLevel2); - $this->app->setUserState('sampledata.testing.contacts.catids3', $catIdsLevel3); - $this->app->setUserState('sampledata.testing.contacts.catids4', $catIdsLevel4); - - $response = array(); - $response['success'] = true; - $response['message'] = JText::_('PLG_SAMPLEDATA_TESTING_STEP4_SUCCESS'); - - return $response; - } - - /** - * Fifth step to enter the sampledata. Newsfeed. - * - * @return array or void Will be converted into the JSON response to the module. - * - * @since 3.8.0 - */ - public function onAjaxSampledataApplyStep5() - { - if ($this->app->input->get('type') != $this->_name) - { - return; - } - - if (!JComponentHelper::isEnabled('com_newsfeeds')) - { - $response = array(); - $response['success'] = true; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_SKIPPED', 5, 'com_newsfeed'); - - return $response; - } - - // Add Include Paths. - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_newsfeeds/models/', 'NewsfeedsModel'); - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_newsfeeds/tables/'); - $model = JModelLegacy::getInstance('Newsfeed', 'NewsfeedsModel'); - $access = (int) $this->app->get('access', 1); - $user = JFactory::getUser(); - - // Insert first level of categories. - $categories = array(); - $categories[] = array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_CATEGORY_0_TITLE'), - 'parent_id' => 1, - ); - - try - { - $catIdsLevel1 = $this->addCategories($categories, 'com_newsfeeds', 1); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 5, $e->getMessage()); - - return $response; - } - - $newsfeeds = array( - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_0_NAME'), - 'link' => 'http://feeds.joomla.org/JoomlaAnnouncements', - 'ordering' => 1, - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_1_NAME'), - 'link' => 'http://feeds.joomla.org/JoomlaExtensions', - 'ordering' => 4, - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_2_NAME'), - 'link' => 'http://feeds.joomla.org/JoomlaSecurityNews', - 'ordering' => 2, - ), - array( - 'name' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_NEWSFEEDS_NEWSFEED_3_NAME'), - 'link' => 'http://feeds.joomla.org/JoomlaConnect', - 'ordering' => 3, - ), - ); - $newsfeedsIds = array(); - - foreach ($newsfeeds as $newsfeed) - { - // Set values which are always the same. - $newsfeed['id'] = 0; - $newsfeed['access'] = $access; - $newsfeed['created_user_id'] = $user->id; - $newsfeed['alias'] = JApplicationHelper::stringURLSafe($newsfeed['name']); - $newsfeed['published'] = 1; - $newsfeed['language'] = '*'; - $newsfeed['associations'] = array(); - $newsfeed['numarticles'] = 5; - $newsfeed['cache_time'] = 3600; - $newsfeed['rtl'] = 1; - $newsfeed['description'] = ''; - $newsfeed['images'] = ''; - $newsfeed['catid'] = $catIdsLevel1[0]; - - // Temporary, it should be fixed in other place - $newsfeed['metakey'] = ''; - $newsfeed['metadesc'] = ''; - $newsfeed['xreference'] = ''; - $newsfeed['metadata'] = '{}'; - $newsfeed['params'] = '{}'; - - try - { - if (!$model->save($newsfeed)) - { - JFactory::getLanguage()->load('com_newsfeeds'); - throw new Exception(JText::_($model->getError())); - } - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 5, $e->getMessage()); - - return $response; - } - - // Get ID from category we just added - $newsfeedsIds[] = $model->getItem()->id; - - } - - // Storing IDs in UserState for later useage. - $this->app->setUserState('sampledata.testing.newsfeeds', $newsfeedsIds); - $this->app->setUserState('sampledata.testing.newsfeeds.catids', $catIdsLevel1); - - $response = array(); - $response['success'] = true; - $response['message'] = JText::_('PLG_SAMPLEDATA_TESTING_STEP5_SUCCESS'); - - return $response; - } - - /** - * Sixth step to enter the sampledata. Menus. - * - * @return array or void Will be converted into the JSON response to the module. - * - * @since 3.8.0 - */ - public function onAjaxSampledataApplyStep6() - { - if ($this->app->input->get('type') != $this->_name) - { - return; - } - - if (!JComponentHelper::isEnabled('com_menus')) - { - $response = array(); - $response['success'] = true; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_SKIPPED', 6, 'com_menus'); - - return $response; - } - - // Create the menu types. - $menuTable = JTable::getInstance('Type', 'JTableMenu'); - $menuTypes = array(); - - for ($i = 0; $i <= 7; $i++) - { - $menu = array( - 'id' => 0, - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_' . $i . '_TITLE'), - 'description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_MENU_' . $i . '_DESCRIPTION'), - ); - - // Calculate menutype. - $menu['menutype'] = JApplicationHelper::stringURLSafe($menu['title']); - - $menuTable->load(); - $menuTable->bind($menu); - - try - { - $menuTable->store(); - } - catch (Exception $e) - { - JFactory::getLanguage()->load('com_menus'); - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - $menuTypes[] = $menuTable->menutype; - } - - // Storing IDs in UserState for later useage. - $this->app->setUserState('sampledata.testing.menutypes', $menuTypes); - - // Get previously entered Data from UserStates - $contactIds = $this->app->getUserState('sampledata.testing.contacts'); - $contactCatids1 = $this->app->getUserState('sampledata.testing.contacts.catids1'); - $contactCatids3 = $this->app->getUserState('sampledata.testing.contacts.catids3'); - $articleIds = $this->app->getUserState('sampledata.testing.articles'); - $articleCatids1 = $this->app->getUserState('sampledata.testing.articles.catids1'); - $articleCatids2 = $this->app->getUserState('sampledata.testing.articles.catids2'); - $articleCatids3 = $this->app->getUserState('sampledata.testing.articles.catids3'); - $articleCatids4 = $this->app->getUserState('sampledata.testing.articles.catids4'); - $articleCatids5 = $this->app->getUserState('sampledata.testing.articles.catids5'); - $tagIds = $this->app->getUserState('sampledata.testing.tags'); - $newsfeedsIds = $this->app->getUserState('sampledata.testing.newsfeeds'); - $newsfeedsCatids = $this->app->getUserState('sampledata.testing.newsfeeds.catids'); - - // TODO: In future, lookup component IDs for decoupled extensions and template_styles. For now they can remain hardcoded. - - // Get MenuItemModel. - JLoader::register('MenusHelper', JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php'); - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_menus/models/', 'MenusModel'); - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_menus/tables/'); - $this->menuItemModel = JModelLegacy::getInstance('Item', 'MenusModel'); - - // Unset current "Home" menuitem since we set a new one. - $menuItemTable = JTable::getInstance('Menu', 'MenusTable'); - $menuItemTable->load( - array( - 'home' => 1, - 'language' => '*', - ) - ); - $menuItemTable->home = 0; - $menuItemTable->store(); - - // Insert first level of menuitems. - $menuItems = array( - array( - 'menutype' => $menuTypes[0], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_0_TITLE'), - 'link' => 'index.php?option=com_users&view=profile', - 'component_id' => 25, - 'access' => 2, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[1], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_1_TITLE'), - 'link' => 'http://joomla.org', - 'type' => 'url', - 'component_id' => 0, - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_2_TITLE'), - 'link' => 'index.php?option=com_contact&view=contact&id=' . $contactIds[0], - 'component_id' => 8, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[4], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_3_TITLE'), - 'link' => 'index.php?option=com_users&view=login', - 'component_id' => 25, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[3], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_4_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids3[1], - 'component_id' => 22, - 'template_style_id' => 114, - 'params' => array( - 'show_description' => 1, - 'show_description_image' => 1, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 1, - 'num_links' => 4, - 'show_pagination' => 2, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[4], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_5_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[37], - 'component_id' => 22, - 'params' => array( - 'show_category' => 0, - 'show_parent_category' => 0, - 'show_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 0, - 'show_hits' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[3], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_6_TITLE'), - 'link' => 'index.php?option=com_content&view=form&layout=edit', - 'component_id' => 22, - 'access' => 3, - 'template_style_id' => 114, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[3], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_7_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[5], - 'component_id' => 22, - 'template_style_id' => 114, - 'params' => array( - 'show_title' => 0, - 'show_category' => 0, - 'link_category' => 0, - 'show_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 0, - 'show_print_icon' => 0, - 'show_email_icon' => 0, - 'show_hits' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[3], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_8_TITLE'), - 'link' => 'index.php?option=com_content&view=categories&id=' . $articleCatids3[2], - 'component_id' => 22, - 'template_style_id' => 114, - 'params' => array( - 'show_base_description' => 1, - 'drill_down_layout' => 1, - 'show_description' => 1, - 'show_description_image' => 1, - 'maxLevel' => -1, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_9_TITLE'), - 'link' => 'index.php?option=com_contact&view=categories&id=' . $contactCatids1[0], - 'component_id' => 8, - 'params' => array( - 'maxLevel' => -1, - 'presentation_style' => 'sliders', - 'show_links' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_10_TITLE'), - 'link' => 'index.php?option=com_newsfeeds&view=categories&id=0', - 'component_id' => 17, - 'params' => array( - 'show_base_description' => 1, - 'categories_description' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_10_PARAM_CATEGORIES_DESCRIPTION'), - 'maxLevel' => -1, - 'show_empty_categories' => 1, - 'show_description' => 1, - 'show_description_image' => 1, - 'show_cat_num_articles' => 1, - 'feed_character_count' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_11_TITLE'), - 'link' => 'index.php?option=com_newsfeeds&view=category&id=' . $newsfeedsCatids[0], - 'component_id' => 17, - 'params' => array( - 'maxLevel' => -1, - 'feed_character_count' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_12_TITLE'), - 'link' => 'index.php?option=com_newsfeeds&view=newsfeed&id=' . $newsfeedsIds[0], - 'component_id' => 17, - 'params' => array( - 'feed_character_count' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_13_TITLE'), - 'link' => 'index.php?option=com_search&view=search', - 'component_id' => 19, - 'params' => array( - 'search_areas' => 1, - 'show_date' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_14_TITLE'), - 'link' => 'index.php?option=com_content&view=archive', - 'component_id' => 22, - 'params' => array( - 'show_category' => 1, - 'link_category' => 1, - 'show_title' => 1, - 'link_titles' => 1, - 'show_intro' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_15_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[5], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_16_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids3[1], - 'component_id' => 22, - 'params' => array( - 'show_description' => 0, - 'show_description_image' => 0, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'show_pagination' => 2, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_17_TITLE'), - 'link' => 'index.php?option=com_content&view=category&id=' . $articleCatids2[0], - 'component_id' => 22, - 'params' => array( - 'orderby_sec' => 'alpha', - 'display_num' => 10, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_18_TITLE'), - 'link' => 'index.php?option=com_content&view=featured', - 'component_id' => 22, - 'params' => array( - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'multi_column_order' => 1, - 'orderby_sec' => 'front', - 'show_pagination' => 2, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_19_TITLE'), - 'link' => 'index.php?option=com_content&view=form&layout=edit', - 'component_id' => 22, - 'access' => 3, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_20_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[9], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_21_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[57], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 1, - 'page_title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_21_PARAM_PAGE_TITLE'), - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_22_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[8], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_23_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[51], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_24_TITLE'), - 'link' => 'index.php?option=com_content&view=categories&id=' . $articleCatids1[0], - 'component_id' => 22, - 'params' => array( - 'maxLevel' => -1, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_25_TITLE'), - 'link' => 'index.php?option=com_contact&view=category&id=' . $contactCatids3[0], - 'component_id' => 8, - 'params' => array( - 'maxLevel' => -1, - 'display_num' => 20, - 'presentation_style' => 'sliders', - 'show_links' => 1, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_26_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[38], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[52], - 'component_id' => 22, - 'params' => array( - 'show_title' => 1, - 'link_titles' => 0, - 'show_intro' => 1, - 'show_category' => 0, - 'show_parent_category' => 0, - 'show_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 0, - 'show_hits' => 0, - 'show_noauth' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_28_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[62], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_29_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[55], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_30_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[29], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_31_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[28], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_32_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[43], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_33_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[6], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_34_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[39], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_35_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[35], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_36_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[30], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_37_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[26], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_38_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[44], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_39_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[27], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_40_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[56], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_41_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[18], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_42_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[1], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_43_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[36], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_44_TITLE'), - 'link' => 'index.php?option=com_users&view=login', - 'component_id' => 25, - 'params' => array( - 'logindescription_show' => 1, - 'logoutdescription_show' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_45_TITLE'), - 'link' => 'index.php?option=com_users&view=profile', - 'component_id' => 25, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_46_TITLE'), - 'link' => 'index.php?option=com_users&view=profile&layout=edit', - 'component_id' => 25, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_47_TITLE'), - 'link' => 'index.php?option=com_users&view=registration', - 'component_id' => 25, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_48_TITLE'), - 'link' => 'index.php?option=com_users&view=remind', - 'component_id' => 25, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_49_TITLE'), - 'link' => 'index.php?option=com_users&view=reset', - 'component_id' => 25, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_50_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[15], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_51_TITLE'), - 'link' => 'index.php?option=com_content&view=category&id=' . $articleCatids5[0], - 'component_id' => 22, - 'params' => array( - 'maxLevel' => 0, - 'show_category_title' => 1, - 'show_empty_categories' => 1, - 'show_description' => 1, - 'display_num' => 0, - 'show_headings' => 0, - 'list_show_title' => 1, - 'list_show_date' => 0, - 'list_show_hits' => 0, - 'list_show_author' => 0, - 'orderby_sec' => 'order', - 'show_category' => 1, - 'link_category' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_52_TITLE'), - 'link' => 'index.php?option=com_content&view=category&id=' . $articleCatids5[1], - 'component_id' => 22, - 'params' => array( - 'maxLevel' => 0, - 'show_category_title' => 1, - 'show_description' => 1, - 'display_num' => 0, - 'show_headings' => 0, - 'list_show_title' => 1, - 'list_show_hits' => 0, - 'list_show_author' => 0, - 'orderby_sec' => 'order', - 'show_category' => 1, - 'link_category' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_53_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[58], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_54_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[11], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_55_TITLE'), - 'link' => 'index.php?option=com_contact&view=categories&id=' . $contactCatids3[1], - 'component_id' => 8, - 'template_style_id' => 7, - 'params' => array( - 'show_base_description' => 1, - 'show_description' => 1, - 'show_description_image' => 1, - 'maxLevel' => -1, - 'show_empty_categories' => 1, - 'show_headings' => 0, - 'show_email_headings' => 0, - 'show_telephone_headings' => 0, - 'show_mobile_headings' => 0, - 'show_fax_headings' => 0, - 'show_suburb_headings' => 0, - 'show_links' => 1, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'pageclass_sfx' => ' categories-listalphabet', - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_56_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[19], - 'component_id' => 22, - 'template_style_id' => 7, - 'params' => array( - 'show_title' => 0, - 'link_titles' => 0, - 'show_intro' => 1, - 'show_category' => 0, - 'link_category' => 0, - 'show_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 0, - 'show_icons' => 0, - 'show_print_icon' => 0, - 'show_email_icon' => 0, - 'show_hits' => 0, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_57_TITLE'), - 'link' => 'index.php?option=com_contact&view=category&id=' . $contactCatids3[0], - 'component_id' => 8, - 'template_style_id' => 7, - 'params' => array( - 'maxLevel' => -1, - 'show_headings' => 0, - 'show_links' => 1, - 'show_feed_link' => 1, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_58_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids3[3], - 'component_id' => 22, - 'template_style_id' => 7, - 'params' => array( - 'layout_type' => 'blog', - 'show_category_title' => 1, - 'show_description' => 1, - 'maxLevel' => 0, - 'num_leading_articles' => 5, - 'num_intro_articles' => 0, - 'num_columns' => 1, - 'num_links' => 4, - 'orderby_sec' => 'alpha', - 'show_title' => 1, - 'link_titles' => 1, - 'show_intro' => 1, - 'show_category' => 0, - 'show_parent_category' => 0, - 'link_parent_category' => 0, - 'show_author' => 0, - 'show_publish_date' => 0, - 'show_hits' => 0, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_59_TITLE'), - 'link' => 'index.php?option=com_users&view=login', - 'component_id' => 25, - 'template_style_id' => 7, - 'params' => array( - 'logindescription_show' => 1, - 'logoutdescription_show' => 1, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_60_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[12], - 'component_id' => 22, - 'template_style_id' => 7, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[4], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_61_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[23], - 'component_id' => 22, - 'params' => array( - 'show_title' => 1, - 'show_category' => 0, - 'link_category' => 0, - 'show_parent_category' => 0, - 'link_parent_category' => 0, - 'show_author' => 0, - 'link_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 0, - 'show_icons' => 0, - 'show_print_icon' => 0, - 'show_email_icon' => 0, - 'show_hits' => 0, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - 'home' => 1 - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_62_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[21], - 'component_id' => 22, - 'params' => array( - 'show_title' => 1, - 'link_titles' => 0, - 'show_category' => 0, - 'show_parent_category' => 0, - 'show_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 0, - 'show_hits' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_63_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_64_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[25], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[4], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_65_TITLE'), - 'link' => 'administrator', - 'type' => 'url', - 'component_id' => 0, - 'params' => array(), - ), - array( - 'menutype' => $menuTypes[0], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_66_TITLE'), - 'link' => 'index.php?option=com_content&view=form&layout=edit', - 'component_id' => 22, - 'access' => 3, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_67_TITLE'), - 'link' => 'index.php?option=com_contact&view=featured', - 'component_id' => 8, - 'params' => array( - 'maxLevel' => -1, - 'presentation_style' => 'sliders', - 'show_links' => 1, - 'show_page_heading' => 1, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_68_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[3], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 1, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_69_TITLE'), - 'link' => 'index.php?option=com_content&view=form&layout=edit', - 'component_id' => 22, - 'access' => 4, - 'template_style_id' => 7, - 'params' => array( - 'enable_category' => 0, - 'catid' => 14, - 'menu_text' => 1, - 'show_page_heading' => 1, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[5], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_70_TITLE'), - 'link' => 'index.php?option=com_content&view=category&id=' . $articleCatids3[4], - 'component_id' => 22, - 'template_style_id' => 7, - 'params' => array( - 'show_category_title' => 1, - 'show_description' => 1, - 'maxLevel' => 0, - 'show_empty_categories' => 0, - 'display_num' => 10, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_71_TITLE'), - 'link' => 'index.php?option=com_finder&view=search&q=&f=', - 'component_id' => 27, - 'params' => array( - 'description_length' => 255, - 'allow_empty_query' => 0, - 'show_feed' => 0, - 'show_feed_text' => 0, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_72_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[66], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_73_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[67], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[7], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_74_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[68], - 'component_id' => 22, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_75_TITLE'), - 'link' => 'index.php?option=com_tags&view=tag&layout=list&id[0]=' . $tagIds[2], - 'component_id' => 29, - 'params' => array( - 'tag_list_item_maximum_characters' => 0, - 'maximum' => 200, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_76_TITLE'), - 'link' => 'index.php?option=com_tags&view=tag&id[0]=' . $tagIds[1], - 'component_id' => 29, - 'params' => array( - 'tag_list_item_maximum_characters' => 0, - 'maximum' => 200, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_77_TITLE'), - 'link' => 'index.php?option=com_tags&view=tags', - 'component_id' => 29, - 'params' => array( - 'tag_columns' => 4, - 'all_tags_tag_maximum_characters' => 0, - 'maximum' => 200, - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_78_TITLE'), - 'link' => 'index.php?option=com_config&view=config&controller=config.display.config', - 'component_id' => 23, - 'access' => 6, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[6], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_79_TITLE'), - 'link' => 'index.php?option=com_config&view=templates&controller=config.display.templates', - 'component_id' => 23, - 'access' => 6, - 'params' => array( - 'menu_text' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - ); - - try - { - $menuIdsLevel1 = $this->addMenuItems($menuItems, 1); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - // Insert alias menu items for level 1. - $menuItems = array( - array( - 'menutype' => $menuTypes[1], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_100_TITLE'), - 'link' => 'index.php?Itemid=', - 'type' => 'alias', - 'component_id' => 0, - 'params' => array( - 'aliasoptions' => $menuIdsLevel1[5], - ), - ), - array( - 'menutype' => $menuTypes[1], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_101_TITLE'), - 'link' => 'index.php?Itemid=', - 'type' => 'alias', - 'component_id' => 0, - 'params' => array( - 'aliasoptions' => $menuIdsLevel1[61], - ), - ), - array( - 'menutype' => $menuTypes[1], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_102_TITLE'), - 'link' => 'index.php?Itemid=', - 'type' => 'alias', - 'component_id' => 22, - 'params' => array( - 'aliasoptions' => $menuIdsLevel1[7], - 'menu_text' => 1 - ), - ), - array( - 'menutype' => $menuTypes[1], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_103_TITLE'), - 'link' => 'index.php?Itemid=', - 'type' => 'alias', - 'component_id' => 0, - 'params' => array( - 'aliasoptions' => $menuIdsLevel1[56], - 'menu_text' => 1 - ), - ), - ); - - try - { - $menuIdsLevel1Alias = $this->addMenuItems($menuItems, 1); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - // Insert second level of menuitems. - $menuItems = array( - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_TITLE'), - 'link' => 'index.php?option=com_content&view=categories&id=' . $articleCatids3[0], - 'parent_id' => $menuIdsLevel1[27], - 'component_id' => 22, - 'params' => array( - 'show_base_description' => 1, - 'maxLevelcat' => 1, - 'show_empty_categories_cat' => 1, - 'show_subcat_desc_cat' => 1, - 'show_cat_num_articles_cat' => 0, - 'show_description' => 1, - 'show_description_image' => 1, - 'maxLevel' => 1, - 'show_empty_categories' => 1, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'secure' => 0 - ), - ), - array( - 'menutype' => $menuTypes[3], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_8_1_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids4[5], - 'parent_id' => $menuIdsLevel1[8], - 'component_id' => 22, - 'template_style_id' => 114, - 'params' => array( - 'show_description' => 1, - 'show_description_image' => 0, - 'num_leading_articles' => 0, - 'num_intro_articles' => 6, - 'num_columns' => 2, - 'num_links' => 4, - 'multi_column_order' => 1, - 'show_pagination' => 2, - 'show_intro' => 0, - 'show_category' => 1, - 'link_category' => 1, - 'show_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 1, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[3], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_8_2_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids4[5], - 'parent_id' => $menuIdsLevel1[8], - 'component_id' => 22, - 'template_style_id' => 114, - 'params' => array( - 'show_description' => 0, - 'show_description_image' => 0, - 'num_leading_articles' => 0, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'multi_column_order' => 1, - 'show_pagination' => 2, - 'show_intro' => 0, - 'show_category' => 1, - 'show_parent_category' => 0, - 'link_parent_category' => 0, - 'show_author' => 0, - 'link_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_item_navigation' => 1, - 'show_readmore' => 1, - 'show_icons' => 0, - 'show_print_icon' => 0, - 'show_email_icon' => 0, - 'show_hits' => 0, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - ); - - try - { - $menuIdsLevel2 = $this->addMenuItems($menuItems, 2); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - // Insert alias menu items for level 2. - $menuItems = array( - array( - 'menutype' => $menuTypes[4], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_103_TITLE'), - 'link' => 'index.php?Itemid=', - 'type' => 'alias', - 'parent_id' => $menuIdsLevel1[5], - 'component_id' => 0, - 'params' => array( - 'aliasoptions' => $menuIdsLevel1[7], - ), - ), - array( - 'menutype' => $menuTypes[4], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_104_TITLE'), - 'link' => 'index.php?Itemid=', - 'type' => 'alias', - 'parent_id' => $menuIdsLevel1[5], - 'component_id' => 0, - 'params' => array( - 'aliasoptions' => $menuIdsLevel1[56], - ), - ), - ); - - try - { - $menuIdsLevel2Alias = $this->addMenuItems($menuItems, 2); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - // Insert third level of menuitems. - $menuItems = array( - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_TITLE'), - 'link' => 'index.php?option=com_content&view=category&id=' . $articleCatids4[2], - 'parent_id' => $menuIdsLevel2[0], - 'component_id' => '22', - 'params' => array( - 'show_description' => 1, - 'maxLevel' => 2, - 'show_empty_categories' => 1, - 'show_no_articles' => '0', - 'show_subcat_desc' => 1, - 'show_pagination_limit' => '0', - 'filter_field' => 'hide', - 'show_headings' => '0', - 'list_show_date' => '0', - 'list_show_hits' => '0', - 'list_show_author' => '0', - 'show_pagination' => '0', - 'show_title' => 1, - 'link_titles' => 1, - 'menu_text' => 1, - 'page_title' => 'Templates', - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_1_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids4[3], - 'parent_id' => $menuIdsLevel2[0], - 'component_id' => '22', - 'params' => array( - 'show_description' => 1, - 'show_description_image' => 1, - 'show_category_title' => 1, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids4[4], - 'parent_id' => $menuIdsLevel2[0], - 'component_id' => '22', - 'params' => array( - 'show_description' => 1, - 'show_category_title' => 1, - 'num_leading_articles' => 0, - 'num_intro_articles' => 7, - 'num_columns' => 1, - 'num_links' => 0, - 'orderby_sec' => 'order', - 'show_category' => 0, - 'link_category' => 0, - 'show_parent_category' => 0, - 'link_parent_category' => 0, - 'show_author' => 0, - 'show_create_date' => 0, - 'show_modify_date' => 0, - 'show_publish_date' => 0, - 'show_icons' => 0, - 'show_print_icon' => 0, - 'show_email_icon' => 0, - 'show_hits' => 0, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ) - ); - - try - { - $menuIdsLevel3 = $this->addMenuItems($menuItems, 3); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - // Insert fourth level of menuitems. - $menuItems = array( - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_0_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[45], - 'parent_id' => $menuIdsLevel3[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_1_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[4], - 'parent_id' => $menuIdsLevel3[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_2_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[59], - 'parent_id' => $menuIdsLevel3[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_3_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[13], - 'parent_id' => $menuIdsLevel3[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0 - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_4_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[14], - 'parent_id' => $menuIdsLevel3[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_5_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[40], - 'parent_id' => $menuIdsLevel3[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_2_6_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[50], - 'parent_id' => $menuIdsLevel3[2], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_7_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids5[6], - 'parent_id' => $menuIdsLevel3[0], - 'component_id' => 22, - 'params' => array( - 'show_description' => 1, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_8_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids5[5], - 'parent_id' => $menuIdsLevel3[0], - 'component_id' => 22, - 'params' => array( - 'show_description' => 1, - 'num_leading_articles' => 2, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_9_TITLE'), - 'link' => 'index.php?option=com_content&view=category&layout=blog&id=' . $articleCatids5[7], - 'parent_id' => $menuIdsLevel3[0], - 'component_id' => 22, - 'params' => array( - 'show_description' => 1, - 'num_leading_articles' => 1, - 'num_intro_articles' => 4, - 'num_columns' => 2, - 'num_links' => 4, - 'show_page_heading' => 1, - 'secure' => 0, - ), - ), - ); - - try - { - $menuIdsLevel4 = $this->addMenuItems($menuItems, 4); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - // Insert fifth level of menuitems. - $menuItems = array( - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_8_0_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[48], - 'parent_id' => $menuIdsLevel4[8], - 'component_id' => 22, - 'template_style_id' => 3, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_8_1_TITLE'), - 'link' => 'index.php?option=com_content&view=featured', - 'parent_id' => $menuIdsLevel4[8], - 'component_id' => 22, - 'template_style_id' => 3, - 'params' => array( - 'num_leading_articles' => 1, - 'num_intro_articles' => 3, - 'num_columns' => 3, - 'num_links' => 0, - 'multi_column_order' => 1, - 'orderby_sec' => 'front', - 'show_pagination' => 2, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_7_2_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[48], - 'parent_id' => $menuIdsLevel4[7], - 'component_id' => 22, - 'template_style_id' => 4, - 'params' => array( - 'show_page_heading' => 0, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_7_3_TITLE'), - 'link' => 'index.php?option=com_content&view=featured', - 'parent_id' => $menuIdsLevel4[7], - 'component_id' => 22, - 'template_style_id' => 4, - 'params' => array( - 'num_leading_articles' => 1, - 'num_intro_articles' => 3, - 'num_columns' => 3, - 'num_links' => 0, - 'multi_column_order' => 1, - 'orderby_sec' => 'front', - 'show_pagination' => 2, - 'show_feed_link' => 1, - 'show_page_heading' => 0, - 'secure' => 0, - ), - - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_9_4_TITLE'), - 'link' => 'index.php?option=com_content&view=article&id=' . $articleIds[48], - 'parent_id' => $menuIdsLevel4[9], - 'component_id' => 22, - 'params' => array( - 'show_page_heading' => 1, - 'secure' => 0, - ), - ), - array( - 'menutype' => $menuTypes[2], - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MENUS_ITEM_27_0_0_9_5_TITLE'), - 'link' => 'index.php?option=com_content&view=featured', - 'parent_id' => $menuIdsLevel4[9], - 'component_id' => 22, - 'params' => array( - 'num_leading_articles' => 1, - 'num_intro_articles' => 3, - 'num_columns' => 3, - 'num_links' => 0, - 'orderby_sec' => 'front', - 'show_page_heading' => 1, - 'secure' => 0, - ), - ), - ); - - try - { - $menuIdsLevel5 = $this->addMenuItems($menuItems, 5); - } - catch (Exception $e) - { - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 6, $e->getMessage()); - - return $response; - } - - $this->app->setUserState('sampledata.testing.menus.menuids1', $menuIdsLevel1); - $this->app->setUserState('sampledata.testing.menus.menuids2', $menuIdsLevel2); - $this->app->setUserState('sampledata.testing.menus.menuids3', $menuIdsLevel3); - $this->app->setUserState('sampledata.testing.menus.menuids4', $menuIdsLevel4); - $this->app->setUserState('sampledata.testing.menus.menuids5', $menuIdsLevel5); - - $response = array(); - $response['success'] = true; - $response['message'] = JText::_('PLG_SAMPLEDATA_TESTING_STEP6_SUCCESS'); - - return $response; - } - - /** - * Seventh step to enter the sampledata. Modules. - * - * @return array or void Will be converted into the JSON response to the module. - * - * @since 3.8.0 - */ - public function onAjaxSampledataApplyStep7() - { - if ($this->app->input->get('type') != $this->_name) - { - return; - } - - if (!JComponentHelper::isEnabled('com_modules')) - { - $response = array(); - $response['success'] = true; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_SKIPPED', 7, 'com_modules'); - - return $response; - } - - // Add Include Paths. - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_modules/models/', 'ModulesModelModule'); - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_modules/tables/'); - $model = JModelLegacy::getInstance('Module', 'ModulesModel'); - $access = (int) $this->app->get('access', 1); - - // Get previously entered Data from UserStates - $menuTypes = $this->app->getUserState('sampledata.testing.menutypes'); - $articleCatids1 = $this->app->getUserState('sampledata.testing.articles.catids1'); - $articleCatids2 = $this->app->getUserState('sampledata.testing.articles.catids2'); - $articleCatids3 = $this->app->getUserState('sampledata.testing.articles.catids3'); - $articleCatids4 = $this->app->getUserState('sampledata.testing.articles.catids4'); - $articleCatids5 = $this->app->getUserState('sampledata.testing.articles.catids5'); - $bannerCatids = $this->app->getUserState('sampledata.testing.banners.catids'); - $menuIdsLevel1 = $this->app->getUserState('sampledata.testing.menus.menuids1'); - $menuIdsLevel2 = $this->app->getUserState('sampledata.testing.menus.menuids2'); - $menuIdsLevel5 = $this->app->getUserState('sampledata.testing.menus.menuids5'); - - $modules = array( - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_0_TITLE'), - 'ordering' => 1, - 'position' => 'position-7', - 'module' => 'mod_menu', - 'access' => $access, - 'params' => array( - 'menutype' => $menuTypes[4], - 'startLevel' => 0, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'moduleclass_sfx' => '_menu', - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_1_TITLE'), - 'ordering' => 1, - 'position' => 'position-10', - 'module' => 'mod_banners', - 'access' => $access, - 'showtitle' => 0, - 'params' => array( - 'target' => 1, - 'count' => 1, - 'cid' => 3, - 'catid' => array(), - 'tag_search' => 0, - 'ordering' => 0, - 'footer_text' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_1_FOOTEER_TEXT'), - 'cache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_2_TITLE'), - 'ordering' => 3, - 'position' => 'position-7', - 'module' => 'mod_menu', - 'access' => 2, - 'assignment' => -1, - 'assigned' => array( - $menuIdsLevel1[4], - $menuIdsLevel1[6], - $menuIdsLevel1[7], - $menuIdsLevel1[8], - $menuIdsLevel1[55], - $menuIdsLevel1[56], - $menuIdsLevel1[57], - $menuIdsLevel1[58], - $menuIdsLevel1[59], - $menuIdsLevel1[60], - $menuIdsLevel1[69], - $menuIdsLevel1[70], - $menuIdsLevel2[1], - $menuIdsLevel2[2], - ), - 'params' => array( - 'menutype' => $menuTypes[0], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'moduleclass_sfx' => '_menu', - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_3_TITLE'), - 'ordering' => 1, - 'position' => 'position-1', - 'module' => 'mod_menu', - 'access' => $access, - 'params' => array( - 'menutype' => $menuTypes[1], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'class_sfx' => ' nav-pills', - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid', - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_4_TITLE'), - 'ordering' => 2, - 'position' => 'position-5', - 'module' => 'mod_menu', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[4], - $menuIdsLevel1[5], - $menuIdsLevel1[6], - $menuIdsLevel1[7], - $menuIdsLevel1[8], - $menuIdsLevel2[1], - $menuIdsLevel2[2], - ), - 'params' => array( - 'menutype' => $menuTypes[3], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_5_TITLE'), - 'ordering' => 4, - 'position' => 'position-7', - 'module' => 'mod_menu', - 'access' => $access, - 'assignment' => -1, - 'assigned' => array( - $menuIdsLevel1[4], - $menuIdsLevel1[5], - $menuIdsLevel1[6], - $menuIdsLevel1[7], - $menuIdsLevel1[8], - $menuIdsLevel1[55], - $menuIdsLevel1[56], - $menuIdsLevel1[57], - $menuIdsLevel1[58], - $menuIdsLevel1[59], - $menuIdsLevel1[60], - $menuIdsLevel1[69], - $menuIdsLevel1[70], - $menuIdsLevel2[1], - $menuIdsLevel2[2], - ), - 'params' => array( - 'menutype' => $menuTypes[2], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'moduleclass_sfx' => '_menu', - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_6_TITLE'), - 'ordering' => 1, - 'position' => 'sitemapload', - 'module' => 'mod_menu', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => '-', - 'params' => array( - 'menutype' => $menuTypes[4], - 'startLevel' => 2, - 'endLevel' => 3, - 'showAllChildren' => 1, - 'class_sfx' => 'sitemap', - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_7_TITLE'), - 'ordering' => 5, - 'position' => 'position-7', - 'module' => 'mod_menu', - 'access' => $access, - 'assignment' => -1, - 'assigned' => array( - $menuIdsLevel1[4], - $menuIdsLevel1[5], - $menuIdsLevel1[6], - $menuIdsLevel1[7], - $menuIdsLevel1[8], - $menuIdsLevel1[55], - $menuIdsLevel1[56], - $menuIdsLevel1[57], - $menuIdsLevel1[58], - $menuIdsLevel1[59], - $menuIdsLevel1[60], - $menuIdsLevel1[69], - $menuIdsLevel1[70], - $menuIdsLevel2[1], - $menuIdsLevel2[2], - ), - 'params' => array( - 'menutype' => $menuTypes[4], - 'startLevel' => 1, - 'endLevel' => 1, - 'showAllChildren' => 0, - 'moduleclass_sfx' => '_menu', - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_8_TITLE'), - 'ordering' => 1, - 'module' => 'mod_articles_archive', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[42], - ), - 'params' => array( - 'count' => '10', - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_9_TITLE'), - 'ordering' => 1, - 'module' => 'mod_articles_latest', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[37], - ), - 'params' => array( - 'catid' => array($articleCatids2[0]), - 'count' => 5, - 'ordering' => 'c_dsc', - 'user_id' => 0, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_10_TITLE'), - 'ordering' => 1, - 'module' => 'mod_articles_popular', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[30], - ), - 'params' => array( - 'catid' => array($articleCatids2[1], $articleCatids2[2]), - 'count' => 5, - 'show_front' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_11_TITLE'), - 'ordering' => 1, - 'module' => 'mod_feed', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[50], - ), - 'params' => array( - 'rssurl' => 'http://community.joomla.org/blogs/community.feed?type=rss', - 'rssrtl' => 0, - 'rsstitle' => 1, - 'rssdesc' => 1, - 'rssimage' => 1, - 'rssitems' => 3, - 'rssitemdesc' => 1, - 'word_count' => 0, - 'cache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_12_TITLE'), - 'ordering' => 1, - 'module' => 'mod_articles_news', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[36], - ), - 'params' => array( - 'catid' => array($articleCatids2[0]), - 'image' => 0, - 'item_title' => 0, - 'item_heading' => 'h4', - 'showLastSeparator' => 1, - 'readmore' => 1, - 'count' => 1, - 'ordering' => 'a.publish_up', - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_13_TITLE'), - 'ordering' => 1, - 'module' => 'mod_random_image', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[35], - ), - 'params' => array( - 'type' => 'jpg', - 'folder' => 'images/sampledata/parks/animals', - 'width' => 180, - 'cache' => 0 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_14_TITLE'), - 'ordering' => 1, - 'module' => 'mod_related_items', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[43], - ), - 'params' => array( - 'showDate' => 0, - 'owncache' => 1 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_15_TITLE'), - 'ordering' => 1, - 'module' => 'mod_search', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[34], - ), - 'params' => array( - 'width' => '20', - 'button_pos' => 'right', - 'opensearch' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_16_TITLE'), - 'ordering' => 1, - 'module' => 'mod_stats', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[32], - ), - 'params' => array( - 'serverinfo' => 1, - 'siteinfo' => 1, - 'counter' => 1, - 'increase' => 0, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_17_TITLE'), - 'ordering' => 1, - 'position' => 'syndicateload', - 'module' => 'mod_syndicate', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[38], - ), - 'params' => array( - 'text' => 'Feed Entries', - 'format' => 'rss', - 'cache' => 0 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_18_TITLE'), - 'ordering' => 1, - 'module' => 'mod_users_latest', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[28], - ), - 'params' => array( - 'shownumber' => 5, - 'linknames' => 0, - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_19_TITLE'), - 'ordering' => 1, - 'module' => 'mod_whosonline', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[29], - ), - 'params' => array( - 'showmode' => 2, - 'linknames' => 0, - 'cache' => 0 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_20_TITLE'), - 'ordering' => 1, - 'module' => 'mod_wrapper', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[40], - ), - 'params' => array( - 'url' => 'http://www.youtube.com/embed/vb2eObvmvdI', - 'add' => 1, - 'scrolling' => 'auto', - 'width' => 640, - 'height' => 390, - 'height_auto' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_21_TITLE'), - 'ordering' => 1, - 'module' => 'mod_footer', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[41], - ), - 'params' => array( - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_22_TITLE'), - 'ordering' => 1, - 'module' => 'mod_login', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[39], - ), - 'params' => array( - 'login' => 280, - 'logout' => 280, - 'greeting' => 1, - 'name' => 0, - 'usesecure' => 0, - 'cache' => 0 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_23_TITLE'), - 'ordering' => 1, - 'module' => 'mod_menu', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[31], - ), - 'params' => array( - 'menutype' => $menuTypes[4], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_24_TITLE'), - 'ordering' => 6, - 'position' => 'position-7', - 'module' => 'mod_articles_latest', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[4], - $menuIdsLevel1[6], - $menuIdsLevel1[7], - $menuIdsLevel1[8], - $menuIdsLevel2[1], - $menuIdsLevel2[2], - ), - 'params' => array( - 'catid' => array($articleCatids3[1]), - 'count' => 5, - 'ordering' => 'c_dsc', - 'user_id' => 0, - 'show_front' => 1, - 'cache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_25_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_25_CONTENT'), - 'ordering' => 1, - 'module' => 'mod_custom', - 'access' => $access, - 'assigned' => array( - $menuIdsLevel1[54], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_26_TITLE'), - 'ordering' => 1, - 'module' => 'mod_breadcrumbs', - 'access' => $access, - 'assigned' => array( - $menuIdsLevel1[53], - ), - 'params' => array( - 'showHere' => 1, - 'showHome' => 1, - 'homeText' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_26_HOMETEXT'), - 'showLast' => 1, - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_27_TITLE'), - 'ordering' => 1, - 'module' => 'mod_banners', - 'access' => $access, - 'assigned' => array( - $menuIdsLevel1[33], - ), - 'params' => array( - 'target' => 1, - 'count' => 1, - 'cid' => 1, - 'catid' => array($bannerCatids[0]), - 'tag_search' => 0, - 'ordering' => 'random', - 'cache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_28_TITLE'), - 'ordering' => 3, - 'position' => 'position-5', - 'module' => 'mod_menu', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[5], - $menuIdsLevel1[55], - $menuIdsLevel1[56], - $menuIdsLevel1[57], - $menuIdsLevel1[58], - $menuIdsLevel1[59], - $menuIdsLevel1[60], - $menuIdsLevel1[69], - $menuIdsLevel1[70], - ), - 'params' => array( - 'menutype' => $menuTypes[5], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_29_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_29_CONTENT'), - 'ordering' => 1, - 'position' => 'position-12', - 'module' => 'mod_custom', - 'access' => 4, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[55], - $menuIdsLevel1[56], - $menuIdsLevel1[57], - $menuIdsLevel1[58], - $menuIdsLevel1[59], - $menuIdsLevel1[60], - $menuIdsLevel1[69], - $menuIdsLevel1[70], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_30_TITLE'), - 'ordering' => 1, - 'module' => 'mod_articles_categories', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[63], - ), - 'params' => array( - 'parent' => 29, - 'show_description' => 0, - 'show_children' => 0, - 'count' => 0, - 'maxlevel' => 0, - 'item_heading' => 4, - 'owncache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_31_TITLE'), - 'ordering' => 3, - 'position' => 'position-4', - 'published' => 0, - 'module' => 'mod_languages', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[4], - $menuIdsLevel1[6], - $menuIdsLevel1[7], - $menuIdsLevel1[8], - $menuIdsLevel2[1], - $menuIdsLevel2[2], - ), - 'params' => array( - 'image' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_32_TITLE'), - 'ordering' => 1, - 'position' => 'position-0', - 'module' => 'mod_search', - 'access' => $access, - 'params' => array( - 'width' => '20', - 'button_pos' => 'right', - 'imagebutton' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_33_TITLE'), - 'ordering' => 1, - 'position' => 'languageswitcherload', - 'published' => 0, - 'module' => 'mod_languages', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[64], - ), - 'params' => array( - 'image' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_34_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_34_CONTENT'), - 'ordering' => 1, - 'position' => 'position-4', - 'module' => 'mod_custom', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[55], - $menuIdsLevel1[56], - $menuIdsLevel1[57], - $menuIdsLevel1[58], - $menuIdsLevel1[60], - $menuIdsLevel1[69], - $menuIdsLevel1[70], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_35_TITLE'), - 'ordering' => 2, - 'position' => 'position-7', - 'published' => 0, - 'module' => 'mod_menu', - 'access' => $access, - 'assignment' => '-', - 'params' => array( - 'menutype' => $menuTypes[2], - 'startLevel' => 1, - 'endLevel' => 6, - 'showAllChildren' => 0, - 'class_sfx' => '-menu', - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_36_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_36_CONTENT'), - 'ordering' => 2, - 'position' => 'position-4', - 'module' => 'mod_custom', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[7], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_37_TITLE'), - 'ordering' => 1, - 'module' => 'mod_articles_category', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[69], - ), - 'params' => array( - 'mode' => 'normal', - 'show_on_article_page' => 1, - 'show_front' => 'show', - 'count' => 0, - 'category_filtering_type' => 1, - 'catid' => array($articleCatids4[5]), - 'show_child_category_articles' => 0, - 'levels' => 1, - 'author_filtering_type' => 1, - 'created_by' => array(), - 'author_alias_filtering_type' => 1, - 'created_by_alias' => array(), - 'date_filtering' => 'off', - 'date_field' => 'a.created', - 'relative_date' => 30, - 'article_ordering' => 'a.title', - 'article_ordering_direction' => 'ASC', - 'article_grouping' => 'none', - 'article_grouping_direction' => 'ksort', - 'month_year_format' => 'F Y', - 'item_heading' => 4, - 'link_titles' => 1, - 'show_date' => 0, - 'show_date_field' => 'created', - 'show_date_format' => 'Y-m-d H:i:s', - 'show_category' => 0, - 'show_hits' => 0, - 'show_author' => 0, - 'show_introtext' => 0, - 'introtext_limit' => 100, - 'show_readmore' => 0, - 'show_readmore_title' => 1, - 'readmore_limit' => 15, - 'owncache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_38_TITLE'), - 'ordering' => 1, - 'position' => 'atomic-search', - 'module' => 'mod_search', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel5[0], - $menuIdsLevel5[1], - ), - 'params' => array( - 'width' => 20, - 'button_pos' => 'right', - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_39_TITLE'), - 'ordering' => 1, - 'position' => 'atomic-topmenu', - 'module' => 'mod_menu', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel5[0], - $menuIdsLevel5[1], - ), - 'params' => array( - 'menutype' => $menuTypes[2], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_40_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_40_CONTENT'), - 'ordering' => 1, - 'position' => 'atomic-topquote', - 'module' => 'mod_custom', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel5[0], - $menuIdsLevel5[1], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_41_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_41_CONTENT'), - 'ordering' => 1, - 'position' => 'atomic-bottomleft', - 'module' => 'mod_custom', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel5[0], - $menuIdsLevel5[1], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_42_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_42_CONTENT'), - 'ordering' => 1, - 'position' => 'atomic-bottommiddle', - 'module' => 'mod_custom', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel5[0], - $menuIdsLevel5[1], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_43_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_43_CONTENT'), - 'ordering' => 1, - 'position' => 'atomic-sidebar', - 'module' => 'mod_custom', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel5[0], - $menuIdsLevel5[1], - ), - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static' - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_44_TITLE'), - 'ordering' => 2, - 'position' => 'atomic-sidebar', - 'module' => 'mod_login', - 'access' => $access, - 'showtitle' => 0, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel5[0], - $menuIdsLevel5[1], - ), - 'params' => array( - 'greeting' => 1, - 'name' => 0, - 'usesecure' => 0, - 'cache' => 0 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_45_TITLE'), - 'ordering' => 1, - 'position' => 'position-11', - 'module' => 'mod_banners', - 'access' => $access, - 'showtitle' => 0, - 'params' => array( - 'target' => 1, - 'count' => 1, - 'cid' => 2, - 'catid' => array($bannerCatids[0]), - 'tag_search' => 0, - 'ordering' => 0, - 'footer_text' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_45_FOOTER_TEXT'), - 'cache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_46_TITLE'), - 'ordering' => 1, - 'position' => 'position-9', - 'module' => 'mod_banners', - 'access' => $access, - 'showtitle' => 0, - 'params' => array( - 'target' => 1, - 'count' => 1, - 'cid' => 1, - 'catid' => array($bannerCatids[0]), - 'tag_search' => 0, - 'ordering' => 0, - 'footer_text' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_46_FOOTER_TEXT'), - 'cache' => 1, - 'cache_time' => 900 - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_47_TITLE'), - 'ordering' => 2, - 'module' => 'mod_finder', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[72], - ), - 'params' => array( - 'show_autosuggest' => 1, - 'show_advanced' => 0, - 'field_size' => array(20), - 'show_label' => 0, - 'label_pos' => 'top', - 'show_button' => 0, - 'button_pos' => 'right', - 'opensearch' => 1, - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_48_TITLE'), - 'ordering' => '2', - 'position' => 'position-7', - 'module' => 'mod_menu', - 'access' => $access, - 'params' => array( - 'menutype' => $menuTypes[6], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid', - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_49_TITLE'), - 'ordering' => 1, - 'position' => 'position-8', - 'module' => 'mod_menu', - 'access' => $access, - 'params' => array( - 'menutype' => $menuTypes[7], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'itemid', - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_50_TITLE'), - 'ordering' => 1, - 'position' => 'position-7', - 'module' => 'mod_menu', - 'access' => $access, - 'assignment' => 1, - 'assigned' => array( - $menuIdsLevel1[5], - $menuIdsLevel1[55], - $menuIdsLevel1[56], - $menuIdsLevel1[57], - $menuIdsLevel1[58], - $menuIdsLevel1[59], - $menuIdsLevel1[60], - $menuIdsLevel1[69], - $menuIdsLevel1[70], - ), - 'params' => array( - 'menutype' => $menuTypes[5], - 'startLevel' => 1, - 'endLevel' => 0, - 'showAllChildren' => 0, - 'cache' => 0, - 'cache_time' => 900, - 'cachemode' => 'itemid', - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_51_TITLE'), - 'ordering' => 1, - 'module' => 'mod_tags_popular', - 'access' => $access, - 'params' => array( - 'maximum' => 5, - 'timeframe' => 'alltime', - 'order_value' => 'count', - 'order_direction' => 1, - 'display_count' => 0, - 'no_results_text' => 0, - 'minsize' => 1, - 'maxsize' => 2, - 'owncache' => 1, - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_52_TITLE'), - 'ordering' => 1, - 'module' => 'mod_tags_similar', - 'access' => $access, - 'params' => array( - 'maximum' => 5, - 'matchtype' => 'any', - 'owncache' => 1, - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_53_TITLE'), - 'ordering' => 1, - 'position' => 'position-8', - 'module' => 'mod_syndicate', - 'access' => $access, - 'params' => array( - 'display_text' => 1, - 'text' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_53_TEXT'), - 'format' => 'rss', - 'cache' => 0, - ), - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_54_TITLE'), - 'ordering' => 1, - 'position' => 'position-8', - 'module' => 'mod_tags_similar', - 'access' => $access, - 'params' => array( - 'maximum' => 5, - 'matchtype' => 'any', - 'owncache' => 1, - ), - ), - // Admin modules - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_55_TITLE'), - 'content' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_55_CONTENT'), - 'ordering' => 5, - 'position' => 'cpanel', - 'module' => 'mod_custom', - 'access' => $access, - 'params' => array( - 'prepare_content' => 1, - 'cache' => 1, - 'cache_time' => 900, - 'bootstrap_size' => 6, - ), - 'client_id' => 1, - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_56_TITLE'), - 'ordering' => 6, - 'position' => 'cpanel', - 'published' => 0, - 'module' => 'mod_feed', - 'access' => $access, - 'params' => array( - 'rssurl' => 'http://feeds.joomla.org/JoomlaAnnouncements', - 'rssrtl' => 0, - 'rsstitle' => 1, - 'rssdesc' => 1, - 'rssimage' => 1, - 'rssitems' => 3, - 'rssitemdesc' => 1, - 'word_count' => 0, - 'cache' => 1, - 'cache_time' => 900, - 'bootstrap_size' => 6, - ), - 'client_id' => 1, - ), - array( - 'title' => JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_MODULES_MODULE_57_TITLE'), - 'ordering' => 3, - 'position' => 'cpanel', - 'module' => 'mod_stats_admin', - 'access' => $access, - 'params' => array( - 'serverinfo' => 1, - 'siteinfo' => 1, - 'counter' => 1, - 'increase' => 0, - 'cache' => 1, - 'cache_time' => 900, - 'cachemode' => 'static', - 'bootstrap_size' => 6, - ), - 'client_id' => 1, - ), - /* TODO: Altering existing admin modules (Bootstrap Size). - array( - 'title' => 'Popular Articles', - 'position' => 'cpanel', - 'module' => 'mod_popular', - 'params' => array( - 'bootstrap_size' => 6, - ), - ), - array( - 'title' => 'Logged-in Users', - 'position' => 'cpanel', - 'module' => 'mod_logged', - 'params' => array( - 'bootstrap_size' => 6, - ), - ), - array( - 'title' => 'Recently Added Articles', - 'position' => 'cpanel', - 'module' => 'mod_latest', - 'params' => array( - 'bootstrap_size' => 6, - ), - ), */ - ); - - $modulesIds = array(); - - foreach ($modules as $module) - { - // Set values which are always the same. - $module['id'] = 0; - $module['asset_id'] = 0; - $module['language'] = '*'; - $module['description'] = ''; - - if (!isset($module['published'])) - { - $module['published'] = 1; - } - - if (!isset($module['note'])) - { - $module['note'] = ''; - } - - if (!isset($module['content'])) - { - $module['content'] = ''; - } - - if (!isset($module['showtitle'])) - { - $module['showtitle'] = 1; - } - - if (!isset($module['position'])) - { - $module['position'] = ''; - } - - if (!isset($module['params'])) - { - $module['params'] = array(); - } - - if (!isset($module['client_id'])) - { - $module['client_id'] = 0; - } - - if (!isset($module['assignment'])) - { - $module['assignment'] = 0; - } - - if (!$model->save($module)) - { - JFactory::getLanguage()->load('com_modules'); - $response = array(); - $response['success'] = false; - $response['message'] = JText::sprintf('PLG_SAMPLEDATA_TESTING_STEP_FAILED', 7, JText::_($model->getError())); - - return $response; - } - - // Get ID from category we just added - $modulesIds[] = $model->getItem()->id; - - } - - $response = array(); - $response['success'] = true; - $response['message'] = JText::_('PLG_SAMPLEDATA_TESTING_STEP7_SUCCESS'); - - return $response; - } - - /** - * Adds categories. - * - * @param array $categories Array holding the category arrays. - * @param string $extension Name of the extension. - * @param integer $level Level in the category tree. - * - * @return array IDs of the inserted categories. - * - * @throws Exception - * - * @since 3.8.0 - */ - private function addCategories(array $categories, $extension, $level) - { - if (!$this->categoryModel) - { - JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_categories/models/', 'CategoriesModel'); - JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_categories/tables/'); - $this->categoryModel = JModelLegacy::getInstance('Category', 'CategoriesModel'); - } - - $catIds = array(); - $access = (int) $this->app->get('access', 1); - $user = JFactory::getUser(); - - foreach ($categories as $category) - { - // Set values which are always the same. - $category['id'] = 0; - $category['published'] = 1; - $category['access'] = $access; - $category['created_user_id'] = $user->id; - $category['extension'] = $extension; - $category['level'] = $level; - $category['alias'] = JApplicationHelper::stringURLSafe($category['title']); - $category['associations'] = array(); - - // Set description to empty if not set - if (!isset($category['description'])) - { - $category['description'] = ''; - } - - // Language defaults to "All" (*) when not set - if (!isset($category['language'])) - { - $category['language'] = '*'; - } - - if (!$this->categoryModel->save($category)) - { - throw new Exception($this->categoryModel->getError()); - } - - // Get ID from category we just added - $catIds[] = $this->categoryModel->getItem()->id; - } - - return $catIds; - } - - /** - * Adds articles. - * - * @param array $articles Array holding the category arrays. - * - * @return array IDs of the inserted categories. - * - * @throws Exception - * - * @since 3.8.0 - */ - private function addArticles(array $articles) - { - $ids = array(); - - $access = (int) $this->app->get('access', 1); - $user = JFactory::getUser(); - $model = JModelLegacy::getInstance('Article', 'ContentModel'); - - foreach ($articles as $i => $article) - { - // Set values from language strings. - $article['title'] = JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_' . str_pad($i, 2, '0', STR_PAD_LEFT) . '_TITLE'); - $article['introtext'] = JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_' . str_pad($i, 2, '0', STR_PAD_LEFT) . '_INTROTEXT'); - $article['fulltext'] = JText::_('PLG_SAMPLEDATA_TESTING_SAMPLEDATA_CONTENT_ARTICLE_' . str_pad($i, 2, '0', STR_PAD_LEFT) . '_FULLTEXT'); - - // Set values which are always the same. - $article['id'] = 0; - $article['access'] = $access; - $article['created_user_id'] = $user->id; - $article['alias'] = JApplicationHelper::stringURLSafe($article['title']); - $article['language'] = '*'; - $article['associations'] = array(); - $article['metakey'] = ''; - $article['metadesc'] = ''; - $article['xreference'] = ''; - - // Set state to published if not set. - if (!isset($article['state'])) - { - $article['state'] = 1; - } - - // Set state to published if not set. - if (!isset($article['featured'])) - { - $article['featured'] = 0; - } - - // Set images to empty if not set. - if (!isset($article['images'])) - { - $article['images'] = ''; - } - // JSON Encode it when set. - else - { - $article['images'] = json_encode($article['images']); - } - - if (!$model->save($article)) - { - JFactory::getLanguage()->load('com_content'); - throw new Exception(JText::_($model->getError())); - } - - // Get ID from category we just added - $ids[] = $model->getItem()->id; - - } - - return $ids; - } - - /** - * Adds menuitems. - * - * @param array $menuItems Array holding the menuitems arrays. - * @param integer $level Level in the category tree. - * - * @return array IDs of the inserted menuitems. - * - * @throws Exception - * - * @since 3.8.0 - */ - private function addMenuItems(array $menuItems, $level) - { - $itemIds = array(); - $access = (int) $this->app->get('access', 1); - $user = JFactory::getUser(); - - foreach ($menuItems as $menuItem) - { - // Reset item.id in model state. - $this->menuItemModel->setState('item.id', 0); - - // Set values which are always the same. - $menuItem['id'] = 0; - $menuItem['created_user_id'] = $user->id; - $menuItem['alias'] = JApplicationHelper::stringURLSafe($menuItem['title']); - $menuItem['published'] = 1; - $menuItem['language'] = '*'; - $menuItem['note'] = ''; - $menuItem['img'] = ''; - $menuItem['browserNav'] = 0; - $menuItem['associations'] = array(); - $menuItem['client_id'] = 0; - $menuItem['level'] = $level; - - // Set access to default if not set - if (!isset($menuItem['access'])) - { - $menuItem['access'] = $access; - } - - // Set type to 'component' if not set - if (!isset($menuItem['type'])) - { - $menuItem['type'] = 'component'; - } - - // Set template_style_id to global if not set - if (!isset($menuItem['template_style_id'])) - { - $menuItem['template_style_id'] = 0; - } - - // Set home if not set - if (!isset($menuItem['home'])) - { - $menuItem['home'] = 0; - } - - // Set parent_id to root (1) if not set - if (!isset($menuItem['parent_id'])) - { - $menuItem['parent_id'] = 1; - } - - if (!$this->menuItemModel->save($menuItem)) - { - // Try two times with another alias (-1 and -2). - $menuItem['alias'] .= '-1'; - - if (!$this->menuItemModel->save($menuItem)) - { - $menuItem['alias'] = substr_replace($menuItem['alias'], '2', -1); - - if (!$this->menuItemModel->save($menuItem)) - { - throw new Exception($menuItem['title'] . ' => ' . $menuItem['alias'] . ' : ' . $this->menuItemModel->getError()); - } - } - } - - // Get ID from menuitem we just added - $itemIds[] = $this->menuItemModel->getstate('item.id'); - } - - return $itemIds; - } -} diff --git a/plugins/sampledata/testing/testing.xml b/plugins/sampledata/testing/testing.xml deleted file mode 100644 index 734d15ea3e36c..0000000000000 --- a/plugins/sampledata/testing/testing.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - plg_sampledata_testing - Joomla! Project - July 2017 - Copyright (C) 2005 - 2017 Open Source Matters. All rights reserved. - GNU General Public License version 2 or later; see LICENSE.txt - admin@joomla.org - www.joomla.org - 3.8.0 - PLG_SAMPLEDATA_TESTING_XML_DESCRIPTION - - testing.php - - - en-GB.plg_sampledata_testing.ini - en-GB.plg_sampledata_testing.sys.ini - - - - - - From 8126462f6cb4a15cc0127119855707e0ad4b0ee8 Mon Sep 17 00:00:00 2001 From: Michael Babker Date: Mon, 14 Aug 2017 11:54:10 -0500 Subject: [PATCH 28/51] Revert "Unsupported Storage Exception is being removed in Joomla 4" This reverts commit 40d1517d02c2cadd3464c5911ad6eddbfe400f4a. --- libraries/classmap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/classmap.php b/libraries/classmap.php index 0404cfada1577..861416a1dae7f 100644 --- a/libraries/classmap.php +++ b/libraries/classmap.php @@ -294,7 +294,7 @@ JLoader::registerAlias('JCacheExceptionUnsupported', '\\Joomla\\CMS\\Cache\\Exception\\UnsupportedCacheException', '5.0'); JLoader::registerAlias('JSession', '\\Joomla\\CMS\\Session\\Session', '5.0'); -JLoader::registerAlias('JSessionExceptionUnsupported', '\\Joomla\\CMS\\Session\\Exception\\UnsupportedStorageException', '4.0'); +JLoader::registerAlias('JSessionExceptionUnsupported', '\\Joomla\\CMS\\Session\\Exception\\UnsupportedStorageException', '5.0'); JLoader::registerAlias('JUser', '\\Joomla\\CMS\\User\\User', '5.0'); JLoader::registerAlias('JUserHelper', '\\Joomla\\CMS\\User\\UserHelper', '5.0'); From c48118344e096904ca6b9663f93cbe425f31e21d Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Mon, 14 Aug 2017 12:04:15 -0600 Subject: [PATCH 29/51] PHPCS2-alpha2 auto fixers (#16915) - Multi-line function call not indented correctly; - Line indented incorrectly - Logical operator "or" not allowed; use "||" instead - Logical operator "and" not allowed; use "&&" instead - Please consider an empty line before the if statement; --- .../com_finder/controllers/indexer.json.php | 3 + .../helpers/indexer/driver/postgresql.php | 39 +++++------ .../helpers/indexer/driver/sqlsrv.php | 36 +++++----- .../com_finder/helpers/indexer/query.php | 2 +- .../helpers/indexer/stemmer/porter_en.php | 68 +++++++++---------- .../com_finder/helpers/language.php | 1 + 6 files changed, 77 insertions(+), 72 deletions(-) diff --git a/administrator/components/com_finder/controllers/indexer.json.php b/administrator/components/com_finder/controllers/indexer.json.php index 594625a1d6ca9..af38acae05093 100644 --- a/administrator/components/com_finder/controllers/indexer.json.php +++ b/administrator/components/com_finder/controllers/indexer.json.php @@ -83,6 +83,7 @@ public function start() // Send the response. static::sendResponse($state); } + // Catch an exception and return the response. catch (Exception $e) { @@ -217,6 +218,7 @@ public function batch() // Send the response. static::sendResponse($state); } + // Catch an exception and return the response. catch (Exception $e) { @@ -266,6 +268,7 @@ public function optimize() // Send the response. static::sendResponse($state); } + // Catch an exception and return the response. catch (Exception $e) { diff --git a/administrator/components/com_finder/helpers/indexer/driver/postgresql.php b/administrator/components/com_finder/helpers/indexer/driver/postgresql.php index 080627d072d66..cc6be1cc3a1c0 100644 --- a/administrator/components/com_finder/helpers/indexer/driver/postgresql.php +++ b/administrator/components/com_finder/helpers/indexer/driver/postgresql.php @@ -117,24 +117,24 @@ public function index($item, $format = 'html') ->insert($db->quoteName('#__finder_links')) ->columns($columnsArray) ->values( - $db->quote($item->url) . ', ' - . $db->quote($item->route) . ', ' - . $db->quote($item->title) . ', ' - . $db->quote($item->description) . ', ' - . $query->currentTimestamp() . ', ' - . '1, ' - . (int) $item->state . ', ' - . (int) $item->access . ', ' - . $db->quote($item->language) . ', ' - . (int) $item->type_id . ', ' - . $db->quote(serialize($item)) . ', ' - . $db->quote($item->publish_start_date) . ', ' - . $db->quote($item->publish_end_date) . ', ' - . $db->quote($item->start_date) . ', ' - . $db->quote($item->end_date) . ', ' - . (double) ($item->list_price ?: 0) . ', ' - . (double) ($item->sale_price ?: 0) - ); + $db->quote($item->url) . ', ' + . $db->quote($item->route) . ', ' + . $db->quote($item->title) . ', ' + . $db->quote($item->description) . ', ' + . $query->currentTimestamp() . ', ' + . '1, ' + . (int) $item->state . ', ' + . (int) $item->access . ', ' + . $db->quote($item->language) . ', ' + . (int) $item->type_id . ', ' + . $db->quote(serialize($item)) . ', ' + . $db->quote($item->publish_start_date) . ', ' + . $db->quote($item->publish_end_date) . ', ' + . $db->quote($item->start_date) . ', ' + . $db->quote($item->end_date) . ', ' + . (double) ($item->list_price ?: 0) . ', ' + . (double) ($item->sale_price ?: 0) + ); $db->setQuery($query); $db->execute(); @@ -320,7 +320,8 @@ public function index($item, $format = 'html') * table have a term of 0, then no term record exists for that * term so we need to add it to the terms table. */ - /* Emulation of IGNORE INTO behaviour */ + // Emulation of IGNORE INTO behaviour + $db->setQuery( ' SELECT ta.term' . ' FROM ' . $db->quoteName('#__finder_tokens_aggregate') . ' AS ta' . diff --git a/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php b/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php index 2b1e07a54ffb2..538f6e7c2816d 100644 --- a/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php +++ b/administrator/components/com_finder/helpers/indexer/driver/sqlsrv.php @@ -125,24 +125,24 @@ public function index($item, $format = 'html') ->insert($db->quoteName('#__finder_links')) ->columns($columnsArray) ->values( - $db->quote($item->url) . ', ' - . $db->quote($item->route) . ', ' - . $db->quote($item->title) . ', ' - . $db->quote($item->description) . ', ' - . $query->currentTimestamp() . ', ' - . '1, ' - . (int) $item->state . ', ' - . (int) $item->access . ', ' - . $db->quote($item->language) . ', ' - . (int) $item->type_id . ', ' - . $db->quote(serialize($item)) . ', ' - . $db->quote($item->publish_start_date) . ', ' - . $db->quote($item->publish_end_date) . ', ' - . $db->quote($item->start_date) . ', ' - . $db->quote($item->end_date) . ', ' - . (double) ($item->list_price ?: 0) . ', ' - . (double) ($item->sale_price ?: 0) - ); + $db->quote($item->url) . ', ' + . $db->quote($item->route) . ', ' + . $db->quote($item->title) . ', ' + . $db->quote($item->description) . ', ' + . $query->currentTimestamp() . ', ' + . '1, ' + . (int) $item->state . ', ' + . (int) $item->access . ', ' + . $db->quote($item->language) . ', ' + . (int) $item->type_id . ', ' + . $db->quote(serialize($item)) . ', ' + . $db->quote($item->publish_start_date) . ', ' + . $db->quote($item->publish_end_date) . ', ' + . $db->quote($item->start_date) . ', ' + . $db->quote($item->end_date) . ', ' + . (double) ($item->list_price ?: 0) . ', ' + . (double) ($item->sale_price ?: 0) + ); $db->setQuery($query); $db->execute(); diff --git a/administrator/components/com_finder/helpers/indexer/query.php b/administrator/components/com_finder/helpers/indexer/query.php index d4d6522d8b7fa..c5fc84e3131f0 100644 --- a/administrator/components/com_finder/helpers/indexer/query.php +++ b/administrator/components/com_finder/helpers/indexer/query.php @@ -845,7 +845,7 @@ protected function processString($input, $lang, $mode) } break; - } + } } // Clean up the input string again. diff --git a/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php b/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php index 4aeca132ec9fa..77ecf15226fb5 100644 --- a/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php +++ b/administrator/components/com_finder/helpers/indexer/stemmer/porter_en.php @@ -95,13 +95,13 @@ private static function step1ab($word) if (substr($word, -1) == 's') { self::replace($word, 'sses', 'ss') - or self::replace($word, 'ies', 'i') - or self::replace($word, 'ss', 'ss') - or self::replace($word, 's', ''); + || self::replace($word, 'ies', 'i') + || self::replace($word, 'ss', 'ss') + || self::replace($word, 's', ''); } // Part b - if (substr($word, -2, 1) != 'e' or !self::replace($word, 'eed', 'ee', 0)) + if (substr($word, -2, 1) != 'e' || !self::replace($word, 'eed', 'ee', 0)) { // First rule $v = self::$regex_vowel; @@ -109,17 +109,17 @@ private static function step1ab($word) // Words ending with ing and ed // Note use of && and OR, for precedence reasons if (preg_match("#$v+#", substr($word, 0, -3)) && self::replace($word, 'ing', '') - or preg_match("#$v+#", substr($word, 0, -2)) && self::replace($word, 'ed', '')) + || preg_match("#$v+#", substr($word, 0, -2)) && self::replace($word, 'ed', '')) { // If one of above two test successful - if (!self::replace($word, 'at', 'ate') and !self::replace($word, 'bl', 'ble') and !self::replace($word, 'iz', 'ize')) + if (!self::replace($word, 'at', 'ate') && !self::replace($word, 'bl', 'ble') && !self::replace($word, 'iz', 'ize')) { // Double consonant ending - if (self::doubleConsonant($word) and substr($word, -2) != 'll' and substr($word, -2) != 'ss' and substr($word, -2) != 'zz') + if (self::doubleConsonant($word) && substr($word, -2) != 'll' && substr($word, -2) != 'ss' && substr($word, -2) != 'zz') { $word = substr($word, 0, -1); } - elseif (self::m($word) == 1 and self::cvc($word)) + elseif (self::m($word) == 1 && self::cvc($word)) { $word .= 'e'; } @@ -166,11 +166,11 @@ private static function step2($word) { case 'a': self::replace($word, 'ational', 'ate', 0) - or self::replace($word, 'tional', 'tion', 0); + || self::replace($word, 'tional', 'tion', 0); break; case 'c': self::replace($word, 'enci', 'ence', 0) - or self::replace($word, 'anci', 'ance', 0); + || self::replace($word, 'anci', 'ance', 0); break; case 'e': self::replace($word, 'izer', 'ize', 0); @@ -180,26 +180,26 @@ private static function step2($word) break; case 'l': self::replace($word, 'entli', 'ent', 0) - or self::replace($word, 'ousli', 'ous', 0) - or self::replace($word, 'alli', 'al', 0) - or self::replace($word, 'bli', 'ble', 0) - or self::replace($word, 'eli', 'e', 0); + || self::replace($word, 'ousli', 'ous', 0) + || self::replace($word, 'alli', 'al', 0) + || self::replace($word, 'bli', 'ble', 0) + || self::replace($word, 'eli', 'e', 0); break; case 'o': self::replace($word, 'ization', 'ize', 0) - or self::replace($word, 'ation', 'ate', 0) - or self::replace($word, 'ator', 'ate', 0); + || self::replace($word, 'ation', 'ate', 0) + || self::replace($word, 'ator', 'ate', 0); break; case 's': self::replace($word, 'iveness', 'ive', 0) - or self::replace($word, 'fulness', 'ful', 0) - or self::replace($word, 'ousness', 'ous', 0) - or self::replace($word, 'alism', 'al', 0); + || self::replace($word, 'fulness', 'ful', 0) + || self::replace($word, 'ousness', 'ous', 0) + || self::replace($word, 'alism', 'al', 0); break; case 't': self::replace($word, 'biliti', 'ble', 0) - or self::replace($word, 'aliti', 'al', 0) - or self::replace($word, 'iviti', 'ive', 0); + || self::replace($word, 'aliti', 'al', 0) + || self::replace($word, 'iviti', 'ive', 0); break; } @@ -227,7 +227,7 @@ private static function step3($word) break; case 't': self::replace($word, 'icate', 'ic', 0) - or self::replace($word, 'iciti', 'ic', 0); + || self::replace($word, 'iciti', 'ic', 0); break; case 'u': self::replace($word, 'ful', '', 0); @@ -261,7 +261,7 @@ private static function step4($word) break; case 'c': self::replace($word, 'ance', '', 1) - or self::replace($word, 'ence', '', 1); + || self::replace($word, 'ence', '', 1); break; case 'e': self::replace($word, 'er', '', 1); @@ -271,16 +271,16 @@ private static function step4($word) break; case 'l': self::replace($word, 'able', '', 1) - or self::replace($word, 'ible', '', 1); + || self::replace($word, 'ible', '', 1); break; case 'n': self::replace($word, 'ant', '', 1) - or self::replace($word, 'ement', '', 1) - or self::replace($word, 'ment', '', 1) - or self::replace($word, 'ent', '', 1); + || self::replace($word, 'ement', '', 1) + || self::replace($word, 'ment', '', 1) + || self::replace($word, 'ent', '', 1); break; case 'o': - if (substr($word, -4) == 'tion' or substr($word, -4) == 'sion') + if (substr($word, -4) == 'tion' || substr($word, -4) == 'sion') { self::replace($word, 'ion', '', 1); } @@ -294,7 +294,7 @@ private static function step4($word) break; case 't': self::replace($word, 'ate', '', 1) - or self::replace($word, 'iti', '', 1); + || self::replace($word, 'iti', '', 1); break; case 'u': self::replace($word, 'ous', '', 1); @@ -338,7 +338,7 @@ private static function step5($word) } // Part b - if (self::m($word) > 1 and self::doubleConsonant($word) and substr($word, -1) == 'l') + if (self::m($word) > 1 && self::doubleConsonant($word) && substr($word, -1) == 'l') { $word = substr($word, 0, -1); } @@ -369,7 +369,7 @@ private static function replace(&$str, $check, $repl, $m = null) { $substr = substr($str, 0, $len); - if (is_null($m) or self::m($substr) > $m) + if (is_null($m) || self::m($substr) > $m) { $str = $substr . $repl; } @@ -423,7 +423,7 @@ private static function doubleConsonant($str) { $c = self::$regex_consonant; - return preg_match("#$c{2}$#", $str, $matches) and $matches[0]{0} == $matches[0]{1}; + return preg_match("#$c{2}$#", $str, $matches) && $matches[0]{0} == $matches[0]{1}; } /** @@ -440,7 +440,7 @@ private static function cvc($str) $c = self::$regex_consonant; $v = self::$regex_vowel; - return preg_match("#($c$v$c)$#", $str, $matches) and strlen($matches[1]) == 3 and $matches[1]{2} != 'w' and $matches[1]{2} != 'x' - and $matches[1]{2} != 'y'; + return preg_match("#($c$v$c)$#", $str, $matches) && strlen($matches[1]) == 3 && $matches[1]{2} != 'w' && $matches[1]{2} != 'x' + && $matches[1]{2} != 'y'; } } diff --git a/administrator/components/com_finder/helpers/language.php b/administrator/components/com_finder/helpers/language.php index 4589c8eb7a188..fcc0b420ed542 100644 --- a/administrator/components/com_finder/helpers/language.php +++ b/administrator/components/com_finder/helpers/language.php @@ -73,6 +73,7 @@ public static function branchLanguageTitle($branchName) else { $languages = JLanguageHelper::getLanguages('lang_code'); + if (isset($languages[$branchName])) { $title = $languages[$branchName]->title; From 69c39c894c5c1bf46ea13a9edacf56949a45c65f Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Tue, 15 Aug 2017 05:07:06 -0600 Subject: [PATCH 30/51] correct test schema - change `TEXT` or `TIMESTAMP` to `DATETIME` (#17031) * DATETIME not TEXT or TIMESTAMP * Correct types in testGetFields() to use DATETIME --- tests/unit/schema/ddl.sql | 78 +++++++++---------- .../libraries/joomla/table/JTableTest.php | 6 +- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/tests/unit/schema/ddl.sql b/tests/unit/schema/ddl.sql index 56b75692a6a61..80b298f496f0a 100644 --- a/tests/unit/schema/ddl.sql +++ b/tests/unit/schema/ddl.sql @@ -44,16 +44,16 @@ CREATE TABLE `jos_categories` ( `description` TEXT NOT NULL DEFAULT '', `published` INTEGER NOT NULL DEFAULT '0', `checked_out` INTEGER NOT NULL DEFAULT '0', - `checked_out_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `access` INTEGER NOT NULL DEFAULT '0', `params` TEXT NOT NULL DEFAULT '', `metadesc` TEXT NOT NULL DEFAULT '', `metakey` TEXT NOT NULL DEFAULT '', `metadata` TEXT NOT NULL DEFAULT '', `created_user_id` INTEGER NOT NULL DEFAULT '0', - `created_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `created_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `modified_user_id` INTEGER NOT NULL DEFAULT '0', - `modified_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `modified_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `hits` INTEGER NOT NULL DEFAULT '0', `language` TEXT NOT NULL DEFAULT '', `version` INTEGER NOT NULL DEFAULT '1' @@ -82,15 +82,15 @@ CREATE TABLE `jos_content` ( `fulltext` TEXT NOT NULL DEFAULT '', `state` INTEGER NOT NULL DEFAULT '0', `catid` INTEGER NOT NULL DEFAULT '0', - `created` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `created_by` INTEGER NOT NULL DEFAULT '0', `created_by_alias` TEXT NOT NULL DEFAULT '', - `modified` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `modified_by` INTEGER NOT NULL DEFAULT '0', `checked_out` INTEGER NOT NULL DEFAULT '0', - `checked_out_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_up` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_down` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_up` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_down` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `images` TEXT NOT NULL DEFAULT '', `urls` TEXT NOT NULL DEFAULT '', `attribs` TEXT NOT NULL DEFAULT '', @@ -145,7 +145,7 @@ CREATE TABLE IF NOT EXISTS `jos_contentitem_tag_map` ( `core_content_id` INTEGER NOT NULL, `content_item_id` INTEGER NOT NULL, `tag_id` INTEGER NOT NULL, - `tag_date` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `tag_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `type_id` INTEGER NOT NULL, CONSTRAINT `idx_contentitemtagmap_uc_ItemnameTagid` UNIQUE (`type_id`,`content_item_id`,`tag_id`) ); @@ -188,7 +188,7 @@ CREATE TABLE `jos_extensions` ( `custom_data` TEXT NOT NULL DEFAULT '', `system_data` TEXT NOT NULL DEFAULT '', `checked_out` INTEGER NOT NULL DEFAULT '0', - `checked_out_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `ordering` INTEGER DEFAULT '0', `state` INTEGER DEFAULT '0' ); @@ -284,7 +284,7 @@ CREATE TABLE `jos_menu` ( `level` INTEGER NOT NULL DEFAULT '0', `component_id` INTEGER NOT NULL DEFAULT '0', `checked_out` INTEGER NOT NULL DEFAULT '0', - `checked_out_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `browserNav` INTEGER NOT NULL DEFAULT '0', `access` INTEGER NOT NULL DEFAULT '0', `img` TEXT NOT NULL DEFAULT '', @@ -334,9 +334,9 @@ CREATE TABLE `jos_modules` ( `ordering` INTEGER NOT NULL DEFAULT '0', `position` TEXT DEFAULT NULL, `checked_out` INTEGER NOT NULL DEFAULT '0', - `checked_out_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_up` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_down` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_up` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_down` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `published` INTEGER NOT NULL DEFAULT '0', `module` TEXT DEFAULT NULL, `access` INTEGER NOT NULL DEFAULT '0', @@ -414,24 +414,24 @@ CREATE TABLE `jos_tags` ( `description` TEXT NOT NULL DEFAULT '', `published` INTEGER NOT NULL DEFAULT '0', `checked_out` INTEGER NOT NULL DEFAULT '0', - `checked_out_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `access` INTEGER NOT NULL DEFAULT '0', `params` TEXT NOT NULL DEFAULT '', `metadesc` TEXT NOT NULL DEFAULT '', `metakey` TEXT NOT NULL DEFAULT '', `metadata` TEXT NOT NULL DEFAULT '', `created_user_id` INTEGER NOT NULL DEFAULT '0', - `created_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `created_by_alias` TEXT NOT NULL DEFAULT '', + `created_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `created_by_alias` TEXT NOT NULL DEFAULT '', `modified_user_id` INTEGER NOT NULL DEFAULT '0', - `modified_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `images` TEXT NOT NULL DEFAULT '', - `urls` TEXT NOT NULL DEFAULT '', + `modified_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `images` TEXT NOT NULL DEFAULT '', + `urls` TEXT NOT NULL DEFAULT '', `hits` INTEGER NOT NULL DEFAULT '0', `language` TEXT NOT NULL DEFAULT '', - `version` INTEGER NOT NULL DEFAULT '1', - `publish_up` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_down` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00' + `version` INTEGER NOT NULL DEFAULT '1', + `publish_up` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_down` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ); CREATE INDEX `idx_tags_lookup` ON `jos_tags` (`published`,`access`); @@ -453,8 +453,8 @@ CREATE TABLE `jos_template_styles` ( `template` TEXT NOT NULL DEFAULT '', `client_id` INTEGER NOT NULL DEFAULT '0', `home` TEXT NOT NULL DEFAULT '0', - `title` TEXT NOT NULL DEFAULT '', - `params` TEXT NOT NULL DEFAULT '' + `title` TEXT NOT NULL DEFAULT '', + `params` TEXT NOT NULL DEFAULT '' ); CREATE INDEX `idx_template_styles_template` ON `jos_template_styles` (`template`); @@ -490,7 +490,7 @@ CREATE TABLE `jos_ucm_content` ( `core_alias` TEXT NOT NULL DEFAULT '', `core_body` TEXT NOT NULL DEFAULT '', `core_state` INTEGER NOT NULL DEFAULT '0', - `core_checked_out_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `core_checked_out_user_id` INTEGER NOT NULL DEFAULT '0', `core_access` INTEGER NOT NULL DEFAULT '0', `core_params` TEXT NOT NULL DEFAULT '', @@ -498,12 +498,12 @@ CREATE TABLE `jos_ucm_content` ( `core_metadata` TEXT NOT NULL DEFAULT '', `core_created_user_id` INTEGER NOT NULL DEFAULT '0', `core_created_by_alias` TEXT NOT NULL DEFAULT '', - `core_created_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_created_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `core_modified_user_id` INTEGER NOT NULL DEFAULT '0', - `core_modified_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_modified_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `core_language` TEXT NOT NULL DEFAULT '', - `core_publish_up` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `core_publish_down` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_publish_up` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `core_publish_down` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `core_content_item_id` INTEGER NOT NULL DEFAULT '0', `asset_id` INTEGER NOT NULL DEFAULT '0', `core_images` TEXT NOT NULL DEFAULT '', @@ -551,7 +551,7 @@ CREATE TABLE `jos_updates` ( `version` TEXT DEFAULT '', `data` TEXT NOT NULL DEFAULT '', `detailsurl` TEXT NOT NULL DEFAULT '', - `infourl` TEXT NOT NULL DEFAULT '' + `infourl` TEXT NOT NULL DEFAULT '' ); -- -------------------------------------------------------- @@ -566,7 +566,7 @@ CREATE TABLE `jos_update_sites` ( `type` TEXT DEFAULT '', `location` TEXT NOT NULL DEFAULT '', `enabled` INTEGER DEFAULT '0', - `last_check_timestamp` INTEGER DEFAULT '0' + `last_check_timestamp` INTEGER DEFAULT '0' ); -- -------------------------------------------------------- @@ -614,12 +614,12 @@ CREATE TABLE `jos_users` ( `password` TEXT NOT NULL DEFAULT '', `block` INTEGER NOT NULL DEFAULT '0', `sendEmail` INTEGER DEFAULT '0', - `registerDate` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `lastvisitDate` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `registerDate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `lastvisitDate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `activation` TEXT NOT NULL DEFAULT '', `params` TEXT NOT NULL DEFAULT '', - `lastResetTime` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `resetCount` INTEGER DEFAULT '0' + `lastResetTime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `resetCount` INTEGER DEFAULT '0' ); CREATE INDEX `idx_users_name` ON `jos_users` (`name`); @@ -693,10 +693,10 @@ CREATE TABLE `jos_dbtest_composite` ( `asset_id` INTEGER NOT NULL DEFAULT '0', `hits` INTEGER NOT NULL DEFAULT '0', `checked_out` INTEGER NOT NULL DEFAULT '0', - `checked_out_time` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `published` INTEGER NOT NULL DEFAULT '0', - `publish_up` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', - `publish_down` TEXT NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_up` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', + `publish_down` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `ordering` INTEGER NOT NULL DEFAULT '0', `params` TEXT NOT NULL DEFAULT '', CONSTRAINT `idx_dbtest_composite` PRIMARY KEY (`id1`,`id2`) diff --git a/tests/unit/suites/libraries/joomla/table/JTableTest.php b/tests/unit/suites/libraries/joomla/table/JTableTest.php index f0b7ac6153394..67c34149f3b04 100644 --- a/tests/unit/suites/libraries/joomla/table/JTableTest.php +++ b/tests/unit/suites/libraries/joomla/table/JTableTest.php @@ -108,7 +108,7 @@ public function testGetFields() ), 'checked_out_time' => (object) array( 'Field' => 'checked_out_time', - 'Type' => 'TEXT', + 'Type' => 'DATETIME', 'Null' => 'NO', 'Default' => '\'0000-00-00 00:00:00\'', 'Key' => '' @@ -122,14 +122,14 @@ public function testGetFields() ), 'publish_up' => (object) array( 'Field' => 'publish_up', - 'Type' => 'TEXT', + 'Type' => 'DATETIME', 'Null' => 'NO', 'Default' => '\'0000-00-00 00:00:00\'', 'Key' => '' ), 'publish_down' => (object) array( 'Field' => 'publish_down', - 'Type' => 'TEXT', + 'Type' => 'DATETIME', 'Null' => 'NO', 'Default' => '\'0000-00-00 00:00:00\'', 'Key' => '' From dfce49e7c7785c86d562177a415c2a40fba2191f Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Tue, 15 Aug 2017 12:56:14 +0100 Subject: [PATCH 31/51] Installation (#17436) * remove the comment not to translate the word as its being ignored * replace foldername with variable to prevent translation * sprintf * oops missed one * drone be happy * %1 and %2 * Still missing installation sprintf, bah * Put in dollar sign --- installation/controller/removefolder.php | 6 +++--- installation/language/en-GB/en-GB.ini | 22 ++++++++------------- installation/model/database.php | 8 ++++---- installation/view/complete/tmpl/default.php | 6 +++--- installation/view/remove/tmpl/default.php | 4 ++-- 5 files changed, 20 insertions(+), 26 deletions(-) diff --git a/installation/controller/removefolder.php b/installation/controller/removefolder.php index c3842c30f36d5..8c6fbb7173ace 100644 --- a/installation/controller/removefolder.php +++ b/installation/controller/removefolder.php @@ -37,7 +37,7 @@ public function execute() // Check whether the folder still exists. if (!file_exists($path)) { - $app->sendJsonResponse(new Exception(JText::sprintf('INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED'), 500)); + $app->sendJsonResponse(new Exception(JText::sprintf('INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED', 'installation'), 500)); } // Check whether we need to use FTP. @@ -117,12 +117,12 @@ public function execute() // If an error was encountered return an error. if (!$return) { - $app->sendJsonResponse(new Exception(JText::_('INSTL_COMPLETE_ERROR_FOLDER_DELETE'), 500)); + $app->sendJsonResponse(new Exception(JText::sprintf('INSTL_COMPLETE_ERROR_FOLDER_DELETE', 'installation'), 500)); } // Create a response body. $r = new stdClass; - $r->text = JText::_('INSTL_COMPLETE_FOLDER_REMOVED'); + $r->text = JText::sprintf('INSTL_COMPLETE_FOLDER_REMOVED', 'installation'); /* * Send the response. diff --git a/installation/language/en-GB/en-GB.ini b/installation/language/en-GB/en-GB.ini index c2f673b079997..0a04584b1f251 100644 --- a/installation/language/en-GB/en-GB.ini +++ b/installation/language/en-GB/en-GB.ini @@ -31,8 +31,8 @@ INSTL_DATABASE="Database Configuration" INSTL_DATABASE_ERROR_POSTGRESQL_QUERY="PostgreSQL database query failed." INSTL_DATABASE_HOST_DESC="This is usually "localhost" or a name provided by your host." INSTL_DATABASE_HOST_LABEL="Host Name" -INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE="We were not able to create the file. Please manually create a file named "%s" and upload it to the "installation" folder of your Joomla site." -INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="In order to confirm that you are the owner of this website please delete the file named "%s" we have just created in the "installation" folder of your Joomla site." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE="We were not able to create the file. Please manually create a file named "%1$s" and upload it to the "%2$s" folder of your Joomla site." +INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE="In order to confirm that you are the owner of this website please delete the file named "%1$s" we have just created in the "%2$s" folder of your Joomla site." INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_GENERAL_MESSAGE="You are trying to use a database host which is not on your local server. For security reasons, you need to verify the ownership of your web hosting account. Please read the documentation for more information." INSTL_DATABASE_NAME_DESC="Some hosts allow only a certain DB name per site. Use table prefix in this case for distinct Joomla! sites." INSTL_DATABASE_NAME_LABEL="Database Name" @@ -122,20 +122,14 @@ INSTL_EMAIL_NOT_SENT="Email could not be sent." ;Complete view INSTL_COMPLETE_ADMINISTRATION_LOGIN_DETAILS="Administration Login Details" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED="The installation folder has already been deleted." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_ERROR_FOLDER_DELETE="Installation folder could not be deleted. Please manually delete the folder." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_FOLDER_REMOVED="Installation folder removed." +INSTL_COMPLETE_ERROR_FOLDER_ALREADY_REMOVED="The "%s" folder has already been deleted." +INSTL_COMPLETE_ERROR_FOLDER_DELETE=""%s" folder could not be deleted. Please manually delete the folder." +INSTL_COMPLETE_FOLDER_REMOVED=""%s" folder removed." INSTL_COMPLETE_LANGUAGE_1="Joomla! in your own language and/or automatic basic native multilingual site creation" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_LANGUAGE_DESC="Before removing the installation folder you can install extra languages. If you want to add extra languages to your Joomla! application select the following button." +INSTL_COMPLETE_LANGUAGE_DESC="Before removing the "%s" folder you can install extra languages. If you want to add extra languages to your Joomla! application select the following button." INSTL_COMPLETE_LANGUAGE_DESC2="Note: you will need internet access for Joomla! to download and install the new languages.
Some server configurations won't allow Joomla! to install the languages. If this is your case, don't worry, you will be able to install them later using the Joomla! Administrator." -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_REMOVE_FOLDER="Remove installation folder" -; The word 'installation' should not be translated as it is a physical folder. -INSTL_COMPLETE_REMOVE_INSTALLATION="PLEASE REMEMBER TO COMPLETELY REMOVE THE INSTALLATION FOLDER.
You will not be able to proceed beyond this point until the installation folder has been removed. This is a security feature of Joomla!" +INSTL_COMPLETE_REMOVE_FOLDER="Remove "%s" folder" +INSTL_COMPLETE_REMOVE_INSTALLATION="PLEASE REMEMBER TO COMPLETELY REMOVE THE INSTALLATION FOLDER.
You will not be able to proceed beyond this point until the "%s" folder has been removed. This is a security feature of Joomla!" INSTL_COMPLETE_TITLE="Congratulations! Joomla! is now installed." INSTL_COMPLETE_INSTALL_LANGUAGES="Extra steps: Install languages" diff --git a/installation/model/database.php b/installation/model/database.php index 4b0347aa0851d..148e9d6e81cb4 100644 --- a/installation/model/database.php +++ b/installation/model/database.php @@ -204,7 +204,7 @@ public function initialise($options) if (!JFile::write($remoteDbPath, '')) { // Request to create the file manually - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', $remoteDbFile), 'error'); + JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', $remoteDbFile, 'installation'), 'error'); JFactory::getSession()->set('remoteDbFileUnwritable', true); @@ -215,7 +215,7 @@ public function initialise($options) JFactory::getSession()->set('remoteDbFileWrittenByJoomla', true); // Request to delete that file - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', $remoteDbFile), 'error'); + JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', $remoteDbFile, 'installation'), 'error'); return false; } @@ -225,7 +225,7 @@ public function initialise($options) // Add the general message JFactory::getApplication()->enqueueMessage($generalRemoteDatabaseMessage, 'warning'); - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', $remoteDbFile), 'error'); + JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', $remoteDbFile, 'installation'), 'error'); return false; } @@ -235,7 +235,7 @@ public function initialise($options) // Add the general message JFactory::getApplication()->enqueueMessage($generalRemoteDatabaseMessage, 'warning'); - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', $remoteDbFile), 'error'); + JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', $remoteDbFile, 'installation'), 'error'); return false; } diff --git a/installation/view/complete/tmpl/default.php b/installation/view/complete/tmpl/default.php index 89f5ba9eada1d..bbf8f21e6102d 100644 --- a/installation/view/complete/tmpl/default.php +++ b/installation/view/complete/tmpl/default.php @@ -24,7 +24,7 @@ class="form-validate form-horizontal">
-

+

@@ -34,8 +34,8 @@ class="form-validate form-horizontal">
-

- +

+
diff --git a/installation/view/remove/tmpl/default.php b/installation/view/remove/tmpl/default.php index 2c0902540e9f9..47f5b62ac3f34 100644 --- a/installation/view/remove/tmpl/default.php +++ b/installation/view/remove/tmpl/default.php @@ -19,8 +19,8 @@

-

- +

+
From d3fa077a85a2fdb8000e38ef93f331f9014ce621 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Tue, 15 Aug 2017 13:57:34 +0200 Subject: [PATCH 32/51] [General] Text Files Needing Updates (#17535) * readmeupdates * space * en-GB fix thanks @brianteeman * this is not limitied to plugins * en-GB update --- .github/CONTRIBUTING.md | 3 +-- libraries/src/Crypt/README.md | 32 ++++++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index a569407e7d792..caf403a10e050 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -20,6 +20,5 @@ There are other branches available which serve specific purposes. | Branch | Purpose | | ------ | ------- | | staging | Current codebase. Branch for the next minor Joomla version. New backward compatible features go into this branch. | -| master | Each commit made to staging gets tested if it passes unit tests and codestyle rules. It is then merged into master. This is done automatically. | -| 3.8-dev | Branch for the next minor Joomla version. The 3.8.0 release will only include compatibility features for 4.0. Commits to staging will be applied to this branch as well. | +| 3.9-dev | Branch for the next minor Joomla version. The 3.9.0 release will only include compatibility features for 4.0. Commits to staging will be applied to this branch as well. | | 4.0-dev | Branch for the next major Joomla version. New features go into this branch. Commits to staging will be applied to this branch as well. | diff --git a/libraries/src/Crypt/README.md b/libraries/src/Crypt/README.md index 8a0fd935ddd48..d3b07a691a291 100644 --- a/libraries/src/Crypt/README.md +++ b/libraries/src/Crypt/README.md @@ -1,9 +1,29 @@ # Important Security Information -If you're going to use JCrypt in any of your plugins, make *sure* you use **JCryptCipherCrypto**; it's the only one that's cryptographically secure. (It's [version 1.1 of Defuse Security's encryption library](https://github.com/defuse/php-encryption)). +If you're going to use JCrypt in any of your extensions, make *sure* you use **CryptoCipher** or **SodiumCipher**; These are the only two which are cryptographically secure. ```php -$cipher = new JCryptCipherCrypto(); +use Joomla\CMS\Crypt\Cipher\SodiumCipher; + +$cipher = new SodiumCipher; +$key = $cipher->generateKey(); +$data = 'My encrypted data.'; + +$cipher->setNonce(\Sodium\randombytes_buf(\Sodium\CRYPTO_BOX_NONCEBYTES)); + +$encrypted = $cipher->encrypt($data, $key); +$decrypted = $cipher->decrypt($encrypted, $key); + +if ($decrypted !== $data) +{ + throw new RuntimeException('The data was not decrypted correctly.'); +} +``` + +```php +use Joomla\CMS\Crypt\Cipher\CryptoCipher; + +$cipher = new CryptoCipher(); $key = $cipher->generateKey(); // Store this for long-term use $message = "We're all living on a yellow submarine!"; @@ -13,10 +33,10 @@ $decrypted = $cipher->decrypt($ciphertext, $key); ## Avoid these Ciphers if Possible -* `JcryptCipher3Des` -* `JcryptCipherBlowfish` -* `JcryptCipherMcrypt` -* `JcryptCipherRijndael256` +* `JCryptCipher3Des` +* `JCryptCipherBlowfish` +* `JCryptCipherMcrypt` +* `JCryptCipherRijndael256` All of these ciphers are vulnerable to something called a [chosen-ciphertext attack](https://en.wikipedia.org/wiki/Chosen-ciphertext_attack). The only provable way to prevent chosen-ciphertext attacks is to [use authenticated encryption](https://paragonie.com/blog/2015/05/using-encryption-and-authentication-correctly), preferrably in an [Encrypt-then-MAC construction](http://www.thoughtcrime.org/blog/the-cryptographic-doom-principle/). From 61714e21cb4cc82b61d3fc47adf09596514a90c7 Mon Sep 17 00:00:00 2001 From: zero-24 Date: Tue, 15 Aug 2017 14:15:30 +0200 Subject: [PATCH 33/51] You have tried to upload file(s) that are not safe. (#15466) * You have tryed to upload a save file that is not save. * language string * fix message thanks @julienV and @brianteeman --- administrator/components/com_media/controllers/file.php | 9 ++++++++- administrator/language/en-GB/en-GB.com_media.ini | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/administrator/components/com_media/controllers/file.php b/administrator/components/com_media/controllers/file.php index 7d5ee2952afd1..56957d47f0ca8 100644 --- a/administrator/components/com_media/controllers/file.php +++ b/administrator/components/com_media/controllers/file.php @@ -60,6 +60,14 @@ public function upload() $this->setRedirect('index.php?option=com_media&folder=' . $this->folder); } + if (!$files) + { + // If we could not get any data from the request we can not upload it. + JFactory::getApplication()->enqueueMessage(JText::_('COM_MEDIA_ERROR_WARNFILENOTSAFE'), 'error'); + + return false; + } + // Authorize the user if (!$this->authoriseUser('create')) { @@ -143,7 +151,6 @@ public function upload() if (!MediaHelper::canUpload($file, $err)) { // The file can't be uploaded - return false; } diff --git a/administrator/language/en-GB/en-GB.com_media.ini b/administrator/language/en-GB/en-GB.com_media.ini index 86da77181b313..a5643a13b8f4c 100644 --- a/administrator/language/en-GB/en-GB.com_media.ini +++ b/administrator/language/en-GB/en-GB.com_media.ini @@ -40,6 +40,7 @@ COM_MEDIA_ERROR_UNABLE_TO_DELETE=" Unable to delete: " COM_MEDIA_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file." COM_MEDIA_ERROR_UPLOAD_INPUT="Please input a file to upload" COM_MEDIA_ERROR_WARNFILENAME="File name must only contain alphanumeric characters and no spaces." +COM_MEDIA_ERROR_WARNFILENOTSAFE="You have tried to upload file(s) that are not safe." COM_MEDIA_ERROR_WARNFILETOOLARGE="This file is too large to upload." COM_MEDIA_ERROR_WARNFILETYPE="This file type is not supported." COM_MEDIA_ERROR_WARNIEXSS="Possible IE XSS Attack found." From e7581675b70302e7753526ab66160e56284673d3 Mon Sep 17 00:00:00 2001 From: Michael Babker Date: Tue, 15 Aug 2017 07:20:38 -0500 Subject: [PATCH 34/51] Prepare 3.8 Beta 2 release --- administrator/components/com_fields/helpers/fields.php | 2 +- administrator/manifests/files/joomla.xml | 2 +- .../{Joomla/CMS => }/Form/Field/RedirectStatusField.php | 6 +++--- libraries/src/Version.php | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) rename libraries/src/{Joomla/CMS => }/Form/Field/RedirectStatusField.php (89%) diff --git a/administrator/components/com_fields/helpers/fields.php b/administrator/components/com_fields/helpers/fields.php index 304a53af723c7..9416817029119 100644 --- a/administrator/components/com_fields/helpers/fields.php +++ b/administrator/components/com_fields/helpers/fields.php @@ -738,7 +738,7 @@ public static function getFieldTypes() * * @return void * - * @since __DEPLOY_VERSION__ + * @since 3.8.0 */ public static function clearFieldsCache() { diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 59725a3d07dcd..17e58d4ba19b9 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ www.joomla.org (C) 2005 - 2017 Open Source Matters. All rights reserved GNU General Public License version 2 or later; see LICENSE.txt - 3.8.0-dev + 3.8.0-beta2 August 2017 FILES_JOOMLA_XML_DESCRIPTION diff --git a/libraries/src/Joomla/CMS/Form/Field/RedirectStatusField.php b/libraries/src/Form/Field/RedirectStatusField.php similarity index 89% rename from libraries/src/Joomla/CMS/Form/Field/RedirectStatusField.php rename to libraries/src/Form/Field/RedirectStatusField.php index 056eeac79dd11..a4f531d00dc89 100644 --- a/libraries/src/Joomla/CMS/Form/Field/RedirectStatusField.php +++ b/libraries/src/Form/Field/RedirectStatusField.php @@ -17,7 +17,7 @@ /** * Redirect Status field. * - * @since __DEPLOY_VERSION__ + * @since 3.8.0 */ class RedirectStatusField extends \JFormFieldPredefinedList { @@ -25,7 +25,7 @@ class RedirectStatusField extends \JFormFieldPredefinedList * The form field type. * * @var string - * @since __DEPLOY_VERSION__ + * @since 3.8.0 */ public $type = 'Redirect_Status'; @@ -33,7 +33,7 @@ class RedirectStatusField extends \JFormFieldPredefinedList * Available statuses * * @var array - * @since __DEPLOY_VERSION__ + * @since 3.8.0 */ protected $predefinedOptions = array( '-2' => 'JTRASHED', diff --git a/libraries/src/Version.php b/libraries/src/Version.php index 972cd9d2f2479..ea469c2cbfdb7 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'dev'; + const EXTRA_VERSION = 'beta2'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '0-dev'; + const DEV_LEVEL = '0-beta2'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Development'; + const DEV_STATUS = 'Beta'; /** * Build number. @@ -111,7 +111,7 @@ final class Version * @var string * @since 3.5 */ - const RELDATE = '8-August-2017'; + const RELDATE = '15-August-2017'; /** * Release time. From a6cb4c93649b7f739b047bd8fefbe41289d9e6dd Mon Sep 17 00:00:00 2001 From: Michael Babker Date: Tue, 15 Aug 2017 07:32:36 -0500 Subject: [PATCH 35/51] Reset for dev --- administrator/manifests/files/joomla.xml | 2 +- build/bump.php | 2 +- libraries/src/Version.php | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/administrator/manifests/files/joomla.xml b/administrator/manifests/files/joomla.xml index 17e58d4ba19b9..a038e2c11511a 100644 --- a/administrator/manifests/files/joomla.xml +++ b/administrator/manifests/files/joomla.xml @@ -6,7 +6,7 @@ www.joomla.org (C) 2005 - 2017 Open Source Matters. All rights reserved GNU General Public License version 2 or later; see LICENSE.txt - 3.8.0-beta2 + 3.8.0-beta3-dev August 2017 FILES_JOOMLA_XML_DESCRIPTION diff --git a/build/bump.php b/build/bump.php index f39e95be764de..878f9ed5d19d9 100644 --- a/build/bump.php +++ b/build/bump.php @@ -154,7 +154,7 @@ function usage($command) 'major' => $versionSubParts[0], 'minor' => $versionSubParts[1], 'patch' => $versionSubParts[2], - 'extra' => !empty($versionParts[2]) ? $versionParts[2] : (!empty($versionParts[1]) ? $versionParts[1] : ''), + 'extra' => (!empty($versionParts[1]) ? $versionParts[1] : '') . (!empty($versionParts[2]) ? (!empty($versionParts[1]) ? '-' : '') . $versionParts[2] : ''), 'release' => $versionSubParts[0] . '.' . $versionSubParts[1] . '.' . $versionSubParts[2], 'dev_devel' => $versionSubParts[2] . (!empty($versionParts[1]) ? '-' . $versionParts[1] : '') . (!empty($versionParts[2]) ? '-' . $versionParts[2] : ''), 'dev_status' => $dev_status, diff --git a/libraries/src/Version.php b/libraries/src/Version.php index ea469c2cbfdb7..f46cbf53ebfc6 100644 --- a/libraries/src/Version.php +++ b/libraries/src/Version.php @@ -60,7 +60,7 @@ final class Version * @var string * @since 3.8.0 */ - const EXTRA_VERSION = 'beta2'; + const EXTRA_VERSION = 'beta3-dev'; /** * Release version. @@ -78,7 +78,7 @@ final class Version * @since 3.5 * @deprecated 4.0 Use separated version constants instead */ - const DEV_LEVEL = '0-beta2'; + const DEV_LEVEL = '0-beta3-dev'; /** * Development status. @@ -86,7 +86,7 @@ final class Version * @var string * @since 3.5 */ - const DEV_STATUS = 'Beta'; + const DEV_STATUS = 'Development'; /** * Build number. From 10196452de3e269ac3f08d1655725dc0dd52493d Mon Sep 17 00:00:00 2001 From: Walt Sorensen Date: Tue, 15 Aug 2017 06:36:15 -0600 Subject: [PATCH 36/51] [CS] Code Style fixes for administrator/components/com_installer/ (#16916) * PHPCS2-autofixers - Multi-line function call not indented correctly; - No blank line found after control structure - Closing parenthesis of a multi-line function call must be on a line by itself - Please consider an empty line before the foreach statement; - Expected 1 space after "="; 2 found - Expected 1 space after FUNCTION keyword; 0 found - Expected 3 tabs before opening brace; 4 found - Whitespace found at end of line * Fix query --- .../components/com_installer/helpers/installer.php | 2 +- .../components/com_installer/models/database.php | 11 +++++++---- .../components/com_installer/models/extension.php | 1 + .../components/com_installer/models/update.php | 1 + .../components/com_installer/models/updatesites.php | 5 +++-- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/administrator/components/com_installer/helpers/installer.php b/administrator/components/com_installer/helpers/installer.php index 654c3757a9f3c..e02f6435e62f3 100644 --- a/administrator/components/com_installer/helpers/installer.php +++ b/administrator/components/com_installer/helpers/installer.php @@ -51,7 +51,7 @@ public static function addSubmenu($vName = 'install') $vName == 'database' ); JHtmlSidebar::addEntry( - JText::_('COM_INSTALLER_SUBMENU_WARNINGS'), + JText::_('COM_INSTALLER_SUBMENU_WARNINGS'), 'index.php?option=com_installer&view=warnings', $vName == 'warnings' ); diff --git a/administrator/components/com_installer/models/database.php b/administrator/components/com_installer/models/database.php index bd6a3e013498f..07be0a9e0af83 100644 --- a/administrator/components/com_installer/models/database.php +++ b/administrator/components/com_installer/models/database.php @@ -99,6 +99,7 @@ public function getItems() return false; } + return $changeSet; } @@ -309,16 +310,18 @@ private function prepareUtf8mb4StatusTable() if ($count > 1) { // Table messed up somehow, clear it - $db->setQuery('DELETE FROM ' . $db->quoteName('#__utf8_conversion') - . ';')->execute(); + $db->setQuery('DELETE FROM ' . $db->quoteName('#__utf8_conversion') . ';') + ->execute(); $db->setQuery('INSERT INTO ' . $db->quoteName('#__utf8_conversion') - . ' (' . $db->quoteName('converted') . ') VALUES (0);')->execute(); + . ' (' . $db->quoteName('converted') . ') VALUES (0);' + )->execute(); } elseif ($count == 0) { // Record missing somehow, fix this $db->setQuery('INSERT INTO ' . $db->quoteName('#__utf8_conversion') - . ' (' . $db->quoteName('converted') . ') VALUES (0);')->execute(); + . ' (' . $db->quoteName('converted') . ') VALUES (0);' + )->execute(); } } } diff --git a/administrator/components/com_installer/models/extension.php b/administrator/components/com_installer/models/extension.php index d97e293fe9180..26979bbd0e2f5 100644 --- a/administrator/components/com_installer/models/extension.php +++ b/administrator/components/com_installer/models/extension.php @@ -92,6 +92,7 @@ protected function _getList($query, $limitstart = 0, $limit = 0) { // Check if search string exists in any of the fields to be searched. $found = 0; + foreach ($searchFields as $key => $field) { if (!$found && preg_match('/' . $escapedSearchString . '/i', $item->{$field})) diff --git a/administrator/components/com_installer/models/update.php b/administrator/components/com_installer/models/update.php index a0d3e48a6aa21..e1bbde987e7ee 100644 --- a/administrator/components/com_installer/models/update.php +++ b/administrator/components/com_installer/models/update.php @@ -495,6 +495,7 @@ public function getForm($data = array(), $loadData = true) return false; } + // Check the session for previously entered form data. $data = $this->loadFormData(); diff --git a/administrator/components/com_installer/models/updatesites.php b/administrator/components/com_installer/models/updatesites.php index 2ac0445b33b5a..b4daface1ca7b 100644 --- a/administrator/components/com_installer/models/updatesites.php +++ b/administrator/components/com_installer/models/updatesites.php @@ -388,8 +388,9 @@ protected function getJoomlaUpdateSitesIds($column = 0) . '(' . $db->qn('e.type') . ' = ' . $db->quote('file') . ' AND ' . $db->qn('e.element') . ' = ' . $db->quote('joomla') . ')' . ' OR (' . $db->qn('e.type') . ' = ' . $db->quote('package') . ' AND ' . $db->qn('e.element') . ' = ' . $db->quote('pkg_en-GB') . ')' . ' OR (' . $db->qn('e.type') . ' = ' . $db->quote('component') . ' AND ' . $db->qn('e.element') . ' = ' . $db->quote('com_joomlaupdate') . ')' - . ')'); - + . ')' + ); + $db->setQuery($query); return $db->loadColumn($column); From b05c82d50791b7c469fe27affefc8908401cf80a Mon Sep 17 00:00:00 2001 From: zero-24 Date: Tue, 15 Aug 2017 14:55:36 +0200 Subject: [PATCH 37/51] fix drone after https://github.com/joomla/joomla-cms/pull/17436 (#17544) --- installation/model/database.php | 36 +++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/installation/model/database.php b/installation/model/database.php index 148e9d6e81cb4..2fb9f26bcf832 100644 --- a/installation/model/database.php +++ b/installation/model/database.php @@ -204,7 +204,14 @@ public function initialise($options) if (!JFile::write($remoteDbPath, '')) { // Request to create the file manually - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', $remoteDbFile, 'installation'), 'error'); + JFactory::getApplication()->enqueueMessage( + JText::sprintf( + 'INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', + $remoteDbFile, + 'installation' + ), + 'error' + ); JFactory::getSession()->set('remoteDbFileUnwritable', true); @@ -215,7 +222,14 @@ public function initialise($options) JFactory::getSession()->set('remoteDbFileWrittenByJoomla', true); // Request to delete that file - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', $remoteDbFile, 'installation'), 'error'); + JFactory::getApplication()->enqueueMessage( + JText::sprintf( + 'INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', + $remoteDbFile, + 'installation' + ), + 'error' + ); return false; } @@ -225,7 +239,14 @@ public function initialise($options) // Add the general message JFactory::getApplication()->enqueueMessage($generalRemoteDatabaseMessage, 'warning'); - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', $remoteDbFile, 'installation'), 'error'); + JFactory::getApplication()->enqueueMessage( + JText::sprintf( + 'INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_DELETE_FILE', + $remoteDbFile, + 'installation' + ), + 'error' + ); return false; } @@ -235,7 +256,14 @@ public function initialise($options) // Add the general message JFactory::getApplication()->enqueueMessage($generalRemoteDatabaseMessage, 'warning'); - JFactory::getApplication()->enqueueMessage(JText::sprintf('INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', $remoteDbFile, 'installation'), 'error'); + JFactory::getApplication()->enqueueMessage( + JText::sprintf( + 'INSTL_DATABASE_HOST_IS_NOT_LOCALHOST_CREATE_FILE', + $remoteDbFile, + 'installation' + ), + 'error' + ); return false; } From 810b2745234be07fb4f69d740ca20f22e58a5f6e Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Tue, 15 Aug 2017 17:20:03 +0100 Subject: [PATCH 38/51] [a11y] Readmore links (#17530) * [a11y] Readmore links Alternative to #17469 There are many possible ways to display a readmore link depending on the options chosen 1. Read more 2. Read more with title 3. Read more with title limited to a set number of characters 4. Register to Read more with title (Show unathorised links) 5. Register to Read more with title limited to a set number of characters (Show unathorised links) 6. As above with alternative Read More Text Option 1 fails a11y as you end up with multiple links on the page all with the same title Option 3 may fail a11y as the title may be truncated (even inside a word) and this can lose meaning and sometimes result on multiple links with the same title Option 4 fails a11y as you end up with multiple links on the page all with the same title To resolve this we can use the aria-label attribute on the link to ensure that assistive technology will always see a unique and meaningful link. This alternative PR addresses the issues raised by @zwiastunsw A) does not say that it is a continuation (Read more). B) when access is for registered users - incorrectly states that this link and specifies where instead of message: Login to see * tabs --- layouts/joomla/content/readmore.php | 41 ++++++++++++++++++----------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/layouts/joomla/content/readmore.php b/layouts/joomla/content/readmore.php index 977c5d1d53714..4414b7114e08b 100644 --- a/layouts/joomla/content/readmore.php +++ b/layouts/joomla/content/readmore.php @@ -14,20 +14,29 @@ ?>

- + get('access-view')) : ?> + + alternative_readmore) : ?> + + get('show_readmore_title', 0) == 0) : ?> + + + +

From b431c0b88ebe68ccbea1563771feb0045580a0d6 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Wed, 16 Aug 2017 12:43:39 +0100 Subject: [PATCH 39/51] html code module mod_logged (admin) (#17561) ### Steps to reproduce the issue * Log in at the backend. * Go to the Control Panel -> Logged-in Users * Log in at the frontend. * Look at the source code in the backend. ### Expected result See source code: ``` ....Log out ``` ### Actual result See source code: ``` ....Log out"> ``` Look specially at ``` >Log out"> ``` (see **">**) ### System information (as much as possible) File: ``` ..\Joomla\administrator\modules\mod_logged\tmpl\default.php ``` Line 20: ``` ``` Should (possible) be: ``` ``` Delete: **">** ### Additional comments Joomla 3.7.4 - mod_logged (admin) --- administrator/modules/mod_logged/tmpl/default.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/modules/mod_logged/tmpl/default.php b/administrator/modules/mod_logged/tmpl/default.php index b4d2b1eba1af7..35a802ce279b4 100644 --- a/administrator/modules/mod_logged/tmpl/default.php +++ b/administrator/modules/mod_logged/tmpl/default.php @@ -17,7 +17,7 @@
client_id == 0) : ?> - + From 3e3b9e715480c654e99b4d65ac8c9e553cfde6c7 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Wed, 16 Aug 2017 13:56:10 +0200 Subject: [PATCH 40/51] Namespace JExtensionHelper (#17493) --- libraries/classmap.php | 2 ++ .../helper.php => src/Extension/ExtensionHelper.php} | 11 ++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) rename libraries/{cms/extension/helper.php => src/Extension/ExtensionHelper.php} (97%) diff --git a/libraries/classmap.php b/libraries/classmap.php index 861416a1dae7f..dc76d133abfa0 100644 --- a/libraries/classmap.php +++ b/libraries/classmap.php @@ -415,3 +415,5 @@ JLoader::registerAlias('JImageFilterNegate', '\\Joomla\\Image\\Filter\\Negate', '5.0'); JLoader::registerAlias('JImageFilterSketchy', '\\Joomla\\Image\\Filter\\Sketchy', '5.0'); JLoader::registerAlias('JImageFilterSmooth', '\\Joomla\\Image\\Filter\\Smooth', '5.0'); + +JLoader::registerAlias('JExtensionHelper', '\\Joomla\\CMS\\Extension\\ExtensionHelper', '5.0'); diff --git a/libraries/cms/extension/helper.php b/libraries/src/Extension/ExtensionHelper.php similarity index 97% rename from libraries/cms/extension/helper.php rename to libraries/src/Extension/ExtensionHelper.php index 6f838cc9d16eb..e5c4284a99dd4 100644 --- a/libraries/cms/extension/helper.php +++ b/libraries/src/Extension/ExtensionHelper.php @@ -1,12 +1,13 @@ Date: Wed, 16 Aug 2017 13:10:53 +0100 Subject: [PATCH 41/51] Readmore chevron RTL aware (#17560) * Readmore chevron RTL aware As identified by @infograf768 https://github.com/joomla/joomla-cms/pull/17530#issuecomment-322688887 the chevron in the readmore links is not rtl aware. ### Before ![screen shot 2017-08-16 at 09 08 17](https://user-images.githubusercontent.com/869724/29351426-e81fbe2a-8262-11e7-9b5f-2accc4c4af4a.png) ### After ![screen shot 2017-08-16 at 09 09 05](https://user-images.githubusercontent.com/869724/29351437-f7637fb6-8262-11e7-85a2-de791ed8ed50.png) * codestyle --- layouts/joomla/content/readmore.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/layouts/joomla/content/readmore.php b/layouts/joomla/content/readmore.php index 4414b7114e08b..c12418fa5b9db 100644 --- a/layouts/joomla/content/readmore.php +++ b/layouts/joomla/content/readmore.php @@ -11,17 +11,19 @@ $params = $displayData['params']; $item = $displayData['item']; +$direction = JFactory::getLanguage()->isRtl() ? 'left' : 'right'; ?>

get('access-view')) : ?> - alternative_readmore) : ?> get('show_readmore_title', 0) == 0) : ?> From 5486f163dab12348472ae886e344e6fc9e48464f Mon Sep 17 00:00:00 2001 From: zero-24 Date: Wed, 16 Aug 2017 14:15:31 +0200 Subject: [PATCH 42/51] Add support for the new support file on github by copy the support section of the readme (#17538) * add support for the new support file on github by copy the support section of the readme * remove / thanks @quy --- .github/SUPPORT.md | 8 ++++++++ README.md | 8 ++++---- README.txt | 6 +++--- 3 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 .github/SUPPORT.md diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000000000..f716bd5f7e8e5 --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1,8 @@ +Where can you get support and help? +==================== +* [The Joomla! Documentation](https://docs.joomla.org/Special:MyLanguage/Main_Page); +* [Frequently Asked Questions](https://docs.joomla.org/Special:MyLanguage/Category:FAQ) (FAQ); +* Find the [information you need](https://docs.joomla.org/Special:MyLanguage/Start_here); +* Find [help and other users](https://www.joomla.org/about-joomla/create-and-share.html); +* Post questions at [our forums](https://forum.joomla.org); +* [Joomla Resources Directory](https://resources.joomla.org) (JRD). diff --git a/README.md b/README.md index ea27ca244eb2c..21eaf2b61e246 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ Where can you get support and help? * Find the [information you need](https://docs.joomla.org/Special:MyLanguage/Start_here); * Find [help and other users](https://www.joomla.org/about-joomla/create-and-share.html); * Post questions at [our forums](https://forum.joomla.org); -* [Joomla Resources Directory](https://resources.joomla.org/) (JRD). +* [Joomla Resources Directory](https://resources.joomla.org) (JRD). Do you already have a Joomla! site that isn't built with Joomla! 3.x? --------------------- @@ -82,9 +82,9 @@ Do you already have a Joomla! site that isn't built with Joomla! 3.x? Do you want to improve Joomla? -------------------- -* Where to [request a feature](https://issues.joomla.org/)? -* How do you [report a bug](https://docs.joomla.org/Special:MyLanguage/Filing_bugs_and_issues) on the [Issue Tracker](https://issues.joomla.org/)? -* Get Involved: Joomla! is community developed software. [Join the community](https://volunteers.joomla.org/). +* Where to [request a feature](https://issues.joomla.org)? +* How do you [report a bug](https://docs.joomla.org/Special:MyLanguage/Filing_bugs_and_issues) on the [Issue Tracker](https://issues.joomla.org)? +* Get Involved: Joomla! is community developed software. [Join the community](https://volunteers.joomla.org). * Documentation for [Developers](https://docs.joomla.org/Special:MyLanguage/Portal:Developers). * Documentation for [Web designers](https://docs.joomla.org/Special:MyLanguage/Web_designers). diff --git a/README.txt b/README.txt index 7d42cf220869c..b3f37a94c1a3a 100644 --- a/README.txt +++ b/README.txt @@ -13,7 +13,7 @@ 3- Is Joomla! for you? * Joomla! is the right solution for most content web projects: https://docs.joomla.org/Special:MyLanguage/Portal:Learn_More * See Joomla's core features - https://www.joomla.org/core-features.html - * Try out our online demo: https://demo.joomla.org/ + * Try out our online demo: https://demo.joomla.org 4- How to find a Joomla! translation? * Repository of accredited language packs: https://community.joomla.org/translations.html @@ -59,9 +59,9 @@ * How to migrate from 1.5.x to 3.x? Tutorial: https://docs.joomla.org/Special:MyLanguage/Joomla_1.5_to_3.x_Step_by_Step_Migration 12- Do you want to improve Joomla? - * Where to request a feature? https://issues.joomla.org/ + * Where to request a feature? https://issues.joomla.org * How do you report a bug? https://docs.joomla.org/Special:MyLanguage/Filing_bugs_and_issues - * Get Involved: Joomla! is a community developed software. Join the community at https://volunteers.joomla.org/ + * Get Involved: Joomla! is a community developed software. Join the community at https://volunteers.joomla.org * Documentation for Developers: https://docs.joomla.org/Special:MyLanguage/Portal:Developers * Documentation for Web designers: https://docs.joomla.org/Special:MyLanguage/Web_designers From bc6c65eabb03cfa76f6cfcf9a8895e46fdfb0b96 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Wed, 16 Aug 2017 21:26:02 +0100 Subject: [PATCH 43/51] Typo - a not an (#17571) I spotted one and the OCD in me made me check the rest --- administrator/components/com_admin/models/sysinfo.php | 2 +- .../com_associations/views/association/view.html.php | 2 +- .../components/com_categories/views/categories/view.html.php | 2 +- .../components/com_contact/views/contacts/view.html.php | 2 +- .../components/com_content/views/articles/view.html.php | 2 +- .../components/com_finder/helpers/indexer/helper.php | 2 +- .../components/com_languages/views/override/view.html.php | 2 +- administrator/components/com_menus/views/items/view.html.php | 2 +- .../components/com_newsfeeds/views/newsfeeds/view.html.php | 2 +- administrator/language/en-GB/en-GB.com_weblinks.ini | 2 +- components/com_content/router.php | 2 +- components/com_newsfeeds/helpers/legacyrouter.php | 2 +- components/com_newsfeeds/views/newsfeed/view.html.php | 2 +- components/com_tags/views/tag/view.html.php | 2 +- installation/model/languages.php | 2 +- layouts/joomla/html/tag.php | 4 ++-- libraries/cms/html/html.php | 2 +- libraries/joomla/database/query.php | 2 +- libraries/joomla/filesystem/wrapper/path.php | 2 +- libraries/joomla/form/fields/sql.php | 2 +- libraries/src/Access/Exception/NotAllowed.php | 2 +- libraries/src/Document/FeedDocument.php | 2 +- libraries/src/Factory.php | 2 +- libraries/src/Installer/Adapter/FileAdapter.php | 2 +- libraries/src/Installer/Adapter/ModuleAdapter.php | 2 +- libraries/src/Installer/Adapter/PackageAdapter.php | 2 +- libraries/src/Installer/Adapter/PluginAdapter.php | 2 +- libraries/src/Installer/InstallerAdapter.php | 2 +- libraries/src/Menu/Node.php | 2 +- plugins/finder/categories/categories.php | 2 +- plugins/finder/contacts/contacts.php | 2 +- plugins/finder/content/content.php | 2 +- plugins/finder/newsfeeds/newsfeeds.php | 2 +- plugins/finder/tags/tags.php | 2 +- tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php | 4 ++-- .../unit/suites/libraries/joomla/access/JAccessRulesTest.php | 2 +- .../application/web/router/JApplicationWebRouterRestTest.php | 2 +- tests/unit/suites/libraries/joomla/form/JFormTest.php | 2 +- tests/unit/suites/libraries/joomla/language/JLanguageTest.php | 2 +- 39 files changed, 41 insertions(+), 41 deletions(-) diff --git a/administrator/components/com_admin/models/sysinfo.php b/administrator/components/com_admin/models/sysinfo.php index 3a2fb6ab3838d..29338e5cfd6ce 100644 --- a/administrator/components/com_admin/models/sysinfo.php +++ b/administrator/components/com_admin/models/sysinfo.php @@ -163,7 +163,7 @@ class AdminModelSysInfo extends JModelLegacy * Remove sections of data marked as private in the privateSettings * * @param array $dataArray Array with data tha may contain private informati - * @param string $dataType Type of data to search for an specific section in the privateSettings array + * @param string $dataType Type of data to search for a specific section in the privateSettings array * * @return array * diff --git a/administrator/components/com_associations/views/association/view.html.php b/administrator/components/com_associations/views/association/view.html.php index 00bdcb4467b72..5a77a04736b9c 100644 --- a/administrator/components/com_associations/views/association/view.html.php +++ b/administrator/components/com_associations/views/association/view.html.php @@ -154,7 +154,7 @@ public function display($tpl = null) // We also need to change the category filter to show show categories with All or the forced language. if ($forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'CMD')) { - // If the language is forced we can't allow to select the language, so transform the language selector filter into an hidden field. + // If the language is forced we can't allow to select the language, so transform the language selector filter into a hidden field. $languageXml = new SimpleXMLElement(''); $this->filterForm->setField($languageXml, 'filter', true); diff --git a/administrator/components/com_categories/views/categories/view.html.php b/administrator/components/com_categories/views/categories/view.html.php index 94943883f9314..075c9d1c68fa3 100644 --- a/administrator/components/com_categories/views/categories/view.html.php +++ b/administrator/components/com_categories/views/categories/view.html.php @@ -118,7 +118,7 @@ public function display($tpl = null) // In article associations modal we need to remove language filter if forcing a language. if ($forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'CMD')) { - // If the language is forced we can't allow to select the language, so transform the language selector filter into an hidden field. + // If the language is forced we can't allow to select the language, so transform the language selector filter into a hidden field. $languageXml = new SimpleXMLElement(''); $this->filterForm->setField($languageXml, 'filter', true); diff --git a/administrator/components/com_contact/views/contacts/view.html.php b/administrator/components/com_contact/views/contacts/view.html.php index 47bcb57709178..c3bdce72110c1 100644 --- a/administrator/components/com_contact/views/contacts/view.html.php +++ b/administrator/components/com_contact/views/contacts/view.html.php @@ -104,7 +104,7 @@ public function display($tpl = null) // We also need to change the category filter to show show categories with All or the forced language. if ($forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'CMD')) { - // If the language is forced we can't allow to select the language, so transform the language selector filter into an hidden field. + // If the language is forced we can't allow to select the language, so transform the language selector filter into a hidden field. $languageXml = new SimpleXMLElement(''); $this->filterForm->setField($languageXml, 'filter', true); diff --git a/administrator/components/com_content/views/articles/view.html.php b/administrator/components/com_content/views/articles/view.html.php index d5a55b56450a7..042122b50d10c 100644 --- a/administrator/components/com_content/views/articles/view.html.php +++ b/administrator/components/com_content/views/articles/view.html.php @@ -120,7 +120,7 @@ public function display($tpl = null) // We also need to change the category filter to show show categories with All or the forced language. if ($forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'CMD')) { - // If the language is forced we can't allow to select the language, so transform the language selector filter into an hidden field. + // If the language is forced we can't allow to select the language, so transform the language selector filter into a hidden field. $languageXml = new SimpleXMLElement(''); $this->filterForm->setField($languageXml, 'filter', true); diff --git a/administrator/components/com_finder/helpers/indexer/helper.php b/administrator/components/com_finder/helpers/indexer/helper.php index e46e9d3803f3c..b291a58a911fb 100644 --- a/administrator/components/com_finder/helpers/indexer/helper.php +++ b/administrator/components/com_finder/helpers/indexer/helper.php @@ -433,7 +433,7 @@ public static function getContentPath($url) * Method to get extra data for a content before being indexed. This is how * we add Comments, Tags, Labels, etc. that should be available to Finder. * - * @param FinderIndexerResult &$item The item to index as an FinderIndexerResult object. + * @param FinderIndexerResult &$item The item to index as a FinderIndexerResult object. * * @return boolean True on success, false on failure. * diff --git a/administrator/components/com_languages/views/override/view.html.php b/administrator/components/com_languages/views/override/view.html.php index 0e33acfd298ff..742ed58c7890f 100644 --- a/administrator/components/com_languages/views/override/view.html.php +++ b/administrator/components/com_languages/views/override/view.html.php @@ -10,7 +10,7 @@ defined('_JEXEC') or die; /** - * View to edit an language override + * View to edit a language override * * @since 2.5 */ diff --git a/administrator/components/com_menus/views/items/view.html.php b/administrator/components/com_menus/views/items/view.html.php index 1e880db9b0a3b..281c12f6d99e1 100644 --- a/administrator/components/com_menus/views/items/view.html.php +++ b/administrator/components/com_menus/views/items/view.html.php @@ -237,7 +237,7 @@ public function display($tpl = null) // In menu associations modal we need to remove language filter if forcing a language. if ($forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'CMD')) { - // If the language is forced we can't allow to select the language, so transform the language selector filter into an hidden field. + // If the language is forced we can't allow to select the language, so transform the language selector filter into a hidden field. $languageXml = new SimpleXMLElement(''); $this->filterForm->setField($languageXml, 'filter', true); diff --git a/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php b/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php index 72462f8a5f78b..024bd78d27b74 100644 --- a/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php +++ b/administrator/components/com_newsfeeds/views/newsfeeds/view.html.php @@ -82,7 +82,7 @@ public function display($tpl = null) // We also need to change the category filter to show show categories with All or the forced language. if ($forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'CMD')) { - // If the language is forced we can't allow to select the language, so transform the language selector filter into an hidden field. + // If the language is forced we can't allow to select the language, so transform the language selector filter into a hidden field. $languageXml = new SimpleXMLElement(''); $this->filterForm->setField($languageXml, 'filter', true); diff --git a/administrator/language/en-GB/en-GB.com_weblinks.ini b/administrator/language/en-GB/en-GB.com_weblinks.ini index 2fd030b86c0ed..a252b6349e25e 100644 --- a/administrator/language/en-GB/en-GB.com_weblinks.ini +++ b/administrator/language/en-GB/en-GB.com_weblinks.ini @@ -81,7 +81,7 @@ COM_WEBLINKS_FIELD_WIDTH_LABEL="Width" COM_WEBLINKS_FIELDSET_IMAGES="Images" COM_WEBLINKS_FIELDSET_OPTIONS="Options" COM_WEBLINKS_FILTER_CATEGORY="Filter Category" -COM_WEBLINKS_FILTER_SEARCH_DESC="Search in web link title and alias. Prefix with ID: to search for an web link ID." +COM_WEBLINKS_FILTER_SEARCH_DESC="Search in web link title and alias. Prefix with ID: to search for a web link ID." COM_WEBLINKS_FILTER_SEARCH_LABEL="Search Web Links" COM_WEBLINKS_FILTER_STATE="Filter State" COM_WEBLINKS_FLOAT_DESC="Controls placement of the image." diff --git a/components/com_content/router.php b/components/com_content/router.php index 9ed93270c52a5..4957dc0170f47 100644 --- a/components/com_content/router.php +++ b/components/com_content/router.php @@ -136,7 +136,7 @@ public function getArticleSegment($id, $query) } /** - * Method to get the segment(s) for an form + * Method to get the segment(s) for a form * * @param string $id ID of the article form to retrieve the segments for * @param array $query The request that is built right now diff --git a/components/com_newsfeeds/helpers/legacyrouter.php b/components/com_newsfeeds/helpers/legacyrouter.php index 3d95ebdd7a938..2967895031ae5 100644 --- a/components/com_newsfeeds/helpers/legacyrouter.php +++ b/components/com_newsfeeds/helpers/legacyrouter.php @@ -85,7 +85,7 @@ public function build(&$query, &$segments) unset($query['view']); } - // Are we dealing with an newsfeed that is attached to a menu item? + // Are we dealing with a newsfeed that is attached to a menu item? if (isset($query['view'], $query['id']) && $mView == $query['view'] && $mId == (int) $query['id']) { unset($query['view'], $query['catid'], $query['id']); diff --git a/components/com_newsfeeds/views/newsfeed/view.html.php b/components/com_newsfeeds/views/newsfeed/view.html.php index 3868ef99f2575..e7adf5c7d2ad2 100644 --- a/components/com_newsfeeds/views/newsfeed/view.html.php +++ b/components/com_newsfeeds/views/newsfeed/view.html.php @@ -95,7 +95,7 @@ public function display($tpl = null) { $currentLink = $active->link; - // If the current view is the active item and an newsfeed view for this feed, then the menu item params take priority + // If the current view is the active item and a newsfeed view for this feed, then the menu item params take priority if (strpos($currentLink, 'view=newsfeed') && strpos($currentLink, '&id=' . (string) $item->id)) { // $item->params are the newsfeed params, $temp are the menu item params diff --git a/components/com_tags/views/tag/view.html.php b/components/com_tags/views/tag/view.html.php index 4d8e44f847878..7d087226ed70a 100644 --- a/components/com_tags/views/tag/view.html.php +++ b/components/com_tags/views/tag/view.html.php @@ -150,7 +150,7 @@ public function display($tpl = null) { $currentLink = $active->link; - // If the current view is the active item and an tag view for one tag, then the menu item params take priority + // If the current view is the active item and a tag view for one tag, then the menu item params take priority if (strpos($currentLink, 'view=tag') && strpos($currentLink, '&id[0]=' . (string) $item[0]->id)) { // $item[0]->params are the tag params, $temp are the menu item params diff --git a/installation/model/languages.php b/installation/model/languages.php index 75821cc7db40c..6d12f62571ccd 100644 --- a/installation/model/languages.php +++ b/installation/model/languages.php @@ -720,7 +720,7 @@ public function publishContentLanguages() * * This function checks other existing language with the same code, if they exist provides a unique SEF name. * For instance: en-GB, en-US and en-AU will share the same SEF code by default: www.mywebsite.com/en/ - * To avoid this conflict, this function creates an specific SEF in case of existing conflict: + * To avoid this conflict, this function creates a specific SEF in case of existing conflict: * For example: www.mywebsite.com/en-au/ * * @param stdClass $itemLanguage Language Object. diff --git a/layouts/joomla/html/tag.php b/layouts/joomla/html/tag.php index e5c1ac45a7a9b..756792e1cb9fd 100644 --- a/layouts/joomla/html/tag.php +++ b/layouts/joomla/html/tag.php @@ -52,7 +52,7 @@ // Tag is greater than the minimum required chars and enter pressed if (this.value && this.value.length >= " . $minTermLength . " && (event.which === 13 || event.which === 188)) { - // Search an highlighted result + // Search a highlighted result var highlighted = $('" . $selector . "_chzn').find('li.active-result.highlighted').first(); // Add the highlighted option @@ -83,7 +83,7 @@ option.text(this.value).val(customTagPrefix + this.value); option.attr('selected','selected'); - // Append the option an repopulate the chosen field + // Append the option and repopulate the chosen field $('" . $selector . "').append(option); } } diff --git a/libraries/cms/html/html.php b/libraries/cms/html/html.php index 0c842e04e12e8..f60c655711d6c 100644 --- a/libraries/cms/html/html.php +++ b/libraries/cms/html/html.php @@ -400,7 +400,7 @@ protected static function includeRelativeFiles($folder, $file, $relative, $detec } else { - // If the file contains any /: it can be in an media extension subfolder + // If the file contains any /: it can be in a media extension subfolder if (strpos($file, '/')) { // Divide the file extracting the extension as the first part before / diff --git a/libraries/joomla/database/query.php b/libraries/joomla/database/query.php index d6e91c79b87a3..920f50acb3354 100644 --- a/libraries/joomla/database/query.php +++ b/libraries/joomla/database/query.php @@ -1736,7 +1736,7 @@ public function format($format) }; /** - * Regexp to find an replace all tokens. + * Regexp to find and replace all tokens. * Matched fields: * 0: Full token * 1: Everything following '%' diff --git a/libraries/joomla/filesystem/wrapper/path.php b/libraries/joomla/filesystem/wrapper/path.php index 06d2e59814cfa..417e26390fd2b 100644 --- a/libraries/joomla/filesystem/wrapper/path.php +++ b/libraries/joomla/filesystem/wrapper/path.php @@ -118,7 +118,7 @@ public function isOwner($path) /** * Helper wrapper method for find * - * @param mixed $paths An path string or array of path strings to search in + * @param mixed $paths A path string or array of path strings to search in * @param string $file The file name to look for. * * @return mixed The full path and file name for the target file, or boolean false if the file is not found in any of the paths. diff --git a/libraries/joomla/form/fields/sql.php b/libraries/joomla/form/fields/sql.php index 118c184c873cb..42b59dfa54bd8 100644 --- a/libraries/joomla/form/fields/sql.php +++ b/libraries/joomla/form/fields/sql.php @@ -12,7 +12,7 @@ JFormHelper::loadFieldClass('list'); /** - * Supports an custom SQL select list + * Supports a custom SQL select list * * @since 11.1 */ diff --git a/libraries/src/Access/Exception/NotAllowed.php b/libraries/src/Access/Exception/NotAllowed.php index 5e88eddc57598..e9d2981aa391e 100644 --- a/libraries/src/Access/Exception/NotAllowed.php +++ b/libraries/src/Access/Exception/NotAllowed.php @@ -11,7 +11,7 @@ defined('JPATH_PLATFORM') or die; /** - * Exception class defining an not allowed access + * Exception class defining a not allowed access * * @since 3.6.3 */ diff --git a/libraries/src/Document/FeedDocument.php b/libraries/src/Document/FeedDocument.php index 091142a2fdcc4..2909d9f7be0f4 100644 --- a/libraries/src/Document/FeedDocument.php +++ b/libraries/src/Document/FeedDocument.php @@ -228,7 +228,7 @@ public function render($cache = false, $params = array()) } /** - * Adds an FeedItem to the feed. + * Adds a FeedItem to the feed. * * @param FeedItem $item The feeditem to add to the feed. * diff --git a/libraries/src/Factory.php b/libraries/src/Factory.php index a25c79fb63932..eb9b035789a98 100644 --- a/libraries/src/Factory.php +++ b/libraries/src/Factory.php @@ -629,7 +629,7 @@ protected static function createSession(array $options = array()) } /** - * Create an database object + * Create a database object * * @return \JDatabaseDriver * diff --git a/libraries/src/Installer/Adapter/FileAdapter.php b/libraries/src/Installer/Adapter/FileAdapter.php index cafc201ad3b12..cc7ccd272b43b 100644 --- a/libraries/src/Installer/Adapter/FileAdapter.php +++ b/libraries/src/Installer/Adapter/FileAdapter.php @@ -349,7 +349,7 @@ public function uninstall($id) $this->setManifest($xml); - // If there is an manifest class file, let's load it + // If there is a manifest class file, let's load it $this->scriptElement = $this->getManifest()->scriptfile; $manifestScript = (string) $this->getManifest()->scriptfile; diff --git a/libraries/src/Installer/Adapter/ModuleAdapter.php b/libraries/src/Installer/Adapter/ModuleAdapter.php index a4ac9bb8a2754..388db86807e08 100644 --- a/libraries/src/Installer/Adapter/ModuleAdapter.php +++ b/libraries/src/Installer/Adapter/ModuleAdapter.php @@ -577,7 +577,7 @@ public function uninstall($id) // Attempt to load the language file; might have uninstall strings $this->loadLanguage(($this->extension->client_id ? JPATH_ADMINISTRATOR : JPATH_SITE) . '/modules/' . $element); - // If there is an manifest class file, let's load it + // If there is a manifest class file, let's load it $this->scriptElement = $this->getManifest()->scriptfile; $manifestScript = (string) $this->getManifest()->scriptfile; diff --git a/libraries/src/Installer/Adapter/PackageAdapter.php b/libraries/src/Installer/Adapter/PackageAdapter.php index 0ad0efff0a837..40fc483e4edbf 100644 --- a/libraries/src/Installer/Adapter/PackageAdapter.php +++ b/libraries/src/Installer/Adapter/PackageAdapter.php @@ -596,7 +596,7 @@ public function uninstall($id) return false; } - // If there is an manifest class file, let's load it + // If there is a manifest class file, let's load it $manifestScript = (string) $manifest->scriptfile; if ($manifestScript) diff --git a/libraries/src/Installer/Adapter/PluginAdapter.php b/libraries/src/Installer/Adapter/PluginAdapter.php index 9fb07bec2681b..d211b2d2e1d21 100644 --- a/libraries/src/Installer/Adapter/PluginAdapter.php +++ b/libraries/src/Installer/Adapter/PluginAdapter.php @@ -526,7 +526,7 @@ public function uninstall($id) * --------------------------------------------------------------------------------------------- */ - // If there is an manifest class file, let's load it; we'll copy it later (don't have dest yet) + // If there is a manifest class file, let's load it; we'll copy it later (don't have dest yet) $manifestScript = (string) $this->getManifest()->scriptfile; if ($manifestScript) diff --git a/libraries/src/Installer/InstallerAdapter.php b/libraries/src/Installer/InstallerAdapter.php index dd2dc272a3cb1..545092e0956fb 100644 --- a/libraries/src/Installer/InstallerAdapter.php +++ b/libraries/src/Installer/InstallerAdapter.php @@ -954,7 +954,7 @@ abstract protected function setupInstallPaths(); */ protected function setupScriptfile() { - // If there is an manifest class file, lets load it; we'll copy it later (don't have dest yet) + // If there is a manifest class file, lets load it; we'll copy it later (don't have dest yet) $manifestScript = (string) $this->getManifest()->scriptfile; if ($manifestScript) diff --git a/libraries/src/Menu/Node.php b/libraries/src/Menu/Node.php index d79f74d2e9afa..a636750e4561a 100644 --- a/libraries/src/Menu/Node.php +++ b/libraries/src/Menu/Node.php @@ -184,7 +184,7 @@ public function getChildren() /** * Find the current node depth in the tree hierarchy * - * @return int The node level in the hierarchy, where ROOT == 0, First level menu item == 1, an so on. + * @return int The node level in the hierarchy, where ROOT == 0, First level menu item == 1, and so on. * * @since 3.8.0 */ diff --git a/plugins/finder/categories/categories.php b/plugins/finder/categories/categories.php index 4654c599e407d..38cf1f73bcc9b 100644 --- a/plugins/finder/categories/categories.php +++ b/plugins/finder/categories/categories.php @@ -233,7 +233,7 @@ public function onFinderChangeState($context, $pks, $value) /** * Method to index an item. The item must be a FinderIndexerResult object. * - * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. + * @param FinderIndexerResult $item The item to index as a FinderIndexerResult object. * @param string $format The item format. Not used. * * @return void diff --git a/plugins/finder/contacts/contacts.php b/plugins/finder/contacts/contacts.php index db2d64f43377f..a6f95ac3d77c7 100644 --- a/plugins/finder/contacts/contacts.php +++ b/plugins/finder/contacts/contacts.php @@ -240,7 +240,7 @@ public function onFinderChangeState($context, $pks, $value) /** * Method to index an item. The item must be a FinderIndexerResult object. * - * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. + * @param FinderIndexerResult $item The item to index as a FinderIndexerResult object. * @param string $format The item format * * @return void diff --git a/plugins/finder/content/content.php b/plugins/finder/content/content.php index 74633c98d823b..8da9dbdf7b959 100644 --- a/plugins/finder/content/content.php +++ b/plugins/finder/content/content.php @@ -233,7 +233,7 @@ public function onFinderChangeState($context, $pks, $value) /** * Method to index an item. The item must be a FinderIndexerResult object. * - * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. + * @param FinderIndexerResult $item The item to index as a FinderIndexerResult object. * @param string $format The item format. Not used. * * @return void diff --git a/plugins/finder/newsfeeds/newsfeeds.php b/plugins/finder/newsfeeds/newsfeeds.php index 851e2e690a8b8..3cfee4be731b5 100644 --- a/plugins/finder/newsfeeds/newsfeeds.php +++ b/plugins/finder/newsfeeds/newsfeeds.php @@ -241,7 +241,7 @@ public function onFinderChangeState($context, $pks, $value) /** * Method to index an item. The item must be a FinderIndexerResult object. * - * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. + * @param FinderIndexerResult $item The item to index as a FinderIndexerResult object. * @param string $format The item format. Not used. * * @return void diff --git a/plugins/finder/tags/tags.php b/plugins/finder/tags/tags.php index 20b855e19e418..56b28c21e9107 100644 --- a/plugins/finder/tags/tags.php +++ b/plugins/finder/tags/tags.php @@ -195,7 +195,7 @@ public function onFinderChangeState($context, $pks, $value) /** * Method to index an item. The item must be a FinderIndexerResult object. * - * @param FinderIndexerResult $item The item to index as an FinderIndexerResult object. + * @param FinderIndexerResult $item The item to index as a FinderIndexerResult object. * @param string $format The item format * * @return void diff --git a/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php b/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php index 4f0724c68fec8..8e37bd98890cf 100644 --- a/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php +++ b/tests/unit/suites/libraries/joomla/access/JAccessRuleTest.php @@ -95,7 +95,7 @@ public function testGetData() */ public function testMergeIdentity() { - // Construct an rule with no identities. + // Construct a rule with no identities. $rule = new \Joomla\CMS\Access\Rule(''); // Add the identity with allow. @@ -135,7 +135,7 @@ public function testMergeIdentities() 3 => 0 ); - // Construct an rule with no identities. + // Construct a rule with no identities. $rule = new \Joomla\CMS\Access\Rule(''); $rule->mergeIdentities($array); diff --git a/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php b/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php index b0986e4788308..d2077fa9a799e 100644 --- a/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php +++ b/tests/unit/suites/libraries/joomla/access/JAccessRulesTest.php @@ -44,7 +44,7 @@ public function test__constructString() $this->assertThat( (string) $rules, $this->equalTo($string), - 'Checks input as an string.' + 'Checks input as a string.' ); } diff --git a/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php b/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php index 9e99afd21a6bd..956371cf5f162 100644 --- a/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php +++ b/tests/unit/suites/libraries/joomla/application/web/router/JApplicationWebRouterRestTest.php @@ -112,7 +112,7 @@ public function seedFetchControllerSuffixData() * @param string $input Input string to test. * @param string $expected Expected fetched string. * @param mixed $method Method to override POST request - * @param boolean $exception True if an RuntimeException is expected based on invalid input + * @param boolean $exception True if a RuntimeException is expected based on invalid input * @param boolean $allowMethod Allow or not to pass method in post request as parameter * * @return void diff --git a/tests/unit/suites/libraries/joomla/form/JFormTest.php b/tests/unit/suites/libraries/joomla/form/JFormTest.php index a2c50b36186f6..515038ccac481 100644 --- a/tests/unit/suites/libraries/joomla/form/JFormTest.php +++ b/tests/unit/suites/libraries/joomla/form/JFormTest.php @@ -575,7 +575,7 @@ public function testFindField() $this->assertThat( $form->findField('title', 'bogus'), $this->isFalse(), - 'Line:' . __LINE__ . ' An field in a group that does not exist should return false.' + 'Line:' . __LINE__ . ' A field in a group that does not exist should return false.' ); // Test various find combinations. diff --git a/tests/unit/suites/libraries/joomla/language/JLanguageTest.php b/tests/unit/suites/libraries/joomla/language/JLanguageTest.php index 3e30fa5dd4009..f1d9bec5f1092 100644 --- a/tests/unit/suites/libraries/joomla/language/JLanguageTest.php +++ b/tests/unit/suites/libraries/joomla/language/JLanguageTest.php @@ -205,7 +205,7 @@ public function testGetTransliterator() $lang = new JLanguage(''); // The first time you run the method returns NULL - // Only if there is an setTransliterator, this test is wrong + // Only if there is a setTransliterator, this test is wrong $this->assertNull( $lang->getTransliterator() ); From 0202b23783c6db957027141a0760098e7c42fff3 Mon Sep 17 00:00:00 2001 From: Allon Moritz Date: Thu, 17 Aug 2017 01:47:23 +0200 Subject: [PATCH 44/51] Namespace JObject (#17492) * Namespace JObject * Revert back to 4 --- libraries/classmap.php | 2 ++ .../object.php => src/Object/CMSObject.php} | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) rename libraries/{joomla/object/object.php => src/Object/CMSObject.php} (92%) diff --git a/libraries/classmap.php b/libraries/classmap.php index dc76d133abfa0..2be8b6489c162 100644 --- a/libraries/classmap.php +++ b/libraries/classmap.php @@ -416,4 +416,6 @@ JLoader::registerAlias('JImageFilterSketchy', '\\Joomla\\Image\\Filter\\Sketchy', '5.0'); JLoader::registerAlias('JImageFilterSmooth', '\\Joomla\\Image\\Filter\\Smooth', '5.0'); +JLoader::registerAlias('JObject', '\\Joomla\\CMS\\Object\\CMSObject', '5.0'); + JLoader::registerAlias('JExtensionHelper', '\\Joomla\\CMS\\Extension\\ExtensionHelper', '5.0'); diff --git a/libraries/joomla/object/object.php b/libraries/src/Object/CMSObject.php similarity index 92% rename from libraries/joomla/object/object.php rename to libraries/src/Object/CMSObject.php index bf6247086b56f..79adab1ed7f17 100644 --- a/libraries/joomla/object/object.php +++ b/libraries/src/Object/CMSObject.php @@ -1,12 +1,13 @@ getMessage(); } @@ -207,7 +208,7 @@ public function set($property, $value = null) * * @since 11.1 * - * @see JObject::set() + * @see CMSObject::set() */ public function setProperties($properties) { From 4a125558b9dc35b027d0a45f17306aea2d27f3d5 Mon Sep 17 00:00:00 2001 From: Brian Teeman Date: Thu, 17 Aug 2017 00:50:25 +0100 Subject: [PATCH 45/51] Add descriptions to cLI scripts (#17573) I was looking at the CLI scripts and wasn't sure what these two did as they had no description. Eventually I saw the description lower down the file. To make it easier for others I copied the description to the top (as with the other CLI scripts) --- cli/deletefiles.php | 4 ++++ cli/garbagecron.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/cli/deletefiles.php b/cli/deletefiles.php index 30a29f2d6ecf4..46b426857bba5 100644 --- a/cli/deletefiles.php +++ b/cli/deletefiles.php @@ -6,6 +6,10 @@ * @license GNU General Public License version 2 or later; see LICENSE.txt */ +/** + * A command line cron job to attempt to remove files that should have been deleted at update. + */ + // We are a valid entry point. const _JEXEC = 1; diff --git a/cli/garbagecron.php b/cli/garbagecron.php index bac7553bddf45..a9c6c0e9a060b 100644 --- a/cli/garbagecron.php +++ b/cli/garbagecron.php @@ -6,6 +6,10 @@ * @license GNU General Public License version 2 or later; see LICENSE.txt */ +/** + * A command line cron job to trash expired cache data. + */ + // Initialize Joomla framework const _JEXEC = 1; From 308c45b8a99e30067c08ef3b627cf2415b8e5862 Mon Sep 17 00:00:00 2001 From: Stefan Wajda Date: Thu, 17 Aug 2017 14:16:16 +0200 Subject: [PATCH 46/51] [a11y] Icons: Print, Email, Edit - change to button (#17543) * Change tag a to button * unique ID for button and added aria-labeelledby for ul * CS fixes --- language/en-GB/en-GB.ini | 1 + layouts/joomla/content/icons.php | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/language/en-GB/en-GB.ini b/language/en-GB/en-GB.ini index 777faa194611f..ad0e8b2b33909 100644 --- a/language/en-GB/en-GB.ini +++ b/language/en-GB/en-GB.ini @@ -103,6 +103,7 @@ JTRASH="Trash" JTRASHED="Trashed" JTRUE="True" JUNPUBLISHED="Unpublished" +JUSER_TOOLS="User tools" JYEAR="Year" JYES="Yes" diff --git a/layouts/joomla/content/icons.php b/layouts/joomla/content/icons.php index 8887454b99f0d..38dac8b2a3015 100644 --- a/layouts/joomla/content/icons.php +++ b/layouts/joomla/content/icons.php @@ -12,6 +12,7 @@ JHtml::_('bootstrap.framework'); $canEdit = $displayData['params']->get('access-edit'); +$articleId = $displayData['item']->id; ?> @@ -20,9 +21,13 @@ get('show_print_icon') || $displayData['params']->get('show_email_icon')) : ?>

- + -