fixed the router

This commit is contained in:
Llewellyn van der Merwe 2017-04-08 19:35:55 +01:00
parent 1b9e1a79fb
commit 4e4185ad67
No known key found for this signature in database
GPG Key ID: CAD7B16D27AF28C5
341 changed files with 53741 additions and 4588 deletions

View File

@ -1,4 +1,4 @@
# Demo (1.0.5) # Demo (2.0.0)
![Demo image] (https://raw.githubusercontent.com/namibia/demo-joomla-3-component/master/admin/assets/images/component-300.jpg "The Demo") ![Demo image] (https://raw.githubusercontent.com/namibia/demo-joomla-3-component/master/admin/assets/images/component-300.jpg "The Demo")
@ -9,39 +9,39 @@ Just a basic demo of the most basic implementations of the [Joomla] (http://www.
+ *Company*: [Vast Development Method] (https://www.vdm.io/) + *Company*: [Vast Development Method] (https://www.vdm.io/)
+ *Author*: [Llewellyn van der Merwe] (mailto:info@vdm.io) + *Author*: [Llewellyn van der Merwe] (mailto:info@vdm.io)
+ *Name*: [Demo] (https://www.vdm.io/) + *Name*: [Demo] (https://www.vdm.io/)
+ *First Build*: 5th August, 2015 + *First Build*: 18th October, 2016
+ *Last Build*: 13th July, 2016 + *Last Build*: 8th April, 2017
+ *Version*: 1.0.5 + *Version*: 2.0.0
+ *Copyright*: Copyright (C) 2015. All Rights Reserved + *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html + *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
## Build Time ## Build Time
**47 Hours** or **6 Eight Hour Days** (actual time the author saved - **43 Hours** or **5 Eight Hour Days** (actual time the author saved -
due to [Automated Component Builder] (https://www.vdm.io/joomla-component-builder)) due to [Automated Component Builder] (https://www.vdm.io/joomla-component-builder))
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**, > (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,
> never making one mistake or taking any coffee break.) > never making one mistake or taking any coffee break.)
+ *Line count*: **16864** + *Line count*: **15283**
+ *File count*: **152** + *File count*: **147**
+ *Folder count*: **50** + *Folder count*: **54**
**31 Hours** or **4 Eight Hour Days** (the actual time the author spent) **28 Hours** or **4 Eight Hour Days** (the actual time the author spent)
> (with the following break down: > (with the following break down:
> **debugging @12hours** = codingtime / 4; > **debugging @11hours** = codingtime / 4;
> **planning @7hours** = codingtime / 7; > **planning @6hours** = codingtime / 7;
> **mapping @5hours** = codingtime / 10; > **mapping @4hours** = codingtime / 10;
> **office @8hours** = codingtime / 6;) > **office @7hours** = codingtime / 6;)
**78 Hours** or **10 Eight Hour Days** **71 Hours** or **9 Eight Hour Days**
(a total of the realistic time frame for this project) (a total of the realistic time frame for this project)
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**, > (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,
> with the normal everyday realities at the office, that includes the component planning, mapping & debugging.) > with the normal everyday realities at the office, that includes the component planning, mapping & debugging.)
Project duration: **2 weeks** or **0.4 months** Project duration: **1.8 weeks** or **0.4 months**
> This **component** was build with a Joomla [Automated Component Builder] (https://www.vdm.io/joomla-component-builder). > This **component** was build with a Joomla [Automated Component Builder] (https://www.vdm.io/joomla-component-builder).
> Developed by [Llewellyn van der Merwe] (mailto:joomla@vdm.io) > Developed by [Llewellyn van der Merwe] (mailto:joomla@vdm.io)

53
admin/README.txt Normal file
View File

@ -0,0 +1,53 @@
# Demo (2.0.0)
![Demo image] (https://raw.githubusercontent.com/namibia/demo-joomla-3-component/master/admin/assets/images/component-300.jpg "The Demo")
Just a basic demo of the most basic implementations of the [Joomla] (http://www.joomla.org) Component Builder's ability.
# Build Details
+ *Company*: [Vast Development Method] (https://www.vdm.io/)
+ *Author*: [Llewellyn van der Merwe] (mailto:info@vdm.io)
+ *Name*: [Demo] (https://www.vdm.io/)
+ *First Build*: 18th October, 2016
+ *Last Build*: 8th April, 2017
+ *Version*: 2.0.0
+ *Copyright*: Copyright (C) 2015. All Rights Reserved
+ *License*: GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
## Build Time
**43 Hours** or **5 Eight Hour Days** (actual time the author saved -
due to [Automated Component Builder] (https://www.vdm.io/joomla-component-builder))
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,
> never making one mistake or taking any coffee break.)
+ *Line count*: **15283**
+ *File count*: **147**
+ *Folder count*: **54**
**28 Hours** or **4 Eight Hour Days** (the actual time the author spent)
> (with the following break down:
> **debugging @11hours** = codingtime / 4;
> **planning @6hours** = codingtime / 7;
> **mapping @4hours** = codingtime / 10;
> **office @7hours** = codingtime / 6;)
**71 Hours** or **9 Eight Hour Days**
(a total of the realistic time frame for this project)
> (if creating a folder and file took **5 seconds** and writing one line of code took **10 seconds**,
> with the normal everyday realities at the office, that includes the component planning, mapping & debugging.)
Project duration: **1.8 weeks** or **0.4 months**
> This **component** was build with a Joomla [Automated Component Builder] (https://www.vdm.io/joomla-component-builder).
> Developed by [Llewellyn van der Merwe] (mailto:joomla@vdm.io)
## Donations
If you want to support this project, please consider donating:
* PayPal: pay@vdm.io
* Bitcoin: 3H35PYwikEosvcjxHXGPLS1GufZ4b4iFu3

View File

@ -15,33 +15,29 @@
<action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_COMPONENT_DESC" /> <action name="core.edit.own" title="JACTION_EDITOWN" description="JACTION_EDITOWN_COMPONENT_DESC" />
<action name="core.edit.created_by" title="COM_DEMO_EDIT_CREATED_BY" description="COM_DEMO_EDIT_CREATED_BY_DESC" /> <action name="core.edit.created_by" title="COM_DEMO_EDIT_CREATED_BY" description="COM_DEMO_EDIT_CREATED_BY_DESC" />
<action name="core.edit.created" title="COM_DEMO_EDIT_CREATED_DATE" description="COM_DEMO_EDIT_CREATED_DATE_DESC" /> <action name="core.edit.created" title="COM_DEMO_EDIT_CREATED_DATE" description="COM_DEMO_EDIT_CREATED_DATE_DESC" />
<action name="help_document.access" title="COM_DEMO_HELP_DOCUMENTS_ACCESS" description="COM_DEMO_HELP_DOCUMENTS_ACCESS_DESC" /> <action name="site.looking.access" title="COM_DEMO_LOOKING_ACCESS_SITE" description="COM_DEMO_LOOKING_ACCESS_SITE_DESC" />
<action name="help_document.batch" title="COM_DEMO_HELP_DOCUMENTS_BATCH_USE" description="COM_DEMO_HELP_DOCUMENTS_BATCH_USE_DESC" />
<action name="help_document.create" title="COM_DEMO_HELP_DOCUMENTS_CREATE" description="COM_DEMO_HELP_DOCUMENTS_CREATE_DESC" />
<action name="help_document.dashboard_list" title="COM_DEMO_HELP_DOCUMENTS_DASHBOARD_LIST" description="COM_DEMO_HELP_DOCUMENTS_DASHBOARD_LIST_DESC" />
<action name="help_document.delete" title="COM_DEMO_HELP_DOCUMENTS_DELETE" description="COM_DEMO_HELP_DOCUMENTS_DELETE_DESC" />
<action name="help_document.edit" title="COM_DEMO_HELP_DOCUMENTS_EDIT" description="COM_DEMO_HELP_DOCUMENTS_EDIT_DESC" />
<action name="help_document.edit.own" title="COM_DEMO_HELP_DOCUMENTS_EDIT_OWN" description="COM_DEMO_HELP_DOCUMENTS_EDIT_OWN_DESC" />
<action name="help_document.edit.state" title="COM_DEMO_HELP_DOCUMENTS_EDIT_STATE" description="COM_DEMO_HELP_DOCUMENTS_EDIT_STATE_DESC" />
<action name="help_document.version" title="COM_DEMO_HELP_DOCUMENTS_EDIT_VERSION" description="COM_DEMO_HELP_DOCUMENTS_EDIT_VERSION_DESC" />
<action name="help_document.export" title="COM_DEMO_HELP_DOCUMENTS_EXPORT" description="COM_DEMO_HELP_DOCUMENTS_EXPORT_DESC" />
<action name="help_document.import" title="COM_DEMO_HELP_DOCUMENTS_IMPORT" description="COM_DEMO_HELP_DOCUMENTS_IMPORT_DESC" />
<action name="help_document.submenu" title="COM_DEMO_HELP_DOCUMENTS_SUBMENU" description="COM_DEMO_HELP_DOCUMENTS_SUBMENU_DESC" />
<action name="look.access" title="COM_DEMO_LOOKS_ACCESS" description="COM_DEMO_LOOKS_ACCESS_DESC" /> <action name="look.access" title="COM_DEMO_LOOKS_ACCESS" description="COM_DEMO_LOOKS_ACCESS_DESC" />
<action name="site.looks.access" title="COM_DEMO_LOOKS_ACCESS_SITE" description="COM_DEMO_LOOKS_ACCESS_SITE_DESC" />
<action name="look.batch" title="COM_DEMO_LOOKS_BATCH_USE" description="COM_DEMO_LOOKS_BATCH_USE_DESC" /> <action name="look.batch" title="COM_DEMO_LOOKS_BATCH_USE" description="COM_DEMO_LOOKS_BATCH_USE_DESC" />
<action name="look.create" title="COM_DEMO_LOOKS_CREATE" description="COM_DEMO_LOOKS_CREATE_DESC" /> <action name="look.create" title="COM_DEMO_LOOKS_CREATE" description="COM_DEMO_LOOKS_CREATE_DESC" />
<action name="look.dashboard_add" title="COM_DEMO_LOOKS_DASHBOARD_ADD" description="COM_DEMO_LOOKS_DASHBOARD_ADD_DESC" /> <action name="look.dashboard_add" title="COM_DEMO_LOOKS_DASHBOARD_ADD" description="COM_DEMO_LOOKS_DASHBOARD_ADD_DESC" />
<action name="look.dashboard_list" title="COM_DEMO_LOOKS_DASHBOARD_LIST" description="COM_DEMO_LOOKS_DASHBOARD_LIST_DESC" /> <action name="look.dashboard_list" title="COM_DEMO_LOOKS_DASHBOARD_LIST" description="COM_DEMO_LOOKS_DASHBOARD_LIST_DESC" />
<action name="look.delete" title="COM_DEMO_LOOKS_DELETE" description="COM_DEMO_LOOKS_DELETE_DESC" /> <action name="look.delete" title="COM_DEMO_LOOKS_DELETE" description="COM_DEMO_LOOKS_DELETE_DESC" />
<action name="look.edit" title="COM_DEMO_LOOKS_EDIT" description="COM_DEMO_LOOKS_EDIT_DESC" /> <action name="look.edit" title="COM_DEMO_LOOKS_EDIT" description="COM_DEMO_LOOKS_EDIT_DESC" />
<action name="look.edit.acronym" title="COM_DEMO_LOOKS_EDIT_ACRONYM" description="COM_DEMO_LOOKS_EDIT_ACRONYM_DESC" /> <action name="look.edit.add" title="COM_DEMO_LOOKS_EDIT_ADD" description="COM_DEMO_LOOKS_EDIT_ADD_DESC" />
<action name="look.edit.alias" title="COM_DEMO_LOOKS_EDIT_ALIAS" description="COM_DEMO_LOOKS_EDIT_ALIAS_DESC" />
<action name="look.edit.created_by" title="COM_DEMO_LOOKS_EDIT_CREATED_BY" description="COM_DEMO_LOOKS_EDIT_CREATED_BY_DESC" /> <action name="look.edit.created_by" title="COM_DEMO_LOOKS_EDIT_CREATED_BY" description="COM_DEMO_LOOKS_EDIT_CREATED_BY_DESC" />
<action name="look.edit.created" title="COM_DEMO_LOOKS_EDIT_CREATED_DATE" description="COM_DEMO_LOOKS_EDIT_CREATED_DATE_DESC" /> <action name="look.edit.created" title="COM_DEMO_LOOKS_EDIT_CREATED_DATE" description="COM_DEMO_LOOKS_EDIT_CREATED_DATE_DESC" />
<action name="look.edit.dateofbirth" title="COM_DEMO_LOOKS_EDIT_DATEOFBIRTH" description="COM_DEMO_LOOKS_EDIT_DATEOFBIRTH_DESC" />
<action name="look.edit.description" title="COM_DEMO_LOOKS_EDIT_DESCRIPTION" description="COM_DEMO_LOOKS_EDIT_DESCRIPTION_DESC" /> <action name="look.edit.description" title="COM_DEMO_LOOKS_EDIT_DESCRIPTION" description="COM_DEMO_LOOKS_EDIT_DESCRIPTION_DESC" />
<action name="look.edit.male" title="COM_DEMO_LOOKS_EDIT_MALE" description="COM_DEMO_LOOKS_EDIT_MALE_DESC" /> <action name="look.edit.email" title="COM_DEMO_LOOKS_EDIT_EMAIL" description="COM_DEMO_LOOKS_EDIT_EMAIL_DESC" />
<action name="look.edit.image" title="COM_DEMO_LOOKS_EDIT_IMAGE" description="COM_DEMO_LOOKS_EDIT_IMAGE_DESC" />
<action name="look.edit.mobile_phone" title="COM_DEMO_LOOKS_EDIT_MOBILE_PHONE" description="COM_DEMO_LOOKS_EDIT_MOBILE_PHONE_DESC" />
<action name="look.edit.name" title="COM_DEMO_LOOKS_EDIT_NAME" description="COM_DEMO_LOOKS_EDIT_NAME_DESC" />
<action name="look.edit.own" title="COM_DEMO_LOOKS_EDIT_OWN" description="COM_DEMO_LOOKS_EDIT_OWN_DESC" /> <action name="look.edit.own" title="COM_DEMO_LOOKS_EDIT_OWN" description="COM_DEMO_LOOKS_EDIT_OWN_DESC" />
<action name="look.edit.state" title="COM_DEMO_LOOKS_EDIT_STATE" description="COM_DEMO_LOOKS_EDIT_STATE_DESC" /> <action name="look.edit.state" title="COM_DEMO_LOOKS_EDIT_STATE" description="COM_DEMO_LOOKS_EDIT_STATE_DESC" />
<action name="look.version" title="COM_DEMO_LOOKS_EDIT_VERSION" description="COM_DEMO_LOOKS_EDIT_VERSION_DESC" /> <action name="look.version" title="COM_DEMO_LOOKS_EDIT_VERSION" description="COM_DEMO_LOOKS_EDIT_VERSION_DESC" />
<action name="look.edit.website" title="COM_DEMO_LOOKS_EDIT_WEBSITE" description="COM_DEMO_LOOKS_EDIT_WEBSITE_DESC" />
<action name="look.export" title="COM_DEMO_LOOKS_EXPORT" description="COM_DEMO_LOOKS_EXPORT_DESC" /> <action name="look.export" title="COM_DEMO_LOOKS_EXPORT" description="COM_DEMO_LOOKS_EXPORT_DESC" />
<action name="look.import" title="COM_DEMO_LOOKS_IMPORT" description="COM_DEMO_LOOKS_IMPORT_DESC" /> <action name="look.import" title="COM_DEMO_LOOKS_IMPORT" description="COM_DEMO_LOOKS_IMPORT_DESC" />
<action name="look.submenu" title="COM_DEMO_LOOKS_SUBMENU" description="COM_DEMO_LOOKS_SUBMENU_DESC" /> <action name="look.submenu" title="COM_DEMO_LOOKS_SUBMENU" description="COM_DEMO_LOOKS_SUBMENU_DESC" />
@ -55,18 +51,15 @@
<action name="look.create" title="COM_DEMO_LOOKS_CREATE" description="COM_DEMO_LOOKS_CREATE_DESC" /> <action name="look.create" title="COM_DEMO_LOOKS_CREATE" description="COM_DEMO_LOOKS_CREATE_DESC" />
<action name="look.delete" title="COM_DEMO_LOOKS_DELETE" description="COM_DEMO_LOOKS_DELETE_DESC" /> <action name="look.delete" title="COM_DEMO_LOOKS_DELETE" description="COM_DEMO_LOOKS_DELETE_DESC" />
<action name="look.access" title="COM_DEMO_LOOKS_ACCESS" description="COM_DEMO_LOOKS_ACCESS_DESC" /> <action name="look.access" title="COM_DEMO_LOOKS_ACCESS" description="COM_DEMO_LOOKS_ACCESS_DESC" />
<action name="look.edit.name" title="COM_DEMO_LOOKS_EDIT_NAME" description="COM_DEMO_LOOKS_EDIT_NAME_DESC" />
<action name="look.edit.description" title="COM_DEMO_LOOKS_EDIT_DESCRIPTION" description="COM_DEMO_LOOKS_EDIT_DESCRIPTION_DESC" /> <action name="look.edit.description" title="COM_DEMO_LOOKS_EDIT_DESCRIPTION" description="COM_DEMO_LOOKS_EDIT_DESCRIPTION_DESC" />
<action name="look.edit.acronym" title="COM_DEMO_LOOKS_EDIT_ACRONYM" description="COM_DEMO_LOOKS_EDIT_ACRONYM_DESC" /> <action name="look.edit.alias" title="COM_DEMO_LOOKS_EDIT_ALIAS" description="COM_DEMO_LOOKS_EDIT_ALIAS_DESC" />
<action name="look.edit.male" title="COM_DEMO_LOOKS_EDIT_MALE" description="COM_DEMO_LOOKS_EDIT_MALE_DESC" /> <action name="look.edit.dateofbirth" title="COM_DEMO_LOOKS_EDIT_DATEOFBIRTH" description="COM_DEMO_LOOKS_EDIT_DATEOFBIRTH_DESC" />
<action name="look.edit.website" title="COM_DEMO_LOOKS_EDIT_WEBSITE" description="COM_DEMO_LOOKS_EDIT_WEBSITE_DESC" />
<action name="look.edit.mobile_phone" title="COM_DEMO_LOOKS_EDIT_MOBILE_PHONE" description="COM_DEMO_LOOKS_EDIT_MOBILE_PHONE_DESC" />
<action name="look.edit.add" title="COM_DEMO_LOOKS_EDIT_ADD" description="COM_DEMO_LOOKS_EDIT_ADD_DESC" />
<action name="look.edit.image" title="COM_DEMO_LOOKS_EDIT_IMAGE" description="COM_DEMO_LOOKS_EDIT_IMAGE_DESC" />
<action name="look.edit.email" title="COM_DEMO_LOOKS_EDIT_EMAIL" description="COM_DEMO_LOOKS_EDIT_EMAIL_DESC" />
<action name="look.version" title="COM_DEMO_LOOKS_EDIT_VERSION" description="COM_DEMO_LOOKS_EDIT_VERSION_DESC" /> <action name="look.version" title="COM_DEMO_LOOKS_EDIT_VERSION" description="COM_DEMO_LOOKS_EDIT_VERSION_DESC" />
</section>
<section name="help_document">
<action name="help_document.edit" title="COM_DEMO_HELP_DOCUMENTS_EDIT" description="COM_DEMO_HELP_DOCUMENTS_EDIT_DESC" />
<action name="help_document.edit.own" title="COM_DEMO_HELP_DOCUMENTS_EDIT_OWN" description="COM_DEMO_HELP_DOCUMENTS_EDIT_OWN_DESC" />
<action name="help_document.edit.state" title="COM_DEMO_HELP_DOCUMENTS_EDIT_STATE" description="COM_DEMO_HELP_DOCUMENTS_EDIT_STATE_DESC" />
<action name="help_document.create" title="COM_DEMO_HELP_DOCUMENTS_CREATE" description="COM_DEMO_HELP_DOCUMENTS_CREATE_DESC" />
<action name="help_document.delete" title="COM_DEMO_HELP_DOCUMENTS_DELETE" description="COM_DEMO_HELP_DOCUMENTS_DELETE_DESC" />
<action name="help_document.access" title="COM_DEMO_HELP_DOCUMENTS_ACCESS" description="COM_DEMO_HELP_DOCUMENTS_ACCESS_DESC" />
<action name="help_document.version" title="COM_DEMO_HELP_DOCUMENTS_EDIT_VERSION" description="COM_DEMO_HELP_DOCUMENTS_EDIT_VERSION_DESC" />
</section> </section>
</access> </access>

View File

@ -2,9 +2,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage admin.css @subpackage admin.css
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -2,9 +2,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage dashboard.css @subpackage dashboard.css
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -2,9 +2,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage look.css @subpackage look.css
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -2,9 +2,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage looks.css @subpackage looks.css
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View File

@ -68,6 +68,53 @@
readonly="true" readonly="true"
class="readonly" class="readonly"
/> />
</fieldset>
<fieldset
name="uikit_config"
label="COM_DEMO_CONFIG_UIKIT_LABEL"
description="COM_DEMO_CONFIG_UIKIT_DESC">
<field name="uikit_load"
type="radio"
label="COM_DEMO_CONFIG_UIKIT_LOAD_LABEL"
description="COM_DEMO_CONFIG_UIKIT_LOAD_DESC"
class="btn-group btn-group-yesno"
default="">
<!-- Option Set. -->
<option value="">
COM_DEMO_CONFIG_AUTO_LOAD</option>"
<option value="1">
COM_DEMO_CONFIG_FORCE_LOAD</option>"
<option value="3">
COM_DEMO_CONFIG_ONLY_EXTRA</option>"
<option value="2">
COM_DEMO_CONFIG_DONT_LOAD</option>"
</field>
<field name="uikit_min"
type="radio"
label="COM_DEMO_CONFIG_UIKIT_MIN_LABEL"
description="COM_DEMO_CONFIG_UIKIT_MIN_DESC"
class="btn-group btn-group-yesno"
default="">
<!-- Option Set. -->
<option value="">
COM_DEMO_CONFIG_NO</option>"
<option value=".min">
COM_DEMO_CONFIG_YES</option>"
</field>
<field name="uikit_style"
type="radio"
label="COM_DEMO_CONFIG_UIKIT_STYLE_LABEL"
description="COM_DEMO_CONFIG_UIKIT_STYLE_DESC"
class="btn-group btn-group-yesno"
default="">
<!-- Option Set. -->
<option value="">
COM_DEMO_CONFIG_FLAT_LOAD</option>"
<option value=".almost-flat">
COM_DEMO_CONFIG_ALMOST_FLAT_LOAD</option>"
<option value=".gradient">
COM_DEMO_CONFIG_GRADIANT_LOAD</option>"
</field>
</fieldset> </fieldset>
<fieldset <fieldset
name="permissions" name="permissions"

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage controller.php @subpackage controller.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -83,8 +83,7 @@ class DemoController extends JControllerLegacy
if (DemoHelper::checkString($view)) if (DemoHelper::checkString($view))
{ {
$views = array( $views = array(
'look' => 'looks', 'look' => 'looks'
'help_document' => 'help_documents'
); );
// check if this is a list view // check if this is a list view
if (in_array($view,$views)) if (in_array($view,$views))

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage demo.php @subpackage demo.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -1,124 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage help.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controllerform library
jimport('joomla.application.component.controller');
/**
* Demo Help Controller
*/
class DemoControllerHelp extends JControllerLegacy
{
public function __construct($config)
{
parent::__construct($config);
// load the tasks
$this->registerTask('getText', 'help');
}
public function help()
{
$user = JFactory::getUser();
$jinput = JFactory::getApplication()->input;
// Check Token!
$token = JSession::getFormToken();
$call_token = $jinput->get('token', 0, 'ALNUM');
if($user->id != 0 && $token == $call_token){
$task = $this->getTask();
switch($task){
case 'getText':
try
{
$idValue = $jinput->get('id', 0, 'INT');
if($idValue)
{
$result = $this->getHelpDocumentText($idValue);
}
else
{
$result = '';
}
echo $result;
// stop execution gracefully
jexit();
}
catch(Exception $e)
{
// stop execution gracefully
jexit();
}
break;
}
}
else
{
// stop execution gracefully
jexit();
}
}
protected function getHelpDocumentText($id)
{
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(array('a.title','a.content'));
$query->from('#__demo_help_document AS a');
$query->where('a.id = '.(int) $id);
$query->where('a.published = 1');
$db->setQuery($query);
$db->execute();
if($db->getNumRows())
{
$text = array();
$document = $db->loadObject();
// fix image issue
$images['src="images'] = 'src="'.JURI::root().'images';
$images["src='images"] = "src='".JURI::root()."images";
$images['src="/images'] = 'src="'.JURI::root().'images';
$images["src='/images"] = "src='".JURI::root()."images";
// set document template
$text[] = "<!doctype html>";
$text[] = '<html>';
$text[] = "<head>";
$text[] = '<meta charset="utf-8">';
$text[] = "<title>".$document->title."</title>";
$text[] = '<link type="text/css" href="'.JURI::root().'media/com_demo/uikit/css/uikit.gradient.min.css" rel="stylesheet"></link>';
$text[] = '<script type="text/javascript" src="'.JURI::root().'media/com_demo/uikit/js/uikit.min.js"></script>';
$text[] = "</head>";
$text[] = '<body><br />';
$text[] = '<div class="uk-container uk-container-center uk-grid-collapse">';
$text[] = '<div class="uk-panel uk-width-1-1 uk-panel-box uk-panel-box-primary">';
// build the help text
$text[] = '<h1 class="uk-panel-title">'.$document->title."</h1>";
$text[] = str_replace(array_keys($images),array_values($images),$document->content);
// end template
$text[] = '</div><br /><br />';
$text[] = '</div>';
$text[] = "</body>";
$text[] = "</html>";
return implode("\n",$text);
}
return false;
}
}

View File

@ -1,106 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage help_documents.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla controlleradmin library
jimport('joomla.application.component.controlleradmin');
/**
* Help_documents Controller
*/
class DemoControllerHelp_documents extends JControllerAdmin
{
protected $text_prefix = 'COM_DEMO_HELP_DOCUMENTS';
/**
* Proxy for getModel.
* @since 2.5
*/
public function getModel($name = 'Help_document', $prefix = 'DemoModel', $config = array())
{
$model = parent::getModel($name, $prefix, array('ignore_request' => true));
return $model;
}
public function exportData()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// check if export is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('help_document.export', 'com_demo') && $user->authorise('core.export', 'com_demo'))
{
// Get the input
$input = JFactory::getApplication()->input;
$pks = $input->post->get('cid', array(), 'array');
// Sanitize the input
JArrayHelper::toInteger($pks);
// Get the model
$model = $this->getModel('Help_documents');
// get the data to export
$data = $model->getExportData($pks);
if (DemoHelper::checkArray($data))
{
// now set the data to the spreadsheet
$date = JFactory::getDate();
DemoHelper::xls($data,'Help_documents_'.$date->format('jS_F_Y'),'Help documents exported ('.$date->format('jS F, Y').')','help documents');
}
}
// Redirect to the list screen with error.
$message = JText::_('COM_DEMO_EXPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_demo&view=help_documents', false), $message, 'error');
return;
}
public function importData()
{
// Check for request forgeries
JSession::checkToken() or die(JText::_('JINVALID_TOKEN'));
// check if import is allowed for this user.
$user = JFactory::getUser();
if ($user->authorise('help_document.import', 'com_demo') && $user->authorise('core.import', 'com_demo'))
{
// Get the import model
$model = $this->getModel('Help_documents');
// get the headers to import
$headers = $model->getExImPortHeaders();
if (DemoHelper::checkObject($headers))
{
// Load headers to session.
$session = JFactory::getSession();
$headers = json_encode($headers);
$session->set('help_document_VDM_IMPORTHEADERS', $headers);
$session->set('backto_VDM_IMPORT', 'help_documents');
$session->set('dataType_VDM_IMPORTINTO', 'help_document');
// Redirect to import view.
$message = JText::_('COM_DEMO_IMPORT_SELECT_FILE_FOR_HELP_DOCUMENTS');
$this->setRedirect(JRoute::_('index.php?option=com_demo&view=import', false), $message);
return;
}
}
// Redirect to the list screen with error.
$message = JText::_('COM_DEMO_IMPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_demo&view=help_documents', false), $message, 'error');
return;
}
}

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage import.php @subpackage import.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage look.php @subpackage look.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -94,7 +94,7 @@ class DemoControllerLook extends JControllerForm
{ {
// The record has been set. Check the record permissions. // The record has been set. Check the record permissions.
$permission = $user->authorise('look.edit', 'com_demo.look.' . (int) $recordId); $permission = $user->authorise('look.edit', 'com_demo.look.' . (int) $recordId);
if (!$permission && !is_null($permission)) if (!$permission)
{ {
if ($user->authorise('look.edit.own', 'com_demo.look.' . $recordId)) if ($user->authorise('look.edit.own', 'com_demo.look.' . $recordId))
{ {

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage looks.php @subpackage looks.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -102,5 +102,5 @@ class DemoControllerLooks extends JControllerAdmin
$message = JText::_('COM_DEMO_IMPORT_FAILED'); $message = JText::_('COM_DEMO_IMPORT_FAILED');
$this->setRedirect(JRoute::_('index.php?option=com_demo&view=looks', false), $message, 'error'); $this->setRedirect(JRoute::_('index.php?option=com_demo&view=looks', false), $message, 'error');
return; return;
} }
} }

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage demo.php @subpackage demo.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage demo.php @subpackage demo.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -25,7 +25,7 @@ defined('_JEXEC') or die('Restricted access');
* Demo component helper. * Demo component helper.
*/ */
abstract class DemoHelper abstract class DemoHelper
{ {
/** /**
* Load the Component xml manifest. * Load the Component xml manifest.
**/ **/
@ -74,75 +74,11 @@ abstract class DemoHelper
} }
/** /**
* Load the Component Help URLs. * Can be used to build help urls.
**/ **/
public static function getHelpUrl($view) public static function getHelpUrl($view)
{ {
$user = JFactory::getUser();
$groups = $user->get('groups');
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select(array('a.id','a.groups','a.target','a.type','a.article','a.url'));
$query->from('#__demo_help_document AS a');
$query->where('a.admin_view = '.$db->quote($view));
$query->where('a.location = 1');
$query->where('a.published = 1');
$db->setQuery($query);
$db->execute();
if($db->getNumRows())
{
$helps = $db->loadObjectList();
if (self::checkArray($helps))
{
foreach ($helps as $nr => $help)
{
if ($help->target == 1)
{
$targetgroups = json_decode($help->groups, true);
if (!array_intersect($targetgroups, $groups))
{
// if user not in those target groups then remove the item
unset($helps[$nr]);
continue;
}
}
// set the return type
switch ($help->type)
{
// set joomla article
case 1:
return self::loadArticleLink($help->article);
break;
// set help text
case 2:
return self::loadHelpTextLink($help->id);
break;
// set Link
case 3:
return $help->url;
break;
}
}
}
}
return false; return false;
}
/**
* Get the Article Link.
**/
protected static function loadArticleLink($id)
{
return JURI::root().'index.php?option=com_content&view=article&id='.$id.'&tmpl=component&layout=modal';
}
/**
* Get the Help Text Link.
**/
protected static function loadHelpTextLink($id)
{
$token = JSession::getFormToken();
return 'index.php?option=com_demo&task=help.getText&id=' . (int) $id . '&token=' . $token;
} }
/** /**
@ -153,16 +89,114 @@ abstract class DemoHelper
// load user for access menus // load user for access menus
$user = JFactory::getUser(); $user = JFactory::getUser();
// load the submenus to sidebar // load the submenus to sidebar
JHtmlSidebar::addEntry(JText::_('COM_DEMO_SUBMENU_DASHBOARD'), 'index.php?option=com_demo&view=demo', $submenu == 'demo'); JHtmlSidebar::addEntry(JText::_('COM_DEMO_SUBMENU_DASHBOARD'), 'index.php?option=com_demo&view=demo', $submenu === 'demo');
if ($user->authorise('look.access', 'com_demo') && $user->authorise('look.submenu', 'com_demo')) if ($user->authorise('look.access', 'com_demo') && $user->authorise('look.submenu', 'com_demo'))
{ {
JHtmlSidebar::addEntry(JText::_('COM_DEMO_SUBMENU_LOOKS'), 'index.php?option=com_demo&view=looks', $submenu == 'looks'); JHtmlSidebar::addEntry(JText::_('COM_DEMO_SUBMENU_LOOKS'), 'index.php?option=com_demo&view=looks', $submenu === 'looks');
}
if ($user->authorise('help_document.access', 'com_demo') && $user->authorise('help_document.submenu', 'com_demo'))
{
JHtmlSidebar::addEntry(JText::_('COM_DEMO_SUBMENU_HELP_DOCUMENTS'), 'index.php?option=com_demo&view=help_documents', $submenu == 'help_documents');
} }
} }
/**
* UIKIT Component Classes
**/
public static $uk_components = array(
'data-uk-grid' => array(
'grid' ),
'uk-accordion' => array(
'accordion' ),
'uk-autocomplete' => array(
'autocomplete' ),
'data-uk-datepicker' => array(
'datepicker' ),
'uk-form-password' => array(
'form-password' ),
'uk-form-select' => array(
'form-select' ),
'data-uk-htmleditor' => array(
'htmleditor' ),
'data-uk-lightbox' => array(
'lightbox' ),
'uk-nestable' => array(
'nestable' ),
'UIkit.notify' => array(
'notify' ),
'data-uk-parallax' => array(
'parallax' ),
'uk-search' => array(
'search' ),
'uk-slider' => array(
'slider' ),
'uk-slideset' => array(
'slideset' ),
'uk-slideshow' => array(
'slideshow',
'slideshow-fx' ),
'uk-sortable' => array(
'sortable' ),
'data-uk-sticky' => array(
'sticky' ),
'data-uk-timepicker' => array(
'timepicker' ),
'data-uk-tooltip' => array(
'tooltip' ),
'uk-placeholder' => array(
'placeholder' ),
'uk-dotnav' => array(
'dotnav' ),
'uk-slidenav' => array(
'slidenav' ),
'uk-form' => array(
'form-advanced' ),
'uk-progress' => array(
'progress' ),
'upload-drop' => array(
'upload', 'form-file' )
);
/**
* Add UIKIT Components
**/
public static $uikit = false;
/**
* Get UIKIT Components
**/
public static function getUikitComp($content,$classes = array())
{
if (strpos($content,'class="uk-') !== false)
{
// reset
$temp = array();
foreach (self::$uk_components as $looking => $add)
{
if (strpos($content,$looking) !== false)
{
$temp[] = $looking;
}
}
// make sure uikit is loaded to config
if (strpos($content,'class="uk-') !== false)
{
self::$uikit = true;
}
// sorter
if (self::checkArray($temp))
{
// merger
if (self::checkArray($classes))
{
$newTemp = array_merge($temp,$classes);
$temp = array_unique($newTemp);
}
return $temp;
}
}
if (self::checkArray($classes))
{
return $classes;
}
return false;
}
/** /**
* Prepares the xml document * Prepares the xml document
@ -252,7 +286,7 @@ abstract class DemoHelper
$objPHPExcel->getActiveSheet()->getColumnDimension($a)->setAutoSize(true); $objPHPExcel->getActiveSheet()->getColumnDimension($a)->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getStyle($a.$i)->applyFromArray($headerStyles); $objPHPExcel->getActiveSheet()->getStyle($a.$i)->applyFromArray($headerStyles);
$objPHPExcel->getActiveSheet()->getStyle($a.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle($a.$i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
} elseif ($a == 'A'){ } elseif ($a === 'A'){
$objPHPExcel->getActiveSheet()->getStyle($a.$i)->applyFromArray($sideStyles); $objPHPExcel->getActiveSheet()->getStyle($a.$i)->applyFromArray($sideStyles);
} else { } else {
$objPHPExcel->getActiveSheet()->getStyle($a.$i)->applyFromArray($normalStyles); $objPHPExcel->getActiveSheet()->getStyle($a.$i)->applyFromArray($normalStyles);
@ -396,13 +430,18 @@ abstract class DemoHelper
if (self::checkArray($where)) if (self::checkArray($where))
{ {
// prep main <-- why? well if $main='' is empty then $table can be categories or users
if (self::checkString($main))
{
$main = '_'.ltrim($main, '_');
}
// Get a db connection. // Get a db connection.
$db = JFactory::getDbo(); $db = JFactory::getDbo();
// Create a new query object. // Create a new query object.
$query = $db->getQuery(true); $query = $db->getQuery(true);
$query->select($db->quoteName(array($what))); $query->select($db->quoteName(array($what)));
$query->from($db->quoteName('#__'.$main.'_'.$table)); $query->from($db->quoteName('#_'.$main.'_'.$table));
$query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')'); $query->where($db->quoteName($whereString) . ' '.$operator.' (' . implode(',',$where) . ')');
$db->setQuery($query); $db->setQuery($query);
$db->execute(); $db->execute();
@ -515,7 +554,7 @@ abstract class DemoHelper
{ {
// The record has been set. Check the record permissions. // The record has been set. Check the record permissions.
$permission = $user->authorise($action->name, 'com_demo.'.$view.'.' . (int) $record->id); $permission = $user->authorise($action->name, 'com_demo.'.$view.'.' . (int) $record->id);
if (!$permission && !is_null($permission)) if (!$permission) // TODO removed && !is_null($permission)
{ {
if ($action->name == 'core.edit' || $action->name == $view.'.edit') if ($action->name == 'core.edit' || $action->name == $view.'.edit')
{ {
@ -850,10 +889,22 @@ abstract class DemoHelper
return false; return false;
} }
public static function checkArray($array) public static function checkArray($array, $removeEmptyString = false)
{ {
if (isset($array) && is_array($array) && count($array) > 0) if (isset($array) && is_array($array) && count($array) > 0)
{ {
// also make sure the empty strings are removed
if ($removeEmptyString)
{
foreach ($array as $key => $string)
{
if (empty($string))
{
unset($array[$key]);
}
}
return self::checkArray($array, false);
}
return true; return true;
} }
return false; return false;
@ -919,57 +970,86 @@ abstract class DemoHelper
return $string; return $string;
} }
public static function safeString($string, $type = 'L', $spacer = '_') public static function safeString($string, $type = 'L', $spacer = '_', $replaceNumbers = true)
{ {
// remove all numbers and replace with english text version (works well only up to a thousand) if ($replaceNumbers === true)
$string = self::replaceNumbers($string); {
// remove all numbers and replace with english text version (works well only up to millions)
$string = self::replaceNumbers($string);
}
// 0nly continue if we have a string
if (self::checkString($string)) if (self::checkString($string))
{ {
// remove all other characters // create file name without the extention that is safe
$string = trim($string); if ($type === 'filename')
$string = preg_replace('/'.$spacer.'+/', ' ', $string); {
$string = preg_replace('/\s+/', ' ', $string); // make sure VDM is not in the string
$string = preg_replace("/[^A-Za-z ]/", '', $string); $string = str_replace('VDM', 'vDm', $string);
// return a string with all first letter of each word uppercase(no undersocre) // Remove anything which isn't a word, whitespace, number
if ($type == 'W') // or any of the following caracters -_()
{ // If you don't need to handle multi-byte characters
return ucwords(strtolower($string)); // you can use preg_replace rather than mb_ereg_replace
} // Thanks @Łukasz Rysiak!
elseif ($type == 'w') $string = mb_ereg_replace("([^\w\s\d\-_\(\)])", '', $string);
{ // http://stackoverflow.com/a/2021729/1429677
return strtolower($string); return preg_replace('/\s+/', ' ', $string);
} }
elseif ($type == 'Ww') // remove all other characters
{ $string = trim($string);
return ucfirst(strtolower($string)); $string = preg_replace('/'.$spacer.'+/', ' ', $string);
} $string = preg_replace('/\s+/', ' ', $string);
elseif ($type == 'WW') $string = preg_replace("/[^A-Za-z ]/", '', $string);
{ // select final adaptations
return strtoupper($string); if ($type === 'L' || $type === 'strtolower')
}
elseif ($type == 'U')
{
// replace white space with underscore
$string = preg_replace('/\s+/', $spacer, $string);
// return all upper
return strtoupper($string);
}
elseif ($type == 'F')
{
// replace white space with underscore
$string = preg_replace('/\s+/', $spacer, $string);
// return with first caracter to upper
return ucfirst(strtolower($string));
}
elseif ($type == 'L')
{ {
// replace white space with underscore // replace white space with underscore
$string = preg_replace('/\s+/', $spacer, $string); $string = preg_replace('/\s+/', $spacer, $string);
// default is to return lower // default is to return lower
return strtolower($string); return strtolower($string);
} }
elseif ($type === 'W')
{
// return a string with all first letter of each word uppercase(no undersocre)
return ucwords(strtolower($string));
}
elseif ($type === 'w' || $type === 'word')
{
// return a string with all lowercase(no undersocre)
return strtolower($string);
}
elseif ($type === 'Ww' || $type === 'Word')
{
// return a string with first letter of the first word uppercase and all the rest lowercase(no undersocre)
return ucfirst(strtolower($string));
}
elseif ($type === 'WW' || $type === 'WORD')
{
// return a string with all the uppercase(no undersocre)
return strtoupper($string);
}
elseif ($type === 'U' || $type === 'strtoupper')
{
// replace white space with underscore
$string = preg_replace('/\s+/', $spacer, $string);
// return all upper
return strtoupper($string);
}
elseif ($type === 'F' || $type === 'ucfirst')
{
// replace white space with underscore
$string = preg_replace('/\s+/', $spacer, $string);
// return with first caracter to upper
return ucfirst(strtolower($string));
}
elseif ($type === 'cA' || $type === 'cAmel' || $type === 'camelcase')
{
// convert all words to first letter uppercase
$string = ucwords(strtolower($string));
// remove white space
$string = preg_replace('/\s+/', '', $string);
// now return first letter lowercase
return lcfirst($string);
}
// return string // return string
return $string; return $string;
} }

View File

@ -0,0 +1,80 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 2.0.0
@build 8th April, 2017
@created 18th October, 2016
@package Demo
@subpackage headercheck.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
class HeaderCheck
{
function js_loaded($script_name)
{
// UIkit check point
if (strpos($script_name,'uikit') !== false)
{
$app = JFactory::getApplication();
$getTemplateName = $app->getTemplate('template')->template;
if (strpos($getTemplateName,'yoo') !== false)
{
return true;
}
}
$document = JFactory::getDocument();
$head_data = $document->getHeadData();
foreach (array_keys($head_data['scripts']) as $script)
{
if (stristr($script, $script_name))
{
return true;
}
}
return false;
}
function css_loaded($script_name)
{
// UIkit check point
if (strpos($script_name,'uikit') !== false)
{
$app = JFactory::getApplication();
$getTemplateName = $app->getTemplate('template')->template;
if (strpos($getTemplateName,'yoo') !== false)
{
return true;
}
}
$document = JFactory::getDocument();
$head_data = $document->getHeadData();
foreach (array_keys($head_data['styleSheets']) as $script)
{
if (stristr($script, $script_name))
{
return true;
}
}
return false;
}
}

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage batch_.php @subpackage batch_.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -1,11 +1,13 @@
COM_DEMO="Demo" COM_DEMO="Demo"
COM_DEMO_AUTHOR="Author" COM_DEMO_AUTHOR="Author"
COM_DEMO_BACK="Back" COM_DEMO_BACK="Back"
COM_DEMO_CONFIG_ALMOST_FLAT_LOAD="Almost Flat"
COM_DEMO_CONFIG_AUTHOR="Author Info" COM_DEMO_CONFIG_AUTHOR="Author Info"
COM_DEMO_CONFIG_AUTHOR_EMAIL_DESC="The email address of the author of this component." COM_DEMO_CONFIG_AUTHOR_EMAIL_DESC="The email address of the author of this component."
COM_DEMO_CONFIG_AUTHOR_EMAIL_LABEL="Author Email" COM_DEMO_CONFIG_AUTHOR_EMAIL_LABEL="Author Email"
COM_DEMO_CONFIG_AUTHOR_NAME_DESC="The name of the author of this component." COM_DEMO_CONFIG_AUTHOR_NAME_DESC="The name of the author of this component."
COM_DEMO_CONFIG_AUTHOR_NAME_LABEL="Author Name" COM_DEMO_CONFIG_AUTHOR_NAME_LABEL="Author Name"
COM_DEMO_CONFIG_AUTO_LOAD="Auto"
COM_DEMO_CONFIG_CHECK_TIMER_DESC="Set the intervals for the auto checkin fuction of tables that checks out the items to an user." COM_DEMO_CONFIG_CHECK_TIMER_DESC="Set the intervals for the auto checkin fuction of tables that checks out the items to an user."
COM_DEMO_CONFIG_CHECK_TIMER_LABEL="Check in timer" COM_DEMO_CONFIG_CHECK_TIMER_LABEL="Check in timer"
COM_DEMO_CONFIG_CHECK_TIMER_OPTION_FIVE="Once a week" COM_DEMO_CONFIG_CHECK_TIMER_OPTION_FIVE="Once a week"
@ -14,14 +16,29 @@ COM_DEMO_CONFIG_CHECK_TIMER_OPTION_ONE="Every five hours"
COM_DEMO_CONFIG_CHECK_TIMER_OPTION_SIX="Never" COM_DEMO_CONFIG_CHECK_TIMER_OPTION_SIX="Never"
COM_DEMO_CONFIG_CHECK_TIMER_OPTION_THREE="Once a day" COM_DEMO_CONFIG_CHECK_TIMER_OPTION_THREE="Once a day"
COM_DEMO_CONFIG_CHECK_TIMER_OPTION_TWO="Every twelve hours" COM_DEMO_CONFIG_CHECK_TIMER_OPTION_TWO="Every twelve hours"
COM_DEMO_CONFIG_DONT_LOAD="Not"
COM_DEMO_CONFIG_FLAT_LOAD="Flat"
COM_DEMO_CONFIG_FORCE_LOAD="Force"
COM_DEMO_CONFIG_GLOBAL_DESC="The Global Parameters" COM_DEMO_CONFIG_GLOBAL_DESC="The Global Parameters"
COM_DEMO_CONFIG_GLOBAL_LABEL="Global" COM_DEMO_CONFIG_GLOBAL_LABEL="Global"
COM_DEMO_CONFIG_GRADIANT_LOAD="Gradient"
COM_DEMO_CONFIG_NO="No"
COM_DEMO_CONFIG_ONLY_EXTRA="Only Extra"
COM_DEMO_CONFIG_UIKIT_DESC="<b>The Parameters for the uikit are set here.</b><br />Uikit is a lightweight and modular front-end framework
for developing fast and powerful web interfaces. For more info visit <a href="http://getuikit.com/" >http://getuikit.com/</a>"
COM_DEMO_CONFIG_UIKIT_LABEL="Uikit Settings"
COM_DEMO_CONFIG_UIKIT_LOAD_DESC="Set the uikit loading option."
COM_DEMO_CONFIG_UIKIT_LOAD_LABEL="Loading Options"
COM_DEMO_CONFIG_UIKIT_MIN_DESC="Should the minified version of uikit files be loaded?"
COM_DEMO_CONFIG_UIKIT_MIN_LABEL="Load Minified"
COM_DEMO_CONFIG_UIKIT_STYLE_DESC="Set the css style that should be used."
COM_DEMO_CONFIG_UIKIT_STYLE_LABEL="css Style"
COM_DEMO_CONFIG_YES="Yes"
COM_DEMO_CONTRIBUTOR="Contributor" COM_DEMO_CONTRIBUTOR="Contributor"
COM_DEMO_CONTRIBUTORS="Contributors" COM_DEMO_CONTRIBUTORS="Contributors"
COM_DEMO_CREATE_NEW_S="Create New %s" COM_DEMO_CREATE_NEW_S="Create New %s"
COM_DEMO_DASH="Dashboard" COM_DEMO_DASH="Dashboard"
COM_DEMO_DASHBOARD="Demo Dashboard" COM_DEMO_DASHBOARD="Demo Dashboard"
COM_DEMO_DASHBOARD_HELP_DOCUMENTS="Help Documents<br /><br />"
COM_DEMO_DASHBOARD_LOOKS="Looks<br /><br />" COM_DEMO_DASHBOARD_LOOKS="Looks<br /><br />"
COM_DEMO_DASHBOARD_LOOK_ADD="Add&nbsp;Look<br /><br />" COM_DEMO_DASHBOARD_LOOK_ADD="Add&nbsp;Look<br /><br />"
COM_DEMO_DATE="Date" COM_DEMO_DATE="Date"
@ -35,112 +52,6 @@ COM_DEMO_EDIT_VERSIONS_DESC=" Allows users in this group to edit versions."
COM_DEMO_EXPORT_DATA="Export Data" COM_DEMO_EXPORT_DATA="Export Data"
COM_DEMO_EXPORT_DATA_DESC=" Allows users in this group to export data." COM_DEMO_EXPORT_DATA_DESC=" Allows users in this group to export data."
COM_DEMO_EXPORT_FAILED="Export Failed" COM_DEMO_EXPORT_FAILED="Export Failed"
COM_DEMO_HELP_DOCUMENT="Help Document"
COM_DEMO_HELP_DOCUMENTS="Help Documents"
COM_DEMO_HELP_DOCUMENTS_ACCESS="Help Documents Access"
COM_DEMO_HELP_DOCUMENTS_ACCESS_DESC="Allows the users in this group to access access help documents"
COM_DEMO_HELP_DOCUMENTS_BATCH_OPTIONS="Batch process the selected Help Documents"
COM_DEMO_HELP_DOCUMENTS_BATCH_TIP="All changes will be applied to all selected Help Documents"
COM_DEMO_HELP_DOCUMENTS_BATCH_USE="Help Documents Batch Use"
COM_DEMO_HELP_DOCUMENTS_BATCH_USE_DESC="Allows users in this group to use batch copy/update method of batch help documents"
COM_DEMO_HELP_DOCUMENTS_CREATE="Help Documents Create"
COM_DEMO_HELP_DOCUMENTS_CREATE_DESC="Allows the users in this group to create create help documents"
COM_DEMO_HELP_DOCUMENTS_DASHBOARD_LIST="Help Documents Dashboard List"
COM_DEMO_HELP_DOCUMENTS_DASHBOARD_LIST_DESC="Allows the users in this group to update the dashboard list of the help document"
COM_DEMO_HELP_DOCUMENTS_DELETE="Help Documents Delete"
COM_DEMO_HELP_DOCUMENTS_DELETE_DESC="Allows the users in this group to delete delete help documents"
COM_DEMO_HELP_DOCUMENTS_EDIT="Help Documents Edit"
COM_DEMO_HELP_DOCUMENTS_EDIT_DESC="Allows the users in this group to edit the help document"
COM_DEMO_HELP_DOCUMENTS_EDIT_OWN="Help Documents Edit Own"
COM_DEMO_HELP_DOCUMENTS_EDIT_OWN_DESC="Allows the users in this group to edit edit own help documents created by them"
COM_DEMO_HELP_DOCUMENTS_EDIT_STATE="Help Documents Edit State"
COM_DEMO_HELP_DOCUMENTS_EDIT_STATE_DESC="Allows the users in this group to update the state of the help document"
COM_DEMO_HELP_DOCUMENTS_EDIT_VERSION="Help Documents Edit Version"
COM_DEMO_HELP_DOCUMENTS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version help documents"
COM_DEMO_HELP_DOCUMENTS_EXPORT="Help Documents Export"
COM_DEMO_HELP_DOCUMENTS_EXPORT_DESC="Allows the users in this group to export export help documents"
COM_DEMO_HELP_DOCUMENTS_IMPORT="Help Documents Import"
COM_DEMO_HELP_DOCUMENTS_IMPORT_DESC="Allows the users in this group to import import help documents"
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_ARCHIVED="%s Help Documents archived."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_ARCHIVED_1="%s Help Document archived."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_CHECKED_IN_0="No Help Document successfully checked in."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_CHECKED_IN_1="%d Help Document successfully checked in."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_CHECKED_IN_MORE="%d Help Documents successfully checked in."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_DELETED="%s Help Documents deleted."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_DELETED_1="%s Help Document deleted."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_FEATURED="%s Help Documents featured."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_FEATURED_1="%s Help Document featured."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_PUBLISHED="%s Help Documents published."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_PUBLISHED_1="%s Help Document published."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_TRASHED="%s Help Documents trashed."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_TRASHED_1="%s Help Document trashed."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_UNFEATURED="%s Help Documents unfeatured."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_UNFEATURED_1="%s Help Document unfeatured."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_UNPUBLISHED="%s Help Documents unpublished."
COM_DEMO_HELP_DOCUMENTS_N_ITEMS_UNPUBLISHED_1="%s Help Document unpublished."
COM_DEMO_HELP_DOCUMENTS_SUBMENU="Help Documents Submenu"
COM_DEMO_HELP_DOCUMENTS_SUBMENU_DESC="Allows the users in this group to update the submenu of the help document"
COM_DEMO_HELP_DOCUMENT_ADMIN="Admin"
COM_DEMO_HELP_DOCUMENT_ADMIN_VIEW="Admin View"
COM_DEMO_HELP_DOCUMENT_ADMIN_VIEW_DESCRIPTION="Select the view being targeted"
COM_DEMO_HELP_DOCUMENT_ADMIN_VIEW_LABEL="Admin Views"
COM_DEMO_HELP_DOCUMENT_ALIAS="Alias"
COM_DEMO_HELP_DOCUMENT_ALIAS_HINT="Auto-generated from name"
COM_DEMO_HELP_DOCUMENT_ALIAS_LABEL="Alias"
COM_DEMO_HELP_DOCUMENT_ALL="All"
COM_DEMO_HELP_DOCUMENT_ARTICLE="Article"
COM_DEMO_HELP_DOCUMENT_ARTICLE_LABEL="Article"
COM_DEMO_HELP_DOCUMENT_CONTENT="Content"
COM_DEMO_HELP_DOCUMENT_CONTENT_LABEL="Content"
COM_DEMO_HELP_DOCUMENT_CREATED_BY_DESC="The user that created this Help Document."
COM_DEMO_HELP_DOCUMENT_CREATED_BY_LABEL="Created By"
COM_DEMO_HELP_DOCUMENT_CREATED_DATE_DESC="The date this Help Document was created."
COM_DEMO_HELP_DOCUMENT_CREATED_DATE_LABEL="Created Date"
COM_DEMO_HELP_DOCUMENT_DETAILS="Details"
COM_DEMO_HELP_DOCUMENT_EDIT="Editing the Help Document"
COM_DEMO_HELP_DOCUMENT_ERROR_UNIQUE_ALIAS="Another Help Document has the same alias."
COM_DEMO_HELP_DOCUMENT_GROUPS="Groups"
COM_DEMO_HELP_DOCUMENT_GROUPS_DESCRIPTION="Select a group/s"
COM_DEMO_HELP_DOCUMENT_GROUPS_LABEL="Group/s"
COM_DEMO_HELP_DOCUMENT_ID="Id"
COM_DEMO_HELP_DOCUMENT_JOOMLA_ARTICLE="Joomla Article"
COM_DEMO_HELP_DOCUMENT_LOCATION="Location"
COM_DEMO_HELP_DOCUMENT_LOCATION_DESCRIPTION="Select the help target location."
COM_DEMO_HELP_DOCUMENT_LOCATION_LABEL="Location"
COM_DEMO_HELP_DOCUMENT_MODIFIED_BY_DESC="The last user that modified this Help Document."
COM_DEMO_HELP_DOCUMENT_MODIFIED_BY_LABEL="Modified By"
COM_DEMO_HELP_DOCUMENT_MODIFIED_DATE_DESC="The date this Help Document was modified."
COM_DEMO_HELP_DOCUMENT_MODIFIED_DATE_LABEL="Modified Date"
COM_DEMO_HELP_DOCUMENT_NEW="A New Help Document"
COM_DEMO_HELP_DOCUMENT_NOT_REQUIRED="Not Required"
COM_DEMO_HELP_DOCUMENT_ORDERING_LABEL="Ordering"
COM_DEMO_HELP_DOCUMENT_PERMISSION="Permissions"
COM_DEMO_HELP_DOCUMENT_PUBLISHING="Publishing"
COM_DEMO_HELP_DOCUMENT_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Help Document to customise the alias."
COM_DEMO_HELP_DOCUMENT_SELECT_AN_OPTION="Select an option"
COM_DEMO_HELP_DOCUMENT_SITE="Site"
COM_DEMO_HELP_DOCUMENT_SITE_VIEW="Site View"
COM_DEMO_HELP_DOCUMENT_SITE_VIEW_DESCRIPTION="Select the view being targeted"
COM_DEMO_HELP_DOCUMENT_SITE_VIEW_LABEL="Site Views"
COM_DEMO_HELP_DOCUMENT_SOME="Some"
COM_DEMO_HELP_DOCUMENT_STATUS="Status"
COM_DEMO_HELP_DOCUMENT_TARGET="Target"
COM_DEMO_HELP_DOCUMENT_TARGET_DESCRIPTION="Select the target option in relation to groups."
COM_DEMO_HELP_DOCUMENT_TARGET_LABEL="Target Groups"
COM_DEMO_HELP_DOCUMENT_TEXT="Text"
COM_DEMO_HELP_DOCUMENT_TITLE="Title"
COM_DEMO_HELP_DOCUMENT_TITLE_DESCRIPTION="Enter Title Here"
COM_DEMO_HELP_DOCUMENT_TITLE_HINT="Title Here"
COM_DEMO_HELP_DOCUMENT_TITLE_LABEL="Title"
COM_DEMO_HELP_DOCUMENT_TYPE="Type"
COM_DEMO_HELP_DOCUMENT_TYPE_DESCRIPTION="Select the help type."
COM_DEMO_HELP_DOCUMENT_TYPE_LABEL="Type"
COM_DEMO_HELP_DOCUMENT_URL="Url"
COM_DEMO_HELP_DOCUMENT_URL_DESCRIPTION="Enter url"
COM_DEMO_HELP_DOCUMENT_URL_HINT="http://www.example.com"
COM_DEMO_HELP_DOCUMENT_URL_LABEL="URL"
COM_DEMO_HELP_DOCUMENT_VERSION_DESC="A count of the number of times this Help Document has been revised."
COM_DEMO_HELP_DOCUMENT_VERSION_LABEL="Revision"
COM_DEMO_HELP_MANAGER="Help" COM_DEMO_HELP_MANAGER="Help"
COM_DEMO_IMPORT_CONTINUE="Continue" COM_DEMO_IMPORT_CONTINUE="Continue"
COM_DEMO_IMPORT_DATA="Import Data" COM_DEMO_IMPORT_DATA="Import Data"
@ -170,7 +81,6 @@ COM_DEMO_IMPORT_NO_IMPORT_TYPE_FOUND="Import type not found."
COM_DEMO_IMPORT_PLEASE_SELECT_COLUMN="-- Please Select Column --" COM_DEMO_IMPORT_PLEASE_SELECT_COLUMN="-- Please Select Column --"
COM_DEMO_IMPORT_SELECT_FILE="Select File" COM_DEMO_IMPORT_SELECT_FILE="Select File"
COM_DEMO_IMPORT_SELECT_FILE_DIRECTORY="Set the path to file" COM_DEMO_IMPORT_SELECT_FILE_DIRECTORY="Set the path to file"
COM_DEMO_IMPORT_SELECT_FILE_FOR_HELP_DOCUMENTS="Select the file to import data to help_documents."
COM_DEMO_IMPORT_SELECT_FILE_FOR_LOOKS="Select the file to import data to looks." COM_DEMO_IMPORT_SELECT_FILE_FOR_LOOKS="Select the file to import data to looks."
COM_DEMO_IMPORT_SELECT_FILE_URL="Enter file URL" COM_DEMO_IMPORT_SELECT_FILE_URL="Enter file URL"
COM_DEMO_IMPORT_SUCCESS="Great! Import successful." COM_DEMO_IMPORT_SUCCESS="Great! Import successful."
@ -184,9 +94,13 @@ COM_DEMO_KEEP_ORIGINAL_CATEGORY="- Keep Original Category -"
COM_DEMO_KEEP_ORIGINAL_STATE="- Keep Original State -" COM_DEMO_KEEP_ORIGINAL_STATE="- Keep Original State -"
COM_DEMO_LICENSE="License" COM_DEMO_LICENSE="License"
COM_DEMO_LOOK="Look" COM_DEMO_LOOK="Look"
COM_DEMO_LOOKING_ACCESS_SITE="Looking (Site) Access"
COM_DEMO_LOOKING_ACCESS_SITE_DESC=" Allows the users in this group to access site looking."
COM_DEMO_LOOKS="Looks" COM_DEMO_LOOKS="Looks"
COM_DEMO_LOOKS_ACCESS="Looks Access" COM_DEMO_LOOKS_ACCESS="Looks Access"
COM_DEMO_LOOKS_ACCESS_DESC="Allows the users in this group to access access looks" COM_DEMO_LOOKS_ACCESS_DESC="Allows the users in this group to access access looks"
COM_DEMO_LOOKS_ACCESS_SITE="Looks (Site) Access"
COM_DEMO_LOOKS_ACCESS_SITE_DESC=" Allows the users in this group to access site looks."
COM_DEMO_LOOKS_BATCH_OPTIONS="Batch process the selected Looks" COM_DEMO_LOOKS_BATCH_OPTIONS="Batch process the selected Looks"
COM_DEMO_LOOKS_BATCH_TIP="All changes will be applied to all selected Looks" COM_DEMO_LOOKS_BATCH_TIP="All changes will be applied to all selected Looks"
COM_DEMO_LOOKS_BATCH_USE="Looks Batch Use" COM_DEMO_LOOKS_BATCH_USE="Looks Batch Use"
@ -200,23 +114,35 @@ COM_DEMO_LOOKS_DASHBOARD_LIST_DESC="Allows the users in this group to update the
COM_DEMO_LOOKS_DELETE="Looks Delete" COM_DEMO_LOOKS_DELETE="Looks Delete"
COM_DEMO_LOOKS_DELETE_DESC="Allows the users in this group to delete delete looks" COM_DEMO_LOOKS_DELETE_DESC="Allows the users in this group to delete delete looks"
COM_DEMO_LOOKS_EDIT="Looks Edit" COM_DEMO_LOOKS_EDIT="Looks Edit"
COM_DEMO_LOOKS_EDIT_ACRONYM="Looks Edit Acronym" COM_DEMO_LOOKS_EDIT_ADD="Looks Edit Add"
COM_DEMO_LOOKS_EDIT_ACRONYM_DESC="Allows the users in this group to update the edit acronym of the look" COM_DEMO_LOOKS_EDIT_ADD_DESC="Allows the users in this group to update the edit add of the look"
COM_DEMO_LOOKS_EDIT_ALIAS="Looks Edit Alias"
COM_DEMO_LOOKS_EDIT_ALIAS_DESC="Allows the users in this group to update the edit alias of the look"
COM_DEMO_LOOKS_EDIT_CREATED_BY="Looks Edit Created By" COM_DEMO_LOOKS_EDIT_CREATED_BY="Looks Edit Created By"
COM_DEMO_LOOKS_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by looks" COM_DEMO_LOOKS_EDIT_CREATED_BY_DESC="Allows the users in this group to update the created by of the edit created by looks"
COM_DEMO_LOOKS_EDIT_CREATED_DATE="Looks Edit Created Date" COM_DEMO_LOOKS_EDIT_CREATED_DATE="Looks Edit Created Date"
COM_DEMO_LOOKS_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created looks" COM_DEMO_LOOKS_EDIT_CREATED_DATE_DESC="Allows the users in this group to update the created date of the edit created looks"
COM_DEMO_LOOKS_EDIT_DATEOFBIRTH="Looks Edit Dateofbirth"
COM_DEMO_LOOKS_EDIT_DATEOFBIRTH_DESC="Allows the users in this group to update the edit dateofbirth of the look"
COM_DEMO_LOOKS_EDIT_DESC="Allows the users in this group to edit the look" COM_DEMO_LOOKS_EDIT_DESC="Allows the users in this group to edit the look"
COM_DEMO_LOOKS_EDIT_DESCRIPTION="Looks Edit Description" COM_DEMO_LOOKS_EDIT_DESCRIPTION="Looks Edit Description"
COM_DEMO_LOOKS_EDIT_DESCRIPTION_DESC="Allows the users in this group to update the edit description of the look" COM_DEMO_LOOKS_EDIT_DESCRIPTION_DESC="Allows the users in this group to update the edit description of the look"
COM_DEMO_LOOKS_EDIT_MALE="Looks Edit Male" COM_DEMO_LOOKS_EDIT_EMAIL="Looks Edit Email"
COM_DEMO_LOOKS_EDIT_MALE_DESC="Allows the users in this group to update the edit male of the look" COM_DEMO_LOOKS_EDIT_EMAIL_DESC="Allows the users in this group to update the edit email of the look"
COM_DEMO_LOOKS_EDIT_IMAGE="Looks Edit Image"
COM_DEMO_LOOKS_EDIT_IMAGE_DESC="Allows the users in this group to update the edit image of the look"
COM_DEMO_LOOKS_EDIT_MOBILE_PHONE="Looks Edit Mobile Phone"
COM_DEMO_LOOKS_EDIT_MOBILE_PHONE_DESC="Allows the users in this group to update the edit mobile phone of the look"
COM_DEMO_LOOKS_EDIT_NAME="Looks Edit Name"
COM_DEMO_LOOKS_EDIT_NAME_DESC="Allows the users in this group to update the edit name of the look"
COM_DEMO_LOOKS_EDIT_OWN="Looks Edit Own" COM_DEMO_LOOKS_EDIT_OWN="Looks Edit Own"
COM_DEMO_LOOKS_EDIT_OWN_DESC="Allows the users in this group to edit edit own looks created by them" COM_DEMO_LOOKS_EDIT_OWN_DESC="Allows the users in this group to edit edit own looks created by them"
COM_DEMO_LOOKS_EDIT_STATE="Looks Edit State" COM_DEMO_LOOKS_EDIT_STATE="Looks Edit State"
COM_DEMO_LOOKS_EDIT_STATE_DESC="Allows the users in this group to update the state of the look" COM_DEMO_LOOKS_EDIT_STATE_DESC="Allows the users in this group to update the state of the look"
COM_DEMO_LOOKS_EDIT_VERSION="Looks Edit Version" COM_DEMO_LOOKS_EDIT_VERSION="Looks Edit Version"
COM_DEMO_LOOKS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version looks" COM_DEMO_LOOKS_EDIT_VERSION_DESC="Allows users in this group to edit versions of version looks"
COM_DEMO_LOOKS_EDIT_WEBSITE="Looks Edit Website"
COM_DEMO_LOOKS_EDIT_WEBSITE_DESC="Allows the users in this group to update the edit website of the look"
COM_DEMO_LOOKS_EXPORT="Looks Export" COM_DEMO_LOOKS_EXPORT="Looks Export"
COM_DEMO_LOOKS_EXPORT_DESC="Allows the users in this group to export export looks" COM_DEMO_LOOKS_EXPORT_DESC="Allows the users in this group to export export looks"
COM_DEMO_LOOKS_IMPORT="Looks Import" COM_DEMO_LOOKS_IMPORT="Looks Import"
@ -240,13 +166,8 @@ COM_DEMO_LOOKS_N_ITEMS_UNPUBLISHED="%s Looks unpublished."
COM_DEMO_LOOKS_N_ITEMS_UNPUBLISHED_1="%s Look unpublished." COM_DEMO_LOOKS_N_ITEMS_UNPUBLISHED_1="%s Look unpublished."
COM_DEMO_LOOKS_SUBMENU="Looks Submenu" COM_DEMO_LOOKS_SUBMENU="Looks Submenu"
COM_DEMO_LOOKS_SUBMENU_DESC="Allows the users in this group to update the submenu of the look" COM_DEMO_LOOKS_SUBMENU_DESC="Allows the users in this group to update the submenu of the look"
COM_DEMO_LOOK_ACRONYM="Acronym"
COM_DEMO_LOOK_ACRONYM_DESCRIPTION="Enter an acronym"
COM_DEMO_LOOK_ACRONYM_HINT="Acronym Here"
COM_DEMO_LOOK_ACRONYM_LABEL="Acronym"
COM_DEMO_LOOK_ADD="Add" COM_DEMO_LOOK_ADD="Add"
COM_DEMO_LOOK_ADD_LABEL="Add Custom Stuff" COM_DEMO_LOOK_ADD_LABEL="Add More"
COM_DEMO_LOOK_AGE_LABEL="Age Group"
COM_DEMO_LOOK_ALIAS="Alias" COM_DEMO_LOOK_ALIAS="Alias"
COM_DEMO_LOOK_ALIAS_HINT="Auto-generated from name" COM_DEMO_LOOK_ALIAS_HINT="Auto-generated from name"
COM_DEMO_LOOK_ALIAS_LABEL="Alias" COM_DEMO_LOOK_ALIAS_LABEL="Alias"
@ -254,29 +175,32 @@ COM_DEMO_LOOK_CREATED_BY_DESC="The user that created this Look."
COM_DEMO_LOOK_CREATED_BY_LABEL="Created By" COM_DEMO_LOOK_CREATED_BY_LABEL="Created By"
COM_DEMO_LOOK_CREATED_DATE_DESC="The date this Look was created." COM_DEMO_LOOK_CREATED_DATE_DESC="The date this Look was created."
COM_DEMO_LOOK_CREATED_DATE_LABEL="Created Date" COM_DEMO_LOOK_CREATED_DATE_LABEL="Created Date"
COM_DEMO_LOOK_DATEOFBIRTH="Dateofbirth"
COM_DEMO_LOOK_DATEOFBIRTH_DESCRIPTION="Your date of birth"
COM_DEMO_LOOK_DATEOFBIRTH_LABEL="Date of Birth"
COM_DEMO_LOOK_DESCRIPTION="Description" COM_DEMO_LOOK_DESCRIPTION="Description"
COM_DEMO_LOOK_DESCRIPTION_DESCRIPTION="Add Description Here" COM_DEMO_LOOK_DESCRIPTION_DESCRIPTION="Add Description Here"
COM_DEMO_LOOK_DESCRIPTION_HINT="Add Description Here" COM_DEMO_LOOK_DESCRIPTION_HINT="Add Description Here"
COM_DEMO_LOOK_DESCRIPTION_LABEL="Description" COM_DEMO_LOOK_DESCRIPTION_LABEL="Description"
COM_DEMO_LOOK_DETAILS="Details" COM_DEMO_LOOK_DETAILS="Details"
COM_DEMO_LOOK_EDIT="Editing the Look" COM_DEMO_LOOK_EDIT="Editing the Look"
COM_DEMO_LOOK_EMAIL="Email"
COM_DEMO_LOOK_EMAIL_DESCRIPTION="Enter Email"
COM_DEMO_LOOK_EMAIL_HINT="demo@example.com"
COM_DEMO_LOOK_EMAIL_LABEL="Email"
COM_DEMO_LOOK_ERROR_UNIQUE_ALIAS="Another Look has the same alias." COM_DEMO_LOOK_ERROR_UNIQUE_ALIAS="Another Look has the same alias."
COM_DEMO_LOOK_FEMALE="Female"
COM_DEMO_LOOK_FEMALE_DESCRIPTION="Here you can add females data."
COM_DEMO_LOOK_FEMALE_SELECT="Edit/Add"
COM_DEMO_LOOK_FIFTEENNINETEEN="15-19"
COM_DEMO_LOOK_FIFTYFIFTY_FOUR="50-54"
COM_DEMO_LOOK_FIFTY_FIVEFIFTY_NINE="55-59"
COM_DEMO_LOOK_FORTYFORTY_FOUR="40-44"
COM_DEMO_LOOK_FORTY_FIVEFORTY_NINE="45-49"
COM_DEMO_LOOK_ID="Id" COM_DEMO_LOOK_ID="Id"
COM_DEMO_LOOK_MALE="Male" COM_DEMO_LOOK_IMAGE="Image"
COM_DEMO_LOOK_MALE_DESCRIPTION="Here you can add males data." COM_DEMO_LOOK_IMAGE_LABEL="Image"
COM_DEMO_LOOK_MALE_SELECT="Edit/Add" COM_DEMO_LOOK_MOBILE_PHONE="Mobile Phone"
COM_DEMO_LOOK_MOBILE_PHONE_DESCRIPTION="Enter Mobile Phone Number"
COM_DEMO_LOOK_MOBILE_PHONE_HINT="Mobile Phone Here"
COM_DEMO_LOOK_MOBILE_PHONE_LABEL="Mobile Phone"
COM_DEMO_LOOK_MODIFIED_BY_DESC="The last user that modified this Look." COM_DEMO_LOOK_MODIFIED_BY_DESC="The last user that modified this Look."
COM_DEMO_LOOK_MODIFIED_BY_LABEL="Modified By" COM_DEMO_LOOK_MODIFIED_BY_LABEL="Modified By"
COM_DEMO_LOOK_MODIFIED_DATE_DESC="The date this Look was modified." COM_DEMO_LOOK_MODIFIED_DATE_DESC="The date this Look was modified."
COM_DEMO_LOOK_MODIFIED_DATE_LABEL="Modified Date" COM_DEMO_LOOK_MODIFIED_DATE_LABEL="Modified Date"
COM_DEMO_LOOK_MORE="More"
COM_DEMO_LOOK_NAME="Name" COM_DEMO_LOOK_NAME="Name"
COM_DEMO_LOOK_NAME_DESCRIPTION="Enter Name Here" COM_DEMO_LOOK_NAME_DESCRIPTION="Enter Name Here"
COM_DEMO_LOOK_NAME_HINT="Name Here" COM_DEMO_LOOK_NAME_HINT="Name Here"
@ -284,49 +208,24 @@ COM_DEMO_LOOK_NAME_LABEL="Name"
COM_DEMO_LOOK_NEW="A New Look" COM_DEMO_LOOK_NEW="A New Look"
COM_DEMO_LOOK_NO="No" COM_DEMO_LOOK_NO="No"
COM_DEMO_LOOK_NOT_REQUIRED="Not Required" COM_DEMO_LOOK_NOT_REQUIRED="Not Required"
COM_DEMO_LOOK_NUMBER_HINT="Number Here"
COM_DEMO_LOOK_NUMBER_LABEL="Number"
COM_DEMO_LOOK_ORDERING_LABEL="Ordering" COM_DEMO_LOOK_ORDERING_LABEL="Ordering"
COM_DEMO_LOOK_PERMISSION="Permissions" COM_DEMO_LOOK_PERMISSION="Permissions"
COM_DEMO_LOOK_PUBLISHING="Publishing" COM_DEMO_LOOK_PUBLISHING="Publishing"
COM_DEMO_LOOK_REPETABLE_NUMBERS="Repetable Numbers"
COM_DEMO_LOOK_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Look to customise the alias." COM_DEMO_LOOK_SAVE_WARNING="Alias already existed so a number was added at the end. You can re-edit the Look to customise the alias."
COM_DEMO_LOOK_SELECT_A_YEAR="Select a year"
COM_DEMO_LOOK_SIXTYSIXTY_FOUR="60-64"
COM_DEMO_LOOK_STATUS="Status" COM_DEMO_LOOK_STATUS="Status"
COM_DEMO_LOOK_THIRTYTHIRTY_FOUR="30-34"
COM_DEMO_LOOK_THIRTY_FIVETHIRTY_NINE="35-39"
COM_DEMO_LOOK_TWENTYTWENTY_FOUR="20-24"
COM_DEMO_LOOK_TWENTY_FIVETWENTY_NINE="25-29"
COM_DEMO_LOOK_TWO_THOUSAND_AND_EIGHTEEN="2018"
COM_DEMO_LOOK_TWO_THOUSAND_AND_ELEVEN="2011"
COM_DEMO_LOOK_TWO_THOUSAND_AND_FIFTEEN="2015"
COM_DEMO_LOOK_TWO_THOUSAND_AND_FOURTEEN="2014"
COM_DEMO_LOOK_TWO_THOUSAND_AND_NINETEEN="2019"
COM_DEMO_LOOK_TWO_THOUSAND_AND_SEVENTEEN="2017"
COM_DEMO_LOOK_TWO_THOUSAND_AND_SIXTEEN="2016"
COM_DEMO_LOOK_TWO_THOUSAND_AND_TEN="2010"
COM_DEMO_LOOK_TWO_THOUSAND_AND_THIRTEEN="2013"
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWELVE="2012"
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY="2020"
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_FOUR="2024"
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_ONE="2021"
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_THREE="2023"
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_TWO="2022"
COM_DEMO_LOOK_VERSION_DESC="A count of the number of times this Look has been revised." COM_DEMO_LOOK_VERSION_DESC="A count of the number of times this Look has been revised."
COM_DEMO_LOOK_VERSION_LABEL="Revision" COM_DEMO_LOOK_VERSION_LABEL="Revision"
COM_DEMO_LOOK_WEBSITE="Website" COM_DEMO_LOOK_WEBSITE="Website"
COM_DEMO_LOOK_WEBSITE_DESCRIPTION="Enter website address" COM_DEMO_LOOK_WEBSITE_DESCRIPTION="Enter website address"
COM_DEMO_LOOK_WEBSITE_HINT="http://www.example.com" COM_DEMO_LOOK_WEBSITE_HINT="http://www.example.com"
COM_DEMO_LOOK_WEBSITE_LABEL="Website" COM_DEMO_LOOK_WEBSITE_LABEL="Website"
COM_DEMO_LOOK_YEAR_LABEL="Data Year"
COM_DEMO_LOOK_YES="Yes" COM_DEMO_LOOK_YES="Yes"
COM_DEMO_NEW="New" COM_DEMO_NEW="New"
COM_DEMO_NOT_FOUND_OR_ACCESS_DENIED="Not found, or access denied."
COM_DEMO_NO_ACCESS_GRANTED="No Access Granted!" COM_DEMO_NO_ACCESS_GRANTED="No Access Granted!"
COM_DEMO_SAVE_SUCCESS="Great! Item successfully saved." COM_DEMO_SAVE_SUCCESS="Great! Item successfully saved."
COM_DEMO_SAVE_WARNING="The value already existed so please select another." COM_DEMO_SAVE_WARNING="The value already existed so please select another."
COM_DEMO_SUBMENU_DASHBOARD="Dashboard" COM_DEMO_SUBMENU_DASHBOARD="Dashboard"
COM_DEMO_SUBMENU_HELP_DOCUMENTS="Help Documents"
COM_DEMO_SUBMENU_LOOKS="Looks" COM_DEMO_SUBMENU_LOOKS="Looks"
COM_DEMO_USE_BATCH="Use Batch" COM_DEMO_USE_BATCH="Use Batch"
COM_DEMO_USE_BATCH_DESC=" Allows users in this group to use batch copy/update method." COM_DEMO_USE_BATCH_DESC=" Allows users in this group to use batch copy/update method."

View File

@ -1,5 +1,7 @@
COM_DEMO="Demo" COM_DEMO="Demo"
COM_DEMO_CONFIGURATION="Demo Configuration" COM_DEMO_CONFIGURATION="Demo Configuration"
COM_DEMO_MENU="&#187; Demo" COM_DEMO_MENU="&#187; Demo"
COM_DEMO_MENU_HELP_DOCUMENTS="Help Documents"
COM_DEMO_MENU_LOOKS="Looks" COM_DEMO_MENU_LOOKS="Looks"
COM_DEMO_MENU_LOOKS_DESC="The List of all published looks"
COM_DEMO_MENU_LOOKS_OPTION="Looks"
COM_DEMO_MENU_LOOKS_TITLE="Looks"

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage batchselection.php @subpackage batchselection.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -1,53 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage details_left.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array(
'target',
'groups',
'location',
'admin_view',
'site_view'
);
$hiddenFields = $displayData->get('hidden_fields') ?: array();
foreach ($fields as $field)
{
$field = is_array($field) ? $field : array($field);
foreach ($field as $f)
{
if ($form->getField($f))
{
if (in_array($f, $hiddenFields))
{
$form->setFieldAttribute($f, 'type', 'hidden');
}
echo $form->renderField($f);
break;
}
}
}

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage details_above.php @subpackage details_above.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage details_fullwidth.php @subpackage details_fullwidth.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -25,7 +25,7 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm(); $form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array( $fields = $displayData->get('fields') ?: array(
'content' 'description'
); );
?> ?>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage details_under.php @subpackage details_under.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage metadata.php @subpackage metadata.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,11 +3,11 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage details_left.php @subpackage more_left.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved @copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
@ -25,7 +25,7 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm(); $form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array( $fields = $displayData->get('fields') ?: array(
'description' 'add'
); );
$hiddenFields = $displayData->get('hidden_fields') ?: array(); $hiddenFields = $displayData->get('hidden_fields') ?: array();

View File

@ -3,11 +3,11 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage details_right.php @subpackage more_right.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved @copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
@ -25,8 +25,10 @@ defined('_JEXEC') or die('Restricted access');
$form = $displayData->getForm(); $form = $displayData->getForm();
$fields = $displayData->get('fields') ?: array( $fields = $displayData->get('fields') ?: array(
'add', 'email',
'acronym', 'mobile_phone',
'dateofbirth',
'image',
'website' 'website'
); );

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage publishing.php @subpackage publishing.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage demo.php @subpackage demo.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -38,7 +38,7 @@ class DemoModelDemo extends JModelList
$icons = array(); $icons = array();
// view groups array // view groups array
$viewGroups = array( $viewGroups = array(
'main' => array('png.look.add', 'png.looks', 'png.help_documents') 'main' => array('png.look.add', 'png.looks')
); );
// view access array // view access array
$viewAccess = array( $viewAccess = array(
@ -47,12 +47,7 @@ class DemoModelDemo extends JModelList
'look.access' => 'look.access', 'look.access' => 'look.access',
'looks.submenu' => 'look.submenu', 'looks.submenu' => 'look.submenu',
'looks.dashboard_list' => 'look.dashboard_list', 'looks.dashboard_list' => 'look.dashboard_list',
'look.dashboard_add' => 'look.dashboard_add', 'look.dashboard_add' => 'look.dashboard_add');
'help_document.create' => 'help_document.create',
'help_documents.access' => 'help_document.access',
'help_document.access' => 'help_document.access',
'help_documents.submenu' => 'help_document.submenu',
'help_documents.dashboard_list' => 'help_document.dashboard_list');
foreach($viewGroups as $group => $views) foreach($viewGroups as $group => $views)
{ {
$i = 0; $i = 0;

View File

@ -1,165 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage articles.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import the list field type
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
/**
* Articles Form Field class for the Demo component
*/
class JFormFieldArticles extends JFormFieldList
{
/**
* The articles field type.
*
* @var string
*/
public $type = 'articles';
/**
* Override to add new button
*
* @return string The field input markup.
*
* @since 3.2
*/
protected function getInput()
{
// see if we should add buttons
$setButton = $this->getAttribute('button');
// get html
$html = parent::getInput();
// if true set button
if ($setButton === 'true')
{
$button = array();
$script = array();
$buttonName = $this->getAttribute('name');
// get the input from url
$jinput = JFactory::getApplication()->input;
// get the view name & id
$values = $jinput->getArray(array(
'id' => 'int',
'view' => 'word'
));
// check if new item
$ref = '';
$refJ = '';
if (!is_null($values['id']) && strlen($values['view']))
{
// only load referal if not new item.
$ref = '&amp;ref=' . $values['view'] . '&amp;refid=' . $values['id'];
$refJ = '&ref=' . $values['view'] . '&refid=' . $values['id'];
}
$user = JFactory::getUser();
// only add if user allowed to create article
if ($user->authorise('core.create', 'com_demo'))
{
// build Create button
$buttonNamee = trim($buttonName);
$buttonNamee = preg_replace('/_+/', ' ', $buttonNamee);
$buttonNamee = preg_replace('/\s+/', ' ', $buttonNamee);
$buttonNamee = preg_replace("/[^A-Za-z ]/", '', $buttonNamee);
$buttonNamee = ucfirst(strtolower($buttonNamee));
$button[] = '<a id="'.$buttonName.'Create" class="btn btn-small btn-success hasTooltip" title="'.JText::sprintf('COM_DEMO_CREATE_NEW_S', $buttonNamee).'" style="border-radius: 0px 4px 4px 0px; padding: 4px 4px 4px 7px;"
href="index.php?option=com_demo&amp;view=article&amp;layout=edit'.$ref.'" >
<span class="icon-new icon-white"></span></a>';
}
// only add if user allowed to edit article
if (($buttonName == 'article' || $buttonName == 'articles') && $user->authorise('core.edit', 'com_demo'))
{
// build edit button
$buttonNamee = trim($buttonName);
$buttonNamee = preg_replace('/_+/', ' ', $buttonNamee);
$buttonNamee = preg_replace('/\s+/', ' ', $buttonNamee);
$buttonNamee = preg_replace("/[^A-Za-z ]/", '', $buttonNamee);
$buttonNamee = ucfirst(strtolower($buttonNamee));
$button[] = '<a id="'.$buttonName.'Edit" class="btn btn-small hasTooltip" title="'.JText::sprintf('COM_DEMO_EDIT_S', $buttonNamee).'" style="display: none; padding: 4px 4px 4px 7px;" href="#" >
<span class="icon-edit"></span></a>';
// build script
$script[] = "
jQuery(document).ready(function() {
jQuery('#adminForm').on('change', '#jform_".$buttonName."',function (e) {
e.preventDefault();
var ".$buttonName."Value = jQuery('#jform_".$buttonName."').val();
".$buttonName."Button(".$buttonName."Value);
});
var ".$buttonName."Value = jQuery('#jform_".$buttonName."').val();
".$buttonName."Button(".$buttonName."Value);
});
function ".$buttonName."Button(value) {
if (value > 0) {
// hide the create button
jQuery('#".$buttonName."Create').hide();
// show edit button
jQuery('#".$buttonName."Edit').show();
var url = 'index.php?option=com_demo&view=articles&task=article.edit&id='+value+'".$refJ."';
jQuery('#".$buttonName."Edit').attr('href', url);
} else {
// show the create button
jQuery('#".$buttonName."Create').show();
// hide edit button
jQuery('#".$buttonName."Edit').hide();
}
}";
}
// check if button was created for article field.
if (is_array($button) && count($button) > 0)
{
// Load the needed script.
$document = JFactory::getDocument();
$document->addScriptDeclaration(implode(' ',$script));
// return the button attached to input field.
return '<div class="input-append">' .$html . implode('',$button).'</div>';
}
}
return $html;
}
/**
* Method to get a list of options for a list input.
*
* @return array An array of JHtml options.
*/
public function getOptions()
{
$db = JFactory::getDBO();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('a.id','a.title','a.alias'),array('id','article_title','alias')));
$query->from($db->quoteName('#__content', 'a'));
$query->where($db->quoteName('a.state') . ' = 1');
$query->order('a.title ASC');
$db->setQuery((string)$query);
$items = $db->loadObjectList();
$options = array();
if ($items)
{
$options[] = JHtml::_('select.option', '', 'Select an Article');
foreach($items as $item)
{
$options[] = JHtml::_('select.option', $item->id, $item->article_title . ' (' . $item->alias . ')');
}
}
return $options;
}
}

View File

@ -1,306 +0,0 @@
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage help_document.js
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// Some Global Values
jform_vvvvvvzvvw_required = false;
jform_vvvvvwavvx_required = false;
jform_vvvvvwbvvy_required = false;
jform_vvvvvwcvvz_required = false;
// Initial Script
jQuery(document).ready(function()
{
var location_vvvvvvx = jQuery("#jform_location input[type='radio']:checked").val();
vvvvvvx(location_vvvvvvx);
var location_vvvvvvy = jQuery("#jform_location input[type='radio']:checked").val();
vvvvvvy(location_vvvvvvy);
var type_vvvvvvz = jQuery("#jform_type").val();
vvvvvvz(type_vvvvvvz);
var type_vvvvvwa = jQuery("#jform_type").val();
vvvvvwa(type_vvvvvwa);
var type_vvvvvwb = jQuery("#jform_type").val();
vvvvvwb(type_vvvvvwb);
var target_vvvvvwc = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvwc(target_vvvvvwc);
});
// the vvvvvvx function
function vvvvvvx(location_vvvvvvx)
{
// set the function logic
if (location_vvvvvvx == 1)
{
jQuery('#jform_admin_view').closest('.control-group').show();
}
else
{
jQuery('#jform_admin_view').closest('.control-group').hide();
}
}
// the vvvvvvy function
function vvvvvvy(location_vvvvvvy)
{
// set the function logic
if (location_vvvvvvy == 2)
{
jQuery('#jform_site_view').closest('.control-group').show();
}
else
{
jQuery('#jform_site_view').closest('.control-group').hide();
}
}
// the vvvvvvz function
function vvvvvvz(type_vvvvvvz)
{
if (isSet(type_vvvvvvz) && type_vvvvvvz.constructor !== Array)
{
var temp_vvvvvvz = type_vvvvvvz;
var type_vvvvvvz = [];
type_vvvvvvz.push(temp_vvvvvvz);
}
else if (!isSet(type_vvvvvvz))
{
var type_vvvvvvz = [];
}
var type = type_vvvvvvz.some(type_vvvvvvz_SomeFunc);
// set this function logic
if (type)
{
jQuery('#jform_url').closest('.control-group').show();
if (jform_vvvvvvzvvw_required)
{
updateFieldRequired('url',0);
jQuery('#jform_url').prop('required','required');
jQuery('#jform_url').attr('aria-required',true);
jQuery('#jform_url').addClass('required');
jform_vvvvvvzvvw_required = false;
}
}
else
{
jQuery('#jform_url').closest('.control-group').hide();
if (!jform_vvvvvvzvvw_required)
{
updateFieldRequired('url',1);
jQuery('#jform_url').removeAttr('required');
jQuery('#jform_url').removeAttr('aria-required');
jQuery('#jform_url').removeClass('required');
jform_vvvvvvzvvw_required = true;
}
}
}
// the vvvvvvz Some function
function type_vvvvvvz_SomeFunc(type_vvvvvvz)
{
// set the function logic
if (type_vvvvvvz == 3)
{
return true;
}
return false;
}
// the vvvvvwa function
function vvvvvwa(type_vvvvvwa)
{
if (isSet(type_vvvvvwa) && type_vvvvvwa.constructor !== Array)
{
var temp_vvvvvwa = type_vvvvvwa;
var type_vvvvvwa = [];
type_vvvvvwa.push(temp_vvvvvwa);
}
else if (!isSet(type_vvvvvwa))
{
var type_vvvvvwa = [];
}
var type = type_vvvvvwa.some(type_vvvvvwa_SomeFunc);
// set this function logic
if (type)
{
jQuery('#jform_article').closest('.control-group').show();
if (jform_vvvvvwavvx_required)
{
updateFieldRequired('article',0);
jQuery('#jform_article').prop('required','required');
jQuery('#jform_article').attr('aria-required',true);
jQuery('#jform_article').addClass('required');
jform_vvvvvwavvx_required = false;
}
}
else
{
jQuery('#jform_article').closest('.control-group').hide();
if (!jform_vvvvvwavvx_required)
{
updateFieldRequired('article',1);
jQuery('#jform_article').removeAttr('required');
jQuery('#jform_article').removeAttr('aria-required');
jQuery('#jform_article').removeClass('required');
jform_vvvvvwavvx_required = true;
}
}
}
// the vvvvvwa Some function
function type_vvvvvwa_SomeFunc(type_vvvvvwa)
{
// set the function logic
if (type_vvvvvwa == 1)
{
return true;
}
return false;
}
// the vvvvvwb function
function vvvvvwb(type_vvvvvwb)
{
if (isSet(type_vvvvvwb) && type_vvvvvwb.constructor !== Array)
{
var temp_vvvvvwb = type_vvvvvwb;
var type_vvvvvwb = [];
type_vvvvvwb.push(temp_vvvvvwb);
}
else if (!isSet(type_vvvvvwb))
{
var type_vvvvvwb = [];
}
var type = type_vvvvvwb.some(type_vvvvvwb_SomeFunc);
// set this function logic
if (type)
{
jQuery('#jform_content-lbl').closest('.control-group').show();
if (jform_vvvvvwbvvy_required)
{
updateFieldRequired('content',0);
jQuery('#jform_content').prop('required','required');
jQuery('#jform_content').attr('aria-required',true);
jQuery('#jform_content').addClass('required');
jform_vvvvvwbvvy_required = false;
}
}
else
{
jQuery('#jform_content-lbl').closest('.control-group').hide();
if (!jform_vvvvvwbvvy_required)
{
updateFieldRequired('content',1);
jQuery('#jform_content').removeAttr('required');
jQuery('#jform_content').removeAttr('aria-required');
jQuery('#jform_content').removeClass('required');
jform_vvvvvwbvvy_required = true;
}
}
}
// the vvvvvwb Some function
function type_vvvvvwb_SomeFunc(type_vvvvvwb)
{
// set the function logic
if (type_vvvvvwb == 2)
{
return true;
}
return false;
}
// the vvvvvwc function
function vvvvvwc(target_vvvvvwc)
{
// set the function logic
if (target_vvvvvwc == 1)
{
jQuery('#jform_groups').closest('.control-group').show();
if (jform_vvvvvwcvvz_required)
{
updateFieldRequired('groups',0);
jQuery('#jform_groups').prop('required','required');
jQuery('#jform_groups').attr('aria-required',true);
jQuery('#jform_groups').addClass('required');
jform_vvvvvwcvvz_required = false;
}
}
else
{
jQuery('#jform_groups').closest('.control-group').hide();
if (!jform_vvvvvwcvvz_required)
{
updateFieldRequired('groups',1);
jQuery('#jform_groups').removeAttr('required');
jQuery('#jform_groups').removeAttr('aria-required');
jQuery('#jform_groups').removeClass('required');
jform_vvvvvwcvvz_required = true;
}
}
}
// update required fields
function updateFieldRequired(name,status)
{
var not_required = jQuery('#jform_not_required').val();
if(status == 1)
{
if (isSet(not_required) && not_required != 0)
{
not_required = not_required+','+name;
}
else
{
not_required = ','+name;
}
}
else
{
if (isSet(not_required) && not_required != 0)
{
not_required = not_required.replace(','+name,'');
}
}
jQuery('#jform_not_required').val(not_required);
}
// the isSet function
function isSet(val)
{
if ((val != undefined) && (val != null) && 0 !== val.length){
return true;
}
return false;
}

View File

@ -2,9 +2,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage look.js @subpackage look.js
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -18,62 +18,67 @@
/------------------------------------------------------------------------------------------------------*/ /------------------------------------------------------------------------------------------------------*/
// Some Global Values // Some Global Values
jform_vvvvvvwvvv_required = false; jform_vvvvvvvvvv_required = false;
jform_vvvvvvvvvw_required = false;
// Initial Script // Initial Script
jQuery(document).ready(function() jQuery(document).ready(function()
{ {
var name_vvvvvvv = jQuery("#jform_name").val(); var add_vvvvvvv = jQuery("#jform_add input[type='radio']:checked").val();
vvvvvvv(name_vvvvvvv); vvvvvvv(add_vvvvvvv);
var add_vvvvvvw = jQuery("#jform_add input[type='radio']:checked").val();
vvvvvvw(add_vvvvvvw);
}); });
// the vvvvvvv function // the vvvvvvv function
function vvvvvvv(name_vvvvvvv) function vvvvvvv(add_vvvvvvv)
{ {
// set the function logic // set the function logic
if (isSet(name_vvvvvvv)) if (add_vvvvvvv == 1)
{ {
jQuery('#jform_alias').closest('.control-group').show(); jQuery('#jform_dateofbirth').closest('.control-group').show();
jQuery('#jform_description').closest('.control-group').show(); jQuery('#jform_email').closest('.control-group').show();
} if (jform_vvvvvvvvvv_required)
else
{
jQuery('#jform_alias').closest('.control-group').hide();
jQuery('#jform_description').closest('.control-group').hide();
}
}
// the vvvvvvw function
function vvvvvvw(add_vvvvvvw)
{
// set the function logic
if (add_vvvvvvw == 1)
{
jQuery('#jform_acronym').closest('.control-group').show();
if (jform_vvvvvvwvvv_required)
{ {
updateFieldRequired('acronym',0); updateFieldRequired('email',0);
jQuery('#jform_acronym').prop('required','required'); jQuery('#jform_email').prop('required','required');
jQuery('#jform_acronym').attr('aria-required',true); jQuery('#jform_email').attr('aria-required',true);
jQuery('#jform_acronym').addClass('required'); jQuery('#jform_email').addClass('required');
jform_vvvvvvwvvv_required = false; jform_vvvvvvvvvv_required = false;
}
jQuery('#jform_image').closest('.control-group').show();
jQuery('#jform_mobile_phone').closest('.control-group').show();
if (jform_vvvvvvvvvw_required)
{
updateFieldRequired('mobile_phone',0);
jQuery('#jform_mobile_phone').prop('required','required');
jQuery('#jform_mobile_phone').attr('aria-required',true);
jQuery('#jform_mobile_phone').addClass('required');
jform_vvvvvvvvvw_required = false;
} }
jQuery('#jform_website').closest('.control-group').show(); jQuery('#jform_website').closest('.control-group').show();
} }
else else
{ {
jQuery('#jform_acronym').closest('.control-group').hide(); jQuery('#jform_dateofbirth').closest('.control-group').hide();
if (!jform_vvvvvvwvvv_required) jQuery('#jform_email').closest('.control-group').hide();
if (!jform_vvvvvvvvvv_required)
{ {
updateFieldRequired('acronym',1); updateFieldRequired('email',1);
jQuery('#jform_acronym').removeAttr('required'); jQuery('#jform_email').removeAttr('required');
jQuery('#jform_acronym').removeAttr('aria-required'); jQuery('#jform_email').removeAttr('aria-required');
jQuery('#jform_acronym').removeClass('required'); jQuery('#jform_email').removeClass('required');
jform_vvvvvvwvvv_required = true; jform_vvvvvvvvvv_required = true;
}
jQuery('#jform_image').closest('.control-group').hide();
jQuery('#jform_mobile_phone').closest('.control-group').hide();
if (!jform_vvvvvvvvvw_required)
{
updateFieldRequired('mobile_phone',1);
jQuery('#jform_mobile_phone').removeAttr('required');
jQuery('#jform_mobile_phone').removeAttr('aria-required');
jQuery('#jform_mobile_phone').removeClass('required');
jform_vvvvvvvvvw_required = true;
} }
jQuery('#jform_website').closest('.control-group').hide(); jQuery('#jform_website').closest('.control-group').hide();
} }
@ -113,103 +118,4 @@ function isSet(val)
return true; return true;
} }
return false; return false;
}
jQuery(document).ready(function()
{
var values_a = jQuery('#jform_male').val();
if (values_a)
{
values_a = jQuery.parseJSON(values_a);
buildTable(values_a,'jform_male');
}
var values_b = jQuery('#jform_female').val();
if (values_b)
{
values_b = jQuery.parseJSON(values_b);
buildTable(values_b,'jform_female');
}
});
function buildTable(array,id){
jQuery('#table_'+id).remove();
jQuery('#'+id).closest('.control-group').append('<table style="margin: 5px 0 20px;" class="table" id="table_'+id+'">');
jQuery('#table_'+id).append(tableHeader(array));
jQuery('#table_'+id).append(tableBody(array));
jQuery('#table_'+id).append('</table>');
}
function tableHeader(array)
{
var header = '<thead><tr>';
jQuery.each(array, function(key, value) {
header += '<th style="padding: 10px; text-align: center; border: 1px solid rgb(221, 221, 221);">'+capitalizeFirstLetter(key)+'</th>';
});
header += '</tr></thead>';
return header;
}
function tableBody(array)
{
var body = '<tbody>';
var rows = new Array();
jQuery.each(array, function(key, value) {
jQuery.each(value, function(i, line) {
if( rows[i] === undefined ) {
rows[i] = '<td style="padding: 10px; text-align: center; border: 1px solid rgb(221, 221, 221);">' + line + '</td>';
}
else
{
rows[i] = rows[i] + '<td style="padding: 10px; text-align: center; border: 1px solid rgb(221, 221, 221);">' + line + '</td>';
}
});
});
// now load to body the rows
jQuery.each(rows, function(a, row) {
body += '<tr>' + row + '</tr>';
});
body += '</tbody>';
return body;
}
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
function updateSelection(row)
{
var groupId = jQuery(row).find("select:first").attr("id");
var percentValue = jQuery(row).find(".text_area:first").val();
var arr = groupId.split('-');
if (arr[1] != 1)
{
var selection = {};
jQuery(row).find("select:first option").each(function()
{
// first get the values and text
selection[jQuery(this).text()] = jQuery(this).val();
});
jQuery.each(AgeGroup, function(i, group){
jQuery(row).find("select:first option[value='"+group+"']").remove();
});
if (percentValue)
{
var text = jQuery(row).find(".chzn-single:first span").text();
jQuery(row).find("select:first").append(jQuery('<option>', {
value: selection[text],
text: text
}));
}
jQuery(row).find("select:first").trigger("liszt:updated");
if (percentValue)
{
jQuery(row).find("select:first option:selected").val(selection[text]);
jQuery(row).find(".chzn-single:first span").text(text);
}
}
} }

View File

@ -136,134 +136,24 @@
filter="HTML" filter="HTML"
hint="COM_DEMO_LOOK_DESCRIPTION_HINT" hint="COM_DEMO_LOOK_DESCRIPTION_HINT"
/> />
<!-- Add Field. Type: Radio. (joomla) --> <!-- Alias Field. Type: Text. (joomla) -->
<field
type="radio"
name="add"
label="COM_DEMO_LOOK_ADD_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_DEMO_LOOK_YES</option>
<option value="0">
COM_DEMO_LOOK_NO</option>
</field>
<!-- Acronym Field. Type: Text. (joomla) -->
<field <field
type="text" type="text"
name="acronym" name="alias"
label="COM_DEMO_LOOK_ACRONYM_LABEL" label="COM_DEMO_LOOK_ALIAS_LABEL"
description="COM_DEMO_LOOK_ACRONYM_DESCRIPTION" description="JFIELD_ALIAS_DESC"
class="text_area" filter="STRING"
required="true" hint="COM_DEMO_LOOK_ALIAS_HINT"
filter="WORD"
message="Error! Please add an acronym here."
hint="COM_DEMO_LOOK_ACRONYM_HINT"
/> />
<!-- Female Field. Type: Repeatable. (joomla) --> <!-- Dateofbirth Field. Type: Calendar. (joomla) -->
<field <field
type="repeatable" type="calendar"
name="female" name="dateofbirth"
label="Set Females" label="COM_DEMO_LOOK_DATEOFBIRTH_LABEL"
description="COM_DEMO_LOOK_FEMALE_DESCRIPTION" default="1970-01-01"
id="female" description="COM_DEMO_LOOK_DATEOFBIRTH_DESCRIPTION"
class="females" format="%Y-%m-%d"
select="COM_DEMO_LOOK_FEMALE_SELECT" />
icon="list"
maximum="10">
<fields name="female_fields" label="">
<fieldset hidden="true" name="female_modal" repeat="true">
<!-- Age Field. Type: List. (joomla) -->
<field
type="list"
name="age"
label="COM_DEMO_LOOK_AGE_LABEL"
class="list_class"
multiple="false"
filter="CMD">
<!-- Option Set. -->
<option value="15-19">
COM_DEMO_LOOK_FIFTEENNINETEEN</option>
<option value="20-24">
COM_DEMO_LOOK_TWENTYTWENTY_FOUR</option>
<option value="25-29">
COM_DEMO_LOOK_TWENTY_FIVETWENTY_NINE</option>
<option value="30-34">
COM_DEMO_LOOK_THIRTYTHIRTY_FOUR</option>
<option value="35-39">
COM_DEMO_LOOK_THIRTY_FIVETHIRTY_NINE</option>
<option value="40-44">
COM_DEMO_LOOK_FORTYFORTY_FOUR</option>
<option value="45-49">
COM_DEMO_LOOK_FORTY_FIVEFORTY_NINE</option>
<option value="50-54">
COM_DEMO_LOOK_FIFTYFIFTY_FOUR</option>
<option value="55-59">
COM_DEMO_LOOK_FIFTY_FIVEFIFTY_NINE</option>
<option value="60-64">
COM_DEMO_LOOK_SIXTYSIXTY_FOUR</option>
</field>
<!-- Number Field. Type: Text. (joomla) -->
<field
type="text"
name="number"
label="COM_DEMO_LOOK_NUMBER_LABEL"
size="10"
maxlength="50"
class="text_area"
readonly="false"
disabled="false"
filter="FLOAT"
message="Error! Please add number here."
hint="COM_DEMO_LOOK_NUMBER_HINT"
/>
<!-- Year Field. Type: List. (joomla) -->
<field
type="list"
name="year"
label="COM_DEMO_LOOK_YEAR_LABEL"
class="list_class"
multiple="false"
filter="INT">
<!-- Option Set. -->
<option value="">
COM_DEMO_LOOK_SELECT_A_YEAR</option>
<option value="2010">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TEN</option>
<option value="2011">
COM_DEMO_LOOK_TWO_THOUSAND_AND_ELEVEN</option>
<option value="2012">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWELVE</option>
<option value="2013">
COM_DEMO_LOOK_TWO_THOUSAND_AND_THIRTEEN</option>
<option value="2014">
COM_DEMO_LOOK_TWO_THOUSAND_AND_FOURTEEN</option>
<option value="2015">
COM_DEMO_LOOK_TWO_THOUSAND_AND_FIFTEEN</option>
<option value="2016">
COM_DEMO_LOOK_TWO_THOUSAND_AND_SIXTEEN</option>
<option value="2017">
COM_DEMO_LOOK_TWO_THOUSAND_AND_SEVENTEEN</option>
<option value="2018">
COM_DEMO_LOOK_TWO_THOUSAND_AND_EIGHTEEN</option>
<option value="2019">
COM_DEMO_LOOK_TWO_THOUSAND_AND_NINETEEN</option>
<option value="2020">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY</option>
<option value="2021">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_ONE</option>
<option value="2022">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_TWO</option>
<option value="2023">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_THREE</option>
<option value="2024">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_FOUR</option>
</field>
</fieldset>
</fields>
</field>
<!-- Website Field. Type: Url. (joomla) --> <!-- Website Field. Type: Url. (joomla) -->
<field <field
type="url" type="url"
@ -278,117 +168,57 @@
message="Error! Please add website here." message="Error! Please add website here."
hint="COM_DEMO_LOOK_WEBSITE_HINT" hint="COM_DEMO_LOOK_WEBSITE_HINT"
/> />
<!-- Alias Field. Type: Text. (joomla) --> <!-- Mobile_phone Field. Type: Tel. (joomla) -->
<field
type="tel"
name="mobile_phone"
label="COM_DEMO_LOOK_MOBILE_PHONE_LABEL"
size="10"
maxlength="50"
description="COM_DEMO_LOOK_MOBILE_PHONE_DESCRIPTION"
class="text_area"
required="true"
filter="STRING"
validated="tel"
message="Error! Please add mobile phone number here."
hint="COM_DEMO_LOOK_MOBILE_PHONE_HINT"
/>
<!-- Add Field. Type: Radio. (joomla) -->
<field
type="radio"
name="add"
label="COM_DEMO_LOOK_ADD_LABEL"
class="btn-group btn-group-yesno"
default="0"
required="true">
<!-- Option Set. -->
<option value="1">
COM_DEMO_LOOK_YES</option>
<option value="0">
COM_DEMO_LOOK_NO</option>
</field>
<!-- Image Field. Type: Media. (joomla) -->
<field
type="media"
name="image"
label="COM_DEMO_LOOK_IMAGE_LABEL"
directory=""
/>
<!-- Email Field. Type: Text. (joomla) -->
<field <field
type="text" type="text"
name="alias" name="email"
label="COM_DEMO_LOOK_ALIAS_LABEL" label="COM_DEMO_LOOK_EMAIL_LABEL"
description="JFIELD_ALIAS_DESC" size="10"
maxlength="50"
description="COM_DEMO_LOOK_EMAIL_DESCRIPTION"
class="text_area"
required="true"
filter="STRING" filter="STRING"
hint="COM_DEMO_LOOK_ALIAS_HINT" validate="email"
message="Error! Please add email address here."
hint="COM_DEMO_LOOK_EMAIL_HINT"
/> />
<!-- Male Field. Type: Repeatable. (joomla) -->
<field
type="repeatable"
name="male"
label="Set Males"
description="COM_DEMO_LOOK_MALE_DESCRIPTION"
id="male"
class="males"
select="COM_DEMO_LOOK_MALE_SELECT"
icon="list"
maximum="10">
<fields name="male_fields" label="">
<fieldset hidden="true" name="male_modal" repeat="true">
<!-- Age Field. Type: List. (joomla) -->
<field
type="list"
name="age"
label="COM_DEMO_LOOK_AGE_LABEL"
class="list_class"
multiple="false"
filter="CMD">
<!-- Option Set. -->
<option value="15-19">
COM_DEMO_LOOK_FIFTEENNINETEEN</option>
<option value="20-24">
COM_DEMO_LOOK_TWENTYTWENTY_FOUR</option>
<option value="25-29">
COM_DEMO_LOOK_TWENTY_FIVETWENTY_NINE</option>
<option value="30-34">
COM_DEMO_LOOK_THIRTYTHIRTY_FOUR</option>
<option value="35-39">
COM_DEMO_LOOK_THIRTY_FIVETHIRTY_NINE</option>
<option value="40-44">
COM_DEMO_LOOK_FORTYFORTY_FOUR</option>
<option value="45-49">
COM_DEMO_LOOK_FORTY_FIVEFORTY_NINE</option>
<option value="50-54">
COM_DEMO_LOOK_FIFTYFIFTY_FOUR</option>
<option value="55-59">
COM_DEMO_LOOK_FIFTY_FIVEFIFTY_NINE</option>
<option value="60-64">
COM_DEMO_LOOK_SIXTYSIXTY_FOUR</option>
</field>
<!-- Number Field. Type: Text. (joomla) -->
<field
type="text"
name="number"
label="COM_DEMO_LOOK_NUMBER_LABEL"
size="10"
maxlength="50"
class="text_area"
readonly="false"
disabled="false"
filter="FLOAT"
message="Error! Please add number here."
hint="COM_DEMO_LOOK_NUMBER_HINT"
/>
<!-- Year Field. Type: List. (joomla) -->
<field
type="list"
name="year"
label="COM_DEMO_LOOK_YEAR_LABEL"
class="list_class"
multiple="false"
filter="INT">
<!-- Option Set. -->
<option value="">
COM_DEMO_LOOK_SELECT_A_YEAR</option>
<option value="2010">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TEN</option>
<option value="2011">
COM_DEMO_LOOK_TWO_THOUSAND_AND_ELEVEN</option>
<option value="2012">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWELVE</option>
<option value="2013">
COM_DEMO_LOOK_TWO_THOUSAND_AND_THIRTEEN</option>
<option value="2014">
COM_DEMO_LOOK_TWO_THOUSAND_AND_FOURTEEN</option>
<option value="2015">
COM_DEMO_LOOK_TWO_THOUSAND_AND_FIFTEEN</option>
<option value="2016">
COM_DEMO_LOOK_TWO_THOUSAND_AND_SIXTEEN</option>
<option value="2017">
COM_DEMO_LOOK_TWO_THOUSAND_AND_SEVENTEEN</option>
<option value="2018">
COM_DEMO_LOOK_TWO_THOUSAND_AND_EIGHTEEN</option>
<option value="2019">
COM_DEMO_LOOK_TWO_THOUSAND_AND_NINETEEN</option>
<option value="2020">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY</option>
<option value="2021">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_ONE</option>
<option value="2022">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_TWO</option>
<option value="2023">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_THREE</option>
<option value="2024">
COM_DEMO_LOOK_TWO_THOUSAND_AND_TWENTY_FOUR</option>
</field>
</fieldset>
</fields>
</field>
<!-- Not_required Field. Type: Hidden. (joomla) --> <!-- Not_required Field. Type: Hidden. (joomla) -->
<field <field
type="hidden" type="hidden"

View File

@ -1,476 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage help_documents.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import the Joomla modellist library
jimport('joomla.application.component.modellist');
/**
* Help_documents Model
*/
class DemoModelHelp_documents extends JModelList
{
public function __construct($config = array())
{
if (empty($config['filter_fields']))
{
$config['filter_fields'] = array(
'a.id','id',
'a.published','published',
'a.ordering','ordering',
'a.created_by','created_by',
'a.modified_by','modified_by',
'a.title','title',
'a.type','type',
'a.location','location',
'a.admin_view','admin_view',
'a.site_view','site_view'
);
}
parent::__construct($config);
}
/**
* Method to auto-populate the model state.
*
* @return void
*/
protected function populateState($ordering = null, $direction = null)
{
$app = JFactory::getApplication();
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout'))
{
$this->context .= '.' . $layout;
}
$title = $this->getUserStateFromRequest($this->context . '.filter.title', 'filter_title');
$this->setState('filter.title', $title);
$type = $this->getUserStateFromRequest($this->context . '.filter.type', 'filter_type');
$this->setState('filter.type', $type);
$location = $this->getUserStateFromRequest($this->context . '.filter.location', 'filter_location');
$this->setState('filter.location', $location);
$admin_view = $this->getUserStateFromRequest($this->context . '.filter.admin_view', 'filter_admin_view');
$this->setState('filter.admin_view', $admin_view);
$site_view = $this->getUserStateFromRequest($this->context . '.filter.site_view', 'filter_site_view');
$this->setState('filter.site_view', $site_view);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting);
$access = $this->getUserStateFromRequest($this->context . '.filter.access', 'filter_access', 0, 'int');
$this->setState('filter.access', $access);
$search = $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search');
$this->setState('filter.search', $search);
$published = $this->getUserStateFromRequest($this->context . '.filter.published', 'filter_published', '');
$this->setState('filter.published', $published);
$created_by = $this->getUserStateFromRequest($this->context . '.filter.created_by', 'filter_created_by', '');
$this->setState('filter.created_by', $created_by);
$created = $this->getUserStateFromRequest($this->context . '.filter.created', 'filter_created');
$this->setState('filter.created', $created);
// List state information.
parent::populateState($ordering, $direction);
}
/**
* Method to get an array of data items.
*
* @return mixed An array of data items on success, false on failure.
*/
public function getItems()
{
// check in items
$this->checkInNow();
// load parent items
$items = parent::getItems();
// set values to display correctly.
if (DemoHelper::checkArray($items))
{
// get user object.
$user = JFactory::getUser();
foreach ($items as $nr => &$item)
{
$access = ($user->authorise('help_document.access', 'com_demo.help_document.' . (int) $item->id) && $user->authorise('help_document.access', 'com_demo'));
if (!$access)
{
unset($items[$nr]);
continue;
}
// decode groups
$groupsArray = json_decode($item->groups, true);
if (DemoHelper::checkArray($groupsArray))
{
$groupsNames = '';
$counter = 0;
foreach ($groupsArray as $groups)
{
if ($counter == 0)
{
$groupsNames .= DemoHelper::getGroupName($groups);
}
else
{
$groupsNames .= ', '.DemoHelper::getGroupName($groups);
}
$counter++;
}
$item->groups = $groupsNames;
}
}
}
// set selection value to a translatable value
if (DemoHelper::checkArray($items))
{
foreach ($items as $nr => &$item)
{
// convert type
$item->type = $this->selectionTranslation($item->type, 'type');
// convert location
$item->location = $this->selectionTranslation($item->location, 'location');
}
}
// return items
return $items;
}
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
*/
public function selectionTranslation($value,$name)
{
// Array of type language strings
if ($name == 'type')
{
$typeArray = array(
0 => 'COM_DEMO_HELP_DOCUMENT_SELECT_AN_OPTION',
1 => 'COM_DEMO_HELP_DOCUMENT_JOOMLA_ARTICLE',
2 => 'COM_DEMO_HELP_DOCUMENT_TEXT',
3 => 'COM_DEMO_HELP_DOCUMENT_URL'
);
// Now check if value is found in this array
if (isset($typeArray[$value]) && DemoHelper::checkString($typeArray[$value]))
{
return $typeArray[$value];
}
}
// Array of location language strings
if ($name == 'location')
{
$locationArray = array(
1 => 'COM_DEMO_HELP_DOCUMENT_ADMIN',
2 => 'COM_DEMO_HELP_DOCUMENT_SITE'
);
// Now check if value is found in this array
if (isset($locationArray[$value]) && DemoHelper::checkString($locationArray[$value]))
{
return $locationArray[$value];
}
}
return $value;
}
/**
* Method to build an SQL query to load the list data.
*
* @return string An SQL query
*/
protected function getListQuery()
{
// Get the user object.
$user = JFactory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$query = $db->getQuery(true);
// Select some fields
$query->select('a.*');
// From the demo_item table
$query->from($db->quoteName('#__demo_help_document', 'a'));
// Filter by published state
$published = $this->getState('filter.published');
if (is_numeric($published))
{
$query->where('a.published = ' . (int) $published);
}
elseif ($published === '')
{
$query->where('(a.published = 0 OR a.published = 1)');
}
// Join over the asset groups.
$query->select('ag.title AS access_level');
$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access');
// Filter by access level.
if ($access = $this->getState('filter.access'))
{
$query->where('a.access = ' . (int) $access);
}
// Implement View Level Access
if (!$user->authorise('core.options', 'com_demo'))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
// Filter by search.
$search = $this->getState('filter.search');
if (!empty($search))
{
if (stripos($search, 'id:') === 0)
{
$query->where('a.id = ' . (int) substr($search, 3));
}
else
{
$search = $db->quote('%' . $db->escape($search, true) . '%');
$query->where('(a.title LIKE '.$search.' OR a.type LIKE '.$search.' OR a.location LIKE '.$search.' OR a.admin_view LIKE '.$search.' OR a.site_view LIKE '.$search.')');
}
}
// Filter by Type.
if ($type = $this->getState('filter.type'))
{
$query->where('a.type = ' . $db->quote($db->escape($type, true)));
}
// Filter by Location.
if ($location = $this->getState('filter.location'))
{
$query->where('a.location = ' . $db->quote($db->escape($location, true)));
}
// Filter by Admin_view.
if ($admin_view = $this->getState('filter.admin_view'))
{
$query->where('a.admin_view = ' . $db->quote($db->escape($admin_view, true)));
}
// Filter by Site_view.
if ($site_view = $this->getState('filter.site_view'))
{
$query->where('a.site_view = ' . $db->quote($db->escape($site_view, true)));
}
// Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id');
$orderDirn = $this->state->get('list.direction', 'asc');
if ($orderCol != '')
{
$query->order($db->escape($orderCol . ' ' . $orderDirn));
}
return $query;
}
/**
* Method to get list export data.
*
* @return mixed An array of data items on success, false on failure.
*/
public function getExportData($pks)
{
// setup the query
if (DemoHelper::checkArray($pks))
{
// Set a value to know this is exporting method.
$_export = true;
// Get the user object.
$user = JFactory::getUser();
// Create a new query object.
$db = JFactory::getDBO();
$query = $db->getQuery(true);
// Select some fields
$query->select('a.*');
// From the demo_help_document table
$query->from($db->quoteName('#__demo_help_document', 'a'));
$query->where('a.id IN (' . implode(',',$pks) . ')');
// Implement View Level Access
if (!$user->authorise('core.options', 'com_demo'))
{
$groups = implode(',', $user->getAuthorisedViewLevels());
$query->where('a.access IN (' . $groups . ')');
}
// Order the results by ordering
$query->order('a.ordering ASC');
// Load the items
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
$items = $db->loadObjectList();
// set values to display correctly.
if (DemoHelper::checkArray($items))
{
// get user object.
$user = JFactory::getUser();
foreach ($items as $nr => &$item)
{
$access = ($user->authorise('help_document.access', 'com_demo.help_document.' . (int) $item->id) && $user->authorise('help_document.access', 'com_demo'));
if (!$access)
{
unset($items[$nr]);
continue;
}
// unset the values we don't want exported.
unset($item->asset_id);
unset($item->checked_out);
unset($item->checked_out_time);
}
}
// Add headers to items array.
$headers = $this->getExImPortHeaders();
if (DemoHelper::checkObject($headers))
{
array_unshift($items,$headers);
}
return $items;
}
}
return false;
}
/**
* Method to get header.
*
* @return mixed An array of data items on success, false on failure.
*/
public function getExImPortHeaders()
{
// Get a db connection.
$db = JFactory::getDbo();
// get the columns
$columns = $db->getTableColumns("#__demo_help_document");
if (DemoHelper::checkArray($columns))
{
// remove the headers you don't import/export.
unset($columns['asset_id']);
unset($columns['checked_out']);
unset($columns['checked_out_time']);
$headers = new stdClass();
foreach ($columns as $column => $type)
{
$headers->{$column} = $column;
}
return $headers;
}
return false;
}
/**
* Method to get a store id based on model configuration state.
*
* @return string A store id.
*
*/
protected function getStoreId($id = '')
{
// Compile the store id.
$id .= ':' . $this->getState('filter.id');
$id .= ':' . $this->getState('filter.search');
$id .= ':' . $this->getState('filter.published');
$id .= ':' . $this->getState('filter.ordering');
$id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.title');
$id .= ':' . $this->getState('filter.type');
$id .= ':' . $this->getState('filter.location');
$id .= ':' . $this->getState('filter.admin_view');
$id .= ':' . $this->getState('filter.site_view');
return parent::getStoreId($id);
}
/**
* Build an SQL query to checkin all items left checked out longer then a set time.
*
* @return a bool
*
*/
protected function checkInNow()
{
// Get set check in time
$time = JComponentHelper::getParams('com_demo')->get('check_in');
if ($time)
{
// Get a db connection.
$db = JFactory::getDbo();
// reset query
$query = $db->getQuery(true);
$query->select('*');
$query->from($db->quoteName('#__demo_help_document'));
$db->setQuery($query);
$db->execute();
if ($db->getNumRows())
{
// Get Yesterdays date
$date = JFactory::getDate()->modify($time)->toSql();
// reset query
$query = $db->getQuery(true);
// Fields to update.
$fields = array(
$db->quoteName('checked_out_time') . '=\'0000-00-00 00:00:00\'',
$db->quoteName('checked_out') . '=0'
);
// Conditions for which records should be updated.
$conditions = array(
$db->quoteName('checked_out') . '!=0',
$db->quoteName('checked_out_time') . '<\''.$date.'\''
);
// Check table
$query->update($db->quoteName('#__demo_help_document'))->set($fields)->where($conditions);
$db->setQuery($query);
$db->execute();
}
}
return false;
}
}

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage import.php @subpackage import.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -26,6 +26,11 @@ defined('_JEXEC') or die('Restricted access');
*/ */
class DemoModelImport extends JModelLegacy class DemoModelImport extends JModelLegacy
{ {
// set uploading values
protected $use_streams = false;
protected $allow_unsafe = false;
protected $safeFileOptions = array();
/** /**
* @var object JTable object * @var object JTable object
*/ */
@ -67,10 +72,6 @@ class DemoModelImport extends JModelLegacy
// Recall the 'Import from Directory' path. // Recall the 'Import from Directory' path.
$path = $app->getUserStateFromRequest($this->_context . '.import_directory', 'import_directory', $app->get('tmp_path')); $path = $app->getUserStateFromRequest($this->_context . '.import_directory', 'import_directory', $app->get('tmp_path'));
$this->setState('import.directory', $path); $this->setState('import.directory', $path);
// set uploading values
$this->use_streams = false;
$this->allow_unsafe = false;
$this->safeFileOptions = array();
parent::populateState(); parent::populateState();
} }
@ -277,21 +278,16 @@ class DemoModelImport extends JModelLegacy
} }
// check the extention // check the extention
switch(strtolower(pathinfo($p_dir, PATHINFO_EXTENSION))){ if(!$this->checkExtension($p_dir))
case 'xls': {
case 'ods': // set error message
case 'csv':
break;
default:
$app->enqueueMessage(JText::_('COM_DEMO_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning'); $app->enqueueMessage(JText::_('COM_DEMO_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
return false; return false;
break;
} }
$package['packagename'] = null; $package['packagename'] = null;
$package['dir'] = $p_dir; $package['dir'] = $p_dir;
$package['type'] = $type; $package['type'] = $type;
return $package; return $package;
} }
@ -349,21 +345,15 @@ class DemoModelImport extends JModelLegacy
$archivename = JPath::clean($archivename); $archivename = JPath::clean($archivename);
// check the extention // check the extention
switch(strtolower(pathinfo($archivename, PATHINFO_EXTENSION))){ if(!$this->checkExtension($archivename))
case 'xls': {
case 'ods':
case 'csv':
break;
default:
// Cleanup the import files // Cleanup the import files
$this->remove($archivename); $this->remove($archivename);
$app->enqueueMessage(JText::_('COM_DEMO_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning'); $app->enqueueMessage(JText::_('COM_DEMO_IMPORT_MSG_DOES_NOT_HAVE_A_VALID_FILE_TYPE'), 'warning');
return false; return false;
break; }
}
$config = JFactory::getConfig(); $config = JFactory::getConfig();
// set Package Name // set Package Name
$check['packagename'] = $archivename; $check['packagename'] = $archivename;
@ -376,6 +366,28 @@ class DemoModelImport extends JModelLegacy
return $check; return $check;
} }
/**
* Check the extension
*
* @param string $file Name of the uploaded file
*
* @return boolean True on success
*
*/
protected function checkExtension($file)
{
// check the extention
switch(strtolower(pathinfo($file, PATHINFO_EXTENSION)))
{
case 'xls':
case 'ods':
case 'csv':
return true;
break;
}
return false;
}
/** /**
* Clean up temporary uploaded spreadsheet * Clean up temporary uploaded spreadsheet
* *

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage look.php @subpackage look.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -111,7 +111,8 @@ class DemoModelLook extends JModelAdmin
* @since 1.6 * @since 1.6
*/ */
public function getForm($data = array(), $loadData = true) public function getForm($data = array(), $loadData = true)
{ // Get the form. {
// Get the form.
$form = $this->loadForm('com_demo.look', 'look', array('control' => 'jform', 'load_data' => $loadData)); $form = $this->loadForm('com_demo.look', 'look', array('control' => 'jform', 'load_data' => $loadData));
if (empty($form)) if (empty($form))
@ -172,6 +173,22 @@ class DemoModelLook extends JModelAdmin
// Disable fields while saving. // Disable fields while saving.
$form->setFieldAttribute('created', 'filter', 'unset'); $form->setFieldAttribute('created', 'filter', 'unset');
} }
// Modify the form based on Edit Name access controls.
if ($id != 0 && (!$user->authorise('look.edit.name', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.name', 'com_demo')))
{
// Disable fields for display.
$form->setFieldAttribute('name', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('name', 'readonly', 'true');
if (!$form->getValue('name'))
{
// Disable fields while saving.
$form->setFieldAttribute('name', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('name', 'required', 'false');
}
}
// Modify the form based on Edit Description access controls. // Modify the form based on Edit Description access controls.
if ($id != 0 && (!$user->authorise('look.edit.description', 'com_demo.look.' . (int) $id)) if ($id != 0 && (!$user->authorise('look.edit.description', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.description', 'com_demo'))) || ($id == 0 && !$user->authorise('look.edit.description', 'com_demo')))
@ -188,39 +205,119 @@ class DemoModelLook extends JModelAdmin
$form->setFieldAttribute('description', 'required', 'false'); $form->setFieldAttribute('description', 'required', 'false');
} }
} }
// Modify the form based on Edit Acronym access controls. // Modify the form based on Edit Alias access controls.
if ($id != 0 && (!$user->authorise('look.edit.acronym', 'com_demo.look.' . (int) $id)) if ($id != 0 && (!$user->authorise('look.edit.alias', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.acronym', 'com_demo'))) || ($id == 0 && !$user->authorise('look.edit.alias', 'com_demo')))
{ {
// Disable fields for display. // Disable fields for display.
$form->setFieldAttribute('acronym', 'disabled', 'true'); $form->setFieldAttribute('alias', 'disabled', 'true');
// Disable fields for display. // Disable fields for display.
$form->setFieldAttribute('acronym', 'readonly', 'true'); $form->setFieldAttribute('alias', 'readonly', 'true');
if (!$form->getValue('acronym')) if (!$form->getValue('alias'))
{ {
// Disable fields while saving. // Disable fields while saving.
$form->setFieldAttribute('acronym', 'filter', 'unset'); $form->setFieldAttribute('alias', 'filter', 'unset');
// Disable fields while saving. // Disable fields while saving.
$form->setFieldAttribute('acronym', 'required', 'false'); $form->setFieldAttribute('alias', 'required', 'false');
} }
} }
// Modify the form based on Edit Male access controls. // Modify the form based on Edit Dateofbirth access controls.
if ($id != 0 && (!$user->authorise('look.edit.male', 'com_demo.look.' . (int) $id)) if ($id != 0 && (!$user->authorise('look.edit.dateofbirth', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.male', 'com_demo'))) || ($id == 0 && !$user->authorise('look.edit.dateofbirth', 'com_demo')))
{ {
// Disable fields for display. // Disable fields for display.
$form->setFieldAttribute('male', 'disabled', 'true'); $form->setFieldAttribute('dateofbirth', 'disabled', 'true');
// Disable fields for display. // Disable fields for display.
$form->setFieldAttribute('male', 'readonly', 'true'); $form->setFieldAttribute('dateofbirth', 'readonly', 'true');
// Disable radio button for display. if (!$form->getValue('dateofbirth'))
$class = $form->getFieldAttribute('male', 'class', '');
$form->setFieldAttribute('male', 'class', $class.' disabled no-click');
if (!$form->getValue('male'))
{ {
// Disable fields while saving. // Disable fields while saving.
$form->setFieldAttribute('male', 'filter', 'unset'); $form->setFieldAttribute('dateofbirth', 'filter', 'unset');
// Disable fields while saving. // Disable fields while saving.
$form->setFieldAttribute('male', 'required', 'false'); $form->setFieldAttribute('dateofbirth', 'required', 'false');
}
}
// Modify the form based on Edit Website access controls.
if ($id != 0 && (!$user->authorise('look.edit.website', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.website', 'com_demo')))
{
// Disable fields for display.
$form->setFieldAttribute('website', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('website', 'readonly', 'true');
if (!$form->getValue('website'))
{
// Disable fields while saving.
$form->setFieldAttribute('website', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('website', 'required', 'false');
}
}
// Modify the form based on Edit Mobile Phone access controls.
if ($id != 0 && (!$user->authorise('look.edit.mobile_phone', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.mobile_phone', 'com_demo')))
{
// Disable fields for display.
$form->setFieldAttribute('mobile_phone', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('mobile_phone', 'readonly', 'true');
if (!$form->getValue('mobile_phone'))
{
// Disable fields while saving.
$form->setFieldAttribute('mobile_phone', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('mobile_phone', 'required', 'false');
}
}
// Modify the form based on Edit Add access controls.
if ($id != 0 && (!$user->authorise('look.edit.add', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.add', 'com_demo')))
{
// Disable fields for display.
$form->setFieldAttribute('add', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('add', 'readonly', 'true');
// Disable radio button for display.
$class = $form->getFieldAttribute('add', 'class', '');
$form->setFieldAttribute('add', 'class', $class.' disabled no-click');
if (!$form->getValue('add'))
{
// Disable fields while saving.
$form->setFieldAttribute('add', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('add', 'required', 'false');
}
}
// Modify the form based on Edit Image access controls.
if ($id != 0 && (!$user->authorise('look.edit.image', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.image', 'com_demo')))
{
// Disable fields for display.
$form->setFieldAttribute('image', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('image', 'readonly', 'true');
if (!$form->getValue('image'))
{
// Disable fields while saving.
$form->setFieldAttribute('image', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('image', 'required', 'false');
}
}
// Modify the form based on Edit Email access controls.
if ($id != 0 && (!$user->authorise('look.edit.email', 'com_demo.look.' . (int) $id))
|| ($id == 0 && !$user->authorise('look.edit.email', 'com_demo')))
{
// Disable fields for display.
$form->setFieldAttribute('email', 'disabled', 'true');
// Disable fields for display.
$form->setFieldAttribute('email', 'readonly', 'true');
if (!$form->getValue('email'))
{
// Disable fields while saving.
$form->setFieldAttribute('email', 'filter', 'unset');
// Disable fields while saving.
$form->setFieldAttribute('email', 'required', 'false');
} }
} }
// Only load these values if no id is found // Only load these values if no id is found
@ -442,7 +539,7 @@ class DemoModelLook extends JModelAdmin
*/ */
protected function getUniqeFields() protected function getUniqeFields()
{ {
return array('acronym'); return false;
} }
/** /**
@ -463,6 +560,26 @@ class DemoModelLook extends JModelAdmin
return true; return true;
} }
/**
* Method to change the published state of one or more records.
*
* @param array &$pks A list of the primary keys to change.
* @param integer $value The value of the published state.
*
* @return boolean True on success.
*
* @since 12.2
*/
public function publish(&$pks, $value = 1)
{
if (!parent::publish($pks, $value))
{
return false;
}
return true;
}
/** /**
* Method to perform batch operations on an item or a set of items. * Method to perform batch operations on an item or a set of items.
@ -781,7 +898,7 @@ class DemoModelLook extends JModelAdmin
foreach ($values as $key => $value) foreach ($values as $key => $value)
{ {
// Do special action for access. // Do special action for access.
if ('access' == $key && strlen($value) > 0) if ('access' === $key && strlen($value) > 0)
{ {
$this->table->$key = $value; $this->table->$key = $value;
} }
@ -854,7 +971,7 @@ class DemoModelLook extends JModelAdmin
} }
// Alter the name for save as copy // Alter the name for save as copy
if ($input->get('task') == 'save2copy') if ($input->get('task') === 'save2copy')
{ {
$origTable = clone $this->getTable(); $origTable = clone $this->getTable();
$origTable->load($input->getInt('id')); $origTable->load($input->getInt('id'));
@ -908,7 +1025,7 @@ class DemoModelLook extends JModelAdmin
} }
// Alter the uniqe field for save as copy // Alter the uniqe field for save as copy
if ($input->get('task') == 'save2copy') if ($input->get('task') === 'save2copy')
{ {
// Automatic handling of other uniqe fields // Automatic handling of other uniqe fields
$uniqeFields = $this->getUniqeFields(); $uniqeFields = $this->getUniqeFields();

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage looks.php @subpackage looks.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -40,10 +40,7 @@ class DemoModelLooks extends JModelList
'a.created_by','created_by', 'a.created_by','created_by',
'a.modified_by','modified_by', 'a.modified_by','modified_by',
'a.name','name', 'a.name','name',
'a.description','description', 'a.description','description'
'a.add','add',
'a.acronym','acronym',
'a.website','website'
); );
} }
@ -68,16 +65,7 @@ class DemoModelLooks extends JModelList
$this->setState('filter.name', $name); $this->setState('filter.name', $name);
$description = $this->getUserStateFromRequest($this->context . '.filter.description', 'filter_description'); $description = $this->getUserStateFromRequest($this->context . '.filter.description', 'filter_description');
$this->setState('filter.description', $description); $this->setState('filter.description', $description);
$add = $this->getUserStateFromRequest($this->context . '.filter.add', 'filter_add');
$this->setState('filter.add', $add);
$acronym = $this->getUserStateFromRequest($this->context . '.filter.acronym', 'filter_acronym');
$this->setState('filter.acronym', $acronym);
$website = $this->getUserStateFromRequest($this->context . '.filter.website', 'filter_website');
$this->setState('filter.website', $website);
$sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int'); $sorting = $this->getUserStateFromRequest($this->context . '.filter.sorting', 'filter_sorting', 0, 'int');
$this->setState('filter.sorting', $sorting); $this->setState('filter.sorting', $sorting);
@ -129,44 +117,10 @@ class DemoModelLooks extends JModelList
} }
} }
} }
// set selection value to a translatable value
if (DemoHelper::checkArray($items))
{
foreach ($items as $nr => &$item)
{
// convert add
$item->add = $this->selectionTranslation($item->add, 'add');
}
}
// return items // return items
return $items; return $items;
}
/**
* Method to convert selection values to translatable string.
*
* @return translatable string
*/
public function selectionTranslation($value,$name)
{
// Array of add language strings
if ($name == 'add')
{
$addArray = array(
1 => 'COM_DEMO_LOOK_YES',
0 => 'COM_DEMO_LOOK_NO'
);
// Now check if value is found in this array
if (isset($addArray[$value]) && DemoHelper::checkString($addArray[$value]))
{
return $addArray[$value];
}
}
return $value;
} }
/** /**
@ -223,21 +177,11 @@ class DemoModelLooks extends JModelList
} }
else else
{ {
$search = $db->quote('%' . $db->escape($search, true) . '%'); $search = $db->quote('%' . $db->escape($search) . '%');
$query->where('(a.name LIKE '.$search.' OR a.description LIKE '.$search.' OR a.add LIKE '.$search.' OR a.acronym LIKE '.$search.' OR a.website LIKE '.$search.' OR a.alias LIKE '.$search.')'); $query->where('(a.name LIKE '.$search.' OR a.description LIKE '.$search.' OR a.alias LIKE '.$search.' OR a.add LIKE '.$search.')');
} }
} }
// Filter by Add.
if ($add = $this->getState('filter.add'))
{
$query->where('a.add = ' . $db->quote($db->escape($add, true)));
}
// Filter by Acronym.
if ($acronym = $this->getState('filter.acronym'))
{
$query->where('a.acronym = ' . $db->quote($db->escape($acronym, true)));
}
// Add the list ordering clause. // Add the list ordering clause.
$orderCol = $this->state->get('list.ordering', 'a.id'); $orderCol = $this->state->get('list.ordering', 'a.id');
@ -366,10 +310,7 @@ class DemoModelLooks extends JModelList
$id .= ':' . $this->getState('filter.created_by'); $id .= ':' . $this->getState('filter.created_by');
$id .= ':' . $this->getState('filter.modified_by'); $id .= ':' . $this->getState('filter.modified_by');
$id .= ':' . $this->getState('filter.name'); $id .= ':' . $this->getState('filter.name');
$id .= ':' . $this->getState('filter.description'); $id .= ':' . $this->getState('filter.description');
$id .= ':' . $this->getState('filter.add');
$id .= ':' . $this->getState('filter.acronym');
$id .= ':' . $this->getState('filter.website');
return parent::getStoreId($id); return parent::getStoreId($id);
} }

View File

@ -1,89 +1,50 @@
CREATE TABLE IF NOT EXISTS `#__demo_look` ( CREATE TABLE IF NOT EXISTS `#__demo_look` (
`id` int(11) NOT NULL AUTO_INCREMENT, `id` INT(11) NOT NULL AUTO_INCREMENT,
`asset_id` INT(255) UNSIGNED NOT NULL DEFAULT '0', `asset_id` INT(10) unsigned NOT NULL DEFAULT 0 COMMENT 'FK to the #__assets table.',
`acronym` CHAR(64) NOT NULL DEFAULT '',
`add` TINYINT(1) NOT NULL DEFAULT '0', `add` TINYINT(1) NOT NULL DEFAULT '0',
`alias` CHAR(64) NOT NULL DEFAULT '', `alias` CHAR(64) NOT NULL DEFAULT '',
`description` TEXT NOT NULL DEFAULT '', `dateofbirth` DATE NOT NULL DEFAULT '0000-00-00',
`female` TEXT NOT NULL DEFAULT '', `description` TEXT NOT NULL,
`male` TEXT NOT NULL DEFAULT '', `email` VARCHAR(255) NOT NULL DEFAULT '',
`image` CHAR(64) NOT NULL DEFAULT '',
`mobile_phone` VARCHAR(64) NOT NULL DEFAULT '',
`name` VARCHAR(255) NOT NULL DEFAULT '', `name` VARCHAR(255) NOT NULL DEFAULT '',
`not_required` INT(1) NOT NULL DEFAULT '0', `not_required` INT(1) NOT NULL DEFAULT '0',
`website` VARCHAR(255) NOT NULL DEFAULT '', `website` VARCHAR(255) NOT NULL DEFAULT '',
`params` TEXT NOT NULL DEFAULT '', `params` text NOT NULL DEFAULT '',
`published` tinyint(1) NOT NULL DEFAULT '1', `published` TINYINT(3) NOT NULL DEFAULT 1,
`created_by` int(11) NOT NULL DEFAULT '0', `created_by` INT(10) unsigned NOT NULL DEFAULT 0,
`modified_by` int(11) NOT NULL DEFAULT '0', `modified_by` INT(10) unsigned NOT NULL DEFAULT 0,
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`checked_out` int(11) NOT NULL, `checked_out` int(11) unsigned NOT NULL DEFAULT 0,
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`version` int(11) NOT NULL DEFAULT '1', `version` INT(10) unsigned NOT NULL DEFAULT 1,
`hits` int(11) NOT NULL DEFAULT '0', `hits` INT(10) unsigned NOT NULL DEFAULT 0,
`access` int(11) DEFAULT NULL, `access` INT(10) unsigned NOT NULL DEFAULT 0,
`ordering` int(11) NOT NULL DEFAULT '0', `ordering` INT(11) NOT NULL DEFAULT 0,
`metakey` TEXT NOT NULL DEFAULT '', `metakey` TEXT NOT NULL DEFAULT '',
`metadesc` TEXT NOT NULL DEFAULT '', `metadesc` TEXT NOT NULL DEFAULT '',
`metadata` TEXT NOT NULL DEFAULT '', `metadata` TEXT NOT NULL DEFAULT '',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
UNIQUE KEY `idx_acronym` (`acronym`),
KEY `idx_access` (`access`), KEY `idx_access` (`access`),
KEY `idx_checkout` (`checked_out`), KEY `idx_checkout` (`checked_out`),
KEY `idx_createdby` (`created_by`), KEY `idx_createdby` (`created_by`),
KEY `idx_modifiedby` (`modified_by`), KEY `idx_modifiedby` (`modified_by`),
KEY `idx_state` (`published`), KEY `idx_state` (`published`),
KEY `idx_name` (`name`), KEY `idx_name` (`name`),
KEY `idx_add` (`add`),
KEY `idx_alias` (`alias`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `#__demo_help_document` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`asset_id` INT(255) UNSIGNED NOT NULL DEFAULT '0',
`admin_view` CHAR(255) NOT NULL DEFAULT '',
`alias` CHAR(64) NOT NULL DEFAULT '',
`article` TINYINT(1) NOT NULL DEFAULT '0',
`content` TEXT NOT NULL DEFAULT '',
`groups` TEXT NOT NULL DEFAULT '',
`location` TINYINT(1) NOT NULL DEFAULT '0',
`not_required` INT(1) NOT NULL DEFAULT '0',
`site_view` CHAR(255) NOT NULL DEFAULT '',
`target` TINYINT(1) NOT NULL DEFAULT '0',
`title` CHAR(64) NOT NULL DEFAULT '',
`type` TINYINT(1) NOT NULL DEFAULT '0',
`url` VARCHAR(255) NOT NULL DEFAULT '',
`params` TEXT NOT NULL DEFAULT '',
`published` tinyint(1) NOT NULL DEFAULT '1',
`created_by` int(11) NOT NULL DEFAULT '0',
`modified_by` int(11) NOT NULL DEFAULT '0',
`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`modified` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`checked_out` int(11) NOT NULL,
`checked_out_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`version` int(11) NOT NULL DEFAULT '1',
`hits` int(11) NOT NULL DEFAULT '0',
`access` int(11) DEFAULT NULL,
`ordering` int(11) NOT NULL DEFAULT '0',
`metakey` TEXT NOT NULL DEFAULT '',
`metadesc` TEXT NOT NULL DEFAULT '',
`metadata` TEXT NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `idx_access` (`access`),
KEY `idx_checkout` (`checked_out`),
KEY `idx_createdby` (`created_by`),
KEY `idx_modifiedby` (`modified_by`),
KEY `idx_state` (`published`),
KEY `idx_title` (`title`),
KEY `idx_type` (`type`),
KEY `idx_location` (`location`),
KEY `idx_target` (`target`),
KEY `idx_alias` (`alias`), KEY `idx_alias` (`alias`),
KEY `idx_article` (`article`) KEY `idx_add` (`add`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8; ) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
-- --
-- Always insure this column is large enough for all the access control values. -- Always insure this column rules is large enough for all the access control values.
-- --
ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control.'; ALTER TABLE `#__assets` CHANGE `rules` `rules` MEDIUMTEXT NOT NULL COMMENT 'JSON encoded access control.';
--
-- Always insure this column name is large enough for long component and view names.
--
ALTER TABLE `#__assets` CHANGE `name` `name` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'The unique name for the asset.';

View File

@ -1,2 +1 @@
DROP TABLE IF EXISTS `#__demo_look`; DROP TABLE IF EXISTS `#__demo_look`;
DROP TABLE IF EXISTS `#__demo_help_document`;

View File

@ -1 +0,0 @@

View File

@ -1 +0,0 @@

View File

@ -1 +0,0 @@

View File

@ -1 +0,0 @@

View File

@ -1,346 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage help_document.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
use Joomla\Registry\Registry;
// import Joomla table library
jimport('joomla.database.table');
/**
* Help_documents Table class
*/
class DemoTableHelp_document extends JTable
{
/**
* Ensure the params and metadata in json encoded in the bind method
*
* @var array
* @since 3.3
*/
protected $_jsonEncode = array('params', 'metadata');
/**
* Constructor
*
* @param object Database connector object
*/
function __construct(&$db)
{
parent::__construct('#__demo_help_document', 'id', $db);
// Adding History Options
JTableObserverContenthistory::createObserver($this, array('typeAlias' => 'com_demo.help_document'));
}
public function bind($array, $ignore = '')
{
if (isset($array['params']) && is_array($array['params']))
{
$registry = new JRegistry;
$registry->loadArray($array['params']);
$array['params'] = (string) $registry;
}
if (isset($array['metadata']) && is_array($array['metadata']))
{
$registry = new JRegistry;
$registry->loadArray($array['metadata']);
$array['metadata'] = (string) $registry;
}
// Bind the rules.
if (isset($array['rules']) && is_array($array['rules']))
{
$rules = new JAccessRules($array['rules']);
$this->setRules($rules);
}
return parent::bind($array, $ignore);
}
/**
* Overload the store method for the Help_document table.
*
* @param boolean Toggle whether null values should be updated.
* @return boolean True on success, false on failure.
* @since 1.6
*/
public function store($updateNulls = false)
{
$date = JFactory::getDate();
$user = JFactory::getUser();
if ($this->id)
{
// Existing item
$this->modified = $date->toSql();
$this->modified_by = $user->get('id');
}
else
{
// New help_document. A help_document created and created_by field can be set by the user,
// so we don't touch either of these if they are set.
if (!(int) $this->created)
{
$this->created = $date->toSql();
}
if (empty($this->created_by))
{
$this->created_by = $user->get('id');
}
}
if (isset($this->alias))
{
// Verify that the alias is unique
$table = JTable::getInstance('help_document', 'DemoTable');
if ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->setError(JText::_('COM_DEMO_HELP_DOCUMENT_ERROR_UNIQUE_ALIAS'));
return false;
}
}
if (isset($this->url))
{
// Convert IDN urls to punycode
$this->url = JStringPunycode::urlToPunycode($this->url);
}
if (isset($this->website))
{
// Convert IDN urls to punycode
$this->website = JStringPunycode::urlToPunycode($this->website);
}
return parent::store($updateNulls);
}
/**
* Overloaded check method to ensure data integrity.
*
* @return boolean True on success.
*/
public function check()
{
if (isset($this->alias))
{
// Generate a valid alias
$this->generateAlias();
$table = JTable::getInstance('help_document', 'demoTable');
while ($table->load(array('alias' => $this->alias)) && ($table->id != $this->id || $this->id == 0))
{
$this->alias = JString::increment($this->alias, 'dash');
}
}
/*
* Clean up keywords -- eliminate extra spaces between phrases
* and cr (\r) and lf (\n) characters from string.
* Only process if not empty.
*/
if (!empty($this->metakey))
{
// Array of characters to remove.
$bad_characters = array("\n", "\r", "\"", "<", ">");
// Remove bad characters.
$after_clean = JString::str_ireplace($bad_characters, "", $this->metakey);
// Create array using commas as delimiter.
$keys = explode(',', $after_clean);
$clean_keys = array();
foreach ($keys as $key)
{
// Ignore blank keywords.
if (trim($key))
{
$clean_keys[] = trim($key);
}
}
// Put array back together delimited by ", "
$this->metakey = implode(", ", $clean_keys);
}
// Clean up description -- eliminate quotes and <> brackets
if (!empty($this->metadesc))
{
// Only process if not empty
$bad_characters = array("\"", "<", ">");
$this->metadesc = JString::str_ireplace($bad_characters, "", $this->metadesc);
}
// If we don't have any access rules set at this point just use an empty JAccessRules class
if (!$this->getRules())
{
$rules = $this->getDefaultAssetValues('com_demo.help_document.'.$this->id);
$this->setRules($rules);
}
// Set ordering
if ($this->published < 0)
{
// Set ordering to 0 if state is archived or trashed
$this->ordering = 0;
}
return true;
}
/**
* Gets the default asset values for a component.
*
* @param $string $component The component asset name to search for
*
* @return JAccessRules The JAccessRules object for the asset
*/
protected function getDefaultAssetValues($component, $try = true)
{
// Need to find the asset id by the name of the component.
$db = JFactory::getDbo();
$query = $db->getQuery(true)
->select($db->quoteName('id'))
->from($db->quoteName('#__assets'))
->where($db->quoteName('name') . ' = ' . $db->quote($component));
$db->setQuery($query);
$db->execute();
if ($db->loadRowList())
{
// asset alread set so use saved rules
$assetId = (int) $db->loadResult();
return JAccess::getAssetRules($assetId);
}
// try again
elseif ($try)
{
$try = explode('.',$component);
$result = $this->getDefaultAssetValues($try[0], false);
if ($result instanceof JAccessRules)
{
if (isset($try[1]))
{
$_result = (string) $result;
$_result = json_decode($_result);
foreach ($_result as $name => &$rule)
{
$v = explode('.', $name);
if ($try[1] !== $v[0])
{
// remove since it is not part of this view
unset($_result->$name);
}
else
{
// clear the value since we inherit
$rule = array();
}
}
// check if there are any view values remaining
if (count($_result))
{
$_result = json_encode($_result);
$_result = array($_result);
// Instantiate and return the JAccessRules object for the asset rules.
$rules = new JAccessRules;
$rules->mergeCollection($_result);
return $rules;
}
}
return $result;
}
}
return JAccess::getAssetRules(0);
}
/**
* Method to compute the default name of the asset.
* The default name is in the form 'table_name.id'
* where id is the value of the primary key of the table.
*
* @return string
* @since 2.5
*/
protected function _getAssetName()
{
$k = $this->_tbl_key;
return 'com_demo.help_document.'.(int) $this->$k;
}
/**
* Method to return the title to use for the asset table.
*
* @return string
* @since 2.5
*/
protected function _getAssetTitle()
{
if (isset($this->title))
{
return $this->title;
}
return '';
}
/**
* Get the parent asset id for the record
*
* @return int
* @since 2.5
*/
protected function _getAssetParentId(JTable $table = NULL, $id = NULL)
{
$asset = JTable::getInstance('Asset');
$asset->loadByName('com_demo');
return $asset->id;
}
/**
* Generate a valid alias from title / date.
* Remains public to be able to check for duplicated alias before saving
*
* @return string
*/
public function generateAlias()
{
if (empty($this->alias))
{
$this->alias = $this->name;
}
$this->alias = JApplication::stringURLSafe($this->alias);
if (trim(str_replace('-', '', $this->alias)) == '')
{
$this->alias = JFactory::getDate()->format("Y-m-d-H-i-s");
}
return $this->alias;
}
}

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage look.php @subpackage look.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default.php @subpackage default.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_main.php @subpackage default_main.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_vdm.php @subpackage default_vdm.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage view.html.php @subpackage view.html.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -1,213 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage edit.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive');
$componentParams = JComponentHelper::getParams('com_demo');
?>
<script type="text/javascript">
// waiting spinner
var outerDiv = jQuery('body');
jQuery('<div id="loading"></div>')
.css("background", "rgba(255, 255, 255, .8) url('components/com_demo/assets/images/import.gif') 50% 15% no-repeat")
.css("top", outerDiv.position().top - jQuery(window).scrollTop())
.css("left", outerDiv.position().left - jQuery(window).scrollLeft())
.css("width", outerDiv.width())
.css("height", outerDiv.height())
.css("position", "fixed")
.css("opacity", "0.80")
.css("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity = 80)")
.css("filter", "alpha(opacity = 80)")
.css("display", "none")
.appendTo(outerDiv);
jQuery('#loading').show();
// when page is ready remove and show
jQuery(window).load(function() {
jQuery('#demo_loader').fadeIn('fast');
jQuery('#loading').hide();
});
</script>
<div id="demo_loader" style="display: none;">
<form action="<?php echo JRoute::_('index.php?option=com_demo&layout=edit&id='.(int) $this->item->id.$this->referral); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
<?php echo JLayoutHelper::render('help_document.details_above', $this); ?><div class="form-horizontal">
<?php echo JHtml::_('bootstrap.startTabSet', 'help_documentTab', array('active' => 'details')); ?>
<?php echo JHtml::_('bootstrap.addTab', 'help_documentTab', 'details', JText::_('COM_DEMO_HELP_DOCUMENT_DETAILS', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span6">
<?php echo JLayoutHelper::render('help_document.details_left', $this); ?>
</div>
<div class="span6">
<?php echo JLayoutHelper::render('help_document.details_right', $this); ?>
</div>
</div>
<div class="row-fluid form-horizontal-desktop">
<div class="span12">
<?php echo JLayoutHelper::render('help_document.details_fullwidth', $this); ?>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php if ($this->canDo->get('help_document.delete') || $this->canDo->get('core.edit.created_by') || $this->canDo->get('help_document.edit.state') || $this->canDo->get('core.edit.created')) : ?>
<?php echo JHtml::_('bootstrap.addTab', 'help_documentTab', 'publishing', JText::_('COM_DEMO_HELP_DOCUMENT_PUBLISHING', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span6">
<?php echo JLayoutHelper::render('help_document.publishing', $this); ?>
</div>
<div class="span6">
<?php echo JLayoutHelper::render('help_document.metadata', $this); ?>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php if ($this->canDo->get('core.admin')) : ?>
<?php echo JHtml::_('bootstrap.addTab', 'help_documentTab', 'permissions', JText::_('COM_DEMO_HELP_DOCUMENT_PERMISSION', true)); ?>
<div class="row-fluid form-horizontal-desktop">
<div class="span12">
<fieldset class="adminform">
<div class="adminformlist">
<?php foreach ($this->form->getFieldset('accesscontrol') as $field): ?>
<div>
<?php echo $field->label; echo $field->input;?>
</div>
<div class="clearfix"></div>
<?php endforeach; ?>
</div>
</fieldset>
</div>
</div>
<?php echo JHtml::_('bootstrap.endTab'); ?>
<?php endif; ?>
<?php echo JHtml::_('bootstrap.endTabSet'); ?>
<div>
<input type="hidden" name="task" value="help_document.edit" />
<?php echo JHtml::_('form.token'); ?>
</div>
</div>
<div class="clearfix"></div>
<?php echo JLayoutHelper::render('help_document.details_under', $this); ?>
</form>
</div>
<script type="text/javascript">
// #jform_location listeners for location_vvvvvvx function
jQuery('#jform_location').on('keyup',function()
{
var location_vvvvvvx = jQuery("#jform_location input[type='radio']:checked").val();
vvvvvvx(location_vvvvvvx);
});
jQuery('#adminForm').on('change', '#jform_location',function (e)
{
e.preventDefault();
var location_vvvvvvx = jQuery("#jform_location input[type='radio']:checked").val();
vvvvvvx(location_vvvvvvx);
});
// #jform_location listeners for location_vvvvvvy function
jQuery('#jform_location').on('keyup',function()
{
var location_vvvvvvy = jQuery("#jform_location input[type='radio']:checked").val();
vvvvvvy(location_vvvvvvy);
});
jQuery('#adminForm').on('change', '#jform_location',function (e)
{
e.preventDefault();
var location_vvvvvvy = jQuery("#jform_location input[type='radio']:checked").val();
vvvvvvy(location_vvvvvvy);
});
// #jform_type listeners for type_vvvvvvz function
jQuery('#jform_type').on('keyup',function()
{
var type_vvvvvvz = jQuery("#jform_type").val();
vvvvvvz(type_vvvvvvz);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
{
e.preventDefault();
var type_vvvvvvz = jQuery("#jform_type").val();
vvvvvvz(type_vvvvvvz);
});
// #jform_type listeners for type_vvvvvwa function
jQuery('#jform_type').on('keyup',function()
{
var type_vvvvvwa = jQuery("#jform_type").val();
vvvvvwa(type_vvvvvwa);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
{
e.preventDefault();
var type_vvvvvwa = jQuery("#jform_type").val();
vvvvvwa(type_vvvvvwa);
});
// #jform_type listeners for type_vvvvvwb function
jQuery('#jform_type').on('keyup',function()
{
var type_vvvvvwb = jQuery("#jform_type").val();
vvvvvwb(type_vvvvvwb);
});
jQuery('#adminForm').on('change', '#jform_type',function (e)
{
e.preventDefault();
var type_vvvvvwb = jQuery("#jform_type").val();
vvvvvwb(type_vvvvvwb);
});
// #jform_target listeners for target_vvvvvwc function
jQuery('#jform_target').on('keyup',function()
{
var target_vvvvvwc = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvwc(target_vvvvvwc);
});
jQuery('#adminForm').on('change', '#jform_target',function (e)
{
e.preventDefault();
var target_vvvvvwc = jQuery("#jform_target input[type='radio']:checked").val();
vvvvvwc(target_vvvvvwc);
});
</script>

View File

@ -1,94 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage default.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// load tooltip behavior
JHtml::_('behavior.tooltip');
JHtml::_('behavior.multiselect');
JHtml::_('dropdown.init');
JHtml::_('formbehavior.chosen', 'select');
if ($this->saveOrder)
{
$saveOrderingUrl = 'index.php?option=com_demo&task=help_documents.saveOrderAjax&tmpl=component';
JHtml::_('sortablelist.sortable', 'help_documentList', 'adminForm', strtolower($this->listDirn), $saveOrderingUrl);
}
?>
<script type="text/javascript">
Joomla.orderTable = function()
{
table = document.getElementById("sortTable");
direction = document.getElementById("directionTable");
order = table.options[table.selectedIndex].value;
if (order != '<?php echo $this->listOrder; ?>')
{
dirn = 'asc';
}
else
{
dirn = direction.options[direction.selectedIndex].value;
}
Joomla.tableOrdering(order, dirn, '');
}
</script>
<form action="<?php echo JRoute::_('index.php?option=com_demo&view=help_documents'); ?>" method="post" name="adminForm" id="adminForm">
<?php if(!empty( $this->sidebar)): ?>
<div id="j-sidebar-container" class="span2">
<?php echo $this->sidebar; ?>
</div>
<div id="j-main-container" class="span10">
<?php else : ?>
<div id="j-main-container">
<?php endif; ?>
<?php if (empty($this->items)): ?>
<?php echo $this->loadTemplate('toolbar');?>
<div class="alert alert-no-items">
<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
</div>
<?php else : ?>
<?php echo $this->loadTemplate('toolbar');?>
<table class="table table-striped" id="help_documentList">
<thead><?php echo $this->loadTemplate('head');?></thead>
<tfoot><?php echo $this->loadTemplate('foot');?></tfoot>
<tbody><?php echo $this->loadTemplate('body');?></tbody>
</table>
<?php //Load the batch processing form. ?>
<?php if ($this->canCreate && $this->canEdit) : ?>
<?php echo JHtml::_(
'bootstrap.renderModal',
'collapseModal',
array(
'title' => JText::_('COM_DEMO_HELP_DOCUMENTS_BATCH_OPTIONS'),
'footer' => $this->loadTemplate('batch_footer')
),
$this->loadTemplate('batch_body')
); ?>
<?php endif; ?>
<input type="hidden" name="filter_order" value="" />
<input type="hidden" name="filter_order_Dir" value="" />
<input type="hidden" name="boxchecked" value="0" />
</div>
<?php endif; ?>
<input type="hidden" name="task" value="" />
<?php echo JHtml::_('form.token'); ?>
</form>

View File

@ -1,32 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage default_batch_footer.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<!-- clear the batch values if cancel -->
<button class="btn" type="button" onclick="" data-dismiss="modal">
<?php echo JText::_('JCANCEL'); ?>
</button>
<!-- post the batch values if process -->
<button class="btn btn-success" type="submit" onclick="Joomla.submitbutton('help_document.batch');">
<?php echo JText::_('JGLOBAL_BATCH_PROCESS'); ?>
</button>

View File

@ -1,118 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage default_body.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
$edit = "index.php?option=com_demo&view=help_documents&task=help_document.edit";
?>
<?php foreach ($this->items as $i => $item): ?>
<?php
$canCheckin = $this->user->authorise('core.manage', 'com_checkin') || $item->checked_out == $this->user->id || $item->checked_out == 0;
$userChkOut = JFactory::getUser($item->checked_out);
$canDo = DemoHelper::getActions('help_document',$item,'help_documents');
?>
<tr class="row<?php echo $i % 2; ?>">
<td class="order nowrap center hidden-phone">
<?php if ($canDo->get('help_document.edit.state')): ?>
<?php
if ($this->saveOrder)
{
$iconClass = ' inactive';
}
else
{
$iconClass = ' inactive tip-top" hasTooltip" title="' . JHtml::tooltipText('JORDERINGDISABLED');
}
?>
<span class="sortable-handler<?php echo $iconClass; ?>">
<i class="icon-menu"></i>
</span>
<?php if ($this->saveOrder) : ?>
<input type="text" style="display:none" name="order[]" size="5"
value="<?php echo $item->ordering; ?>" class="width-20 text-area-order " />
<?php endif; ?>
<?php else: ?>
&#8942;
<?php endif; ?>
</td>
<td class="nowrap center">
<?php if ($canDo->get('help_document.edit')): ?>
<?php if ($item->checked_out) : ?>
<?php if ($canCheckin) : ?>
<?php echo JHtml::_('grid.id', $i, $item->id); ?>
<?php else: ?>
&#9633;
<?php endif; ?>
<?php else: ?>
<?php echo JHtml::_('grid.id', $i, $item->id); ?>
<?php endif; ?>
<?php else: ?>
&#9633;
<?php endif; ?>
</td>
<td class="nowrap">
<?php if ($canDo->get('help_document.edit')): ?>
<div class="name">
<a href="<?php echo $edit; ?>&id=<?php echo $item->id; ?>"><?php echo $this->escape($item->title); ?></a>
<?php if ($item->checked_out): ?>
<?php echo JHtml::_('jgrid.checkedout', $i, $userChkOut->name, $item->checked_out_time, 'help_documents.', $canCheckin); ?>
<?php endif; ?>
</div>
<?php else: ?>
<div class="name"><?php echo $this->escape($item->title); ?></div>
<?php endif; ?>
</td>
<td class="hidden-phone">
<?php echo JText::_($item->type); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->groups); ?>
</td>
<td class="hidden-phone">
<?php echo JText::_($item->location); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->admin_view); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->site_view); ?>
</td>
<td class="center">
<?php if ($canDo->get('help_document.edit.state')) : ?>
<?php if ($item->checked_out) : ?>
<?php if ($canCheckin) : ?>
<?php echo JHtml::_('jgrid.published', $item->published, $i, 'help_documents.', true, 'cb'); ?>
<?php else: ?>
<?php echo JHtml::_('jgrid.published', $item->published, $i, 'help_documents.', false, 'cb'); ?>
<?php endif; ?>
<?php else: ?>
<?php echo JHtml::_('jgrid.published', $item->published, $i, 'help_documents.', true, 'cb'); ?>
<?php endif; ?>
<?php else: ?>
<?php echo JHtml::_('jgrid.published', $item->published, $i, 'help_documents.', false, 'cb'); ?>
<?php endif; ?>
</td>
<td class="nowrap center hidden-phone">
<?php echo $item->id; ?>
</td>
</tr>
<?php endforeach; ?>

View File

@ -1,71 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage default_head.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<tr>
<?php if ($this->canEdit&& $this->canState): ?>
<th width="1%" class="nowrap center hidden-phone">
<?php echo JHtml::_('grid.sort', '<i class="icon-menu-2"></i>', 'ordering', $this->listDirn, $this->listOrder, null, 'asc', 'JGRID_HEADING_ORDERING'); ?>
</th>
<th width="20" class="nowrap center">
<?php echo JHtml::_('grid.checkall'); ?>
</th>
<?php else: ?>
<th width="20" class="nowrap center hidden-phone">
&#9662;
</th>
<th width="20" class="nowrap center">
&#9632;
</th>
<?php endif; ?>
<th class="nowrap" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_HELP_DOCUMENT_TITLE_LABEL', 'title', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_HELP_DOCUMENT_TYPE_LABEL', 'type', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JText::_('COM_DEMO_HELP_DOCUMENT_GROUPS_LABEL'); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_HELP_DOCUMENT_LOCATION_LABEL', 'location', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_HELP_DOCUMENT_ADMIN_VIEW_LABEL', 'admin_view', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_HELP_DOCUMENT_SITE_VIEW_LABEL', 'site_view', $this->listDirn, $this->listOrder); ?>
</th>
<?php if ($this->canState): ?>
<th width="10" class="nowrap center" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_HELP_DOCUMENT_STATUS', 'published', $this->listDirn, $this->listOrder); ?>
</th>
<?php else: ?>
<th width="10" class="nowrap center" >
<?php echo JText::_('COM_DEMO_HELP_DOCUMENT_STATUS'); ?>
</th>
<?php endif; ?>
<th width="5" class="nowrap center hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_HELP_DOCUMENT_ID', 'id', $this->listDirn, $this->listOrder); ?>
</th>
</tr>

View File

@ -1,54 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage default_toolbar.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
?>
<div id="filter-bar" class="btn-toolbar">
<div class="filter-search btn-group pull-left">
<label for="filter_search" class="element-invisible"><?php echo JText::_('Search');?></label>
<input type="text" name="filter_search" id="filter_search" placeholder="<?php echo JText::_('JSEARCH_FILTER'); ?>" value="<?php echo $this->escape($this->state->get('filter.search')); ?>" class="hasTooltip" title="<?php echo JHtml::tooltipText('Search Help_documents'); ?>" />
</div>
<div class="btn-group pull-left">
<button type="submit" class="btn hasTooltip" title="<?php echo JHtml::tooltipText('JSEARCH_FILTER_SUBMIT'); ?>"><i class="icon-search"></i></button>
<button type="button" class="btn hasTooltip" title="<?php echo JHtml::tooltipText('JSEARCH_FILTER_CLEAR'); ?>" onclick="document.id('filter_search').value='';this.form.submit();"><i class="icon-remove"></i></button>
</div>
<div class="btn-group pull-right hidden-phone">
<label for="limit" class="element-invisible"><?php echo JText::_('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC');?></label>
<?php echo $this->pagination->getLimitBox(); ?>
</div>
<div class="btn-group pull-right hidden-phone">
<label for="directionTable" class="element-invisible"><?php echo JText::_('JFIELD_ORDERING_DESC');?></label>
<select name="directionTable" id="directionTable" class="input-medium" onchange="Joomla.orderTable()">
<option value=""><?php echo JText::_('JFIELD_ORDERING_DESC');?></option>
<option value="asc" <?php if ($this->listDirn == 'asc') echo 'selected="selected"'; ?>><?php echo JText::_('JGLOBAL_ORDER_ASCENDING');?></option>
<option value="desc" <?php if ($this->listDirn == 'desc') echo 'selected="selected"'; ?>><?php echo JText::_('JGLOBAL_ORDER_DESCENDING');?></option>
</select>
</div>
<div class="btn-group pull-right">
<label for="sortTable" class="element-invisible"><?php echo JText::_('JGLOBAL_SORT_BY');?></label>
<select name="sortTable" id="sortTable" class="input-medium" onchange="Joomla.orderTable()">
<option value=""><?php echo JText::_('JGLOBAL_SORT_BY');?></option>
<?php echo JHtml::_('select.options', $this->getSortFields(), 'value', 'text', $this->listOrder);?>
</select>
</div>
</div>
<div class="clearfix"> </div>

View File

@ -1,473 +0,0 @@
<?php
/*----------------------------------------------------------------------------------| www.vdm.io |----/
Vast Development Method
/-------------------------------------------------------------------------------------------------------/
@version 1.0.5
@build 13th July, 2016
@created 5th August, 2015
@package Demo
@subpackage view.html.php
@author Llewellyn van der Merwe <https://www.vdm.io/>
@copyright Copyright (C) 2015. All Rights Reserved
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
____ _____ _____ __ __ __ __ ___ _____ __ __ ____ _____ _ _ ____ _ _ ____
(_ _)( _ )( _ )( \/ )( ) /__\ / __)( _ )( \/ )( _ \( _ )( \( )( ___)( \( )(_ _)
.-_)( )(_)( )(_)( ) ( )(__ /(__)\ ( (__ )(_)( ) ( )___/ )(_)( ) ( )__) ) ( )(
\____) (_____)(_____)(_/\/\_)(____)(__)(__) \___)(_____)(_/\/\_)(__) (_____)(_)\_)(____)(_)\_) (__)
/------------------------------------------------------------------------------------------------------*/
// No direct access to this file
defined('_JEXEC') or die('Restricted access');
// import Joomla view library
jimport('joomla.application.component.view');
/**
* Demo View class for the Help_documents
*/
class DemoViewHelp_documents extends JViewLegacy
{
/**
* Help_documents view display method
* @return void
*/
function display($tpl = null)
{
if ($this->getLayout() !== 'modal')
{
// Include helper submenu
DemoHelper::addSubmenu('help_documents');
}
// Check for errors.
if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors));
return false;
}
// Assign data to the view
$this->items = $this->get('Items');
$this->pagination = $this->get('Pagination');
$this->state = $this->get('State');
$this->user = JFactory::getUser();
$this->listOrder = $this->escape($this->state->get('list.ordering'));
$this->listDirn = $this->escape($this->state->get('list.direction'));
$this->saveOrder = $this->listOrder == 'ordering';
// get global action permissions
$this->canDo = DemoHelper::getActions('help_document');
$this->canEdit = $this->canDo->get('help_document.edit');
$this->canState = $this->canDo->get('help_document.edit.state');
$this->canCreate = $this->canDo->get('help_document.create');
$this->canDelete = $this->canDo->get('help_document.delete');
$this->canBatch = $this->canDo->get('core.batch');
// We don't need toolbar in the modal window.
if ($this->getLayout() !== 'modal')
{
$this->addToolbar();
$this->sidebar = JHtmlSidebar::render();
// load the batch html
if ($this->canCreate && $this->canEdit && $this->canState)
{
$this->batchDisplay = JHtmlBatch_::render();
}
}
// Display the template
parent::display($tpl);
// Set the document
$this->setDocument();
}
/**
* Setting the toolbar
*/
protected function addToolBar()
{
JToolBarHelper::title(JText::_('COM_DEMO_HELP_DOCUMENTS'), 'support');
JHtmlSidebar::setAction('index.php?option=com_demo&view=help_documents');
JFormHelper::addFieldPath(JPATH_COMPONENT . '/models/fields');
if ($this->canCreate)
{
JToolBarHelper::addNew('help_document.add');
}
// Only load if there are items
if (DemoHelper::checkArray($this->items))
{
if ($this->canEdit)
{
JToolBarHelper::editList('help_document.edit');
}
if ($this->canState)
{
JToolBarHelper::publishList('help_documents.publish');
JToolBarHelper::unpublishList('help_documents.unpublish');
JToolBarHelper::archiveList('help_documents.archive');
if ($this->canDo->get('core.admin'))
{
JToolBarHelper::checkin('help_documents.checkin');
}
}
// Add a batch button
if ($this->canBatch && $this->canCreate && $this->canEdit && $this->canState)
{
// Get the toolbar object instance
$bar = JToolBar::getInstance('toolbar');
// set the batch button name
$title = JText::_('JTOOLBAR_BATCH');
// Instantiate a new JLayoutFile instance and render the batch button
$layout = new JLayoutFile('joomla.toolbar.batch');
// add the button to the page
$dhtml = $layout->render(array('title' => $title));
$bar->appendButton('Custom', $dhtml, 'batch');
}
if ($this->state->get('filter.published') == -2 && ($this->canState && $this->canDelete))
{
JToolbarHelper::deleteList('', 'help_documents.delete', 'JTOOLBAR_EMPTY_TRASH');
}
elseif ($this->canState && $this->canDelete)
{
JToolbarHelper::trash('help_documents.trash');
}
if ($this->canDo->get('core.export') && $this->canDo->get('help_document.export'))
{
JToolBarHelper::custom('help_documents.exportData', 'download', '', 'COM_DEMO_EXPORT_DATA', true);
}
}
if ($this->canDo->get('core.import') && $this->canDo->get('help_document.import'))
{
JToolBarHelper::custom('help_documents.importData', 'upload', '', 'COM_DEMO_IMPORT_DATA', false);
}
// set help url for this view if found
$help_url = DemoHelper::getHelpUrl('help_documents');
if (DemoHelper::checkString($help_url))
{
JToolbarHelper::help('COM_DEMO_HELP_MANAGER', false, $help_url);
}
// add the options comp button
if ($this->canDo->get('core.admin') || $this->canDo->get('core.options'))
{
JToolBarHelper::preferences('com_demo');
}
if ($this->canState)
{
JHtmlSidebar::addFilter(
JText::_('JOPTION_SELECT_PUBLISHED'),
'filter_published',
JHtml::_('select.options', JHtml::_('jgrid.publishedOptions'), 'value', 'text', $this->state->get('filter.published'), true)
);
// only load if batch allowed
if ($this->canBatch)
{
JHtmlBatch_::addListSelection(
JText::_('COM_DEMO_KEEP_ORIGINAL_STATE'),
'batch[published]',
JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('all' => false)), 'value', 'text', '', true)
);
}
}
JHtmlSidebar::addFilter(
JText::_('JOPTION_SELECT_ACCESS'),
'filter_access',
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
JHtmlBatch_::addListSelection(
JText::_('COM_DEMO_KEEP_ORIGINAL_ACCESS'),
'batch[access]',
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text')
);
}
// Set Type Selection
$this->typeOptions = $this->getTheTypeSelections();
if ($this->typeOptions)
{
// Type Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_DEMO_HELP_DOCUMENT_TYPE_LABEL').' -',
'filter_type',
JHtml::_('select.options', $this->typeOptions, 'value', 'text', $this->state->get('filter.type'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Type Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_DEMO_HELP_DOCUMENT_TYPE_LABEL').' -',
'batch[type]',
JHtml::_('select.options', $this->typeOptions, 'value', 'text')
);
}
}
// Set Location Selection
$this->locationOptions = $this->getTheLocationSelections();
if ($this->locationOptions)
{
// Location Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_DEMO_HELP_DOCUMENT_LOCATION_LABEL').' -',
'filter_location',
JHtml::_('select.options', $this->locationOptions, 'value', 'text', $this->state->get('filter.location'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Location Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_DEMO_HELP_DOCUMENT_LOCATION_LABEL').' -',
'batch[location]',
JHtml::_('select.options', $this->locationOptions, 'value', 'text')
);
}
}
// Set Admin View Selection
$this->admin_viewOptions = $this->getTheAdmin_viewSelections();
if ($this->admin_viewOptions)
{
// Admin View Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_DEMO_HELP_DOCUMENT_ADMIN_VIEW_LABEL').' -',
'filter_admin_view',
JHtml::_('select.options', $this->admin_viewOptions, 'value', 'text', $this->state->get('filter.admin_view'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Admin View Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_DEMO_HELP_DOCUMENT_ADMIN_VIEW_LABEL').' -',
'batch[admin_view]',
JHtml::_('select.options', $this->admin_viewOptions, 'value', 'text')
);
}
}
// Set Site View Selection
$this->site_viewOptions = $this->getTheSite_viewSelections();
if ($this->site_viewOptions)
{
// Site View Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_DEMO_HELP_DOCUMENT_SITE_VIEW_LABEL').' -',
'filter_site_view',
JHtml::_('select.options', $this->site_viewOptions, 'value', 'text', $this->state->get('filter.site_view'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Site View Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_DEMO_HELP_DOCUMENT_SITE_VIEW_LABEL').' -',
'batch[site_view]',
JHtml::_('select.options', $this->site_viewOptions, 'value', 'text')
);
}
}
}
/**
* Method to set up the document properties
*
* @return void
*/
protected function setDocument()
{
$document = JFactory::getDocument();
$document->setTitle(JText::_('COM_DEMO_HELP_DOCUMENTS'));
$document->addStyleSheet(JURI::root() . "administrator/components/com_demo/assets/css/help_documents.css");
}
/**
* Escapes a value for output in a view script.
*
* @param mixed $var The output to escape.
*
* @return mixed The escaped value.
*/
public function escape($var)
{
if(strlen($var) > 50)
{
// use the helper htmlEscape method instead and shorten the string
return DemoHelper::htmlEscape($var, $this->_charset, true);
}
// use the helper htmlEscape method instead.
return DemoHelper::htmlEscape($var, $this->_charset);
}
/**
* Returns an array of fields the table can be sorted by
*
* @return array Array containing the field name to sort by as the key and display text as value
*/
protected function getSortFields()
{
return array(
'a.sorting' => JText::_('JGRID_HEADING_ORDERING'),
'a.published' => JText::_('JSTATUS'),
'a.title' => JText::_('COM_DEMO_HELP_DOCUMENT_TITLE_LABEL'),
'a.type' => JText::_('COM_DEMO_HELP_DOCUMENT_TYPE_LABEL'),
'a.location' => JText::_('COM_DEMO_HELP_DOCUMENT_LOCATION_LABEL'),
'a.admin_view' => JText::_('COM_DEMO_HELP_DOCUMENT_ADMIN_VIEW_LABEL'),
'a.site_view' => JText::_('COM_DEMO_HELP_DOCUMENT_SITE_VIEW_LABEL'),
'a.id' => JText::_('JGRID_HEADING_ID')
);
}
protected function getTheTypeSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('type'));
$query->from($db->quoteName('#__demo_help_document'));
$query->order($db->quoteName('type') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$filter = array();
foreach ($results as $type)
{
// Translate the type selection
$text = $model->selectionTranslation($type,'type');
// Now add the type and its text to the options array
$filter[] = JHtml::_('select.option', $type, JText::_($text));
}
return $filter;
}
return false;
}
protected function getTheLocationSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('location'));
$query->from($db->quoteName('#__demo_help_document'));
$query->order($db->quoteName('location') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$filter = array();
foreach ($results as $location)
{
// Translate the location selection
$text = $model->selectionTranslation($location,'location');
// Now add the location and its text to the options array
$filter[] = JHtml::_('select.option', $location, JText::_($text));
}
return $filter;
}
return false;
}
protected function getTheAdmin_viewSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('admin_view'));
$query->from($db->quoteName('#__demo_help_document'));
$query->order($db->quoteName('admin_view') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
$results = array_unique($results);
$filter = array();
foreach ($results as $admin_view)
{
// Now add the admin_view and its text to the options array
$filter[] = JHtml::_('select.option', $admin_view, $admin_view);
}
return $filter;
}
return false;
}
protected function getTheSite_viewSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('site_view'));
$query->from($db->quoteName('#__demo_help_document'));
$query->order($db->quoteName('site_view') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
$results = array_unique($results);
$filter = array();
foreach ($results as $site_view)
{
// Now add the site_view and its text to the options array
$filter[] = JHtml::_('select.option', $site_view, $site_view);
}
return $filter;
}
return false;
}
}

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default.php @subpackage default.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage view.html.php @subpackage view.html.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -44,7 +44,8 @@ class DemoViewImport extends JViewLegacy
} }
// Check for errors. // Check for errors.
if (count($errors = $this->get('Errors'))){ if (count($errors = $this->get('Errors')))
{
JError::raiseError(500, implode('<br />', $errors)); JError::raiseError(500, implode('<br />', $errors));
return false; return false;
} }

View File

@ -2,9 +2,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage submitbutton.js @subpackage submitbutton.js
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage edit.php @subpackage edit.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -28,7 +28,29 @@ JHtml::_('formbehavior.chosen', 'select');
JHtml::_('behavior.keepalive'); JHtml::_('behavior.keepalive');
$componentParams = JComponentHelper::getParams('com_demo'); $componentParams = JComponentHelper::getParams('com_demo');
?> ?>
<div id="demo_loader"> <script type="text/javascript">
// waiting spinner
var outerDiv = jQuery('body');
jQuery('<div id="loading"></div>')
.css("background", "rgba(255, 255, 255, .8) url('components/com_demo/assets/images/import.gif') 50% 15% no-repeat")
.css("top", outerDiv.position().top - jQuery(window).scrollTop())
.css("left", outerDiv.position().left - jQuery(window).scrollLeft())
.css("width", outerDiv.width())
.css("height", outerDiv.height())
.css("position", "fixed")
.css("opacity", "0.80")
.css("-ms-filter", "progid:DXImageTransform.Microsoft.Alpha(Opacity = 80)")
.css("filter", "alpha(opacity = 80)")
.css("display", "none")
.appendTo(outerDiv);
jQuery('#loading').show();
// when page is ready remove and show
jQuery(window).load(function() {
jQuery('#demo_loader').fadeIn('fast');
jQuery('#loading').hide();
});
</script>
<div id="demo_loader" style="display: none;">
<form action="<?php echo JRoute::_('index.php?option=com_demo&layout=edit&id='.(int) $this->item->id.$this->referral); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data"> <form action="<?php echo JRoute::_('index.php?option=com_demo&layout=edit&id='.(int) $this->item->id.$this->referral); ?>" method="post" name="adminForm" id="adminForm" class="form-validate" enctype="multipart/form-data">
<?php echo JLayoutHelper::render('look.details_above', $this); ?><div class="form-horizontal"> <?php echo JLayoutHelper::render('look.details_above', $this); ?><div class="form-horizontal">
@ -37,22 +59,21 @@ $componentParams = JComponentHelper::getParams('com_demo');
<?php echo JHtml::_('bootstrap.addTab', 'lookTab', 'details', JText::_('COM_DEMO_LOOK_DETAILS', true)); ?> <?php echo JHtml::_('bootstrap.addTab', 'lookTab', 'details', JText::_('COM_DEMO_LOOK_DETAILS', true)); ?>
<div class="row-fluid form-horizontal-desktop"> <div class="row-fluid form-horizontal-desktop">
<div class="span6"> </div>
<?php echo JLayoutHelper::render('look.details_left', $this); ?> <div class="row-fluid form-horizontal-desktop">
</div> <div class="span12">
<div class="span6"> <?php echo JLayoutHelper::render('look.details_fullwidth', $this); ?>
<?php echo JLayoutHelper::render('look.details_right', $this); ?>
</div> </div>
</div> </div>
<?php echo JHtml::_('bootstrap.endTab'); ?> <?php echo JHtml::_('bootstrap.endTab'); ?>
<?php echo JHtml::_('bootstrap.addTab', 'lookTab', 'repetable_numbers', JText::_('COM_DEMO_LOOK_REPETABLE_NUMBERS', true)); ?> <?php echo JHtml::_('bootstrap.addTab', 'lookTab', 'more', JText::_('COM_DEMO_LOOK_MORE', true)); ?>
<div class="row-fluid form-horizontal-desktop"> <div class="row-fluid form-horizontal-desktop">
<div class="span6"> <div class="span6">
<?php echo JLayoutHelper::render('look.repetable_numbers_left', $this); ?> <?php echo JLayoutHelper::render('look.more_left', $this); ?>
</div> </div>
<div class="span6"> <div class="span6">
<?php echo JLayoutHelper::render('look.repetable_numbers_right', $this); ?> <?php echo JLayoutHelper::render('look.more_right', $this); ?>
</div> </div>
</div> </div>
<?php echo JHtml::_('bootstrap.endTab'); ?> <?php echo JHtml::_('bootstrap.endTab'); ?>
@ -104,70 +125,19 @@ $componentParams = JComponentHelper::getParams('com_demo');
<script type="text/javascript"> <script type="text/javascript">
// #jform_name listeners for name_vvvvvvv function // #jform_add listeners for add_vvvvvvv function
jQuery('#jform_name').on('keyup',function()
{
var name_vvvvvvv = jQuery("#jform_name").val();
vvvvvvv(name_vvvvvvv);
});
jQuery('#adminForm').on('change', '#jform_name',function (e)
{
e.preventDefault();
var name_vvvvvvv = jQuery("#jform_name").val();
vvvvvvv(name_vvvvvvv);
});
// #jform_add listeners for add_vvvvvvw function
jQuery('#jform_add').on('keyup',function() jQuery('#jform_add').on('keyup',function()
{ {
var add_vvvvvvw = jQuery("#jform_add input[type='radio']:checked").val(); var add_vvvvvvv = jQuery("#jform_add input[type='radio']:checked").val();
vvvvvvw(add_vvvvvvw); vvvvvvv(add_vvvvvvv);
}); });
jQuery('#adminForm').on('change', '#jform_add',function (e) jQuery('#adminForm').on('change', '#jform_add',function (e)
{ {
e.preventDefault(); e.preventDefault();
var add_vvvvvvw = jQuery("#jform_add input[type='radio']:checked").val(); var add_vvvvvvv = jQuery("#jform_add input[type='radio']:checked").val();
vvvvvvw(add_vvvvvvw); vvvvvvv(add_vvvvvvv);
}); });
jQuery('input.form-field-repeatable').on('value-update', function(e, value){
if (value)
{
buildTable(value,e.currentTarget.id);
}
});
jQuery('input.form-field-repeatable').on('row-add', function(e, row) {
if ("jform_male" == e.currentTarget.id)
{
setSelection('male');
updateSelection(row);
}
else if("jform_female" == e.currentTarget.id)
{
setSelection('female');
updateSelection(row);
}
});
var AgeGroup = new Array;
function setSelection(gender)
{
AgeGroup.length = 0;
<?php $fieldNrs = range(1,9,1); ?>
<?php foreach($fieldNrs as $fieldNr): ?>
// get options
var age_<?php echo $fieldNr ?> = jQuery("#jform_"+gender+"_fields_age-<?php echo $fieldNr ?> option:selected").val();
if (age_<?php echo $fieldNr ?>)
{
AgeGroup.push(age_<?php echo $fieldNr ?>);
}
<?php endforeach; ?>
}
</script> </script>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage view.html.php @subpackage view.html.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default.php @subpackage default.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_batch_body.php @subpackage default_batch_body.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_batch_footer.php @subpackage default_batch_footer.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_body.php @subpackage default_body.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -84,15 +84,6 @@ $edit = "index.php?option=com_demo&view=looks&task=look.edit";
<td class="hidden-phone"> <td class="hidden-phone">
<?php echo $this->escape($item->description); ?> <?php echo $this->escape($item->description); ?>
</td> </td>
<td class="hidden-phone">
<?php echo JText::_($item->add); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->acronym); ?>
</td>
<td class="hidden-phone">
<?php echo $this->escape($item->website); ?>
</td>
<td class="center"> <td class="center">
<?php if ($canDo->get('look.edit.state')) : ?> <?php if ($canDo->get('look.edit.state')) : ?>
<?php if ($item->checked_out) : ?> <?php if ($item->checked_out) : ?>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_foot.php @subpackage default_foot.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -23,5 +23,5 @@ defined('_JEXEC') or die('Restricted access');
?> ?>
<tr> <tr>
<td colspan="9"><?php echo $this->pagination->getListFooter(); ?></td> <td colspan="6"><?php echo $this->pagination->getListFooter(); ?></td>
</tr> </tr>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_head.php @subpackage default_head.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -44,15 +44,6 @@ defined('_JEXEC') or die('Restricted access');
<th class="nowrap hidden-phone" > <th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_LOOK_DESCRIPTION_LABEL', 'description', $this->listDirn, $this->listOrder); ?> <?php echo JHtml::_('grid.sort', 'COM_DEMO_LOOK_DESCRIPTION_LABEL', 'description', $this->listDirn, $this->listOrder); ?>
</th> </th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_LOOK_ADD_LABEL', 'add', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_LOOK_ACRONYM_LABEL', 'acronym', $this->listDirn, $this->listOrder); ?>
</th>
<th class="nowrap hidden-phone" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_LOOK_WEBSITE_LABEL', 'website', $this->listDirn, $this->listOrder); ?>
</th>
<?php if ($this->canState): ?> <?php if ($this->canState): ?>
<th width="10" class="nowrap center" > <th width="10" class="nowrap center" >
<?php echo JHtml::_('grid.sort', 'COM_DEMO_LOOK_STATUS', 'published', $this->listDirn, $this->listOrder); ?> <?php echo JHtml::_('grid.sort', 'COM_DEMO_LOOK_STATUS', 'published', $this->listDirn, $this->listOrder); ?>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage default_toolbar.php @subpackage default_toolbar.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>

View File

@ -3,9 +3,9 @@
Vast Development Method Vast Development Method
/-------------------------------------------------------------------------------------------------------/ /-------------------------------------------------------------------------------------------------------/
@version 1.0.5 @version 2.0.0
@build 13th July, 2016 @build 8th April, 2017
@created 5th August, 2015 @created 18th October, 2016
@package Demo @package Demo
@subpackage view.html.php @subpackage view.html.php
@author Llewellyn van der Merwe <https://www.vdm.io/> @author Llewellyn van der Merwe <https://www.vdm.io/>
@ -195,51 +195,7 @@ class DemoViewLooks extends JViewLegacy
'batch[access]', 'batch[access]',
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text') JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text')
); );
} }
// Set Add Selection
$this->addOptions = $this->getTheAddSelections();
if ($this->addOptions)
{
// Add Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_DEMO_LOOK_ADD_LABEL').' -',
'filter_add',
JHtml::_('select.options', $this->addOptions, 'value', 'text', $this->state->get('filter.add'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Add Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_DEMO_LOOK_ADD_LABEL').' -',
'batch[add]',
JHtml::_('select.options', $this->addOptions, 'value', 'text')
);
}
}
// Set Acronym Selection
$this->acronymOptions = $this->getTheAcronymSelections();
if ($this->acronymOptions)
{
// Acronym Filter
JHtmlSidebar::addFilter(
'- Select '.JText::_('COM_DEMO_LOOK_ACRONYM_LABEL').' -',
'filter_acronym',
JHtml::_('select.options', $this->acronymOptions, 'value', 'text', $this->state->get('filter.acronym'))
);
if ($this->canBatch && $this->canCreate && $this->canEdit)
{
// Acronym Batch Selection
JHtmlBatch_::addListSelection(
'- Keep Original '.JText::_('COM_DEMO_LOOK_ACRONYM_LABEL').' -',
'batch[acronym]',
JHtml::_('select.options', $this->acronymOptions, 'value', 'text')
);
}
}
} }
/** /**
@ -284,78 +240,7 @@ class DemoViewLooks extends JViewLegacy
'a.published' => JText::_('JSTATUS'), 'a.published' => JText::_('JSTATUS'),
'a.name' => JText::_('COM_DEMO_LOOK_NAME_LABEL'), 'a.name' => JText::_('COM_DEMO_LOOK_NAME_LABEL'),
'a.description' => JText::_('COM_DEMO_LOOK_DESCRIPTION_LABEL'), 'a.description' => JText::_('COM_DEMO_LOOK_DESCRIPTION_LABEL'),
'a.add' => JText::_('COM_DEMO_LOOK_ADD_LABEL'),
'a.acronym' => JText::_('COM_DEMO_LOOK_ACRONYM_LABEL'),
'a.website' => JText::_('COM_DEMO_LOOK_WEBSITE_LABEL'),
'a.id' => JText::_('JGRID_HEADING_ID') 'a.id' => JText::_('JGRID_HEADING_ID')
); );
} }
protected function getTheAddSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('add'));
$query->from($db->quoteName('#__demo_look'));
$query->order($db->quoteName('add') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
// get model
$model = $this->getModel();
$results = array_unique($results);
$filter = array();
foreach ($results as $add)
{
// Translate the add selection
$text = $model->selectionTranslation($add,'add');
// Now add the add and its text to the options array
$filter[] = JHtml::_('select.option', $add, JText::_($text));
}
return $filter;
}
return false;
}
protected function getTheAcronymSelections()
{
// Get a db connection.
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
// Select the text.
$query->select($db->quoteName('acronym'));
$query->from($db->quoteName('#__demo_look'));
$query->order($db->quoteName('acronym') . ' ASC');
// Reset the query using our newly populated query object.
$db->setQuery($query);
$results = $db->loadColumn();
if ($results)
{
$results = array_unique($results);
$filter = array();
foreach ($results as $acronym)
{
// Now add the acronym and its text to the options array
$filter[] = JHtml::_('select.option', $acronym, $acronym);
}
return $filter;
}
return false;
}
} }

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.2" method="upgrade"> <extension type="component" version="3.2" method="upgrade">
<name>COM_DEMO</name> <name>COM_DEMO</name>
<creationDate>13th July, 2016</creationDate> <creationDate>8th April, 2017</creationDate>
<author>Llewellyn van der Merwe</author> <author>Llewellyn van der Merwe</author>
<authorEmail>info@vdm.io</authorEmail> <authorEmail>info@vdm.io</authorEmail>
<authorUrl>https://www.vdm.io/</authorUrl> <authorUrl>https://www.vdm.io/</authorUrl>
<copyright>Copyright (C) 2015. All Rights Reserved</copyright> <copyright>Copyright (C) 2015. All Rights Reserved</copyright>
<license>GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html</license> <license>GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html</license>
<version>1.0.5</version> <version>2.0.0</version>
<description><![CDATA[ <description><![CDATA[
<h1>Demo (v.1.0.5)</h1> <h1>Demo (v.2.0.0)</h1>
<div style="clear: both;"></div> <div style="clear: both;"></div>
<p>Just a basic demo of the most basic implementations of the [Joomla] (http://www.joomla.org) Component Builder's ability.</p> <p>Just a basic demo of the most basic implementations of the [Joomla] (http://www.joomla.org) Component Builder's ability.</p>
<p>Created by <a href="https://www.vdm.io/" target="_blank">Llewellyn van der Merwe</a><br /><small>Development started 5th August, 2015</small></p> <p>Created by <a href="https://www.vdm.io/" target="_blank">Llewellyn van der Merwe</a><br /><small>Development started 18th October, 2016</small></p>
]]></description> ]]></description>
<!-- Runs on install; New in Joomla 1.5 --> <!-- Runs on install; New in Joomla 1.5 -->
@ -36,7 +36,8 @@
<filename>index.html</filename> <filename>index.html</filename>
<folder>js</folder> <folder>js</folder>
<folder>css</folder> <folder>css</folder>
<folder>images</folder> <folder>images</folder>
<folder>uikit</folder>
</media> </media>
<!-- Update Schema; New in Joomla 2.5 --> <!-- Update Schema; New in Joomla 2.5 -->
@ -60,7 +61,7 @@
</files> </files>
<languages folder="site"> <languages folder="site">
<language tag="en-GB">language/en-GB/en-GB.com_demo.ini</language> <language tag="en-GB">language/en-GB/en-GB.com_demo.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_demo.sys.ini</language> <language tag="en-GB">language/en-GB/en-GB.com_demo.sys.ini</language>
</languages> </languages>
@ -68,15 +69,15 @@
<menu>COM_DEMO_MENU</menu> <menu>COM_DEMO_MENU</menu>
<submenu> <submenu>
<!-- Instead of link you can specify individual link attributes --> <!-- Instead of link you can specify individual link attributes -->
<menu option="com_demo" view="looks">COM_DEMO_MENU_LOOKS</menu> <menu option="com_demo" view="looks">COM_DEMO_MENU_LOOKS</menu>
<menu option="com_demo" view="help_documents">COM_DEMO_MENU_HELP_DOCUMENTS</menu>
</submenu> </submenu>
<files folder="admin"> <files folder="admin">
<filename>access.xml</filename> <filename>access.xml</filename>
<filename>config.xml</filename> <filename>config.xml</filename>
<filename>controller.php</filename> <filename>controller.php</filename>
<filename>index.html</filename> <filename>index.html</filename>
<filename>demo.php</filename> <filename>demo.php</filename>
<filename>README.txt</filename>
<folder>assets</folder> <folder>assets</folder>
<folder>controllers</folder> <folder>controllers</folder>
<folder>helpers</folder> <folder>helpers</folder>
@ -88,7 +89,7 @@
</files> </files>
<languages folder="admin"> <languages folder="admin">
<language tag="en-GB">language/en-GB/en-GB.com_demo.ini</language> <language tag="en-GB">language/en-GB/en-GB.com_demo.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_demo.sys.ini</language> <language tag="en-GB">language/en-GB/en-GB.com_demo.sys.ini</language>
</languages> </languages>

36
demo_update_server.xml Normal file
View File

@ -0,0 +1,36 @@
<updates>
<update>
<name>Demo</name>
<description>Demo Component</description>
<element>com_demo</element>
<type>component</type>
<version>1.0.5</version>
<infourl title="Demo!">https://www.vdm.io/</infourl>
<downloads>
<downloadurl type="full" format="zip">https://github.com/namibia/demo-joomla-3-component/archive/v1.0.5.zip</downloadurl>
</downloads>
<tags>
<tag>stable</tag>
</tags>
<maintainer>Llewellyn van der Merwe</maintainer>
<maintainerurl>https://www.vdm.io/</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
<update>
<name>Demo</name>
<description>Demo Component</description>
<element>com_demo</element>
<type>component</type>
<version>2.0.0</version>
<infourl title="Demo!">https://www.vdm.io/</infourl>
<downloads>
<downloadurl type="full" format="zip">https://github.com/namibia/demo-joomla-3-component/archive/v2.0.0.zip</downloadurl>
</downloads>
<tags>
<tag>stable</tag>
</tags>
<maintainer>Llewellyn van der Merwe</maintainer>
<maintainerurl>https://www.vdm.io/</maintainerurl>
<targetplatform name="joomla" version="3.*"/>
</update>
</updates>

View File

@ -0,0 +1,39 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Accordion
========================================================================== */
/* Sub-object: `uk-accordion-title`
========================================================================== */
.uk-accordion-title {
margin-top: 0;
margin-bottom: 15px;
padding: 5px 15px;
background: #f5f5f5;
font-size: 18px;
line-height: 24px;
cursor: pointer;
border: 1px solid #dddddd;
border-radius: 4px;
}
/* Sub-object: `uk-accordion-content`
========================================================================== */
.uk-accordion-content {
padding: 0 15px 15px 15px;
}
/*
* Micro clearfix to make panels more robust
*/
.uk-accordion-content:before,
.uk-accordion-content:after {
content: "";
display: table;
}
.uk-accordion-content:after {
clear: both;
}
/*
* Remove margin from the last-child
*/
.uk-accordion-content > :last-child {
margin-bottom: 0;
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f5f5f5;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0}

View File

@ -0,0 +1,37 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Accordion
========================================================================== */
/* Sub-object: `uk-accordion-title`
========================================================================== */
.uk-accordion-title {
margin-top: 0;
margin-bottom: 15px;
padding: 5px 15px;
background: #eeeeee;
font-size: 18px;
line-height: 24px;
cursor: pointer;
}
/* Sub-object: `uk-accordion-content`
========================================================================== */
.uk-accordion-content {
padding: 0 15px 15px 15px;
}
/*
* Micro clearfix to make panels more robust
*/
.uk-accordion-content:before,
.uk-accordion-content:after {
content: "";
display: table;
}
.uk-accordion-content:after {
clear: both;
}
/*
* Remove margin from the last-child
*/
.uk-accordion-content > :last-child {
margin-bottom: 0;
}

View File

@ -0,0 +1,39 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Accordion
========================================================================== */
/* Sub-object: `uk-accordion-title`
========================================================================== */
.uk-accordion-title {
margin-top: 0;
margin-bottom: 15px;
padding: 5px 15px;
background: #f7f7f7;
font-size: 18px;
line-height: 24px;
cursor: pointer;
border: 1px solid #dddddd;
border-radius: 4px;
}
/* Sub-object: `uk-accordion-content`
========================================================================== */
.uk-accordion-content {
padding: 0 15px 15px 15px;
}
/*
* Micro clearfix to make panels more robust
*/
.uk-accordion-content:before,
.uk-accordion-content:after {
content: "";
display: table;
}
.uk-accordion-content:after {
clear: both;
}
/*
* Remove margin from the last-child
*/
.uk-accordion-content > :last-child {
margin-bottom: 0;
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#f7f7f7;font-size:18px;line-height:24px;cursor:pointer;border:1px solid #ddd;border-radius:4px}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-accordion-title{margin-top:0;margin-bottom:15px;padding:5px 15px;background:#eee;font-size:18px;line-height:24px;cursor:pointer}.uk-accordion-content{padding:0 15px 15px 15px}.uk-accordion-content:after,.uk-accordion-content:before{content:"";display:table}.uk-accordion-content:after{clear:both}.uk-accordion-content>:last-child{margin-bottom:0}

View File

@ -0,0 +1,52 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Autocomplete
========================================================================== */
/*
* 1. Container width fits its content
* 2. Create position context
* 3. Prevent `inline-block` consequences
* 4. Remove the gap between the container and its child element
*/
.uk-autocomplete {
/* 1 */
display: inline-block;
/* 2 */
position: relative;
/* 3 */
max-width: 100%;
/* 4 */
vertical-align: middle;
}
/* Nav modifier `uk-nav-autocomplete`
========================================================================== */
/*
* Items
*/
.uk-nav-autocomplete > li > a {
color: #444444;
}
/*
* Active
* 1. Remove default focus style
*/
.uk-nav-autocomplete > li.uk-active > a {
background: #00a8e6;
color: #ffffff;
/* 1 */
outline: none;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
}
/*
* Sub-object: `uk-nav-header`
*/
.uk-nav-autocomplete .uk-nav-header {
color: #999999;
}
/*
* Sub-object: `uk-nav-divider`
*/
.uk-nav-autocomplete .uk-nav-divider {
border-top: 1px solid #dddddd;
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:0;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}

View File

@ -0,0 +1,50 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Autocomplete
========================================================================== */
/*
* 1. Container width fits its content
* 2. Create position context
* 3. Prevent `inline-block` consequences
* 4. Remove the gap between the container and its child element
*/
.uk-autocomplete {
/* 1 */
display: inline-block;
/* 2 */
position: relative;
/* 3 */
max-width: 100%;
/* 4 */
vertical-align: middle;
}
/* Nav modifier `uk-nav-autocomplete`
========================================================================== */
/*
* Items
*/
.uk-nav-autocomplete > li > a {
color: #444444;
}
/*
* Active
* 1. Remove default focus style
*/
.uk-nav-autocomplete > li.uk-active > a {
background: #00a8e6;
color: #ffffff;
/* 1 */
outline: none;
}
/*
* Sub-object: `uk-nav-header`
*/
.uk-nav-autocomplete .uk-nav-header {
color: #999999;
}
/*
* Sub-object: `uk-nav-divider`
*/
.uk-nav-autocomplete .uk-nav-divider {
border-top: 1px solid #dddddd;
}

View File

@ -0,0 +1,52 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Autocomplete
========================================================================== */
/*
* 1. Container width fits its content
* 2. Create position context
* 3. Prevent `inline-block` consequences
* 4. Remove the gap between the container and its child element
*/
.uk-autocomplete {
/* 1 */
display: inline-block;
/* 2 */
position: relative;
/* 3 */
max-width: 100%;
/* 4 */
vertical-align: middle;
}
/* Nav modifier `uk-nav-autocomplete`
========================================================================== */
/*
* Items
*/
.uk-nav-autocomplete > li > a {
color: #444444;
}
/*
* Active
* 1. Remove default focus style
*/
.uk-nav-autocomplete > li.uk-active > a {
background: #009dd8;
color: #ffffff;
/* 1 */
outline: none;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}
/*
* Sub-object: `uk-nav-header`
*/
.uk-nav-autocomplete .uk-nav-header {
color: #999999;
}
/*
* Sub-object: `uk-nav-divider`
*/
.uk-nav-autocomplete .uk-nav-divider {
border-top: 1px solid #dddddd;
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#009dd8;color:#fff;outline:0;box-shadow:inset 0 2px 4px rgba(0,0,0,.2);text-shadow:0 -1px 0 rgba(0,0,0,.2)}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-autocomplete{display:inline-block;position:relative;max-width:100%;vertical-align:middle}.uk-nav-autocomplete>li>a{color:#444}.uk-nav-autocomplete>li.uk-active>a{background:#00a8e6;color:#fff;outline:0}.uk-nav-autocomplete .uk-nav-header{color:#999}.uk-nav-autocomplete .uk-nav-divider{border-top:1px solid #ddd}

View File

@ -0,0 +1,129 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Datepicker
========================================================================== */
/*
* 1. Highest z-index
* 2. Reset dropdown width
* 3. Set animation
* 4. Needed for scale animation
*/
.uk-datepicker {
/* 1 */
z-index: 1050;
/* 2 */
width: auto;
/* 3 */
-webkit-animation: uk-fade 0.2s ease-in-out;
animation: uk-fade 0.2s ease-in-out;
/* 4 */
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}
/* Sub-object: `uk-datepicker-nav`
========================================================================== */
.uk-datepicker-nav {
margin-bottom: 15px;
text-align: center;
line-height: 20px;
}
/*
* Micro clearfix
*/
.uk-datepicker-nav:before,
.uk-datepicker-nav:after {
content: "";
display: table;
}
.uk-datepicker-nav:after {
clear: both;
}
/*
* Previous and next navigation
*/
.uk-datepicker-nav a {
color: #444444;
text-decoration: none;
}
.uk-datepicker-nav a:hover {
color: #444444;
}
.uk-datepicker-previous {
float: left;
}
.uk-datepicker-next {
float: right;
}
.uk-datepicker-previous:after,
.uk-datepicker-next:after {
width: 20px;
font-family: FontAwesome;
}
.uk-datepicker-previous:after {
content: "\f053";
}
.uk-datepicker-next:after {
content: "\f054";
}
/* Sub-object: `uk-datepicker-heading`
========================================================================== */
/* Sub-object: `uk-datepicker-table`
========================================================================== */
/* Block element behavior */
.uk-datepicker-table {
width: 100%;
}
.uk-datepicker-table th,
.uk-datepicker-table td {
padding: 2px;
}
.uk-datepicker-table th {
font-size: 12px;
}
/*
* Item
*/
.uk-datepicker-table a {
display: block;
width: 26px;
line-height: 24px;
text-align: center;
color: #444444;
text-decoration: none;
border: 1px solid transparent;
border-radius: 4px;
}
/*
* Sub-object: `uk-datepicker-table-muted`
*/
a.uk-datepicker-table-muted {
color: #999999;
}
/*
* Hover
* 1. Apply hover style also to focus state
* 2. Remove default focus style
*/
.uk-datepicker-table a:hover,
.uk-datepicker-table a:focus {
background-color: #fafafa;
color: #444444;
/* 2 */
outline: none;
border-color: rgba(0, 0, 0, 0.16);
text-shadow: 0 1px 0 #ffffff;
}
/* OnClick */
.uk-datepicker-table a:active {
background-color: #eeeeee;
color: #444444;
}
/*
* Active
*/
.uk-datepicker-table a.uk-active {
background: #00a8e6;
color: #ffffff;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05);
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.1);
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{content:"";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none;border:1px solid transparent;border-radius:4px}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.16);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#eee;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}

View File

@ -0,0 +1,123 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Datepicker
========================================================================== */
/*
* 1. Highest z-index
* 2. Reset dropdown width
* 3. Set animation
* 4. Needed for scale animation
*/
.uk-datepicker {
/* 1 */
z-index: 1050;
/* 2 */
width: auto;
/* 3 */
-webkit-animation: uk-fade 0.2s ease-in-out;
animation: uk-fade 0.2s ease-in-out;
/* 4 */
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}
/* Sub-object: `uk-datepicker-nav`
========================================================================== */
.uk-datepicker-nav {
margin-bottom: 15px;
text-align: center;
line-height: 20px;
}
/*
* Micro clearfix
*/
.uk-datepicker-nav:before,
.uk-datepicker-nav:after {
content: "";
display: table;
}
.uk-datepicker-nav:after {
clear: both;
}
/*
* Previous and next navigation
*/
.uk-datepicker-nav a {
color: #444444;
text-decoration: none;
}
.uk-datepicker-nav a:hover {
color: #444444;
}
.uk-datepicker-previous {
float: left;
}
.uk-datepicker-next {
float: right;
}
.uk-datepicker-previous:after,
.uk-datepicker-next:after {
width: 20px;
font-family: FontAwesome;
}
.uk-datepicker-previous:after {
content: "\f053";
}
.uk-datepicker-next:after {
content: "\f054";
}
/* Sub-object: `uk-datepicker-heading`
========================================================================== */
/* Sub-object: `uk-datepicker-table`
========================================================================== */
/* Block element behavior */
.uk-datepicker-table {
width: 100%;
}
.uk-datepicker-table th,
.uk-datepicker-table td {
padding: 2px;
}
.uk-datepicker-table th {
font-size: 12px;
}
/*
* Item
*/
.uk-datepicker-table a {
display: block;
width: 26px;
line-height: 24px;
text-align: center;
color: #444444;
text-decoration: none;
}
/*
* Sub-object: `uk-datepicker-table-muted`
*/
a.uk-datepicker-table-muted {
color: #999999;
}
/*
* Hover
* 1. Apply hover style also to focus state
* 2. Remove default focus style
*/
.uk-datepicker-table a:hover,
.uk-datepicker-table a:focus {
background-color: #dddddd;
color: #444444;
/* 2 */
outline: none;
}
/* OnClick */
.uk-datepicker-table a:active {
background-color: #cccccc;
color: #444444;
}
/*
* Active
*/
.uk-datepicker-table a.uk-active {
background: #00a8e6;
color: #ffffff;
}

View File

@ -0,0 +1,139 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Datepicker
========================================================================== */
/*
* 1. Highest z-index
* 2. Reset dropdown width
* 3. Set animation
* 4. Needed for scale animation
*/
.uk-datepicker {
/* 1 */
z-index: 1050;
/* 2 */
width: auto;
/* 3 */
-webkit-animation: uk-fade 0.2s ease-in-out;
animation: uk-fade 0.2s ease-in-out;
/* 4 */
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}
/* Sub-object: `uk-datepicker-nav`
========================================================================== */
.uk-datepicker-nav {
margin-bottom: 15px;
text-align: center;
line-height: 20px;
}
/*
* Micro clearfix
*/
.uk-datepicker-nav:before,
.uk-datepicker-nav:after {
content: "";
display: table;
}
.uk-datepicker-nav:after {
clear: both;
}
/*
* Previous and next navigation
*/
.uk-datepicker-nav a {
color: #444444;
text-decoration: none;
}
.uk-datepicker-nav a:hover {
color: #444444;
}
.uk-datepicker-previous {
float: left;
}
.uk-datepicker-next {
float: right;
}
.uk-datepicker-previous:after,
.uk-datepicker-next:after {
width: 20px;
font-family: FontAwesome;
}
.uk-datepicker-previous:after {
content: "\f053";
}
.uk-datepicker-next:after {
content: "\f054";
}
/* Sub-object: `uk-datepicker-heading`
========================================================================== */
/* Sub-object: `uk-datepicker-table`
========================================================================== */
/* Block element behavior */
.uk-datepicker-table {
width: 100%;
}
.uk-datepicker-table th,
.uk-datepicker-table td {
padding: 2px;
}
.uk-datepicker-table th {
font-size: 12px;
}
/*
* Item
*/
.uk-datepicker-table a {
display: block;
width: 26px;
line-height: 24px;
text-align: center;
color: #444444;
text-decoration: none;
border: 1px solid transparent;
border-radius: 4px;
background-origin: border-box;
}
/*
* Sub-object: `uk-datepicker-table-muted`
*/
a.uk-datepicker-table-muted {
color: #999999;
}
/*
* Hover
* 1. Apply hover style also to focus state
* 2. Remove default focus style
*/
.uk-datepicker-table a:hover,
.uk-datepicker-table a:focus {
background-color: #fafafa;
color: #444444;
/* 2 */
outline: none;
border-color: rgba(0, 0, 0, 0.2);
border-bottom-color: rgba(0, 0, 0, 0.3);
text-shadow: 0 1px 0 #ffffff;
}
/* OnClick */
.uk-datepicker-table a:active {
background-color: #f5f5f5;
color: #444444;
border-color: rgba(0, 0, 0, 0.2);
border-top-color: rgba(0, 0, 0, 0.3);
background-image: none;
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);
}
/*
* Active
*/
.uk-datepicker-table a.uk-active {
background: #009dd8;
color: #ffffff;
border: 1px solid rgba(0, 0, 0, 0.2);
border-bottom-color: rgba(0, 0, 0, 0.4);
background-origin: border-box;
background-image: -webkit-linear-gradient(top, #00b4f5, #008dc5);
background-image: linear-gradient(to bottom, #00b4f5, #008dc5);
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{content:"";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none;border:1px solid transparent;border-radius:4px;background-origin:border-box}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#fafafa;color:#444;outline:0;border-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.3);text-shadow:0 1px 0 #fff}.uk-datepicker-table a:active{background-color:#f5f5f5;color:#444;border-color:rgba(0,0,0,.2);border-top-color:rgba(0,0,0,.3);background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.uk-datepicker-table a.uk-active{background:#009dd8;color:#fff;border:1px solid rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.4);background-origin:border-box;background-image:-webkit-linear-gradient(top,#00b4f5,#008dc5);background-image:linear-gradient(to bottom,#00b4f5,#008dc5);text-shadow:0 -1px 0 rgba(0,0,0,.2)}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-datepicker{z-index:1050;width:auto;-webkit-animation:uk-fade .2s ease-in-out;animation:uk-fade .2s ease-in-out;-webkit-transform-origin:0 0;transform-origin:0 0}.uk-datepicker-nav{margin-bottom:15px;text-align:center;line-height:20px}.uk-datepicker-nav:after,.uk-datepicker-nav:before{content:"";display:table}.uk-datepicker-nav:after{clear:both}.uk-datepicker-nav a{color:#444;text-decoration:none}.uk-datepicker-nav a:hover{color:#444}.uk-datepicker-previous{float:left}.uk-datepicker-next{float:right}.uk-datepicker-next:after,.uk-datepicker-previous:after{width:20px;font-family:FontAwesome}.uk-datepicker-previous:after{content:"\f053"}.uk-datepicker-next:after{content:"\f054"}.uk-datepicker-table{width:100%}.uk-datepicker-table td,.uk-datepicker-table th{padding:2px}.uk-datepicker-table th{font-size:12px}.uk-datepicker-table a{display:block;width:26px;line-height:24px;text-align:center;color:#444;text-decoration:none}a.uk-datepicker-table-muted{color:#999}.uk-datepicker-table a:focus,.uk-datepicker-table a:hover{background-color:#ddd;color:#444;outline:0}.uk-datepicker-table a:active{background-color:#ccc;color:#444}.uk-datepicker-table a.uk-active{background:#00a8e6;color:#fff}

View File

@ -0,0 +1,128 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Dotnav
========================================================================== */
/*
* 1. Gutter
* 2. Remove default list style
*/
.uk-dotnav {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
/* 1 */
margin-left: -15px;
margin-top: -15px;
/* 2 */
padding: 0;
list-style: none;
}
/*
* 1. Space is allocated solely based on content dimensions
* 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
*/
.uk-dotnav > * {
/* 1 */
-ms-flex: none;
-webkit-flex: none;
flex: none;
/* 2 */
padding-left: 15px;
margin-top: 15px;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav:before,
.uk-dotnav:after {
content: "";
display: block;
overflow: hidden;
}
.uk-dotnav:after {
clear: both;
}
.uk-dotnav > * {
float: left;
}
/* Items
========================================================================== */
/*
* Items
* 1. Hide text if present
*/
.uk-dotnav > * > * {
display: block;
box-sizing: content-box;
width: 20px;
height: 20px;
border-radius: 50%;
background: rgba(50, 50, 50, 0.1);
/* 1 */
text-indent: 100%;
overflow: hidden;
white-space: nowrap;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
/*
* Hover
* 1. Apply hover style also to focus state
* 2. Remove default focus style
*/
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
background: rgba(50, 50, 50, 0.4);
/* 2 */
outline: none;
}
/* OnClick */
.uk-dotnav > * > :active {
background: rgba(50, 50, 50, 0.6);
}
/* Active */
.uk-dotnav > .uk-active > * {
background: rgba(50, 50, 50, 0.4);
-webkit-transform: scale(1.3);
transform: scale(1.3);
}
/* Modifier: `uk-dotnav-contrast`
========================================================================== */
.uk-dotnav-contrast > * > * {
background: rgba(255, 255, 255, 0.4);
}
/*
* Hover
* 1. Apply hover style also to focus state
*/
.uk-dotnav-contrast > * > :hover,
.uk-dotnav-contrast > * > :focus {
background: rgba(255, 255, 255, 0.7);
}
/* OnClick */
.uk-dotnav-contrast > * > :active {
background: rgba(255, 255, 255, 0.9);
}
/* Active */
.uk-dotnav-contrast > .uk-active > * {
background: rgba(255, 255, 255, 0.9);
}
/* Modifier: 'uk-dotnav-vertical'
========================================================================== */
/*
* DEPRECATED
*/
.uk-dotnav-vertical {
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav-vertical > * {
float: none;
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none}

View File

@ -0,0 +1,124 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Dotnav
========================================================================== */
/*
* 1. Gutter
* 2. Remove default list style
*/
.uk-dotnav {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
/* 1 */
margin-left: -15px;
margin-top: -15px;
/* 2 */
padding: 0;
list-style: none;
}
/*
* 1. Space is allocated solely based on content dimensions
* 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
*/
.uk-dotnav > * {
/* 1 */
-ms-flex: none;
-webkit-flex: none;
flex: none;
/* 2 */
padding-left: 15px;
margin-top: 15px;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav:before,
.uk-dotnav:after {
content: "";
display: block;
overflow: hidden;
}
.uk-dotnav:after {
clear: both;
}
.uk-dotnav > * {
float: left;
}
/* Items
========================================================================== */
/*
* Items
* 1. Hide text if present
*/
.uk-dotnav > * > * {
display: block;
box-sizing: content-box;
width: 20px;
height: 20px;
border-radius: 50%;
background: rgba(50, 50, 50, 0.1);
/* 1 */
text-indent: 100%;
overflow: hidden;
white-space: nowrap;
}
/*
* Hover
* 1. Apply hover style also to focus state
* 2. Remove default focus style
*/
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
background: rgba(50, 50, 50, 0.4);
/* 2 */
outline: none;
}
/* OnClick */
.uk-dotnav > * > :active {
background: rgba(50, 50, 50, 0.6);
}
/* Active */
.uk-dotnav > .uk-active > * {
background: rgba(50, 50, 50, 0.4);
}
/* Modifier: `uk-dotnav-contrast`
========================================================================== */
.uk-dotnav-contrast > * > * {
background: rgba(255, 255, 255, 0.4);
}
/*
* Hover
* 1. Apply hover style also to focus state
*/
.uk-dotnav-contrast > * > :hover,
.uk-dotnav-contrast > * > :focus {
background: rgba(255, 255, 255, 0.7);
}
/* OnClick */
.uk-dotnav-contrast > * > :active {
background: rgba(255, 255, 255, 0.9);
}
/* Active */
.uk-dotnav-contrast > .uk-active > * {
background: rgba(255, 255, 255, 0.9);
}
/* Modifier: 'uk-dotnav-vertical'
========================================================================== */
/*
* DEPRECATED
*/
.uk-dotnav-vertical {
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav-vertical > * {
float: none;
}

View File

@ -0,0 +1,128 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Dotnav
========================================================================== */
/*
* 1. Gutter
* 2. Remove default list style
*/
.uk-dotnav {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
/* 1 */
margin-left: -15px;
margin-top: -15px;
/* 2 */
padding: 0;
list-style: none;
}
/*
* 1. Space is allocated solely based on content dimensions
* 2. Horizontal gutter is using `padding` so `uk-width-*` classes can be applied
*/
.uk-dotnav > * {
/* 1 */
-ms-flex: none;
-webkit-flex: none;
flex: none;
/* 2 */
padding-left: 15px;
margin-top: 15px;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav:before,
.uk-dotnav:after {
content: "";
display: block;
overflow: hidden;
}
.uk-dotnav:after {
clear: both;
}
.uk-dotnav > * {
float: left;
}
/* Items
========================================================================== */
/*
* Items
* 1. Hide text if present
*/
.uk-dotnav > * > * {
display: block;
box-sizing: content-box;
width: 20px;
height: 20px;
border-radius: 50%;
background: rgba(50, 50, 50, 0.1);
/* 1 */
text-indent: 100%;
overflow: hidden;
white-space: nowrap;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
/*
* Hover
* 1. Apply hover style also to focus state
* 2. Remove default focus style
*/
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
background: rgba(50, 50, 50, 0.4);
/* 2 */
outline: none;
}
/* OnClick */
.uk-dotnav > * > :active {
background: rgba(50, 50, 50, 0.6);
}
/* Active */
.uk-dotnav > .uk-active > * {
background: rgba(50, 50, 50, 0.4);
-webkit-transform: scale(1.3);
transform: scale(1.3);
}
/* Modifier: `uk-dotnav-contrast`
========================================================================== */
.uk-dotnav-contrast > * > * {
background: rgba(255, 255, 255, 0.4);
}
/*
* Hover
* 1. Apply hover style also to focus state
*/
.uk-dotnav-contrast > * > :hover,
.uk-dotnav-contrast > * > :focus {
background: rgba(255, 255, 255, 0.7);
}
/* OnClick */
.uk-dotnav-contrast > * > :active {
background: rgba(255, 255, 255, 0.9);
}
/* Active */
.uk-dotnav-contrast > .uk-active > * {
background: rgba(255, 255, 255, 0.9);
}
/* Modifier: 'uk-dotnav-vertical'
========================================================================== */
/*
* DEPRECATED
*/
.uk-dotnav-vertical {
-ms-flex-direction: column;
-webkit-flex-direction: column;
flex-direction: column;
}
/*
* DEPRECATED IE9 Support
*/
.uk-dotnav-vertical > * {
float: none;
}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4);-webkit-transform:scale(1.3);transform:scale(1.3)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none}

View File

@ -0,0 +1,2 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
.uk-dotnav{display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-15px;margin-top:-15px;padding:0;list-style:none}.uk-dotnav>*{-ms-flex:none;-webkit-flex:none;flex:none;padding-left:15px;margin-top:15px}.uk-dotnav:after,.uk-dotnav:before{content:"";display:block;overflow:hidden}.uk-dotnav:after{clear:both}.uk-dotnav>*{float:left}.uk-dotnav>*>*{display:block;box-sizing:content-box;width:20px;height:20px;border-radius:50%;background:rgba(50,50,50,.1);text-indent:100%;overflow:hidden;white-space:nowrap}.uk-dotnav>*>:focus,.uk-dotnav>*>:hover{background:rgba(50,50,50,.4);outline:0}.uk-dotnav>*>:active{background:rgba(50,50,50,.6)}.uk-dotnav>.uk-active>*{background:rgba(50,50,50,.4)}.uk-dotnav-contrast>*>*{background:rgba(255,255,255,.4)}.uk-dotnav-contrast>*>:focus,.uk-dotnav-contrast>*>:hover{background:rgba(255,255,255,.7)}.uk-dotnav-contrast>*>:active{background:rgba(255,255,255,.9)}.uk-dotnav-contrast>.uk-active>*{background:rgba(255,255,255,.9)}.uk-dotnav-vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.uk-dotnav-vertical>*{float:none}

View File

@ -0,0 +1,78 @@
/*! UIkit 2.25.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
/* ========================================================================
Component: Form advanced
Note: Only works in Webkit at the moment
========================================================================== */
/*
* 1. Style
* 2. Makes box more robust so it clips the child element
* 3. Vertical alignment
* 4. Remove default style
* 5. Fix black background on iOS
*/
.uk-form input[type="radio"],
.uk-form input[type="checkbox"] {
/* 1 */
display: inline-block;
height: 14px;
width: 14px;
border: 1px solid #aaaaaa;
/* 2 */
overflow: hidden;
/* 3 */
margin-top: -4px;
vertical-align: middle;
/* 4 */
-webkit-appearance: none;
outline: 0;
/* 5 */
background: transparent;
}
/* Radio */
.uk-form input[type="radio"] {
border-radius: 50%;
}
/*
* Checked
*/
.uk-form input[type=radio]:before,
.uk-form input[type=checkbox]:before {
display: block;
}
/* Radio */
.uk-form input[type=radio]:checked:before {
content: '';
width: 8px;
height: 8px;
margin: 2px auto 0;
border-radius: 50%;
background: #00a8e6;
}
/* Checkbox */
.uk-form input[type=checkbox]:checked:before,
.uk-form input[type=checkbox]:indeterminate:before {
content: "\f00c";
font-family: FontAwesome;
font-size: 12px;
-webkit-font-smoothing: antialiased;
text-align: center;
line-height: 12px;
color: #00a8e6;
}
.uk-form input[type=checkbox]:indeterminate:before {
content: "\f068";
}
/*
* Disabled
*/
.uk-form input[type=radio]:disabled,
.uk-form input[type=checkbox]:disabled {
border-color: #dddddd;
}
.uk-form input[type=radio]:disabled:checked:before {
background-color: #aaaaaa;
}
.uk-form input[type=checkbox]:disabled:checked:before,
.uk-form input[type=checkbox]:disabled:indeterminate:before {
color: #aaaaaa;
}

Some files were not shown because too many files have changed in this diff Show More