mirror of
https://github.com/joomla-extensions/weblinks.git
synced 2024-06-08 17:22:21 +00:00
Compare commits
75 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
bc87751851 | ||
|
b47cd5a598 | ||
|
e6a8f3ddb1 | ||
|
7546a4867c | ||
|
a928dd3a87 | ||
|
4c9df15e2f | ||
|
4f5c286cb3 | ||
|
268d3d22e6 | ||
|
36492e6133 | ||
|
fd6cf51539 | ||
|
e811a10547 | ||
|
55200beae1 | ||
|
25912ad928 | ||
|
f04e6372a6 | ||
|
cc49a14b5d | ||
|
ecc9e19305 | ||
|
d8504a9c9f | ||
|
098aa2f12f | ||
|
998e57afb5 | ||
|
598942f96e | ||
|
accf06131c | ||
|
b9d7f89266 | ||
|
766dbaf26c | ||
|
4cb294d5f2 | ||
|
fc2d0f4938 | ||
|
dd52c09c30 | ||
|
d48fb44e4f | ||
|
680a44f8aa | ||
|
68a1d385f5 | ||
|
8cf588e57f | ||
|
9ec36613e0 | ||
|
ecd90e0f1b | ||
|
c58a8e339d | ||
|
5de3a59349 | ||
|
0da09499f9 | ||
|
35e84fbbcc | ||
|
17fb02680e | ||
|
06c13b6a72 | ||
|
d007d1d29d | ||
|
5ae2866c28 | ||
|
3883eafa37 | ||
|
f8ea546cfe | ||
|
c70b2f70b0 | ||
|
073d3c8b46 | ||
|
6d0f3cbbdb | ||
|
fc4267038c | ||
|
b81f7c48e0 | ||
|
407b768344 | ||
|
8ee3f1ba1a | ||
|
d1e941f581 | ||
|
d452972144 | ||
|
427998ee0d | ||
|
620f535ceb | ||
|
40fec2bdfa | ||
|
d765eabdf6 | ||
|
95d0f86f1e | ||
|
29ca3c8d52 | ||
|
d42f2227d7 | ||
|
84ec6b93e7 | ||
|
bfee41b26d | ||
|
dffe7c53c3 | ||
|
31964a86e9 | ||
|
5ad08ed6e0 | ||
|
51403b36b1 | ||
|
b304552f37 | ||
|
97a74f5b44 | ||
|
362c14774c | ||
|
4dd89a35c7 | ||
|
855fcb03c1 | ||
|
adc32eeb34 | ||
|
ea64e3777c | ||
|
b69a91491f | ||
|
5f8f6cc0cc | ||
|
afa9df617b | ||
|
83c8202374 |
23
.drone.yml
23
.drone.yml
|
@ -18,6 +18,27 @@ steps:
|
||||||
- fluxbox > /dev/null 2>&1 &
|
- fluxbox > /dev/null 2>&1 &
|
||||||
- vendor/bin/robo run:tests
|
- vendor/bin/robo run:tests
|
||||||
|
|
||||||
|
- name: artifacts-system-tests
|
||||||
|
image: cschlosser/drone-ftps
|
||||||
|
depends_on: [ weblinks-codeception-tests ]
|
||||||
|
environment:
|
||||||
|
FTP_USERNAME:
|
||||||
|
from_secret: ftpusername
|
||||||
|
FTP_PASSWORD:
|
||||||
|
from_secret: ftppassword
|
||||||
|
PLUGIN_HOSTNAME: ci.joomla.org:21
|
||||||
|
PLUGIN_SRC_DIR: /tests/_output/
|
||||||
|
PLUGIN_DEST_DIR: /artifacts
|
||||||
|
PLUGIN_SECURE: false
|
||||||
|
PLUGIN_EXCLUDE: ^\.git/$
|
||||||
|
commands:
|
||||||
|
- export PLUGIN_DEST_DIR=$PLUGIN_DEST_DIR/$DRONE_REPO/$DRONE_BRANCH/$DRONE_PULL_REQUEST_$DRONE_BUILD_NUMBER/system-tests
|
||||||
|
- echo https://ci.joomla.org:444$PLUGIN_DEST_DIR
|
||||||
|
- /bin/upload.sh
|
||||||
|
when:
|
||||||
|
status:
|
||||||
|
- failure
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: weblinks_cache
|
- name: weblinks_cache
|
||||||
host:
|
host:
|
||||||
|
@ -25,6 +46,6 @@ volumes:
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 41c9d399a788c8e97a0444ee8483682cfcb5b21d920b4012852a48ed3b2e9db8
|
hmac: 9346f0e74d2605ebe7bc9d33ad0588c1073ba3a9d9b254b71a7a85e219089449
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
18
README.md
18
README.md
|
@ -1,10 +1,12 @@
|
||||||
# Weblinks for Joomla! Travis:
|
# Weblinks for Joomla!
|
||||||
|
|
||||||
Travis: [![Travis Build Status](https://travis-ci.org/joomla-extensions/weblinks.svg?branch=master)](https://travis-ci.org/joomla-extensions/weblinks)
|
Build Status
|
||||||
|
---------------------
|
||||||
|
| Drone-CI |
|
||||||
|
| ------------- |
|
||||||
|
| [![Build Status](https://ci.joomla.org/api/badges/joomla-extensions/weblinks/status.svg)](https://ci.joomla.org/joomla-extensions/weblinks) |
|
||||||
|
|
||||||
Drone: [![Drone Build Status](http://213.160.72.75/api/badges/joomla-extensions/weblinks/status.svg)](http://213.160.72.75/joomla-extensions/weblinks)
|
Weblinks for Joomla! provides a component and accompanying extensions to create a directory of weblinks.
|
||||||
|
|
||||||
This repo is meant to hold the decoupled com_weblinks component and related code.
|
|
||||||
|
|
||||||
# How to test a PR
|
# How to test a PR
|
||||||
|
|
||||||
|
@ -221,7 +223,7 @@ skipClone = false
|
||||||
cmsPath = tests/joomla-cms3
|
cmsPath = tests/joomla-cms3
|
||||||
|
|
||||||
; If you want to clone a different branch, you can set it here
|
; If you want to clone a different branch, you can set it here
|
||||||
branch = staging
|
branch = 3.10-dev
|
||||||
|
|
||||||
; (Linux / Mac only) If you want to set a different owner for the CMS root folder, you can set it here.
|
; (Linux / Mac only) If you want to set a different owner for the CMS root folder, you can set it here.
|
||||||
localUser =
|
localUser =
|
||||||
|
@ -258,13 +260,13 @@ The tests in Weblinks Extension use Codeception Testing Framework, if you want t
|
||||||
This is not required, and if in doubt you can just skip this section, but there may be some specific use cases when you need (or want) to override the default behaviour of RoboFile.php. To do this, copy `RoboFile.dist.ini` to `RoboFile.ini` and add options in INI format, one per line, e.g.
|
This is not required, and if in doubt you can just skip this section, but there may be some specific use cases when you need (or want) to override the default behaviour of RoboFile.php. To do this, copy `RoboFile.dist.ini` to `RoboFile.ini` and add options in INI format, one per line, e.g.
|
||||||
|
|
||||||
skipClone = true
|
skipClone = true
|
||||||
cmsPath = tests/joomla-cms3
|
cmsPath = tests/joomla
|
||||||
|
|
||||||
The currently available options are as follows:
|
The currently available options are as follows:
|
||||||
|
|
||||||
* `skipClone`: set to `true` to avoid the cms repo being deleted and re-cloned at each test execution. Useful to save time and bandwidth while you're debugging your test environment. But please be aware that if you don't refresh the repo you'll have to manually check the `installation` folder is present and the `configuration.php` is not.
|
* `skipClone`: set to `true` to avoid the cms repo being deleted and re-cloned at each test execution. Useful to save time and bandwidth while you're debugging your test environment. But please be aware that if you don't refresh the repo you'll have to manually check the `installation` folder is present and the `configuration.php` is not.
|
||||||
* `cmsPath`: set to the local path (absolute or relative) where you'd like the test website to be installed. Default is `tests/joomla-cms3`.
|
* `cmsPath`: set to the local path (absolute or relative) where you'd like the test website to be installed. Default is `tests/joomla-cms3`.
|
||||||
* `branch`: set to whatever existing branch from the `joomla-cms` project if you want to clone that specific branch. Default is `staging`.
|
* `branch`: set to whatever existing branch from the `joomla-cms` project if you want to clone that specific branch. Default is `3.10-dev`.
|
||||||
|
|
||||||
## Additional options
|
## Additional options
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ skipClone = false
|
||||||
cmsPath = tests/joomla
|
cmsPath = tests/joomla
|
||||||
|
|
||||||
; If you want to clone a different branch, you can set it here
|
; If you want to clone a different branch, you can set it here
|
||||||
branch = staging
|
branch = 3.10-dev
|
||||||
|
|
||||||
; (Linux / Mac only) If you want to set a different owner for the CMS root folder, you can set it here.
|
; (Linux / Mac only) If you want to set a different owner for the CMS root folder, you can set it here.
|
||||||
localUser = www-data
|
localUser = www-data
|
||||||
|
|
|
@ -398,7 +398,7 @@ class RoboFile extends Tasks
|
||||||
*/
|
*/
|
||||||
private function buildGitCloneCommand()
|
private function buildGitCloneCommand()
|
||||||
{
|
{
|
||||||
$branch = empty($this->configuration->branch) ? 'staging' : $this->configuration->branch;
|
$branch = empty($this->configuration->branch) ? '3.10-dev' : $this->configuration->branch;
|
||||||
|
|
||||||
return "git" . $this->executableExtension . " clone -b $branch --single-branch --depth 1 https://github.com/joomla/joomla-cms.git tests/cache";
|
return "git" . $this->executableExtension . " clone -b $branch --single-branch --depth 1 https://github.com/joomla/joomla-cms.git tests/cache";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
{
|
{
|
||||||
"name" : "joomla-extensions/weblinks",
|
"name" : "joomla-extensions/weblinks",
|
||||||
"description": "The Open Source PHP Framework for creating complex Joomla extensions",
|
"description": "The Open Source PHP Framework for creating complex Joomla extensions",
|
||||||
"license" : "GPL-2.0+",
|
"license" : "GPL-2.0-or-later",
|
||||||
"config": {
|
"config": {
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "5.6.0"
|
"php": "5.6.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"require" : {
|
"require" : {
|
||||||
"php": ">=5.4"
|
"php": "^5.3.10|^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"php": ">=5.6",
|
"php": ">=5.6",
|
||||||
"codeception/codeception": "^3",
|
"codeception/codeception": "^3",
|
||||||
"phpunit/phpunit": "^5.7.27",
|
"phpunit/phpunit": "^5.7.27",
|
||||||
"joomla-projects/joomla-browser": "v3.9.0",
|
"joomla-projects/joomla-browser": "^3.9",
|
||||||
"consolidation/robo": "^1.0.0",
|
"consolidation/robo": "^1.0.0",
|
||||||
"joomla-projects/joomla-testing-robo": "~1.0",
|
"joomla-projects/joomla-testing-robo": "~1.0",
|
||||||
"joomla-projects/selenium-server-standalone": "^v3.1.0",
|
"joomla-projects/selenium-server-standalone": "^3.14",
|
||||||
"fzaninotto/faker": "^1.6",
|
"fzaninotto/faker": "^1.6",
|
||||||
"joomla-projects/jorobo": "~0.7",
|
"joomla-projects/jorobo": "~0.7",
|
||||||
"behat/gherkin": "^4.4.1"
|
"behat/gherkin": "^4.4.1"
|
||||||
|
|
2048
composer.lock
generated
2048
composer.lock
generated
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
||||||
extension = weblinks
|
extension = weblinks
|
||||||
version = 3.7.0
|
version = 3.9.0
|
||||||
source = src
|
source = src
|
||||||
target = package
|
target = package
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ text = "
|
||||||
* @package Joomla.Administrator
|
* @package Joomla.Administrator
|
||||||
* @subpackage Weblinks
|
* @subpackage Weblinks
|
||||||
*
|
*
|
||||||
* @copyright Copyright (C) 2005 - ##YEAR## Open Source Matters, Inc. All rights reserved.
|
* @copyright (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
|
||||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||||
*/
|
*/
|
||||||
"
|
"
|
||||||
|
|
50
manifest.xml
50
manifest.xml
|
@ -5,12 +5,54 @@
|
||||||
<description>Joomla! CMS Weblinks Package</description>
|
<description>Joomla! CMS Weblinks Package</description>
|
||||||
<element>pkg_weblinks</element>
|
<element>pkg_weblinks</element>
|
||||||
<type>package</type>
|
<type>package</type>
|
||||||
<version>3.6.0</version>
|
<version>3.7.0</version>
|
||||||
<client>site</client>
|
<client>site</client>
|
||||||
<infourl title="Weblinks Extension Package">https://github.com/joomla-extensions/weblinks/releases/tag/3.6.0</infourl>
|
<infourl title="Weblinks Extension Package">https://github.com/joomla-extensions/weblinks/releases/tag/3.7.0</infourl>
|
||||||
<downloads>
|
<downloads>
|
||||||
<downloadurl type="full" format="zip">https://downloads.joomla.org/extensions/weblinks/3-6-0/pkg-weblinks-3.6.0.zip</downloadurl>
|
<downloadurl type="full" format="zip">https://downloads.joomla.org/extensions/weblinks/3-7-0/pkg-weblinks-3.7.0.zip</downloadurl>
|
||||||
</downloads>
|
</downloads>
|
||||||
<targetplatform name="joomla" version="3.[6789]" />
|
<targetplatform name="joomla" version="3.[678]" />
|
||||||
|
</update>
|
||||||
|
<update>
|
||||||
|
<name>Weblinks Extension Package</name>
|
||||||
|
<description>Joomla! CMS Weblinks Package</description>
|
||||||
|
<element>pkg_weblinks</element>
|
||||||
|
<type>package</type>
|
||||||
|
<version>3.9.0</version>
|
||||||
|
<client>site</client>
|
||||||
|
<infourl title="Weblinks Extension Package">https://github.com/joomla-extensions/weblinks/releases/tag/3.9.0</infourl>
|
||||||
|
<downloads>
|
||||||
|
<downloadurl type="full" format="zip">https://downloads.joomla.org/extensions/weblinks/3-9-0/pkg-weblinks-3.9.0.zip</downloadurl>
|
||||||
|
</downloads>
|
||||||
|
<sha512>99baa8a622da239b2a0b84414836c494e68b5ff2d1eba2030fccc9d929645a45f7a2459ce2261846a10922f4b77bc6e0f26d34adc1afffb62e51fe45e8f44b53</sha512>
|
||||||
|
<targetplatform name="joomla" version="((3\.(9|10))|(4\.[01234]))" />
|
||||||
|
</update>
|
||||||
|
<update>
|
||||||
|
<name>Weblinks Extension Package</name>
|
||||||
|
<description>Joomla! CMS Weblinks Package</description>
|
||||||
|
<element>pkg_weblinks</element>
|
||||||
|
<type>package</type>
|
||||||
|
<version>4.0.1</version>
|
||||||
|
<client>site</client>
|
||||||
|
<infourl title="Weblinks Extension Package">https://github.com/joomla-extensions/weblinks/releases/tag/4.0.1</infourl>
|
||||||
|
<downloads>
|
||||||
|
<downloadurl type="full" format="zip">https://downloads.joomla.org/extensions/weblinks/4-0-1/pkg-weblinks-4.0.1.zip</downloadurl>
|
||||||
|
</downloads>
|
||||||
|
<sha512>8e6ac146d9bf907971a25728f4ed6cfad900ab51d1bf33a157f11b42bfcb8b7dfbc6c21c9eeebfe2cf572220db33f73fa29807f3d350220ed4e73b09866dcdad</sha512>
|
||||||
|
<targetplatform name="joomla" version="((4\.[01234])|(5\.0))" />
|
||||||
|
</update>
|
||||||
|
<update>
|
||||||
|
<name>Weblinks Extension Package</name>
|
||||||
|
<description>Joomla! CMS Weblinks Package</description>
|
||||||
|
<element>pkg_weblinks</element>
|
||||||
|
<type>package</type>
|
||||||
|
<version>4.3.1</version>
|
||||||
|
<client>site</client>
|
||||||
|
<infourl title="Weblinks Extension Package">https://github.com/joomla-extensions/weblinks/releases/tag/4.3.1</infourl>
|
||||||
|
<downloads>
|
||||||
|
<downloadurl type="full" format="zip">https://downloads.joomla.org/extensions/weblinks/4-3-1/pkg-weblinks-4.3.1.zip</downloadurl>
|
||||||
|
</downloads>
|
||||||
|
<sha512>cbc02c3a4d915b2a4b69d5b425cb22b93c2dadd72829e1dac8f3cd55c2deb4ab4cb244ca75a956dd335c861daa2a17a769390e7cab90988501c16417afefb72f</sha512>
|
||||||
|
<targetplatform name="joomla" version="((4\.[34])|(5\.[01234]))" />
|
||||||
</update>
|
</update>
|
||||||
</updates>
|
</updates>
|
||||||
|
|
18
renovate.json
Normal file
18
renovate.json
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
"config:base",
|
||||||
|
":preserveSemverRanges",
|
||||||
|
":disableMajorUpdates"
|
||||||
|
],
|
||||||
|
"versioning": "semver",
|
||||||
|
"dependencyDashboard": true,
|
||||||
|
"lockFileMaintenance": { "enabled": true },
|
||||||
|
"composerIgnorePlatformReqs": ["ext-*", "lib-*"],
|
||||||
|
"rangeStrategy": "update-lockfile",
|
||||||
|
"baseBranches": ["master", "4.0-dev"],
|
||||||
|
"constraints": {
|
||||||
|
"composer": "> 2.3",
|
||||||
|
"npm": "> 8.0"
|
||||||
|
}
|
||||||
|
}
|
|
@ -146,14 +146,17 @@ class WeblinksHelper extends JHelperContent
|
||||||
{
|
{
|
||||||
$item->count_published = $weblink->count;
|
$item->count_published = $weblink->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($weblink->state == 0)
|
if ($weblink->state == 0)
|
||||||
{
|
{
|
||||||
$item->count_unpublished = $weblink->count;
|
$item->count_unpublished = $weblink->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($weblink->state == 2)
|
if ($weblink->state == 2)
|
||||||
{
|
{
|
||||||
$item->count_archived = $weblink->count;
|
$item->count_archived = $weblink->count;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($weblink->state == -2)
|
if ($weblink->state == -2)
|
||||||
{
|
{
|
||||||
$item->count_trashed = $weblink->count;
|
$item->count_trashed = $weblink->count;
|
||||||
|
|
|
@ -65,7 +65,8 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
function jSelectWeblink_" . $this->id . "(id, title, catid, object, url, language) {
|
function jSelectWeblink_" . $this->id . "(id, title, catid, object, url, language) {
|
||||||
window.processModalSelect('Weblink', '" . $this->id . "', id, title, catid, object, url, language);
|
window.processModalSelect('Weblink', '" . $this->id . "', id, title, catid, object, url, language);
|
||||||
}
|
}
|
||||||
");
|
"
|
||||||
|
);
|
||||||
$scriptSelect[$this->id] = true;
|
$scriptSelect[$this->id] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -94,6 +95,7 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
->from($db->quoteName('#__weblinks'))
|
->from($db->quoteName('#__weblinks'))
|
||||||
->where($db->quoteName('id') . ' = ' . (int) $value);
|
->where($db->quoteName('id') . ' = ' . (int) $value);
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$title = $db->loadResult();
|
$title = $db->loadResult();
|
||||||
|
@ -103,6 +105,7 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
JError::raiseWarning(500, $e->getMessage());
|
JError::raiseWarning(500, $e->getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$title = empty($title) ? JText::_('COM_WEBLINKS_SELECT_A_WEBLINK') : htmlspecialchars($title, ENT_QUOTES, 'UTF-8');
|
$title = empty($title) ? JText::_('COM_WEBLINKS_SELECT_A_WEBLINK') : htmlspecialchars($title, ENT_QUOTES, 'UTF-8');
|
||||||
|
|
||||||
// The current weblink display field.
|
// The current weblink display field.
|
||||||
|
@ -122,6 +125,7 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
. '<span class="icon-file" aria-hidden="true"></span> ' . JText::_('JSELECT')
|
. '<span class="icon-file" aria-hidden="true"></span> ' . JText::_('JSELECT')
|
||||||
. '</a>';
|
. '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// New weblink button
|
// New weblink button
|
||||||
if ($allowNew)
|
if ($allowNew)
|
||||||
{
|
{
|
||||||
|
@ -135,6 +139,7 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
. '<span class="icon-new" aria-hidden="true"></span> ' . JText::_('JACTION_CREATE')
|
. '<span class="icon-new" aria-hidden="true"></span> ' . JText::_('JACTION_CREATE')
|
||||||
. '</a>';
|
. '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Edit weblink button
|
// Edit weblink button
|
||||||
if ($allowEdit)
|
if ($allowEdit)
|
||||||
{
|
{
|
||||||
|
@ -148,6 +153,7 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
. '<span class="icon-edit" aria-hidden="true"></span> ' . JText::_('JACTION_EDIT')
|
. '<span class="icon-edit" aria-hidden="true"></span> ' . JText::_('JACTION_EDIT')
|
||||||
. '</a>';
|
. '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear weblink button
|
// Clear weblink button
|
||||||
if ($allowClear)
|
if ($allowClear)
|
||||||
{
|
{
|
||||||
|
@ -159,6 +165,7 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
. '<span class="icon-remove" aria-hidden="true"></span>' . JText::_('JCLEAR')
|
. '<span class="icon-remove" aria-hidden="true"></span>' . JText::_('JCLEAR')
|
||||||
. '</a>';
|
. '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$html .= '</span>';
|
$html .= '</span>';
|
||||||
|
|
||||||
// Select weblink modal
|
// Select weblink modal
|
||||||
|
@ -236,10 +243,12 @@ class JFormFieldModal_Weblink extends JFormField
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note: class='required' for client side validation.
|
// Note: class='required' for client side validation.
|
||||||
$class = $this->required ? ' class="required modal-value"' : '';
|
$class = $this->required ? ' class="required modal-value"' : '';
|
||||||
$html .= '<input type="hidden" id="' . $this->id . '_id" ' . $class . ' data-required="' . (int) $this->required . '" name="' . $this->name
|
$html .= '<input type="hidden" id="' . $this->id . '_id" ' . $class . ' data-required="' . (int) $this->required . '" name="' . $this->name
|
||||||
. '" data-text="' . htmlspecialchars(JText::_('COM_WEBLINKS_SELECT_A_WEBLINK', true), ENT_COMPAT, 'UTF-8') . '" value="' . $value . '" />';
|
. '" data-text="' . htmlspecialchars(JText::_('COM_WEBLINKS_SELECT_A_WEBLINK', true), ENT_COMPAT, 'UTF-8') . '" value="' . $value . '" />';
|
||||||
|
|
||||||
return $html;
|
return $html;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -155,6 +155,12 @@ class WeblinksModelWeblink extends JModelAdmin
|
||||||
$form->setFieldAttribute('publish_down', 'filter', 'unset');
|
$form->setFieldAttribute('publish_down', 'filter', 'unset');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Don't allow to change the created_by user if not allowed to access com_users.
|
||||||
|
if (!JFactory::getUser()->authorise('core.manage', 'com_users'))
|
||||||
|
{
|
||||||
|
$form->setFieldAttribute('created_by', 'filter', 'unset');
|
||||||
|
}
|
||||||
|
|
||||||
return $form;
|
return $form;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -153,7 +153,8 @@ class Com_WeblinksInstallerScript
|
||||||
. $db->quote('com_weblinks.weblink') . ', '
|
. $db->quote('com_weblinks.weblink') . ', '
|
||||||
. $db->quote(
|
. $db->quote(
|
||||||
'{"special":{"dbtable":"#__weblinks","key":"id","type":"Weblink","prefix":"WeblinksTable","config":"array()"},
|
'{"special":{"dbtable":"#__weblinks","key":"id","type":"Weblink","prefix":"WeblinksTable","config":"array()"},
|
||||||
"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}') . ', '
|
"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}'
|
||||||
|
) . ', '
|
||||||
. $db->quote('') . ', '
|
. $db->quote('') . ', '
|
||||||
. $db->quote(
|
. $db->quote(
|
||||||
'{"common":{"core_content_item_id":"id","core_title":"title","core_state":"state","core_alias":"alias",
|
'{"common":{"core_content_item_id":"id","core_title":"title","core_state":"state","core_alias":"alias",
|
||||||
|
@ -161,7 +162,8 @@ class Com_WeblinksInstallerScript
|
||||||
"core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"params",
|
"core_publish_up":"publish_up","core_publish_down":"publish_down","core_access":"access", "core_params":"params",
|
||||||
"core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"url",
|
"core_featured":"featured", "core_metadata":"metadata", "core_language":"language", "core_images":"images", "core_urls":"url",
|
||||||
"core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc",
|
"core_version":"version", "core_ordering":"ordering", "core_metakey":"metakey", "core_metadesc":"metadesc",
|
||||||
"core_catid":"catid", "core_xreference":"xreference", "asset_id":"null"}, "special":{}}') . ', '
|
"core_catid":"catid", "core_xreference":"xreference", "asset_id":"null"}, "special":{}}'
|
||||||
|
) . ', '
|
||||||
. $db->quote('WeblinksHelperRoute::getWeblinkRoute') . ', '
|
. $db->quote('WeblinksHelperRoute::getWeblinkRoute') . ', '
|
||||||
. $db->quote(
|
. $db->quote(
|
||||||
'{"formFile":"administrator\\/components\\/com_weblinks\\/models\\/forms\\/weblink.xml",
|
'{"formFile":"administrator\\/components\\/com_weblinks\\/models\\/forms\\/weblink.xml",
|
||||||
|
@ -170,7 +172,8 @@ class Com_WeblinksInstallerScript
|
||||||
"ordering"], "displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},
|
"ordering"], "displayLookup":[{"sourceColumn":"catid","targetTable":"#__categories","targetColumn":"id","displayColumn":"title"},
|
||||||
{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},
|
{"sourceColumn":"created_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"},
|
||||||
{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},
|
{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id","displayColumn":"title"},
|
||||||
{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}')
|
{"sourceColumn":"modified_by","targetTable":"#__users","targetColumn":"id","displayColumn":"name"} ]}'
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
|
@ -189,7 +192,8 @@ class Com_WeblinksInstallerScript
|
||||||
. $db->quote('com_weblinks.category') . ', '
|
. $db->quote('com_weblinks.category') . ', '
|
||||||
. $db->quote('
|
. $db->quote('
|
||||||
{"special":{"dbtable":"#__categories","key":"id","type":"Category","prefix":"JTable","config":"array()"},
|
{"special":{"dbtable":"#__categories","key":"id","type":"Category","prefix":"JTable","config":"array()"},
|
||||||
"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}') . ', '
|
"common":{"dbtable":"#__ucm_content","key":"ucm_id","type":"Corecontent","prefix":"JTable","config":"array()"}}'
|
||||||
|
) . ', '
|
||||||
. $db->quote('') . ', '
|
. $db->quote('') . ', '
|
||||||
. $db->quote('
|
. $db->quote('
|
||||||
{"common":{"core_content_item_id":"id","core_title":"title","core_state":"published","core_alias":"alias",
|
{"common":{"core_content_item_id":"id","core_title":"title","core_state":"published","core_alias":"alias",
|
||||||
|
@ -198,7 +202,8 @@ class Com_WeblinksInstallerScript
|
||||||
"core_params":"params", "core_featured":"null", "core_metadata":"metadata", "core_language":"language",
|
"core_params":"params", "core_featured":"null", "core_metadata":"metadata", "core_language":"language",
|
||||||
"core_images":"null", "core_urls":"null", "core_version":"version", "core_ordering":"null", "core_metakey":"metakey",
|
"core_images":"null", "core_urls":"null", "core_version":"version", "core_ordering":"null", "core_metakey":"metakey",
|
||||||
"core_metadesc":"metadesc", "core_catid":"parent_id", "core_xreference":"null", "asset_id":"asset_id"},
|
"core_metadesc":"metadesc", "core_catid":"parent_id", "core_xreference":"null", "asset_id":"asset_id"},
|
||||||
"special":{"parent_id":"parent_id","lft":"lft","rgt":"rgt","level":"level","path":"path","extension":"extension","note":"note"}}') . ', '
|
"special":{"parent_id":"parent_id","lft":"lft","rgt":"rgt","level":"level","path":"path","extension":"extension","note":"note"}}'
|
||||||
|
) . ', '
|
||||||
. $db->quote('WeblinksHelperRoute::getCategoryRoute') . ', '
|
. $db->quote('WeblinksHelperRoute::getCategoryRoute') . ', '
|
||||||
. $db->quote('
|
. $db->quote('
|
||||||
{"formFile":"administrator\\/components\\/com_categories\\/models\\/forms\\/category.xml",
|
{"formFile":"administrator\\/components\\/com_categories\\/models\\/forms\\/category.xml",
|
||||||
|
@ -209,7 +214,8 @@ class Com_WeblinksInstallerScript
|
||||||
"displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id",
|
"displayColumn":"name"},{"sourceColumn":"access","targetTable":"#__viewlevels","targetColumn":"id",
|
||||||
"displayColumn":"title"},{"sourceColumn":"modified_user_id","targetTable":"#__users","targetColumn":"id",
|
"displayColumn":"title"},{"sourceColumn":"modified_user_id","targetTable":"#__users","targetColumn":"id",
|
||||||
"displayColumn":"name"},{"sourceColumn":"parent_id","targetTable":"#__categories","targetColumn":"id",
|
"displayColumn":"name"},{"sourceColumn":"parent_id","targetTable":"#__categories","targetColumn":"id",
|
||||||
"displayColumn":"title"}]}')
|
"displayColumn":"title"}]}'
|
||||||
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
$db->setQuery($query);
|
$db->setQuery($query);
|
||||||
|
|
|
@ -38,7 +38,7 @@ class WeblinksTableWeblink extends JTable
|
||||||
// Set the published column alias
|
// Set the published column alias
|
||||||
$this->setColumnAlias('published', 'state');
|
$this->setColumnAlias('published', 'state');
|
||||||
|
|
||||||
if (version_compare(JVERSION, '4.0', '<' ) == 1)
|
if (version_compare(JVERSION, '4.0', '<') == 1)
|
||||||
{
|
{
|
||||||
JTableObserverTags::createObserver($this, array('typeAlias' => 'com_weblinks.weblink'));
|
JTableObserverTags::createObserver($this, array('typeAlias' => 'com_weblinks.weblink'));
|
||||||
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_weblinks.weblink'));
|
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_weblinks.weblink'));
|
||||||
|
@ -130,6 +130,7 @@ class WeblinksTableWeblink extends JTable
|
||||||
if (trim($this->title) == '')
|
if (trim($this->title) == '')
|
||||||
{
|
{
|
||||||
$this->setError(JText::_('COM_WEBLINKS_ERR_TABLES_TITLE'));
|
$this->setError(JText::_('COM_WEBLINKS_ERR_TABLES_TITLE'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ class WeblinksViewWeblink extends JViewLegacy
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we are forcing a language in modal (used for associations).
|
// If we are forcing a language in modal (used for associations).
|
||||||
if ($this->getLayout() === 'modal' && $forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'cmd'))
|
if ($this->getLayout() === 'modal' && $forcedLanguage = JFactory::getApplication()->input->get('forcedLanguage', '', 'cmd'))
|
||||||
{
|
{
|
||||||
|
@ -88,15 +88,23 @@ class WeblinksViewWeblink extends JViewLegacy
|
||||||
JToolbarHelper::apply('weblink.apply');
|
JToolbarHelper::apply('weblink.apply');
|
||||||
JToolbarHelper::save('weblink.save');
|
JToolbarHelper::save('weblink.save');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$checkedOut && (count($user->getAuthorisedCategories('com_weblinks', 'core.create'))))
|
if (!$checkedOut && (count($user->getAuthorisedCategories('com_weblinks', 'core.create'))))
|
||||||
{
|
{
|
||||||
JToolbarHelper::save2new('weblink.save2new');
|
JToolbarHelper::save2new('weblink.save2new');
|
||||||
}
|
}
|
||||||
|
|
||||||
// If an existing item, can save to a copy.
|
// If an existing item, can save to a copy.
|
||||||
if (!$isNew && (count($user->getAuthorisedCategories('com_weblinks', 'core.create')) > 0))
|
if (!$isNew && (count($user->getAuthorisedCategories('com_weblinks', 'core.create')) > 0))
|
||||||
{
|
{
|
||||||
JToolbarHelper::save2copy('weblink.save2copy');
|
JToolbarHelper::save2copy('weblink.save2copy');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (JLanguageAssociations::isEnabled() && JComponentHelper::isEnabled('com_associations'))
|
||||||
|
{
|
||||||
|
JToolbarHelper::custom('weblink.editAssociations', 'contract', 'contract', 'JTOOLBAR_ASSOCIATIONS', false, false);
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($this->item->id))
|
if (empty($this->item->id))
|
||||||
{
|
{
|
||||||
JToolbarHelper::cancel('weblink.cancel');
|
JToolbarHelper::cancel('weblink.cancel');
|
||||||
|
|
|
@ -124,7 +124,7 @@ if ($saveOrder)
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="nowrap has-context">
|
<td class="has-context">
|
||||||
<?php if ($item->checked_out) : ?>
|
<?php if ($item->checked_out) : ?>
|
||||||
<?php echo JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, 'weblinks.', $canCheckin); ?>
|
<?php echo JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, 'weblinks.', $canCheckin); ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
|
@ -47,6 +47,7 @@ class WeblinksViewWeblinks extends JViewLegacy
|
||||||
if (count($errors = $this->get('Errors')))
|
if (count($errors = $this->get('Errors')))
|
||||||
{
|
{
|
||||||
JError::raiseError(500, implode("\n", $errors));
|
JError::raiseError(500, implode("\n", $errors));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,9 +65,9 @@ COM_WEBLINKS_FIELD_SECOND_LABEL="Second Image"
|
||||||
COM_WEBLINKS_FIELD_SELECT_CATEGORY_DESC="Select a web links category to display."
|
COM_WEBLINKS_FIELD_SELECT_CATEGORY_DESC="Select a web links category to display."
|
||||||
COM_WEBLINKS_FIELD_SELECT_CATEGORY_LABEL="Select a Category"
|
COM_WEBLINKS_FIELD_SELECT_CATEGORY_LABEL="Select a Category"
|
||||||
COM_WEBLINKS_FIELD_SHOW_CAT_TAGS_DESC="Show the tags for a category."
|
COM_WEBLINKS_FIELD_SHOW_CAT_TAGS_DESC="Show the tags for a category."
|
||||||
COM_WEBLINKS_FIELD_SHOW_CAT_TAGS_LABEL="Show Tags"
|
COM_WEBLINKS_FIELD_SHOW_CAT_TAGS_LABEL="Category Tags"
|
||||||
COM_WEBLINKS_FIELD_SHOW_TAGS_DESC="Show the tags for a web link."
|
COM_WEBLINKS_FIELD_SHOW_TAGS_DESC="Show the tags for a web link."
|
||||||
COM_WEBLINKS_FIELD_SHOW_TAGS_LABEL="Show Tags"
|
COM_WEBLINKS_FIELD_SHOW_TAGS_LABEL="Tags"
|
||||||
COM_WEBLINKS_FIELD_STATE_DESC="Set publication status."
|
COM_WEBLINKS_FIELD_STATE_DESC="Set publication status."
|
||||||
COM_WEBLINKS_FIELD_TARGET_DESC="Target browser window when the link is selected."
|
COM_WEBLINKS_FIELD_TARGET_DESC="Target browser window when the link is selected."
|
||||||
COM_WEBLINKS_FIELD_TARGET_LABEL="Target"
|
COM_WEBLINKS_FIELD_TARGET_LABEL="Target"
|
||||||
|
|
|
@ -92,7 +92,7 @@ class WeblinksModelCategories extends JModelList
|
||||||
*/
|
*/
|
||||||
public function getItems()
|
public function getItems()
|
||||||
{
|
{
|
||||||
if (!count($this->_items))
|
if ($this->_items === null)
|
||||||
{
|
{
|
||||||
$app = JFactory::getApplication();
|
$app = JFactory::getApplication();
|
||||||
$menu = $app->getMenu();
|
$menu = $app->getMenu();
|
||||||
|
|
|
@ -186,7 +186,7 @@ class WeblinksModelCategory extends JModelList
|
||||||
$search = $db->quote('%' . $db->escape($search, true) . '%');
|
$search = $db->quote('%' . $db->escape($search, true) . '%');
|
||||||
$query->where('(a.title LIKE ' . $search . ')');
|
$query->where('(a.title LIKE ' . $search . ')');
|
||||||
}
|
}
|
||||||
|
|
||||||
// If grouping by subcategory, add the subcategory list ordering clause.
|
// If grouping by subcategory, add the subcategory list ordering clause.
|
||||||
if ($this->getState('category.group', 0))
|
if ($this->getState('category.group', 0))
|
||||||
{
|
{
|
||||||
|
|
|
@ -65,7 +65,7 @@ class WeblinksRouter extends JComponentRouterBase
|
||||||
}
|
}
|
||||||
|
|
||||||
// Are we dealing with an weblink that is attached to a menu item?
|
// Are we dealing with an weblink that is attached to a menu item?
|
||||||
if (isset($query['view']) && ($mView == $query['view']) and (isset($query['id'])) and ($mId == (int) $query['id']))
|
if (isset($query['view']) && ($mView == $query['view']) && isset($query['id']) && ($mId == (int) $query['id']))
|
||||||
{
|
{
|
||||||
unset($query['view']);
|
unset($query['view']);
|
||||||
unset($query['catid']);
|
unset($query['catid']);
|
||||||
|
@ -74,7 +74,7 @@ class WeblinksRouter extends JComponentRouterBase
|
||||||
return $segments;
|
return $segments;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($view) and ($view == 'category' or $view == 'weblink'))
|
if (isset($view) && ($view == 'category' || $view == 'weblink'))
|
||||||
{
|
{
|
||||||
if ($mId != (int) $query['id'] || $mView != $view)
|
if ($mId != (int) $query['id'] || $mView != $view)
|
||||||
{
|
{
|
||||||
|
|
|
@ -53,6 +53,7 @@ class WeblinksViewCategories extends JViewCategories
|
||||||
if (count($errors = $this->get('Errors')))
|
if (count($errors = $this->get('Errors')))
|
||||||
{
|
{
|
||||||
JError::raiseWarning(500, implode("\n", $errors));
|
JError::raiseWarning(500, implode("\n", $errors));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,9 +33,9 @@ if (count($this->children[$this->category->id]) > 0 && $this->maxLevel != 0) :
|
||||||
<?php echo JHtml::_('content.prepare', $child->description, '', 'com_weblinks.category'); ?>
|
<?php echo JHtml::_('content.prepare', $child->description, '', 'com_weblinks.category'); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if ($this->params->get('show_cat_num_links') == 1) :?>
|
<?php if ($this->params->get('show_cat_num_links') == 1) :?>
|
||||||
<dl class="weblink-count"><dt>
|
<dl class="weblink-count"><dt>
|
||||||
<?php echo JText::_('COM_WEBLINKS_NUM'); ?></dt>
|
<?php echo JText::_('COM_WEBLINKS_NUM'); ?></dt>
|
||||||
<dd><?php echo $child->numitems; ?></dd>
|
<dd><?php echo $child->numitems; ?></dd>
|
||||||
|
|
|
@ -13,9 +13,6 @@ JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html');
|
||||||
|
|
||||||
JHtml::_('behavior.framework');
|
JHtml::_('behavior.framework');
|
||||||
|
|
||||||
// Create a shortcut for params.
|
|
||||||
$params = &$this->item->params;
|
|
||||||
|
|
||||||
// Get the user object.
|
// Get the user object.
|
||||||
$user = JFactory::getUser();
|
$user = JFactory::getUser();
|
||||||
|
|
||||||
|
@ -29,143 +26,144 @@ $listOrder = $this->escape($this->state->get('list.ordering'));
|
||||||
$listDirn = $this->escape($this->state->get('list.direction'));
|
$listDirn = $this->escape($this->state->get('list.direction'));
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php if (empty($this->items)) : ?>
|
|
||||||
<p> <?php echo JText::_('COM_WEBLINKS_NO_WEBLINKS'); ?></p>
|
|
||||||
<?php else : ?>
|
|
||||||
|
|
||||||
<form action="<?php echo htmlspecialchars(JUri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm">
|
<form action="<?php echo htmlspecialchars(JUri::getInstance()->toString()); ?>" method="post" name="adminForm" id="adminForm">
|
||||||
<?php if ($this->params->get('filter_field') != 'hide' || $this->params->get('show_pagination_limit')) : ?>
|
<?php if ($this->params->get('filter_field') != 'hide' || $this->params->get('show_pagination_limit')) : ?>
|
||||||
<fieldset class="filters btn-toolbar">
|
<fieldset class="filters btn-toolbar">
|
||||||
<?php if ($this->params->get('filter_field') != 'hide') : ?>
|
<?php if ($this->params->get('filter_field') != 'hide') : ?>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<label class="filter-search-lbl element-invisible" for="filter-search"><?php echo JText::_('COM_WEBLINKS_FILTER_LABEL') . ' '; ?></label>
|
<label class="filter-search-lbl element-invisible" for="filter-search"><?php echo JText::_('COM_WEBLINKS_FILTER_LABEL') . ' '; ?></label>
|
||||||
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>" placeholder="<?php echo JText::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>" />
|
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>" placeholder="<?php echo JText::_('COM_WEBLINKS_FILTER_SEARCH_DESC'); ?>" />
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if ($this->params->get('show_pagination_limit')) : ?>
|
<?php if ($this->params->get('show_pagination_limit')) : ?>
|
||||||
<div class="btn-group pull-right">
|
<div class="btn-group pull-right">
|
||||||
<label for="limit" class="element-invisible">
|
<label for="limit" class="element-invisible">
|
||||||
<?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?>
|
<?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?>
|
||||||
</label>
|
</label>
|
||||||
<?php echo $this->pagination->getLimitBox(); ?>
|
<?php echo $this->pagination->getLimitBox(); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
|
<?php if (empty($this->items)) : ?>
|
||||||
|
<p><?php echo JText::_('COM_WEBLINKS_NO_WEBLINKS'); ?></p>
|
||||||
|
<?php else : ?>
|
||||||
<ul class="category list-striped list-condensed">
|
<ul class="category list-striped list-condensed">
|
||||||
<?php foreach ($this->items as $i => $item) : ?>
|
<?php foreach ($this->items as $i => $item) : ?>
|
||||||
<?php if (in_array($item->access, $this->user->getAuthorisedViewLevels())) : ?>
|
<?php if (in_array($item->access, $this->user->getAuthorisedViewLevels())) : ?>
|
||||||
<?php if ($this->items[$i]->state == 0) : ?>
|
<?php if ($this->items[$i]->state == 0) : ?>
|
||||||
<li class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
|
<li class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
|
||||||
<?php else : ?>
|
<?php else : ?>
|
||||||
<li class="cat-list-row<?php echo $i % 2; ?>" >
|
<li class="cat-list-row<?php echo $i % 2; ?>">
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php if ($this->params->get('show_link_hits', 1)) : ?>
|
<?php if ($this->params->get('show_link_hits', 1)) : ?>
|
||||||
<span class="list-hits badge badge-info pull-right">
|
<span class="list-hits badge badge-info pull-right">
|
||||||
<?php echo JText::sprintf('JGLOBAL_HITS_COUNT', $item->hits); ?>
|
<?php echo JText::sprintf('JGLOBAL_HITS_COUNT', $item->hits); ?>
|
||||||
</span>
|
</span>
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<?php if ($canEdit) : ?>
|
|
||||||
<span class="list-edit pull-left width-50">
|
|
||||||
<?php echo JHtml::_('icon.edit', $item, $params); ?>
|
|
||||||
</span>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<div class="list-title">
|
|
||||||
<?php if ($this->params->get('icons', 1) == 0) : ?>
|
|
||||||
<?php echo JText::_('COM_WEBLINKS_LINK'); ?>
|
|
||||||
<?php elseif ($this->params->get('icons', 1) == 1) : ?>
|
|
||||||
<?php if (!$this->params->get('link_icons')) : ?>
|
|
||||||
<?php echo JHtml::_('image', 'system/weblink.png', JText::_('COM_WEBLINKS_LINK'), null, true); ?>
|
|
||||||
<?php else: ?>
|
|
||||||
<?php echo '<img src="' . $this->params->get('link_icons') . '" alt="' . JText::_('COM_WEBLINKS_LINK') . '" />'; ?>
|
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php endif; ?>
|
|
||||||
<?php // Compute the correct link ?>
|
|
||||||
<?php $menuclass = 'category' . $this->pageclass_sfx; ?>
|
|
||||||
<?php $link = $item->link; ?>
|
|
||||||
<?php $width = $item->params->get('width'); ?>
|
|
||||||
<?php $height = $item->params->get('height'); ?>
|
|
||||||
<?php if ($width == null || $height == null) : ?>
|
|
||||||
<?php $width = 600; ?>
|
|
||||||
<?php $height = 500; ?>
|
|
||||||
<?php endif; ?>
|
|
||||||
<?php if ($this->items[$i]->state == 0) : ?>
|
|
||||||
<span class="label label-warning"><?php echo JText::_('JUNPUBLISHED'); ?></span>
|
|
||||||
<?php endif; ?>
|
|
||||||
|
|
||||||
<?php
|
<?php if ($canEdit) : ?>
|
||||||
switch ($item->params->get('target', $this->params->get('target')))
|
<span class="list-edit pull-left width-50">
|
||||||
{
|
<?php echo JHtml::_('icon.edit', $item, $item->params); ?>
|
||||||
case 1:
|
</span>
|
||||||
// Open in a new window
|
<?php endif; ?>
|
||||||
echo '<a href="' . $link . '" target="_blank" class="' . $menuclass . '" rel="nofollow">' .
|
|
||||||
$this->escape($item->title) . '</a>';
|
<div class="list-title">
|
||||||
break;
|
<?php if ($this->params->get('icons', 1) == 0) : ?>
|
||||||
|
<?php echo JText::_('COM_WEBLINKS_LINK'); ?>
|
||||||
case 2:
|
<?php elseif ($this->params->get('icons', 1) == 1) : ?>
|
||||||
// Open in a popup window
|
<?php if (!$this->params->get('link_icons')) : ?>
|
||||||
$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=' . $this->escape($width) . ',height=' . $this->escape($height) . '';
|
<?php echo JHtml::_('image', 'system/weblink.png', JText::_('COM_WEBLINKS_LINK'), null, true); ?>
|
||||||
echo "<a href=\"$link\" onclick=\"window.open(this.href, 'targetWindow', '" . $attribs . "'); return false;\">" .
|
<?php else: ?>
|
||||||
$this->escape($item->title) . '</a>';
|
<?php echo '<img src="' . $this->params->get('link_icons') . '" alt="' . JText::_('COM_WEBLINKS_LINK') . '" />'; ?>
|
||||||
break;
|
<?php endif; ?>
|
||||||
case 3:
|
<?php endif; ?>
|
||||||
// Open in a modal window
|
<?php // Compute the correct link ?>
|
||||||
JHtml::_('behavior.modal', 'a.modal');
|
<?php $menuclass = 'category' . $this->pageclass_sfx; ?>
|
||||||
echo '<a class="modal" href="' . $link . '" rel="{handler: \'iframe\', size: {x:' . $this->escape($width) . ', y:' . $this->escape($height) . '}}">' .
|
<?php $link = $item->link; ?>
|
||||||
$this->escape($item->title) . ' </a>';
|
<?php $width = $item->params->get('width', 600); ?>
|
||||||
break;
|
<?php $height = $item->params->get('height', 500); ?>
|
||||||
|
<?php if ($this->items[$i]->state == 0) : ?>
|
||||||
default:
|
<span class="label label-warning"><?php echo JText::_('JUNPUBLISHED'); ?></span>
|
||||||
// Open in parent window
|
<?php endif; ?>
|
||||||
echo '<a href="' . $link . '" class="' . $menuclass . '" rel="nofollow">' .
|
|
||||||
$this->escape($item->title) . ' </a>';
|
<?php
|
||||||
break;
|
switch ($item->params->get('target', $this->params->get('target')))
|
||||||
}
|
{
|
||||||
?>
|
case 1:
|
||||||
</div>
|
// Open in a new window
|
||||||
<?php $tagsData = $item->tags->getItemTags('com_weblinks.weblink', $item->id); ?>
|
echo '<a href="' . $link . '" target="_blank" class="' . $menuclass . '" rel="nofollow">' .
|
||||||
<?php if ($this->params->get('show_tags', 1)) : ?>
|
$this->escape($item->title) . '</a>';
|
||||||
<?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
|
break;
|
||||||
<?php echo $this->item->tagLayout->render($tagsData); ?>
|
|
||||||
<?php endif; ?>
|
case 2:
|
||||||
<?php if (($this->params->get('show_link_description')) and ($item->description != '')) : ?>
|
// Open in a popup window
|
||||||
<?php $images = json_decode($item->images); ?>
|
$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=' . $this->escape($width) . ',height=' . $this->escape($height) . '';
|
||||||
<?php if (isset($images->image_first) and !empty($images->image_first)) : ?>
|
echo '<a href="'. $link .'" onclick="window.open(this.href, \'targetWindow\', \'' . $attribs . '\'); return false;">' .
|
||||||
<?php $imgfloat = (empty($images->float_first)) ? $this->params->get('float_first') : $images->float_first; ?>
|
$this->escape($item->title) . '</a>';
|
||||||
<div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image"> <img
|
break;
|
||||||
<?php if ($images->image_first_caption) : ?>
|
case 3:
|
||||||
<?php echo 'class="caption" title="' . htmlspecialchars($images->image_first_caption) . '"'; ?>
|
// Open in a modal window
|
||||||
|
JHtml::_('behavior.modal', 'a.modal');
|
||||||
|
echo '<a class="modal" href="' . $link . '" rel="{handler: \'iframe\', size: {x:' . $this->escape($width) . ', y:' . $this->escape($height) . '}}">' .
|
||||||
|
$this->escape($item->title) . '</a>';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
// Open in parent window
|
||||||
|
echo '<a href="' . $link . '" class="' . $menuclass . '" rel="nofollow">' .
|
||||||
|
$this->escape($item->title) . '</a>';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<?php if ($this->params->get('show_tags', 1) && !empty($item->tags->itemTags)) : ?>
|
||||||
|
<?php echo JLayoutHelper::render('joomla.content.tags', $item->tags->itemTags); ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php if (($this->params->get('show_link_description')) && ($item->description != '')) : ?>
|
||||||
|
<?php $images = json_decode($item->images); ?>
|
||||||
|
<?php if (isset($images->image_first) && !empty($images->image_first)) : ?>
|
||||||
|
<?php $imgfloat = $images->float_first ?: $this->params->get('float_first'); ?>
|
||||||
|
<div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image">
|
||||||
|
<img
|
||||||
|
<?php if ($images->image_first_caption) : ?>
|
||||||
|
<?php echo 'class="caption" title="' . htmlspecialchars($images->image_first_caption) . '"'; ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
src="<?php echo htmlspecialchars($images->image_first); ?>"
|
||||||
|
alt="<?php echo htmlspecialchars($images->image_first_alt); ?>"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php if (isset($images->image_second) && !empty($images->image_second)) : ?>
|
||||||
|
<?php $imgfloat = $images->float_second ?: $this->params->get('float_second'); ?>
|
||||||
|
<div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image">
|
||||||
|
<img
|
||||||
|
<?php if ($images->image_second_caption) : ?>
|
||||||
|
<?php echo 'class="caption" title="' . htmlspecialchars($images->image_second_caption) . '"'; ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
src="<?php echo htmlspecialchars($images->image_second); ?>"
|
||||||
|
alt="<?php echo htmlspecialchars($images->image_second_alt); ?>"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php echo $item->description; ?>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
src="<?php echo htmlspecialchars($images->image_first); ?>" alt="<?php echo htmlspecialchars($images->image_first_alt); ?>"/> </div>
|
|
||||||
<?php endif; ?>
|
|
||||||
<?php if (isset($images->image_second) and !empty($images->image_second)) : ?>
|
|
||||||
<?php $imgfloat = (empty($images->float_second)) ? $this->params->get('float_second') : $images->float_second; ?>
|
|
||||||
<div class="pull-<?php echo htmlspecialchars($imgfloat, ENT_COMPAT, 'UTF-8'); ?> item-image"> <img
|
|
||||||
<?php if ($images->image_second_caption) : ?>
|
|
||||||
<?php echo 'class="caption" title="' . htmlspecialchars($images->image_second_caption) . '"'; ?>
|
|
||||||
<?php endif; ?>
|
|
||||||
src="<?php echo htmlspecialchars($images->image_second); ?>" alt="<?php echo htmlspecialchars($images->image_second_alt); ?>"/> </div>
|
|
||||||
<?php endif; ?>
|
|
||||||
<?php echo $item->description; ?>
|
|
||||||
<?php endif; ?>
|
|
||||||
</li>
|
</li>
|
||||||
<?php endif;?>
|
<?php endif;?>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</ul>
|
</ul>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php // Code to add a link to submit a weblink. ?>
|
<?php if ($this->params->get('show_pagination')) : ?>
|
||||||
<?php if ($this->params->get('show_pagination')) : ?>
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
|
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
|
||||||
<p class="counter">
|
<p class="counter">
|
||||||
<?php echo $this->pagination->getPagesCounter(); ?>
|
<?php echo $this->pagination->getPagesCounter(); ?>
|
||||||
</p>
|
</p>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<?php echo $this->pagination->getPagesLinks(); ?>
|
<?php echo $this->pagination->getPagesLinks(); ?>
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</form>
|
</form>
|
||||||
<?php endif; ?>
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ class WeblinksViewCategory extends JViewCategory
|
||||||
|
|
||||||
$temp = new JRegistry;
|
$temp = new JRegistry;
|
||||||
$temp->loadString($item->params);
|
$temp->loadString($item->params);
|
||||||
$item->params = clone($this->params);
|
$item->params = clone $this->params;
|
||||||
$item->params->merge($temp);
|
$item->params->merge($temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ class WeblinksViewCategory extends JViewCategory
|
||||||
$path = array(array('title' => $this->category->title, 'link' => ''));
|
$path = array(array('title' => $this->category->title, 'link' => ''));
|
||||||
$category = $this->category->getParent();
|
$category = $this->category->getParent();
|
||||||
|
|
||||||
while (($menu->query['option'] != 'com_weblinks' || $id != $category->id) && $category->id > 1)
|
while ($category !== null && $category->id !== 'root' && ($menu->query['option'] != 'com_weblinks' || $id != $category->id))
|
||||||
{
|
{
|
||||||
$path[] = array('title' => $category->title, 'link' => WeblinksHelperRoute::getCategoryRoute($category->id));
|
$path[] = array('title' => $category->title, 'link' => WeblinksHelperRoute::getCategoryRoute($category->id));
|
||||||
$category = $category->getParent();
|
$category = $category->getParent();
|
||||||
|
|
|
@ -83,7 +83,7 @@ class ModWeblinksHelper
|
||||||
|
|
||||||
$model->setState(
|
$model->setState(
|
||||||
'list.select',
|
'list.select',
|
||||||
'a.*, c.published AS c_published,' . $case_when1 . ',' . $case_when2 . ',' . 'DATE_FORMAT(a.created, "%Y-%m-%d") AS created'
|
'a.*, c.description AS c_description, c.published AS c_published,' . $case_when1 . ',' . $case_when2
|
||||||
);
|
);
|
||||||
|
|
||||||
$model->setState('filter.c.published', 1);
|
$model->setState('filter.c.published', 1);
|
||||||
|
@ -110,6 +110,6 @@ class ModWeblinksHelper
|
||||||
return $items;
|
return $items;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return array();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||||
<authorEmail>admin@joomla.org</authorEmail>
|
<authorEmail>admin@joomla.org</authorEmail>
|
||||||
<authorUrl>www.joomla.org</authorUrl>
|
<authorUrl>www.joomla.org</authorUrl>
|
||||||
<version>3.7.0</version>
|
<version>##VERSION##</version>
|
||||||
<description>PLG_EDITORS-XTD_WEBLINK_XML_DESCRIPTION</description>
|
<description>PLG_EDITORS-XTD_WEBLINK_XML_DESCRIPTION</description>
|
||||||
<files>
|
<files>
|
||||||
##FILES##
|
##FILES##
|
||||||
|
|
|
@ -139,7 +139,7 @@ class PlgFinderWeblinks extends FinderIndexerAdapter
|
||||||
public function onFinderAfterSave($context, $row, $isNew)
|
public function onFinderAfterSave($context, $row, $isNew)
|
||||||
{
|
{
|
||||||
// We only want to handle web links here. We need to handle front end and back end editing.
|
// We only want to handle web links here. We need to handle front end and back end editing.
|
||||||
if ($context == 'com_weblinks.weblink' || $context == 'com_weblinks.form' )
|
if ($context == 'com_weblinks.weblink' || $context == 'com_weblinks.form')
|
||||||
{
|
{
|
||||||
// Check if the access levels are different.
|
// Check if the access levels are different.
|
||||||
if (!$isNew && $this->old_access != $row->access)
|
if (!$isNew && $this->old_access != $row->access)
|
||||||
|
|
|
@ -175,12 +175,12 @@ class PlgSearchWeblinks extends JPlugin
|
||||||
$case_when1 .= $c_id . ' END as catslug';
|
$case_when1 .= $c_id . ' END as catslug';
|
||||||
|
|
||||||
$query->select('a.title AS title, a.created AS created, a.url, a.description AS text, ' . $case_when . "," . $case_when1)
|
$query->select('a.title AS title, a.created AS created, a.url, a.description AS text, ' . $case_when . "," . $case_when1)
|
||||||
->select($query->concatenate(array($db->quote($searchWeblinks), 'c.title'), " / ") . ' AS section')
|
->select($query->concatenate(array($db->quote($searchWeblinks), 'c.title'), " / ") . ' AS section')
|
||||||
->select('\'1\' AS browsernav')
|
->select('\'1\' AS browsernav')
|
||||||
->from('#__weblinks AS a')
|
->from('#__weblinks AS a')
|
||||||
->join('INNER', '#__categories as c ON c.id = a.catid')
|
->join('INNER', '#__categories as c ON c.id = a.catid')
|
||||||
->where('(' . $where . ') AND a.state IN (' . implode(',', $state) . ') AND c.published = 1 AND c.access IN (' . $groups . ')')
|
->where('(' . $where . ') AND a.state IN (' . implode(',', $state) . ') AND c.published = 1 AND c.access IN (' . $groups . ')')
|
||||||
->order($order);
|
->order($order);
|
||||||
|
|
||||||
// Filter by language.
|
// Filter by language.
|
||||||
if (JFactory::getApplication()->isClient('site') && JLanguageMultilang::isEnabled())
|
if (JFactory::getApplication()->isClient('site') && JLanguageMultilang::isEnabled())
|
||||||
|
|
Loading…
Reference in New Issue
Block a user