1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-14 17:42:10 +02:00

Issue #3103 Default custom-fields page example added to bootstrap3 install. Custom-fields class tweaked.

This commit is contained in:
Cameron 2018-08-14 17:06:02 -07:00
parent a7ab8a7a62
commit 5a31146fcc
4 changed files with 250 additions and 9 deletions

View File

@ -680,6 +680,14 @@ class cpage_shortcodes extends e_shortcode
$chap = $this->var['page_chapter'];
$key = $parm['name'];
$arr = array('name'=>$parm['name']);
$value = $this->sc_cpagefield($arr);
if(empty($value) && !isset($parm['force']))
{
return null;
}
if(!empty($this->chapterData[$chap]['chapter_fields']) && is_string($this->chapterData[$chap]['chapter_fields']))
{
@ -727,6 +735,23 @@ class cpage_shortcodes extends e_shortcode
{
$fieldData = e107::unserialize($this->var['page_fields']);
if(isset($parm['generate'])) // use to generate all fields for use in template file.
{
$text = '<pre>';
foreach($fieldData as $ok=>$v)
{
$text .= "&#123;CPAGEFIELDTITLE: name=".$ok."&#125;\n";
$text .= "&#123;CPAGEFIELD: name=".$ok."&#125;\n";
}
$text .= "</pre>";
return $text;
}
$text = '<table class="table table-bordered table-striped">
<tr><th>Name</th><th>Title<br /><small>&#123;CPAGEFIELDTITLE: name=x&#125;</small></th><th>Normal<br /><small>&#123;CPAGEFIELD: name=x&#125;</small></th><th>Raw<br /><small>&#123;CPAGEFIELD: name=x&mode=raw&#125;</small></th></tr>';

View File

@ -138,6 +138,11 @@
$fieldType = $this->_config[$key]['type'];
if($value === null)
{
return null;
}
switch($fieldType)
{
case "dropdown":
@ -147,6 +152,12 @@
break;
case "video":
if(empty($value))
{
return null;
}
return ($raw) ? 'https://www.youtube.com/watch?v='.str_replace(".youtube", '', $value) : $tp->toVideo($value);
break;
@ -195,7 +206,12 @@
break;
case "progressbar":
return ($raw) ? $value.'%' : e107::getForm()->progressBar($key,$value,$this->_config[$key]);
if($raw)
{
return (strpos($value, '/') === false) ? $value.'%' : $value;
}
return e107::getForm()->progressBar($key,$value,$this->_config[$key]);
break;
case "textarea":
@ -204,6 +220,29 @@
break;
case "boolean":
if($raw)
{
return $value;
}
return empty($value) ? $tp->toGlyph('fa-times') : $tp->toGlyph('fa-check');
break;
case "checkbox":
if($raw)
{
return $value;
}
if(is_numeric($value))
{
return empty($value) ? $tp->toGlyph('fa-times') : $tp->toGlyph('fa-check');
}
return $value;
break;
default:
return $tp->toHtml($value);
}

View File

@ -102,7 +102,7 @@
<field name="menu_parms"></field>
</item>
</dbTable>
<dbTable name="page">
<dbTable name="page">
<item>
<field name="page_id">1</field>
<field name="page_title">Article 1</field>
@ -122,6 +122,7 @@
<field name="page_ip_restrict"></field>
<field name="page_template">default</field>
<field name="page_order">9999</field>
<field name="page_fields"></field>
<field name="menu_name">jumbotron-menu-1</field>
<field name="menu_title">Heading 1</field>
<field name="menu_text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus auctor egestas condimentum. Suspendisse placerat nunc orci, a ultrices tortor eleifend in. Vestibulum tincidunt fringilla malesuada? Phasellus dolor risus, aliquam eu odio quis, mattis cursus magna. Integer ut blandit purus; vitae posuere ante. Vivamus sapien nisl, pulvinar vel turpis a, malesuada vehicula lorem! Curabitur magna justo; laoreet at congue sit amet, tincidunt sit amet erat. Integer vehicula eros quis odio tincidunt, nec dapibus sem molestie. Cras sed viverra eros. Nulla ut lectus tellus.</field>
@ -149,6 +150,7 @@
<field name="page_ip_restrict"></field>
<field name="page_template">default</field>
<field name="page_order">9999</field>
<field name="page_fields"></field>
<field name="menu_name">jumbotron-menu-2</field>
<field name="menu_title">Heading 2</field>
<field name="menu_text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus auctor egestas condimentum. Suspendisse placerat nunc orci, a ultrices tortor eleifend in. Vestibulum tincidunt fringilla malesuada? Phasellus dolor risus, aliquam eu odio quis, mattis cursus magna. Integer ut blandit purus; vitae posuere ante. Vivamus sapien nisl, pulvinar vel turpis a, malesuada vehicula lorem! Curabitur magna justo; laoreet at congue sit amet, tincidunt sit amet erat. Integer vehicula eros quis odio tincidunt, nec dapibus sem molestie. Cras sed viverra eros. Nulla ut lectus tellus.</field>
@ -178,6 +180,7 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="page_ip_restrict"></field>
<field name="page_template">default</field>
<field name="page_order">9999</field>
<field name="page_fields"></field>
<field name="menu_name">jumbotron-menu-3</field>
<field name="menu_title">Heading 3</field>
<field name="menu_text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus auctor egestas condimentum. Suspendisse placerat nunc orci, a ultrices tortor eleifend in. Vestibulum tincidunt fringilla malesuada? Phasellus dolor risus, aliquam eu odio quis, mattis cursus magna. Integer ut blandit purus; vitae posuere ante. Vivamus sapien nisl, pulvinar vel turpis a, malesuada vehicula lorem! Curabitur magna justo; laoreet at congue sit amet, tincidunt sit amet erat. Integer vehicula eros quis odio tincidunt, nec dapibus sem molestie. Cras sed viverra eros. Nulla ut lectus tellus.</field>
@ -189,7 +192,7 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="menu_button_text"></field>
</item>
<item>
<field name="page_id">4</field>
<field name="page_id">5</field>
<field name="page_title">Feature 1</field>
<field name="page_sef">feature-1</field>
<field name="page_chapter">2</field>
@ -207,6 +210,7 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="page_ip_restrict"></field>
<field name="page_template">default</field>
<field name="page_order">9999</field>
<field name="page_fields"></field>
<field name="menu_name">feature-menu-1</field>
<field name="menu_title">Modern Business Feature Menu 1</field>
<field name="menu_text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla iaculis odio sit amet mi consequat varius. Nullam fringilla sodales lacus id mollis. Morbi fermentum turpis quis orci scelerisque, non pellentesque dolor sodales. Nullam luctus ut tellus quis ullamcorper! Suspendisse convallis tortor nec semper condimentum. Proin adipiscing adipiscing elit, ut posuere mauris consequat sed. Maecenas ultrices nisi tortor, sed vehicula urna auctor euismod?</field>
@ -218,7 +222,7 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="menu_button_text"></field>
</item>
<item>
<field name="page_id">5</field>
<field name="page_id">6</field>
<field name="page_title">Feature 2</field>
<field name="page_sef">feature-2</field>
<field name="page_chapter">2</field>
@ -236,6 +240,7 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="page_ip_restrict"></field>
<field name="page_template">default</field>
<field name="page_order">9999</field>
<field name="page_fields"></field>
<field name="menu_name">feature-menu-2</field>
<field name="menu_title">Modern Business Feature Menu 2</field>
<field name="menu_text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla iaculis odio sit amet mi consequat varius. Nullam fringilla sodales lacus id mollis. Morbi fermentum turpis quis orci scelerisque, non pellentesque dolor sodales. Nullam luctus ut tellus quis ullamcorper! Suspendisse convallis tortor nec semper condimentum. Proin adipiscing adipiscing elit, ut posuere mauris consequat sed. Maecenas ultrices nisi tortor, sed vehicula urna auctor euismod?</field>
@ -247,7 +252,7 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="menu_button_text"></field>
</item>
<item>
<field name="page_id">6</field>
<field name="page_id">7</field>
<field name="page_title">Feature 3</field>
<field name="page_sef">feature-3</field>
<field name="page_chapter">2</field>
@ -265,6 +270,7 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="page_ip_restrict"></field>
<field name="page_template">default</field>
<field name="page_order">9999</field>
<field name="page_fields"></field>
<field name="menu_name">feature-menu-3</field>
<field name="menu_title"><![CDATA[&#039;Modern Business&#039; is a ready-to-use, Bootstrap 3 updated, multi-purpose HTML theme!]]></field>
<field name="menu_text">For more templates and more page options that you can integrate into this website template, visit Start Bootstrap!</field>
@ -275,6 +281,52 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="menu_button_url"></field>
<field name="menu_button_text"></field>
</item>
<item>
<field name="page_id">4</field>
<field name="page_title">Article 4</field>
<field name="page_sef">article-4</field>
<field name="page_chapter">3</field>
<field name="page_metakeys"></field>
<field name="page_metadscr"></field>
<field name="page_text"><![CDATA[[html]<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum porttitor a justo ut tristique. Nam molestie sem at leo lobortis, vel luctus ligula tempus. Sed sagittis rutrum lectus vel suscipit. Sed in ligula vitae massa sagittis adipiscing vitae vel sem. Fusce nec rhoncus purus. Aenean mollis magna tellus; non consequat leo feugiat eu. Donec mauris velit, euismod nec facilisis quis, hendrerit nec lorem. Aliquam et lorem sed enim tempus sodales. Vestibulum ut enim adipiscing ipsum semper eleifend in in dolor. Fusce tempor risus velit, in fringilla tellus faucibus eget. Maecenas aliquet nunc nec nulla auctor, sed tristique est pellentesque. Maecenas tristique blandit dolor, nec egestas ligula aliquam eu. Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor convallis quam, eget tempus neque blandit sit amet. Quisque dictum libero elit, ut vehicula lectus accumsan a. Nam laoreet vulputate massa vel viverra. Sed tempus blandit sapien, in viverra urna aliquet quis. Aliquam erat volutpat. Nulla accumsan posuere.</p>[/html]]]></field>
<field name="page_author">1</field>
<field name="page_datestamp">1535407200</field>
<field name="page_rating_flag">0</field>
<field name="page_comment_flag">0</field>
<field name="page_password"></field>
<field name="page_class">0</field>
<field name="page_ip_restrict"></field>
<field name="page_template">customfields</field>
<field name="page_order">9999</field>
<field name="page_fields"><![CDATA[{
"mybbarea": "[html]<p>Some <strong>Rich<\/strong> <em>Text<\/em><\/p>[\/html]",
"myboolean": "0",
"mycheckbox": "1",
"mycountry": "us",
"mydatestamp": "1534978508",
"mydropdown": "blue",
"myemail": "myemail@somewhere.com",
"myfile": "",
"myicon": "{e_IMAGE}e107_icon_32.png",
"myimage": "{e_PLUGIN}gallery\/images\/butterfly.jpg",
"mylanguage": "en",
"mynumber": "16",
"myprogressbar": "6\/10",
"mytags": "keyword1,keyword2",
"mytext": "Some Text",
"myurl": "https:\/\/e107.org",
"myvideo": "6ZfuNTqbHE8.youtube"
}]]></field>
<field name="menu_name">jumbotron-menu-4</field>
<field name="menu_title">Heading 4</field>
<field name="menu_text"><![CDATA[[html]<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus auctor egestas condimentum. Suspendisse placerat nunc orci, a ultrices tortor eleifend in. Vestibulum tincidunt fringilla malesuada? Phasellus dolor risus, aliquam eu odio quis, mattis cursus magna. Integer ut blandit purus; vitae posuere ante. Vivamus sapien nisl, pulvinar vel turpis a, malesuada vehicula lorem! Curabitur magna justo; laoreet at congue sit amet, tincidunt sit amet erat. Integer vehicula eros quis odio tincidunt, nec dapibus sem molestie. Cras sed viverra eros. Nulla ut lectus tellus.</p>[/html]]]></field>
<field name="menu_image"></field>
<field name="menu_icon"></field>
<field name="menu_template">button</field>
<field name="menu_class">0</field>
<field name="menu_button_url"></field>
<field name="menu_button_text"></field>
</item>
</dbTable>
<dbTable name="page_chapters">
<item>
@ -284,11 +336,13 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="chapter_sef">general</field>
<field name="chapter_meta_description">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec et tempor odio. Quisque volutpat lorem nec lectus congue suscipit. In hac habitasse platea dictumst. Etiam odio nisi, egestas vitae amet.</field>
<field name="chapter_meta_keywords"></field>
<field name="chapter_manager">0</field>
<field name="chapter_manager">254</field>
<field name="chapter_icon"></field>
<field name="chapter_image"></field>
<field name="chapter_order">0</field>
<field name="chapter_template"></field>
<field name="chapter_visibility">0</field>
<field name="chapter_fields"></field>
</item>
<item>
<field name="chapter_id">2</field>
@ -297,11 +351,134 @@ Morbi porta leo iaculis, hendrerit lorem interdum, porta dui. Integer tempor con
<field name="chapter_sef">chapter-1</field>
<field name="chapter_meta_description">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ut nunc ac neque egestas ullamcorper. In convallis semper hendrerit. Etiam non dolor nisl, varius facilisis dui. Nunc egestas massa nunc.</field>
<field name="chapter_meta_keywords"></field>
<field name="chapter_manager">0</field>
<field name="chapter_manager">254</field>
<field name="chapter_icon"></field>
<field name="chapter_order">0</field>
<field name="chapter_image"></field>
<field name="chapter_order">1</field>
<field name="chapter_template"></field>
<field name="chapter_visibility">0</field>
<field name="chapter_fields"></field>
</item>
<item>
<field name="chapter_id">3</field>
<field name="chapter_parent">1</field>
<field name="chapter_name">Custom Fields</field>
<field name="chapter_sef">customfields</field>
<field name="chapter_meta_description">Chapter containing custom fields</field>
<field name="chapter_meta_keywords"></field>
<field name="chapter_manager">254</field>
<field name="chapter_icon"></field>
<field name="chapter_image"></field>
<field name="chapter_order">2</field>
<field name="chapter_template">default</field>
<field name="chapter_visibility">0</field>
<field name="chapter_fields">{
"__tabs__": {
"additional": "Additional"
},
"mybbarea": {
"title": "Rich Text",
"type": "bbarea",
"writeParms": "",
"help": ""
},
"myboolean": {
"title": "Boolean",
"type": "boolean",
"writeParms": "",
"help": ""
},
"mycheckbox": {
"title": "Checkbox",
"type": "checkbox",
"writeParms": "",
"help": ""
},
"mycountry": {
"title": "Country",
"type": "country",
"writeParms": "",
"help": ""
},
"mydatestamp": {
"title": "Date",
"type": "datestamp",
"writeParms": "{ \"format\": \"yyyy-mm-dd\" }",
"help": ""
},
"mydropdown": {
"title": "Selection",
"type": "dropdown",
"writeParms": "{ \"optArray\": { \"blue\": \"Blue\", \"green\": \"Green\", \"red\": \"Red\" }, \"default\": \"blank\" }",
"help": ""
},
"myemail": {
"title": "Email",
"type": "email",
"writeParms": "",
"help": ""
},
"myfile": {
"title": "File",
"type": "file",
"writeParms": "",
"help": ""
},
"myicon": {
"title": "Icon",
"type": "icon",
"writeParms": "",
"help": ""
},
"myimage": {
"title": "Image",
"type": "image",
"writeParms": "",
"help": ""
},
"mylanguage": {
"title": "Language",
"type": "language",
"writeParms": "",
"help": ""
},
"mynumber": {
"title": "Number",
"type": "number",
"writeParms": "",
"help": ""
},
"myprogressbar": {
"title": "Progress",
"type": "progressbar",
"writeParms": "",
"help": ""
},
"mytags": {
"title": "Tags",
"type": "tags",
"writeParms": "",
"help": ""
},
"mytext": {
"title": "Text",
"type": "text",
"writeParms": "",
"help": ""
},
"myurl": {
"title": "URL",
"type": "url",
"writeParms": "",
"help": ""
},
"myvideo": {
"title": "Video",
"type": "video",
"writeParms": "",
"help": ""
}
}</field>
</item>
</dbTable>
<dbTable name="rss">

View File

@ -167,7 +167,7 @@ li.dropdown-submenu.lower ul.submenu-start li:hover { background-color:#f5f5f5;
.news-grid-default .featured { margin-bottom:30px; }
.news-grid-other .featured { margin-bottom:30px; }
td .progress { margin-bottom:0 }
/* MENU MENU Example*/