';
- $html .= '';
- $html .= '';
- $html .= '' . $L->get('Amount of items to show on the feed') . '';
- $html .= '
';
-
- return $html;
- }
-
private function encodeURL($url)
{
return preg_replace_callback('/[^\x20-\x7f]/', function ($match) {
@@ -44,7 +17,7 @@ class pluginRSS extends Plugin
global $url;
// Amount of pages to show
- $numberOfItems = $this->getValue('numberOfItems');
+ $numberOfItems = $site->itemsPerPage();
// Get the list of public pages (sticky and static included)
$list = $pages->getList(
@@ -58,9 +31,8 @@ class pluginRSS extends Plugin
);
$xml = '';
- $xml .= '';
+ $xml .= '';
$xml .= '';
- $xml .= '';
$xml .= '' . $site->title() . '';
$xml .= '' . $this->encodeURL($site->url()) . '';
$xml .= '' . $site->description() . '';
@@ -71,11 +43,14 @@ class pluginRSS extends Plugin
try {
// Create the page object from the page key
$page = new Page($pageKey);
+ $imagepath = parse_url($page->coverImage(true), PHP_URL_PATH);
+ $imagepath = $_SERVER['DOCUMENT_ROOT'] . $imagepath;
+
$xml .= '';
$xml .= '' . $page->title() . '';
$xml .= '' . $this->encodeURL($page->permalink()) . '';
- $xml .= '' . $page->coverImage(true) . '';
- $xml .= '' . Sanitize::html($page->contentBreak()) . '';
+ $xml .= '';
+ $xml .= ''.strip_tags( $page->contentBreak() ).'';
$xml .= '' . date(DATE_RSS, strtotime($page->getValue('dateRaw'))) . '';
$xml .= '' . $page->uuid() . '';
$xml .= '';
diff --git a/bl-plugins/sitemap/languages/da.json b/bl-modules/sitemap/languages/da.json
similarity index 100%
rename from bl-plugins/sitemap/languages/da.json
rename to bl-modules/sitemap/languages/da.json
diff --git a/bl-plugins/sitemap/languages/de_CH.json b/bl-modules/sitemap/languages/de_CH.json
similarity index 100%
rename from bl-plugins/sitemap/languages/de_CH.json
rename to bl-modules/sitemap/languages/de_CH.json
diff --git a/bl-plugins/sitemap/languages/de_DE.json b/bl-modules/sitemap/languages/de_DE.json
similarity index 100%
rename from bl-plugins/sitemap/languages/de_DE.json
rename to bl-modules/sitemap/languages/de_DE.json
diff --git a/bl-modules/sitemap/languages/en.json b/bl-modules/sitemap/languages/en.json
new file mode 100644
index 00000000..b5391396
--- /dev/null
+++ b/bl-modules/sitemap/languages/en.json
@@ -0,0 +1,11 @@
+{
+ "plugin-data":
+ {
+ "name": "Sitemap",
+ "description": "This plugin generates a sitemap.xml file, which provides the list of pages on your website, this helps search engines organize and filter content from their website."
+ },
+ "sitemap-url": "Sitemap URL",
+ "notifies-google-when-you-created": "Notifies Google/Bing when you created, modified or deleted content from your site.",
+ "notifies-bing-when-you-created": "Notifies Google/Bing when you created, modified or deleted content from your site.",
+ "ping-search-engine": "Ping Search Engines"
+}
diff --git a/bl-plugins/sitemap/languages/es.json b/bl-modules/sitemap/languages/es.json
similarity index 100%
rename from bl-plugins/sitemap/languages/es.json
rename to bl-modules/sitemap/languages/es.json
diff --git a/bl-plugins/sitemap/languages/fa_IR.json b/bl-modules/sitemap/languages/fa_IR.json
similarity index 100%
rename from bl-plugins/sitemap/languages/fa_IR.json
rename to bl-modules/sitemap/languages/fa_IR.json
diff --git a/bl-plugins/sitemap/languages/fr_FR.json b/bl-modules/sitemap/languages/fr_FR.json
similarity index 58%
rename from bl-plugins/sitemap/languages/fr_FR.json
rename to bl-modules/sitemap/languages/fr_FR.json
index b9a9c6ce..cf8bfc66 100644
--- a/bl-plugins/sitemap/languages/fr_FR.json
+++ b/bl-modules/sitemap/languages/fr_FR.json
@@ -5,6 +5,7 @@
"description": "Ce plugin génère un fichier sitemap.xml, qui fournit la liste des pages de votre site, ce qui aide les moteurs de recherche à organiser et filtrer le contenu de votre site."
},
"sitemap-url": "URL de votre sitemap.",
- "notifies-google-when-you-created": "Notifie à Google lorsque vous avez créé, modifié ou supprimé du contenu sur votre site.",
- "notifies-bing-when-you-created": "Notifie Bing lorsque vous avez créé, modifié ou supprimé du contenu sur votre site."
+ "notifies-google-when-you-created": "Notifie à Google/Bing lorsque vous avez créé, modifié ou supprimé du contenu sur votre site.",
+ "notifies-bing-when-you-created": "Notifie Google/Bing lorsque vous avez créé, modifié ou supprimé du contenu sur votre site.",
+ "ping-search-engine": "Ping moteurs de recherche"
}
diff --git a/bl-plugins/sitemap/languages/it.json b/bl-modules/sitemap/languages/it.json
similarity index 100%
rename from bl-plugins/sitemap/languages/it.json
rename to bl-modules/sitemap/languages/it.json
diff --git a/bl-plugins/sitemap/languages/ja_JP.json b/bl-modules/sitemap/languages/ja_JP.json
similarity index 52%
rename from bl-plugins/sitemap/languages/ja_JP.json
rename to bl-modules/sitemap/languages/ja_JP.json
index 56af2a7c..adb3168d 100644
--- a/bl-plugins/sitemap/languages/ja_JP.json
+++ b/bl-modules/sitemap/languages/ja_JP.json
@@ -5,6 +5,6 @@
"description": "This plugin generates a sitemap.xml file, which provides the list of pages on your website, this helps search engines organize and filter content from their website."
},
"sitemap-url": "Sitemap URL",
- "notifies-google-when-you-created": "Notifies Google when you created, modified or deleted content from your site.",
- "notifies-bing-when-you-created": "Notifies Bing when you created, modified or deleted content from your site."
+ "notifies-google-when-you-created": "Notifies Google/Bing when you created, modified or deleted content from your site.",
+ "notifies-bing-when-you-created": "Notifies Google/Bing when you created, modified or deleted content from your site."
}
diff --git a/bl-plugins/sitemap/languages/nl_NL.json b/bl-modules/sitemap/languages/nl_NL.json
similarity index 50%
rename from bl-plugins/sitemap/languages/nl_NL.json
rename to bl-modules/sitemap/languages/nl_NL.json
index 923baef9..4ca30c8a 100644
--- a/bl-plugins/sitemap/languages/nl_NL.json
+++ b/bl-modules/sitemap/languages/nl_NL.json
@@ -5,6 +5,6 @@
"description": "Deze plugin genereert het bestand sitemap.xml met daarin de structuur van deze website. Zoekmachines kunnen hiervan gebruikmaken bij het organiseren en filteren van de inhoud."
},
"sitemap-url": "URL sitemap",
- "notifies-google-when-you-created": "Stel Google op de hoogte bij het aanmaken, bewerken of verwijderen van inhoud op de website.",
- "notifies-bing-when-you-created": "Stel Bing op de hoogte bij het aanmaken, bewerken of verwijderen van inhoud op de website."
+ "notifies-google-when-you-created": "Stel Google/Bing op de hoogte bij het aanmaken, bewerken of verwijderen van inhoud op de website.",
+ "notifies-bing-when-you-created": "Stel Google/Bing op de hoogte bij het aanmaken, bewerken of verwijderen van inhoud op de website."
}
diff --git a/bl-plugins/sitemap/languages/ru_RU.json b/bl-modules/sitemap/languages/ru_RU.json
similarity index 100%
rename from bl-plugins/sitemap/languages/ru_RU.json
rename to bl-modules/sitemap/languages/ru_RU.json
diff --git a/bl-plugins/sitemap/languages/tr.json b/bl-modules/sitemap/languages/tr.json
similarity index 100%
rename from bl-plugins/sitemap/languages/tr.json
rename to bl-modules/sitemap/languages/tr.json
diff --git a/bl-plugins/sitemap/languages/uk_UA.json b/bl-modules/sitemap/languages/uk_UA.json
similarity index 100%
rename from bl-plugins/sitemap/languages/uk_UA.json
rename to bl-modules/sitemap/languages/uk_UA.json
diff --git a/bl-plugins/rss/metadata.json b/bl-modules/sitemap/metadata.json
similarity index 100%
rename from bl-plugins/rss/metadata.json
rename to bl-modules/sitemap/metadata.json
diff --git a/bl-plugins/sitemap/plugin.php b/bl-modules/sitemap/plugin.php
similarity index 56%
rename from bl-plugins/sitemap/plugin.php
rename to bl-modules/sitemap/plugin.php
index 753264bd..19d01d93 100644
--- a/bl-plugins/sitemap/plugin.php
+++ b/bl-modules/sitemap/plugin.php
@@ -2,45 +2,6 @@
class pluginSitemap extends Plugin {
- public function init()
- {
- $this->dbFields = array(
- 'pingGoogle'=>false,
- 'pingBing'=>false
- );
- }
-
- // Method called on the settings of the plugin on the admin area
- public function form()
- {
- global $L;
-
- $html = '
';
-
- return $html;
- }
-
private function createXML()
{
global $site;
@@ -80,14 +41,13 @@ class pluginSitemap extends Plugin {
private function ping()
{
- if ($this->getValue('pingGoogle')) {
- $url = 'https://www.google.com/ping?sitemap='.Theme::sitemapUrl();
- TCP::http($url, 'GET', true, 3);
- }
+ global $site;
+ if ($site->pingSearchEngine()) {
+ $urlGoogle = 'https://www.google.com/ping?sitemap='.Theme::sitemapUrl();
+ $urlBing = 'https://www.bing.com/ping?sitemap='.Theme::sitemapUrl();
- if ($this->getValue('pingBing')) {
- $url = 'https://www.bing.com/ping?sitemap='.Theme::sitemapUrl();
- TCP::http($url, 'GET', true, 3);
+ TCP::http($urlGoogle, 'GET', true, 3);
+ TCP::http($urlBing, 'GET', true, 3);
}
}
diff --git a/bl-plugins/api/languages/da.json b/bl-plugins/api/languages/da.json
deleted file mode 100644
index 0b308cc7..00000000
--- a/bl-plugins/api/languages/da.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "amount-of-pages": "Antal af sider",
- "api-token": "API-token",
- "plugin-data": {
- "description": "Grænseflade til interaktion med Koblog ved hjælp af HTTP-protokol. Læs mere om denne udvidelse i API-introduktion.",
- "name": "API"
- },
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Dette er det maksimale antal sider, der skal returneres, når du lavet et kald til / api / sider",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Denne token er kun læsbar og regenereres hver gang du installerer udvidelsen."
-}
diff --git a/bl-plugins/api/languages/de_CH.json b/bl-plugins/api/languages/de_CH.json
deleted file mode 100644
index d53bb1ab..00000000
--- a/bl-plugins/api/languages/de_CH.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Schnittstelle, für den Datenaustausch mit Koblog über das HTTP-Protokoll. Informationen zur Verwendung des Plugins unter API Introduction."
- },
- "api-token": "API-Token",
- "amount-of-pages": "Anzahl Seiten",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Maximum der Seiten bei einem Aufruf /api/pages.",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Der Token kann für Leserechte verwendet werden. Er wird bei bei einer Neuinstallation des Plugins erneuert."
-}
diff --git a/bl-plugins/api/languages/de_DE.json b/bl-plugins/api/languages/de_DE.json
deleted file mode 100644
index d53bb1ab..00000000
--- a/bl-plugins/api/languages/de_DE.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Schnittstelle, für den Datenaustausch mit Koblog über das HTTP-Protokoll. Informationen zur Verwendung des Plugins unter API Introduction."
- },
- "api-token": "API-Token",
- "amount-of-pages": "Anzahl Seiten",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Maximum der Seiten bei einem Aufruf /api/pages.",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Der Token kann für Leserechte verwendet werden. Er wird bei bei einer Neuinstallation des Plugins erneuert."
-}
diff --git a/bl-plugins/api/languages/en.json b/bl-plugins/api/languages/en.json
deleted file mode 100644
index d69099b9..00000000
--- a/bl-plugins/api/languages/en.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Interface to interact with Koblog using HTTP protocol. Read more about this plugin on API Introduction."
- },
- "api-token": "API Token",
- "amount-of-pages": "Amount of pages",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "This is the maximum of pages to return when you call to /api/pages",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "This token is for read only and is regenerated every time you install the plugin"
-}
\ No newline at end of file
diff --git a/bl-plugins/api/languages/es.json b/bl-plugins/api/languages/es.json
deleted file mode 100644
index 4832b0cc..00000000
--- a/bl-plugins/api/languages/es.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Interfaz para interactuar con Koblog mediante el protocolo HTTP. Leer más sobre este plugin en API introducción."
- },
- "api-token": "API Token",
- "amount-of-pages": "Cantidad de paginas",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Este es el máximo de páginas a devolver cuando llame a /api/pages.",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Este token es para sólo lectura y se regenera cada vez que se instala el plugin."
-}
\ No newline at end of file
diff --git a/bl-plugins/api/languages/fa_IR.json b/bl-plugins/api/languages/fa_IR.json
deleted file mode 100644
index 14db32bf..00000000
--- a/bl-plugins/api/languages/fa_IR.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "رابطی برای ارتباط با بلودیت با استفاده از پروتکل HTTP. اطلاعات بیشتر را درمورد این پلاگین از API Introduction مطالعه کنید."
- },
- "api-token": "رمز توکن API",
- "amount-of-pages": "تعداد صفحات",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "این حداکثر صفحاتی بازگشتی است هنگامی که /api/pages را بازخوانی میکنید",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "این توکن تنها خواندی است و هر زمانی که پلاگین را نصب می کنید بازسازی می شود"
-}
diff --git a/bl-plugins/api/languages/fr_FR.json b/bl-plugins/api/languages/fr_FR.json
deleted file mode 100644
index 8add4c62..00000000
--- a/bl-plugins/api/languages/fr_FR.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Interface pour interagir avec Koblog en utilisant le protocole HTTP. En savoir plus sur ce plugin, en lisant l’introduction sur l’API."
- },
- "api-token": "Jeton de l’API",
- "amount-of-pages": "Nombre de pages",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "C’est le nombre maximal de pages à renvoyer lorsque vous appelez l’api par pages.",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Ce jeton est en lecture seule et est régénéré à chaque fois que vous installez le plugin."
-}
\ No newline at end of file
diff --git a/bl-plugins/api/languages/it.json b/bl-plugins/api/languages/it.json
deleted file mode 100644
index d41041a7..00000000
--- a/bl-plugins/api/languages/it.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Interfaccia per interagire con Koblog utilizzando il protocollo HTTP. Leggi di più su questo plugin su API Introduction."
- },
- "api-token": "Token API",
- "amount-of-pages": "Quantità di pagine",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Questo è il numero di pagine di ritorno quando effetui una chiamata /api/pages",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Questo token è di sola lettura e viene rigenerato ogni volta che installi il plugin"
-}
\ No newline at end of file
diff --git a/bl-plugins/api/languages/ja_JP.json b/bl-plugins/api/languages/ja_JP.json
deleted file mode 100644
index 26a1ebc7..00000000
--- a/bl-plugins/api/languages/ja_JP.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "HTTPを使用してKoblogとやり取りするインターフェース。 このプラグインについては API Introduction<\/a> を参照してください。"
- },
- "api-token": "APIトークン",
- "amount-of-pages": "ページ数",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "これは \/api\/pages 呼び出し時に返される最大ページ数です",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "このトークンは読み取り専用トークンで、プラグインをインストールするたびに再生成されます"
-}
\ No newline at end of file
diff --git a/bl-plugins/api/languages/nl_NL.json b/bl-plugins/api/languages/nl_NL.json
deleted file mode 100644
index f339943b..00000000
--- a/bl-plugins/api/languages/nl_NL.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Interface om met Koblog te communiceren via het HTTP-protocol. Lees meer over deze plugin op API Introduction."
- },
- "api-token": "API-token",
- "amount-of-pages": "Aantal pagina's",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Het maximum aantal door te sturen pagina's via een call naar /api/pages",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Dit token is niet aan te passen en wordt automatisch ververst wanneer de plugin opnieuw wordt geïnstalleerd"
-}
\ No newline at end of file
diff --git a/bl-plugins/api/languages/ru.json b/bl-plugins/api/languages/ru.json
deleted file mode 100644
index fd59ee4a..00000000
--- a/bl-plugins/api/languages/ru.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "Интерфейс для взаимодействия с Koblog по HTTP-протоколу. Узнайте больше про этот плагин в разделе Введение в API для Koblog (раздел на английском)."
- },
- "api-token": "API Tокен",
- "amount-of-pages": "Количество страниц",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Максимальное количество возвращаемых страниц при обращении к /api/pages",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Данный токен используется только для чтения, токен обновляется при каждой переустановке плагина."
-}
diff --git a/bl-plugins/api/languages/tr_TR.json b/bl-plugins/api/languages/tr_TR.json
deleted file mode 100644
index 5390a590..00000000
--- a/bl-plugins/api/languages/tr_TR.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "plugin-data":
- {
- "name": "API",
- "description": "HTTP protokolünü kullanarak Koblog ile etkileşimde bulunmak için arabirim. Bu eklenti hakkında daha fazla bilgi için API Tanıtımı (ingilizce)."
- },
- "api-token": "API Token",
- "amount-of-pages": "Sayfa miktarı",
- "this-is-the-maximum-of-pages-to-return-when-you-call-to": "Bu /api/pages sayfasını çağırdığınızda gösterilecek maksimum sayfa sayısıdır.",
- "this-token-is-for-read-only-and-is-regenerated-every-time-you-install-the-plugin": "Bu token salt okunur amaçlıdır ve eklentiyi her yüklediğinizde yeniden oluşturulur."
-}
diff --git a/bl-plugins/api/plugin.php b/bl-plugins/api/plugin.php
deleted file mode 100644
index 2e175cdc..00000000
--- a/bl-plugins/api/plugin.php
+++ /dev/null
@@ -1,766 +0,0 @@
-dbFields = array(
- 'token' => $token, // API Token
- 'numberOfItems' => 15 // Amount of items to return
- );
- }
-
- public function getToken()
- {
- return $this->getValue('token');
- }
-
- public function form()
- {
- global $L;
-
- $html = '
';
- $html .= $this->description();
- $html .= '
';
-
- $html .= '
';
- $html .= '';
- $html .= '
' . DOMAIN_BASE . 'api/{endpoint}
';
- $html .= '
';
-
- $html .= '
';
- $html .= '';
- $html .= '';
- $html .= '' . $L->get('This token is for read only and is regenerated every time you install the plugin') . '';
- $html .= '
';
-
- $html .= '
';
- $html .= '';
- $html .= '';
- $html .= '' . $L->get('This is the maximum of pages to return when you call to') . '';
- $html .= '
';
-
- return $html;
- }
-
-
- // API HOOKS
- // ----------------------------------------------------------------------------
-
- public function beforeAll()
- {
- global $url;
- global $pages;
- global $users;
-
- // CHECK URL
- // ------------------------------------------------------------
- $URI = $this->webhook('api', $returnsAfterURI = true, $fixed = false);
- if ($URI === false) {
- return false;
- }
-
- // METHOD
- // ------------------------------------------------------------
- $method = $this->getMethod();
-
- // METHOD INPUTS
- // ------------------------------------------------------------
- $inputs = $this->getMethodInputs();
- if (empty($inputs)) {
- $this->response(400, 'Bad Request', array('message' => 'Missing method inputs.'));
- }
-
- // ENDPOINT PARAMETERS
- // ------------------------------------------------------------
- $parameters = $this->getEndpointParameters($URI);
- if (empty($parameters)) {
- $this->response(400, 'Bad Request', array('message' => 'Missing endpoint parameters.'));
- }
-
- // API TOKEN
- // ------------------------------------------------------------
- // Token from the plugin, the user can change it on the settings of the plugin
- $tokenAPI = $this->getValue('token');
-
- // Check empty token
- if (empty($inputs['token'])) {
- $this->response(400, 'Bad Request', array('message' => 'Missing API token.'));
- }
-
- // Check if the token is valid
- if ($inputs['token'] !== $tokenAPI) {
- $this->response(401, 'Unauthorized', array('message' => 'Invalid API token.'));
- }
-
- // AUTHENTICATION TOKEN
- // ------------------------------------------------------------
- $writePermissions = false;
- if (!empty($inputs['authentication'])) {
-
- // Get the user with the authentication token, FALSE if doesn't exit
- $username = $users->getByAuthToken($inputs['authentication']);
- if ($username !== false) {
- try {
- $user = new User($username);
- if (($user->role() == 'admin') && ($user->enabled())) {
- // Loggin the user to create the session
- $login = new Login();
- $login->setLogin($username, 'admin');
- // Enable write permissions
- $writePermissions = true;
- }
- } catch (Exception $e) {
- // Continue without permissions
- }
- }
- }
-
- // Clean inputs
- // ------------------------------------------------------------
- unset($inputs['token']);
- unset($inputs['authentication']);
-
- // ENDPOINTS
- // ------------------------------------------------------------
-
- // (GET) /api/pages
- if (($method === 'GET') && ($parameters[0] === 'pages') && empty($parameters[1])) {
- $data = $this->getPages($inputs);
- }
- // (GET) /api/pages/
- elseif (($method === 'GET') && ($parameters[0] === 'pages') && !empty($parameters[1])) {
- $pageKey = $parameters[1];
- if (isset($parameters[2])) {
- $pageKey = $parameters[1] . '/' . $parameters[2];
- }
- $data = $this->getPage($pageKey);
- }
- // (PUT) /api/pages/
- elseif (($method === 'PUT') && ($parameters[0] === 'pages') && !empty($parameters[1]) && $writePermissions) {
- $pageKey = $parameters[1];
- $data = $this->editPage($pageKey, $inputs);
- }
- // (DELETE) /api/pages/
- elseif (($method === 'DELETE') && ($parameters[0] === 'pages') && !empty($parameters[1]) && $writePermissions) {
- $pageKey = $parameters[1];
- $data = $this->deletePage($pageKey);
- }
- // (POST) /api/pages
- elseif (($method === 'POST') && ($parameters[0] === 'pages') && empty($parameters[1]) && $writePermissions) {
- $data = $this->createPage($inputs);
- }
- // (GET) /api/settings
- elseif (($method === 'GET') && ($parameters[0] === 'settings') && empty($parameters[1]) && $writePermissions) {
- $data = $this->getSettings();
- }
- // (PUT) /api/settings
- elseif (($method === 'PUT') && ($parameters[0] === 'settings') && empty($parameters[1]) && $writePermissions) {
- $data = $this->editSettings($inputs);
- }
- // (POST) /api/images
- elseif (($method === 'POST') && ($parameters[0] === 'images') && $writePermissions) {
- $data = $this->uploadImage($inputs);
- }
- // (GET) /api/tags
- elseif (($method === 'GET') && ($parameters[0] === 'tags') && empty($parameters[1])) {
- $data = $this->getTags();
- }
- // (GET) /api/tags/
- elseif (($method === 'GET') && ($parameters[0] === 'tags') && !empty($parameters[1])) {
- $tagKey = $parameters[1];
- $data = $this->getTag($tagKey);
- }
- // (GET) /api/categories
- elseif (($method === 'GET') && ($parameters[0] === 'categories') && empty($parameters[1])) {
- $data = $this->getCategories();
- }
- // (GET) /api/categories/
- elseif (($method === 'GET') && ($parameters[0] === 'categories') && !empty($parameters[1])) {
- $categoryKey = $parameters[1];
- $data = $this->getCategory($categoryKey);
- }
- // (GET) /api/users
- elseif (($method === 'GET') && ($parameters[0] === 'users') && empty($parameters[1])) {
- $data = $this->getUsers();
- }
- // (GET) /api/users/
- elseif (($method === 'GET') && ($parameters[0] === 'users') && !empty($parameters[1])) {
- $username = $parameters[1];
- $data = $this->getUser($username);
- }
- // (GET) /api/files/
- elseif (($method === 'GET') && ($parameters[0] === 'files') && !empty($parameters[1])) {
- $pageKey = $parameters[1];
- $data = $this->getFiles($pageKey);
- }
- // (POST) /api/files/
- elseif (($method === 'POST') && ($parameters[0] === 'files') && !empty($parameters[1])) {
- $pageKey = $parameters[1];
- $data = $this->uploadFile($pageKey);
- } else {
- $this->response(401, 'Unauthorized', array('message' => 'Access denied or invalid endpoint.'));
- }
-
- $this->response(200, 'OK', $data);
- }
-
- // PRIVATE METHODS
- // ----------------------------------------------------------------------------
-
- private function getMethod()
- {
- // METHODS
- // ------------------------------------------------------------
- // GET
- // POST
- // PUT
- // DELETE
-
- $this->method = $_SERVER['REQUEST_METHOD'];
- return $this->method;
- }
-
- private function getMethodInputs()
- {
- switch ($this->method) {
- case "POST":
- $inputs = $_POST;
- break;
- case "GET":
- case "DELETE":
- $inputs = $_GET;
- break;
- case "PUT":
- $inputs = '';
- break;
- default:
- $inputs = json_encode(array());
- break;
- }
-
- // Try to get raw/json data
- if (empty($inputs)) {
- $inputs = file_get_contents('php://input');
- }
-
- return $this->cleanInputs($inputs);
- }
-
- // Returns an array with key=>value with the inputs
- // If the content is JSON is parsed to array
- private function cleanInputs($inputs)
- {
- $tmp = array();
- if (is_array($inputs)) {
- foreach ($inputs as $key => $value) {
- $tmp[$key] = Sanitize::html($value);
- }
- } elseif (is_string($inputs)) {
- $tmp = json_decode($inputs, true);
- if (json_last_error() !== JSON_ERROR_NONE) {
- $tmp = array();
- }
- }
-
- return $tmp;
- }
-
- private function getEndpointParameters($URI)
- {
- // ENDPOINT Parameters
- // ------------------------------------------------------------
- // /api/pages | GET | returns all pages
- // /api/pages/{key} | GET | returns the page with the {key}
- // /api/pages | POST | create a new page
-
- $URI = ltrim($URI, '/');
- $parameters = explode('/', $URI);
-
- // Sanitize parameters
- foreach ($parameters as $key => $value) {
- $parameters[$key] = Sanitize::html($value);
- }
-
- return $parameters;
- }
-
- private function response($code = 200, $message = 'OK', $data = array())
- {
- header('HTTP/1.1 ' . $code . ' ' . $message);
- header('Access-Control-Allow-Origin: *');
- header('Content-Type: application/json');
- $json = json_encode($data);
- exit($json);
- }
-
- private function getTags()
- {
- global $tags;
- $tmp = array(
- 'status' => '0',
- 'message' => 'List of tags.',
- 'data' => array()
- );
- foreach ($tags->keys() as $key) {
- $tag = $tags->getMap($key);
- array_push($tmp['data'], $tag);
- }
- return $tmp;
- }
-
- // Returns the tag information and the pages releated to the tag
- // The array with the pages has the complete information of each page
- private function getTag($key)
- {
- try {
- $tag = new Tag($key);
- } catch (Exception $e) {
- return array(
- 'status' => '1',
- 'message' => 'Tag not found by the key: ' . $key
- );
- }
-
- $list = array();
- foreach ($tag->pages() as $pageKey) {
- try {
- $page = new Page($pageKey);
- array_push($list, $page->json($returnsArray = true));
- } catch (Exception $e) {
- }
- }
-
- $data = $tag->json($returnsArray = true);
- $data['pages'] = $list;
-
- return array(
- 'status' => '0',
- 'message' => 'Information about the tag and pages related.',
- 'data' => $data
- );
- }
-
- private function getPages($args)
- {
- global $pages;
-
- // Parameters and the default values
- $published = (isset($args['published']) ? $args['published'] == 'true' : true);
- $static = (isset($args['static']) ? $args['static'] == 'true' : false);
- $draft = (isset($args['draft']) ? $args['draft'] == 'true' : false);
- $sticky = (isset($args['sticky']) ? $args['sticky'] == 'true' : false);
- $scheduled = (isset($args['scheduled']) ? $args['scheduled'] == 'true' : false);
- $untagged = (isset($args['untagged']) ? $args['untagged'] == 'true' : false);
-
- $numberOfItems = (isset($args['numberOfItems']) ? $args['numberOfItems'] : 10);
- $pageNumber = (isset($args['pageNumber']) ? $args['pageNumber'] : 1);
- $list = $pages->getList($pageNumber, $numberOfItems, $published, $static, $sticky, $draft, $scheduled);
-
- $tmp = array(
- 'status' => '0',
- 'message' => 'List of pages',
- 'numberOfItems' => $numberOfItems,
- 'data' => array()
- );
-
- foreach ($list as $pageKey) {
- try {
- // Create the page object from the page key
- $page = new Page($pageKey);
- if ($untagged) {
- if (empty($page->tags())) {
- // Push the page to the data array for the response
- array_push($tmp['data'], $page->json($returnsArray = true));
- }
- } else {
- array_push($tmp['data'], $page->json($returnsArray = true));
- }
- } catch (Exception $e) {
- // Continue
- }
- }
-
- return $tmp;
- }
-
- private function getPage($key)
- {
- try {
- $page = new Page($key);
- return array(
- 'status' => '0',
- 'message' => 'Page filtered by key: ' . $key,
- 'data' => $page->json($returnsArray = true)
- );
- } catch (Exception $e) {
- return array(
- 'status' => '1',
- 'message' => 'Page not found.'
- );
- }
- }
-
- private function createPage($args)
- {
- // Unsanitize content because all values are sanitized
- if (isset($args['content'])) {
- $args['content'] = Sanitize::htmlDecode($args['content']);
- }
-
- // This function is defined on functions.php
- $key = createPage($args);
- if ($key === false) {
- return array(
- 'status' => '1',
- 'message' => 'Error trying to create the new page.'
- );
- }
-
- return array(
- 'status' => '0',
- 'message' => 'Page created.',
- 'data' => array('key' => $key)
- );
- }
-
- private function editPage($key, $args)
- {
- // Unsanitize content because all values are sanitized
- if (isset($args['content'])) {
- $args['content'] = Sanitize::htmlDecode($args['content']);
- }
-
- $args['key'] = $key;
- $newKey = editPage($args);
-
- if ($newKey === false) {
- return array(
- 'status' => '1',
- 'message' => 'Error trying to edit the page.'
- );
- }
-
- return array(
- 'status' => '0',
- 'message' => 'Page edited.',
- 'data' => array('key' => $newKey)
- );
- }
-
- private function deletePage($key)
- {
- if (deletePage($key)) {
- return array(
- 'status' => '0',
- 'message' => 'Page deleted.'
- );
- }
-
- return array(
- 'status' => '1',
- 'message' => 'Error trying to delete the page.'
- );
- }
-
- /*
- | Upload an image and generate the thumbnails
- | Returns the image and thumbnail URL
- |
- | @inputs array
- | @inputs['uuid'] string Page UUID
- | @_FILE array https://www.php.net/manual/en/reserved.variables.files.php
- |
- | @return array
- */
- private function uploadImage($inputs)
- {
- // Set upload directory
- if (isset($inputs['uuid']) && IMAGE_RESTRICT) {
- $imageDirectory = PATH_UPLOADS_PAGES . $inputs['uuid'] . DS;
- $thumbnailDirectory = $imageDirectory . 'thumbnails' . DS;
- $imageEndpoint = DOMAIN_UPLOADS_PAGES . $inputs['uuid'] . '/';
- $thumbnailEndpoint = $imageEndpoint . 'thumbnails' . '/';
- if (!Filesystem::directoryExists($thumbnailDirectory)) {
- Filesystem::mkdir($thumbnailDirectory, true);
- }
- } else {
- $imageDirectory = PATH_UPLOADS;
- $thumbnailDirectory = PATH_UPLOADS_THUMBNAILS;
- $imageEndpoint = DOMAIN_UPLOADS;
- $thumbnailEndpoint = DOMAIN_UPLOADS_THUMBNAILS;
- }
-
- if (!isset($_FILES['image'])) {
- return array(
- 'status' => '1',
- 'message' => 'No image sent.'
- );
- }
-
- if ($_FILES['image']['error'] != 0) {
- return array(
- 'status' => '1',
- 'message' => 'Error uploading the image, maximum load file size allowed: ' . ini_get('upload_max_filesize')
- );
- }
-
- // Move from PHP tmp file to Koblog tmp directory
- Filesystem::mv($_FILES['image']['tmp_name'], PATH_TMP . $_FILES['image']['name']);
-
- // Transform image and create thumbnails
- $image = transformImage(PATH_TMP . $_FILES['image']['name'], $imageDirectory, $thumbnailDirectory);
- if ($image) {
- $filename = Filesystem::filename($image);
- return array(
- 'status' => '0',
- 'message' => 'Image uploaded.',
- 'image' => $imageEndpoint . $filename,
- 'thumbnail' => $thumbnailEndpoint . $filename
- );
- }
-
- return array(
- 'status' => '1',
- 'message' => 'Image extension not allowed.'
- );
- }
-
- /*
- | Get the settings
- |
- | @args array
- |
- | @return array
- */
- private function getSettings()
- {
- global $site;
- return array(
- 'status' => '0',
- 'message' => 'Settings.',
- 'data' => $site->get()
- );
- }
-
- /*
- | Edit the settings
- | You can edit any field defined in the class site.class.php variable $dbFields
- |
- | @args array
- |
- | @return array
- */
- private function editSettings($args)
- {
- if (editSettings($args)) {
- return array(
- 'status' => '0',
- 'message' => 'Settings edited.'
- );
- }
- return array(
- 'status' => '1',
- 'message' => 'Error trying to edit the settings.'
- );
- }
-
- /*
- | Returns the categories in the system
- | Included the category name, key, description and the list of pages
- | The list of pages are the page's key
- |
- | @return array
- */
- private function getCategories()
- {
- global $categories;
- $tmp = array(
- 'status' => '0',
- 'message' => 'List of categories.',
- 'data' => array()
- );
- foreach ($categories->keys() as $key) {
- $category = $categories->getMap($key);
- array_push($tmp['data'], $category);
- }
- return $tmp;
- }
-
- /*
- | Returns information about the category and pages related
- | The pages are expanded which mean the title, content and more fields are returned in the query
- | This can degrade the performance
- |
- | @key string Category key
- |
- | @return array
- */
- private function getCategory($key)
- {
- try {
- $category = new Category($key);
- } catch (Exception $e) {
- return array(
- 'status' => '1',
- 'message' => 'Category not found by the key: ' . $key
- );
- }
-
- $list = array();
- foreach ($category->pages() as $pageKey) {
- try {
- $page = new Page($pageKey);
- array_push($list, $page->json($returnsArray = true));
- } catch (Exception $e) {
- }
- }
-
- $data = $category->json($returnsArray = true);
- $data['pages'] = $list;
-
- return array(
- 'status' => '0',
- 'message' => 'Information about the category and pages related.',
- 'data' => $data
- );
- }
-
- /*
- | Returns the user profile
- |
- | @username string Username
- |
- | @return array
- */
- private function getUser($username)
- {
- try {
- $user = new User($username);
- } catch (Exception $e) {
- return array(
- 'status' => '1',
- 'message' => 'User not found by username: ' . $username
- );
- }
-
- $data = $user->json($returnsArray = true);
- return array(
- 'status' => '0',
- 'message' => 'User profile.',
- 'data' => $data
- );
- }
-
- /*
- | Returns all the users
- |
- | @return array
- */
- private function getUsers()
- {
- global $users;
- $data = array();
- foreach ($users->db as $username => $profile) {
- try {
- $user = new User($username);
- $data[$username] = $user->json($returnsArray = true);
- } catch (Exception $e) {
- continue;
- }
- }
-
- return array(
- 'status' => '0',
- 'message' => 'Users profiles.',
- 'data' => $data
- );
- }
-
- /*
- | Returns all files uploaded for a specific page, includes any type of file.
- |
- | @return array
- */
- private function getFiles($pageKey)
- {
- $chunk = false;
- $sortByDate = true;
- $path = PATH_UPLOADS_PAGES . $pageKey . DS;
- $listFiles = Filesystem::listFiles($path, '*', '*', $sortByDate, $chunk);
-
- $files = array();
- foreach ($listFiles as $file) {
- $info = array('thumbnail' => '');
- $info['file'] = $file;
- $info['filename'] = basename($file);
- $info['mime'] = Filesystem::mimeType($file);
- $info['size'] = Filesystem::getSize($file);
-
- // Check if thumbnail exists for the file
- $thumbnail = $path . 'thumbnails' . DS . $info['filename'];
- if (Filesystem::fileExists($thumbnail)) {
- $info['thumbnail'] = $thumbnail;
- }
-
- array_push($files, $info);
- }
-
- return array(
- 'status' => '0',
- 'message' => 'Files for the page key: ' . $pageKey,
- 'data' => $files
- );
- }
-
- /*
- | Upload a file to a particular page
- | Returns the file URL
- |
- | @inputs array
- | @inputs['uuid'] string Page UUID
- | @_FILE array https://www.php.net/manual/en/reserved.variables.files.php
- |
- | @return array
- */
- private function uploadFile($pageKey)
- {
- if (!isset($_FILES['file'])) {
- return array(
- 'status' => '1',
- 'message' => 'File not sent.'
- );
- }
-
- if ($_FILES['file']['error'] != 0) {
- return array(
- 'status' => '1',
- 'message' => 'Error uploading the file.'
- );
- }
-
- $filename = $_FILES['file']['name'];
- $absoluteURL = DOMAIN_UPLOADS_PAGES . $pageKey . DS . $filename;
- $absolutePath = PATH_UPLOADS_PAGES . $pageKey . DS . $filename;
- if (Filesystem::mv($_FILES['file']['tmp_name'], $absolutePath)) {
- return array(
- 'status' => '0',
- 'message' => 'File uploaded.',
- 'filename' => $filename,
- 'absolutePath' => $absolutePath,
- 'absoluteURL' => $absoluteURL
- );
- }
-
- return array(
- 'status' => '1',
- 'message' => 'Error moving the file to the final path.'
- );
- }
-}
diff --git a/bl-plugins/disqus/languages/da.json b/bl-plugins/disqus/languages/da.json
deleted file mode 100644
index 9d69b63c..00000000
--- a/bl-plugins/disqus/languages/da.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "disqus-shortname": "Disqus kortnavn",
- "enable-disqus-on-pages": "Disqus på sider",
- "enable-disqus-on-static-pages": "Disqus på statiske sider",
- "enable-disqus-on-sticky-pages": "Disqus på fastgjorde sider",
- "get-the-shortname-from-the-disqus-general-settings": "Hent det korte navn fra Disqus generelle indstillinger",
- "plugin-data": {
- "description": "Disqus er en kommentar hostingstjeneste til websteder. Det er nødvendigt at være registreret på Disqus for at bruge denne service.",
- "name": "Disqus"
- }
-}
diff --git a/bl-plugins/disqus/languages/de_CH.json b/bl-plugins/disqus/languages/de_CH.json
deleted file mode 100644
index 5ccdbe8f..00000000
--- a/bl-plugins/disqus/languages/de_CH.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus",
- "description": "Disqus ist eine Kommentar-Plattform für Websites. Um das Plugin verwenden zu können, muss ein Konto bei Disqus eingerichtet werden."
- },
- "disqus-shortname": "Disqus-Kurzname (Shortname)",
- "enable-disqus-on-pages": "Disqus auf Seiten",
- "enable-disqus-on-static-pages": "Disqus auf statischen Seiten",
- "enable-disqus-on-sticky-pages": "Disqus bei fixierten Inhalten",
- "get-the-shortname-from-the-disqus-general-settings": "Der Kurzname wird bei Disqus unter \"Settings\" > \"General\" angezeigt."
-}
diff --git a/bl-plugins/disqus/languages/de_DE.json b/bl-plugins/disqus/languages/de_DE.json
deleted file mode 100644
index 5ccdbe8f..00000000
--- a/bl-plugins/disqus/languages/de_DE.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus",
- "description": "Disqus ist eine Kommentar-Plattform für Websites. Um das Plugin verwenden zu können, muss ein Konto bei Disqus eingerichtet werden."
- },
- "disqus-shortname": "Disqus-Kurzname (Shortname)",
- "enable-disqus-on-pages": "Disqus auf Seiten",
- "enable-disqus-on-static-pages": "Disqus auf statischen Seiten",
- "enable-disqus-on-sticky-pages": "Disqus bei fixierten Inhalten",
- "get-the-shortname-from-the-disqus-general-settings": "Der Kurzname wird bei Disqus unter \"Settings\" > \"General\" angezeigt."
-}
diff --git a/bl-plugins/disqus/languages/en.json b/bl-plugins/disqus/languages/en.json
deleted file mode 100644
index 17cd2339..00000000
--- a/bl-plugins/disqus/languages/en.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus",
- "description": "Disqus is a comment hosting service for web sites. It's necessary to be registered on Disqus to use this service."
- },
- "disqus-shortname": "Disqus shortname",
- "enable-disqus-on-pages": "Disqus on pages",
- "enable-disqus-on-static-pages": "Disqus on static pages",
- "enable-disqus-on-sticky-pages": "Disqus on sticky pages",
- "get-the-shortname-from-the-disqus-general-settings": "Get the shortname from the Disqus general settings"
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/languages/es.json b/bl-plugins/disqus/languages/es.json
deleted file mode 100644
index 9119cf0d..00000000
--- a/bl-plugins/disqus/languages/es.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus",
- "description": "Disqus es un servicio de comentarios online. Es necesario registrarse en Disqus antes de utilizar este plugin."
- },
- "disqus-shortname": "Disqus shortname",
- "enable-disqus-on-pages": "Disqus en página",
- "enable-disqus-on-static-pages": "Disqus en página estaticas",
- "enable-disqus-on-sticky-pages": "Disqus en página sticky",
- "get-the-shortname-from-the-disqus-general-settings": "Puede obtener el shortname en la página de configuración de Disqus."
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/languages/fa_IR.json b/bl-plugins/disqus/languages/fa_IR.json
deleted file mode 100644
index c8cbc555..00000000
--- a/bl-plugins/disqus/languages/fa_IR.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "دیسکاس",
- "description": "دیسکاس یک سرویس اینترنتی ارسال دیدگاه برای وبسایت ها میباشد. برای استفاده از این سرویس لازم است که در Disqus ثبت نام کنید."
- },
- "disqus-shortname": "نام کوتاه دیسکاس",
- "enable-disqus-on-pages": "دیسکاس در صفحات",
- "enable-disqus-on-static-pages": "دیسکاس در صفحات استاتیک",
- "enable-disqus-on-sticky-pages": "دیسکاس در صفحات چسبنده",
- "get-the-shortname-from-the-disqus-general-settings": "دریافت نام کوتاه از تنظیمات عمومی دیسکاس"
-}
diff --git a/bl-plugins/disqus/languages/fr_FR.json b/bl-plugins/disqus/languages/fr_FR.json
deleted file mode 100644
index 7f412942..00000000
--- a/bl-plugins/disqus/languages/fr_FR.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus système de commentaire",
- "description": "Disqus est un service Web de discussion et de commentaires d'articles centralisé avec authentification unique. Il est nécessaire de s’inscrire sur Disqus.com avant d’utiliser ce plugin."
- },
- "disqus-shortname": "Votre ID Disqus",
- "enable-disqus-on-pages": "Disqus sur les pages",
- "enable-disqus-on-static-pages": "Disqus sur les pages statiques",
- "enable-disqus-on-sticky-pages": "Disqus sur les pages épinglées",
- "get-the-shortname-from-the-disqus-general-settings": "Obtenez votre ID à partir des paramètres généraux de Disqus."
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/languages/it.json b/bl-plugins/disqus/languages/it.json
deleted file mode 100644
index dee4b46f..00000000
--- a/bl-plugins/disqus/languages/it.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus",
- "description": "Disqus è un servizio di hosting per i commenti sui siti web. E' neccesario essere resitrati su Disqus per utilizzare questo servizio."
- },
- "disqus-shortname": "Nome Breve Disqus ",
- "enable-disqus-on-pages": "Disqus sulle pagine",
- "enable-disqus-on-static-pages": "Disqus sulle pagine statiche",
- "enable-disqus-on-sticky-pages": "Disqus sulle pagine sticky",
- "get-the-shortname-from-the-disqus-general-settings": "Acquisisci il nome utente da utilizzare dalle impostazioni generali di Disqus"
-}
diff --git a/bl-plugins/disqus/languages/ja_JP.json b/bl-plugins/disqus/languages/ja_JP.json
deleted file mode 100644
index 9837be40..00000000
--- a/bl-plugins/disqus/languages/ja_JP.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus",
- "description": "DisqusはWebサイト向けのコメントホスティングサービスです。このサービスを利用するには、Disqus<\/a>に登録する必要があります。"
- },
- "disqus-shortname": "Disqusショートネーム",
- "enable-disqus-on-pages": "ページにDisqusを使用",
- "enable-disqus-on-static-pages": "固定ページにDisqusを使用",
- "enable-disqus-on-sticky-pages": "先頭固定ページにDisqusを使用",
- "get-the-shortname-from-the-disqus-general-settings": "Disqus一般設定からショートネームを取得します"
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/languages/nl_NL.json b/bl-plugins/disqus/languages/nl_NL.json
deleted file mode 100644
index c534c61a..00000000
--- a/bl-plugins/disqus/languages/nl_NL.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus",
- "description": "Disqus is hosting service om reacties in websites te implementeren. Registratie op Disqus.com is nodig voordat deze plugin gebruikt kan gebruiken."
- },
- "disqus-shortname": "Disqus shortname",
- "enable-disqus-on-pages": "Disqus op pagina's tonen",
- "enable-disqus-on-static-pages": "Disqus on statische pagina's tonen",
- "enable-disqus-on-sticky-pages": "Disqus on vastgezette pagina's tonen",
- "get-the-shortname-from-the-disqus-general-settings": "De shortname is te verkrijgen via de algemene instellingen van Disqus"
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/languages/pl_PL.json b/bl-plugins/disqus/languages/pl_PL.json
deleted file mode 100644
index b02aeac0..00000000
--- a/bl-plugins/disqus/languages/pl_PL.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "System komentarzy - Disqus",
- "description": "System komentarzy Disqus przechowuje komentarze dla serwisów internetowych. Korzystanie z tej wtyczki wymaga rejestracji w serwisie disqus.com."
- },
- "disqus-shortname": "Nazwa użytkownika Disqus",
- "enable-disqus-on-pages": "Disqus on pages",
- "enable-disqus-on-static-pages": "Disqus on static pages",
- "enable-disqus-on-sticky-pages": "Disqus on sticky pages",
- "get-the-shortname-from-the-disqus-general-settings": "Get the shortname from the Disqus general settings"
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/languages/ru_RU.json b/bl-plugins/disqus/languages/ru_RU.json
deleted file mode 100644
index cce4ebe6..00000000
--- a/bl-plugins/disqus/languages/ru_RU.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Комментарии Disqus",
- "description": "Disqus это сервис комментариев для сайтов и блогов. Необходимо зарегистрироваться на Disqus.com перед тем как использовать плагина."
- },
- "disqus-shortname": "Краткое имя Disqus",
- "enable-disqus-on-pages": "Disqus для страниц",
- "enable-disqus-on-static-pages": "Disqus для статических страниц",
- "enable-disqus-on-sticky-pages": "Disqus для прикреплённых страниц",
- "get-the-shortname-from-the-disqus-general-settings": "Получить краткое имя со страницы общих настроек Disqus"
-}
diff --git a/bl-plugins/disqus/languages/tr_TR.json b/bl-plugins/disqus/languages/tr_TR.json
deleted file mode 100644
index 21ded716..00000000
--- a/bl-plugins/disqus/languages/tr_TR.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Disqus Yorum Sistemi",
- "description": "Disqus siteler için yorum barındırması yapan bir firmadır. Eklentiyi kullanmadan önce Disqus.com adresine kayıt olmanız gerekmektedir."
- },
- "disqus-shortname": "Disqus shortname",
- "enable-disqus-on-pages": "Disqus on pages",
- "enable-disqus-on-static-pages": "Disqus on static pages",
- "enable-disqus-on-sticky-pages": "Disqus on sticky pages",
- "get-the-shortname-from-the-disqus-general-settings": "Get the shortname from the Disqus general settings"
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/languages/uk_UA.json b/bl-plugins/disqus/languages/uk_UA.json
deleted file mode 100644
index f41c5146..00000000
--- a/bl-plugins/disqus/languages/uk_UA.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "plugin-data":
- {
- "name": "Система коментарів Disqus",
- "description": "Disqus надає послуги хостингу коментарів для веб-сайтів. Необхідно зареєструватися на Disqus.com перед використанням цього плагіна."
- },
- "disqus-shortname": "Коротке ім'я в Disqus",
- "enable-disqus-on-pages": "Disqus on pages",
- "enable-disqus-on-static-pages": "Disqus on static pages",
- "enable-disqus-on-sticky-pages": "Disqus on sticky pages",
- "get-the-shortname-from-the-disqus-general-settings": "Get the shortname from the Disqus general settings"
-}
\ No newline at end of file
diff --git a/bl-plugins/disqus/plugin.php b/bl-plugins/disqus/plugin.php
deleted file mode 100644
index 9045eb75..00000000
--- a/bl-plugins/disqus/plugin.php
+++ /dev/null
@@ -1,108 +0,0 @@
-dbFields = array(
- 'shortname' => '',
- 'enablePages' => true,
- 'enableStatic' => true,
- 'enableSticky' => true
- );
- }
-
- public function form()
- {
- global $L;
-
- $html = '