Version 5.0.0 beta 10

This commit is contained in:
Neo committed 2025-12-19 17:53:48 -08:00
1 parent 56979f8ee8
commit 264eeb97e0
325 files changed
+6442 -1849

No files matched your search

@@ -69,7 +69,7 @@ class CreateEntry extends ItemMutator
* @param mixed $info * @param mixed $info
* @return Entry * @return Entry
*/ */
public function resolve( mixed $val, array $args, array $context, mixed $info): Entry public function resolve( mixed $val, array $args, array $context, mixed $info ): Entry
{ {
/* Get blog */ /* Get blog */
try try
@@ -69,10 +69,10 @@ class ReplyEntry extends CommentMutator
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return Comment * @return Comment
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): Comment public function resolve( mixed $val, array $args, array $context, mixed $info): Comment
{ {
/* Get topic */ /* Get topic */
try try
@@ -58,10 +58,10 @@ class Blog
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return BlogObject * @return BlogObject
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): BlogObject public function resolve( mixed $val, array $args, array $context, mixed $info ): BlogObject
{ {
$blog = BlogObject::load( $args[ 'id'] ); $blog = BlogObject::load( $args[ 'id'] );
@@ -56,10 +56,10 @@ class Blogs
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return array * @return array
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): array public function resolve( mixed $val, array $args, array $context, mixed $info ): array
{ {
Blog::loadIntoMemory('view', $context['member']); Blog::loadIntoMemory('view', $context['member']);
return Blog::roots(); return Blog::roots();
@@ -92,10 +92,10 @@ class Entries
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return ActiveRecordIterator * @return ActiveRecordIterator
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): ActiveRecordIterator public function resolve( mixed $val, array $args, array $context, mixed $info ): ActiveRecordIterator
{ {
Blog::loadIntoMemory('view', Member::loggedIn() ); Blog::loadIntoMemory('view', Member::loggedIn() );
@@ -58,10 +58,10 @@ class Entry
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return EntryClass * @return EntryClass
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): EntryClass public function resolve( mixed $val, array $args, array $context, mixed $info ): EntryClass
{ {
try try
{ {
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="blog"> <javascript app="blog">
<file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/** <file javascript_app="blog" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.manageCategories.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -277,7 +277,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */ <file javascript_app="blog" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.view.js" javascript_type="template" javascript_version="5000041" javascript_position="1000050"><![CDATA[/* CLASS LIST TEMPLATES */
ips.templates.set('blog.view.addButton', "\ ips.templates.set('blog.view.addButton', "\
<li><button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button></li>\ <li><button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button></li>\
"); ");
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="blog" version="5000039"> <app key="blog" version="5000041">
<word key="__app_blog" js="0">Blogs</word> <word key="__app_blog" js="0">Blogs</word>
<word key="frontnavigation_blogs" js="0">Blogs</word> <word key="frontnavigation_blogs" js="0">Blogs</word>
<word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word> <word key="__indefart_blog_entry_comment" js="0">a comment on a blog entry</word>
+2 -6
View File
@@ -1205,12 +1205,8 @@
<article class='ipsBox ipsPull' data-ips-hook="entry__blog"> <article class='ipsBox ipsPull' data-ips-hook="entry__blog">
<header class='ipsPageHeader'> <header class='ipsPageHeader'>
{{if $entry->cover_photo}} {{if $entry->coverPhoto()}}
<div class='ipsCoverPhoto' data-controller="core.global.core.coverPhoto"> {$entry->coverPhoto()|raw}
<div class="ipsCoverPhoto__container">
<img src='{file="$entry->cover_photo" extension="blog_Entries"}' alt='' fetchpriority="high" decoding="sync" class="ipsCoverPhoto__image" data-action="toggleCoverPhoto">
</div>
</div>
{{endif}} {{endif}}
<div class='ipsPageHeader__row'> <div class='ipsPageHeader__row'>
<div class='ipsPageHeader__primary'> <div class='ipsPageHeader__primary'>
+21 -1
View File
@@ -250,6 +250,24 @@
"107751": "4.7.16", "107751": "4.7.16",
"107760": "4.7.17 Beta 1", "107760": "4.7.17 Beta 1",
"107761": "4.7.17 Beta 2", "107761": "4.7.17 Beta 2",
"107762": "4.7.17 Beta 3",
"107763": "4.7.17",
"107764": "4.7.17",
"107765": "4.7.17",
"107770": "4.7.18 Beta 1",
"107771": "4.7.18 Beta 2",
"107772": "4.7.18 Beta 3",
"107773": "4.7.18",
"107774": "4.7.18",
"107775": "4.7.18",
"107780": "4.7.19 Beta 1",
"107781": "4.7.19 Beta 2",
"107782": "4.7.19 Beta 3",
"107783": "4.7.19 Beta 4",
"107784": "4.7.19",
"107785": "4.7.19",
"107786": "4.7.19",
"107787": "4.7.19",
"500001": "5.0.0 Alpha 1", "500001": "5.0.0 Alpha 1",
"500002": "5.0.0 Alpha 2", "500002": "5.0.0 Alpha 2",
"5000003": "5.0.0 Alpha 3", "5000003": "5.0.0 Alpha 3",
@@ -288,5 +306,7 @@
"5000036": "5.0.0 Beta 8", "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8", "5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9", "5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1" "5000039": "5.0.0 Beta 9.1",
"5000040": "5.0.0 Beta 9.1",
"5000041": "5.0.0 Beta 10"
} }
@@ -0,0 +1,23 @@
{
"id": 107774,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107775,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107780,
"name": "4.7.19 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,21 @@
{
"html": {
"added": [],
"edited": [
"front\/browse\/rows",
"front\/view\/comments",
"front\/widgets\/blogCommentFeed"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107781,
"name": "4.7.19 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107782,
"name": "4.7.19 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107783,
"name": "4.7.19 Beta 4",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107784,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107785,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107786,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107787,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000040,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": true,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000041,
"name": "5.0.0 Beta 10",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeeditor": true,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [
"front\/view\/entry"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
+4 -13
View File
@@ -606,13 +606,6 @@ class Blog extends Model implements Embeddable
} }
$form->add( new YesNo( 'allow_anonymous_comments', $this->id ? $this->allow_anonymous : FALSE, FALSE, array() ) ); $form->add( new YesNo( 'allow_anonymous_comments', $this->id ? $this->allow_anonymous : FALSE, FALSE, array() ) );
/* Categories */
if ( $public and $this->id )
{
$form->addTab( 'blog_entry_categories' );
$form->addHtml( Theme::i()->getTemplate( 'view', 'blog', 'front' )->manageCategories( $this ) );
}
parent::form( $form ); parent::form( $form );
} }
@@ -1544,12 +1537,10 @@ class Blog extends Model implements Embeddable
$editLink->opensDialog( 'edit_blog' ); $editLink->opensDialog( 'edit_blog' );
$links[] = $editLink; $links[] = $editLink;
} }
else
{ $categoryLink = new ContentMenuLink( $this->url()->setQueryString( 'do', 'manageCategories' ), 'blog_manage_entry_categories' );
$categoryLink = new ContentMenuLink( $this->url()->setQueryString( 'do', 'manageCategories' ), 'blog_manage_entry_categories' ); $categoryLink->opensDialog( 'blog_manage_entry_categories' );
$categoryLink->opensDialog( 'blog_manage_entry_categories' ); $links[] = $categoryLink;
$links[] = $categoryLink;
}
if( Settings::i()->blog_allow_rssimport ) if( Settings::i()->blog_allow_rssimport )
{ {
@@ -137,6 +137,29 @@ class Category extends Model
*/ */
public static bool $canBeExtended = true; public static bool $canBeExtended = true;
/**
* [ActiveRecord] Duplicate
*
* @return void
*/
public function __clone()
{
$oldId = $this->_id;
parent::__clone();
$attachmentsMap = [];
foreach( Db::i()->select( '*', 'core_attachments_map', [ 'location_key=? and id1=? and id3=?', 'blog_Categories', $oldId, 'bcategory' ] ) as $attachment )
{
$attachment['id1'] = $this->id;
$attachmentsMap[] = $attachment;
}
if( count( $attachmentsMap ) )
{
Db::i()->insert( 'core_attachments_map', $attachmentsMap );
}
}
/** /**
* [Node] Add/Edit Form * [Node] Add/Edit Form
* *
@@ -375,4 +398,16 @@ class Category extends Model
return new ActiveRecordIterator( Db::i()->select( '*', $contentItemClass::$databaseTable, $where, $contentItemClass::$databasePrefix . $contentItemClass::$databaseColumnId, $limit )->join( 'blog_blogs', "blog_entries.entry_blog_id=blog_blogs.blog_id" ), $contentItemClass ); return new ActiveRecordIterator( Db::i()->select( '*', $contentItemClass::$databaseTable, $where, $contentItemClass::$databasePrefix . $contentItemClass::$databaseColumnId, $limit )->join( 'blog_blogs', "blog_entries.entry_blog_id=blog_blogs.blog_id" ), $contentItemClass );
} }
} }
/**
* Delete Record
*
* @return void
*/
public function delete(): void
{
parent::delete();
File::unclaimAttachments( 'blog_Categories', $this->id, null, 'bcategory' );
}
} }
+1 -2
View File
@@ -158,7 +158,7 @@ class Entry extends Item implements
'ip_address' => 'ip_address', 'ip_address' => 'ip_address',
'locked' => 'locked', 'locked' => 'locked',
'cover_photo' => 'cover_photo', 'cover_photo' => 'cover_photo',
'cover_photo_offset' => 'cover_offset', 'cover_photo_offset' => 'cover_photo_offset',
'is_future_entry' => 'is_future_entry', 'is_future_entry' => 'is_future_entry',
'future_date' => 'publish_date', 'future_date' => 'publish_date',
'status' => 'status', 'status' => 'status',
@@ -1048,7 +1048,6 @@ class Entry extends Item implements
$this->category_id = NULL; $this->category_id = NULL;
$this->save(); $this->save();
} }
public static string $itemMenuKey = 'entry_actions';
public static string $itemMenuCss = ''; public static string $itemMenuCss = '';
@@ -67,10 +67,10 @@ class CreateEvent extends ItemMutator
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return Event * @return Event
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): Item public function resolve( mixed $val, array $args, array $context, mixed $info ): Item
{ {
/* Get calendar */ /* Get calendar */
try try
@@ -57,10 +57,10 @@ class Calendar
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return CalendarClass * @return CalendarClass
*/ */
public function resolve( mixed $val, array$args, array $context, array $info): CalendarClass public function resolve( mixed $val, array$args, array $context, mixed $info ): CalendarClass
{ {
$calendar = CalendarClass::load( $args['id'] ); $calendar = CalendarClass::load( $args['id'] );
@@ -56,10 +56,10 @@ class Calendars
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return array * @return array
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): array public function resolve( mixed $val, array $args, array $context, mixed $info ): array
{ {
Calendar::loadIntoMemory('view', $context['member']); Calendar::loadIntoMemory('view', $context['member']);
return Calendar::roots(); return Calendar::roots();
@@ -58,10 +58,10 @@ class Event
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return EventClass * @return EventClass
*/ */
public function resolve( mixed $val, array $args, array $context, array $info): EventClass public function resolve( mixed $val, array $args, array $context, mixed $info ): EventClass
{ {
try try
{ {
@@ -92,10 +92,10 @@ class Events
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return ActiveRecordIterator * @return ActiveRecordIterator
*/ */
public function resolve( mixed $val, array $args, array $context, array $info ): ActiveRecordIterator public function resolve( mixed $val, array $args, array $context, mixed $info ): ActiveRecordIterator
{ {
$where = []; $where = [];
Calendar::loadIntoMemory( 'view', Member::loggedIn() ); Calendar::loadIntoMemory( 'view', Member::loggedIn() );
+11 -11
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="calendar"> <javascript app="calendar">
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.main.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -110,7 +110,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/browse" javascript_name="ips.browse.monthView.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -229,7 +229,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.eventList.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -347,7 +347,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.nearMe.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -711,7 +711,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/overview" javascript_name="ips.overview.search.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1265,7 +1265,7 @@ var PER_PAGE = 16;
}); });
}(jQuery, _)); }(jQuery, _));
]]></file> ]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/submit" javascript_name="ips.submit.dates.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1813,7 +1813,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000200"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/venue" javascript_name="ips.venue.main.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000200"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1920,7 +1920,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderButton.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000150"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2003,7 +2003,7 @@ var PER_PAGE = 16;
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150">/** <file javascript_app="calendar" javascript_location="front" javascript_path="controllers/view" javascript_name="ips.view.reminderForm.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000150">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2113,7 +2113,7 @@ var PER_PAGE = 16;
}); });
}(jQuery, _)); }(jQuery, _));
</file> </file>
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="5000039" javascript_position="1000050"><![CDATA[/** <file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.calendar.templates.js" javascript_type="framework" javascript_version="5000041" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
*/ */
@@ -2122,7 +2122,7 @@ var PER_PAGE = 16;
ips.templates.set('calendar.reminder.loading', " \ ips.templates.set('calendar.reminder.loading', " \
<div class='ipsLoading ipsLoading--tiny'></div>\ <div class='ipsLoading ipsLoading--tiny'></div>\
");]]></file> ");]]></file>
<file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[ips.templates.set("eventLoading", ` <file javascript_app="calendar" javascript_location="front" javascript_path="templates" javascript_name="ips.templates.overview.js" javascript_type="template" javascript_version="5000041" javascript_position="1000050"><![CDATA[ips.templates.set("eventLoading", `
<li class='ipsData__item ipsData__item--loading'> <li class='ipsData__item ipsData__item--loading'>
<div class="ipsData__image"></div> <div class="ipsData__image"></div>
<div class="ipsData__content"> <div class="ipsData__content">
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="calendar" version="5000039"> <app key="calendar" version="5000041">
<word key="__app_calendar" js="0">Events</word> <word key="__app_calendar" js="0">Events</word>
<word key="frontnavigation_calendar" js="0">Events</word> <word key="frontnavigation_calendar" js="0">Events</word>
<word key="__indefart_calendar_event_comment" js="0">a comment on an event</word> <word key="__indefart_calendar_event_comment" js="0">a comment on an event</word>
+21 -1
View File
@@ -250,6 +250,24 @@
"107751": "4.7.16", "107751": "4.7.16",
"107760": "4.7.17 Beta 1", "107760": "4.7.17 Beta 1",
"107761": "4.7.17 Beta 2", "107761": "4.7.17 Beta 2",
"107762": "4.7.17 Beta 3",
"107763": "4.7.17",
"107764": "4.7.17",
"107765": "4.7.17",
"107770": "4.7.18 Beta 1",
"107771": "4.7.18 Beta 2",
"107772": "4.7.18 Beta 3",
"107773": "4.7.18",
"107774": "4.7.18",
"107775": "4.7.18",
"107780": "4.7.19 Beta 1",
"107781": "4.7.19 Beta 2",
"107782": "4.7.19 Beta 3",
"107783": "4.7.19 Beta 4",
"107784": "4.7.19",
"107785": "4.7.19",
"107786": "4.7.19",
"107787": "4.7.19",
"500001": "5.0.0 Alpha 1", "500001": "5.0.0 Alpha 1",
"500002": "5.0.0 Alpha 2", "500002": "5.0.0 Alpha 2",
"5000003": "5.0.0 Alpha 3", "5000003": "5.0.0 Alpha 3",
@@ -288,5 +306,7 @@
"5000036": "5.0.0 Beta 8", "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8", "5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9", "5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1" "5000039": "5.0.0 Beta 9.1",
"5000040": "5.0.0 Beta 9.1",
"5000041": "5.0.0 Beta 10"
} }
@@ -366,9 +366,9 @@ class view extends Controller
{ {
$dayEvents['count']++; $dayEvents['count']++;
if( $_event->all_day AND ( $_event->nextOccurrence( $date, 'startDate' ) AND if( $_event->all_day AND (
$_event->nextOccurrence( $date, 'startDate' )->strFormat('%d') == $date->mday OR ( $_event->nextOccurrence( $date, 'startDate' ) AND $_event->nextOccurrence( $date, 'startDate' )->getTimestamp() <= $date->getTimestamp() ) OR
$_event->nextOccurrence( $date, 'endDate' ) AND $_event->nextOccurrence( $date, 'endDate' )->strFormat('%d') == $date->mday ( $_event->nextOccurrence( $date, 'endDate' ) AND $_event->nextOccurrence( $date, 'endDate' )->getTimestamp() >= $date->getTimestamp() )
) ) ) )
{ {
$dayEvents['allDay'][ $_event->id ] = $_event; $dayEvents['allDay'][ $_event->id ] = $_event;
@@ -0,0 +1,23 @@
{
"id": 107774,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107775,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107780,
"name": "4.7.19 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [
"front\/overview\/header"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107781,
"name": "4.7.19 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107782,
"name": "4.7.19 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107783,
"name": "4.7.19 Beta 4",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107784,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107785,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107786,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107787,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000040,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000041,
"name": "5.0.0 Beta 10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
+27 -14
View File
@@ -2032,6 +2032,11 @@ class Event extends Item implements Embeddable,
$this->coverPhotoFile()?->delete(); $this->coverPhotoFile()?->delete();
} }
/**
* @var string|null
*/
protected ?string $_map = null;
/** /**
* Return the map for the event, if location is specified * Return the map for the event, if location is specified
* *
@@ -2042,30 +2047,39 @@ class Event extends Item implements Embeddable,
*/ */
public function map( int $width, int $height ): string public function map( int $width, int $height ): string
{ {
/* Show venue map */ if( $this->_map === null )
if ( Settings::i()->calendar_venues_enabled )
{ {
if ( $this->venue ) /* Show venue map */
if ( Settings::i()->calendar_venues_enabled )
{
if ( $this->venue )
{
try
{
$this->location = Venue::load( $this->venue )->address;
}
catch( OutOfRangeException $e ){}
}
}
/* No venue? Do we have a specific event location? */
if ( $this->location )
{ {
try try
{ {
$this->location = Venue::load( $this->venue )->address; $this->_map = GeoLocation::buildFromJson( $this->location )->map()->render( $width, $height );
} }
catch( OutOfRangeException $e ){} catch( BadMethodCallException $e ){}
} }
}
/* No venue? Do we have a specific event location? */ /* Set to an empty string so we don't run through this multiple times */
if ( $this->location ) if( $this->_map === null )
{
try
{ {
return GeoLocation::buildFromJson( $this->location )->map()->render( $width, $height ); $this->_map = '';
} }
catch( BadMethodCallException $e ){}
} }
return ''; return $this->_map;
} }
/** /**
@@ -2725,6 +2739,5 @@ class Event extends Item implements Embeddable,
return $this->author()->member_id == $member->member_id and $this->container()->can( 'add', $member ); return $this->author()->member_id == $member->member_id and $this->container()->can( 'add', $member );
} }
public static string $itemMenuKey = 'manage_event';
public static string $itemMenuCss = ''; public static string $itemMenuCss = '';
} }
+19 -19
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="cms"> <javascript app="cms">
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/blocks" javascript_name="ips.blocks.form.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -67,7 +67,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/blocks" javascript_name="ips.blocks.navigation.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -111,7 +111,7 @@
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.download.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000150">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -156,7 +156,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/databases" javascript_name="ips.databases.form.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000150"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -232,7 +232,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000150"><![CDATA[/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/external" javascript_name="ips.external.communication.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000150"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -367,7 +367,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000200"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/fields" javascript_name="ips.fields.form.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000200"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -457,7 +457,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000300"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/media" javascript_name="ips.media.main.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000300"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1096,7 +1096,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.embed.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1131,7 +1131,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000250"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/pages" javascript_name="ips.pages.form.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000250"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1253,7 +1253,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100"><![CDATA[/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.form.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000100"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1365,7 +1365,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100">/** <file javascript_app="cms" javascript_location="front" javascript_path="controllers/records" javascript_name="ips.records.revisions.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000100">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1420,7 +1420,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.addForm.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1470,7 +1470,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.conflict.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -1542,7 +1542,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileEditor.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2503,7 +2503,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.fileList.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2795,7 +2795,7 @@
} }
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050"><![CDATA[/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.main.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050"><![CDATA[/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -2964,7 +2964,7 @@
}); });
}(jQuery, _));]]></file> }(jQuery, _));]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/** <file javascript_app="cms" javascript_location="admin" javascript_path="controllers/templates" javascript_name="ips.templates.variablesDialog.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -3009,7 +3009,7 @@
} }
}); });
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\ <file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.media.js" javascript_type="template" javascript_version="5000041" javascript_position="1000050"><![CDATA[ips.templates.set( 'templates.media.grid', "\
<ul class='ipsGrid ipsGrid--pages-media'>\ <ul class='ipsGrid ipsGrid--pages-media'>\
{{{contents}}}\ {{{contents}}}\
</ul>\ </ul>\
@@ -3026,7 +3026,7 @@ ips.templates.set( 'templates.media.noSearchResults', "\
{{#lang}}mediaNoResults{{/lang}}\ {{#lang}}mediaNoResults{{/lang}}\
</div>\ </div>\
");]]></file> ");]]></file>
<file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000039" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */ <file javascript_app="cms" javascript_location="admin" javascript_path="templates" javascript_name="ips.templates.templates.js" javascript_type="template" javascript_version="5000041" javascript_position="1000050"><![CDATA[/* TEMPLATE EDITOR TEMPLATES */
/* TEMPLATECEPTION */ /* TEMPLATECEPTION */
ips.templates.set('templates.editor.newTab', " \ ips.templates.set('templates.editor.newTab', " \
<a href='#' class='ipsTabs__tab' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' role='tab' aria-controls='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' aria-selected='false' data-fileid='{{fileid}}' data-location='{{location}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>\ <a href='#' class='ipsTabs__tab' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' role='tab' aria-controls='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' aria-selected='false' data-fileid='{{fileid}}' data-location='{{location}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>\
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="cms" version="5000039"> <app key="cms" version="5000041">
<word key="__app_cms" js="0">Pages</word> <word key="__app_cms" js="0">Pages</word>
<word key="menutab__cms" js="0">Pages</word> <word key="menutab__cms" js="0">Pages</word>
<word key="menutab__cms_icon" js="0">file</word> <word key="menutab__cms_icon" js="0">file</word>
+25 -22
View File
@@ -1072,29 +1072,29 @@
<a href='#elTemplateEditor_newItemMenu_menu' id='elTemplateEditor_newItemMenu' class='ipsButton ipsButton--secondary ipsButton--small ipsButton--wide' data-ipsMenu data-ipsMenu-above>{lang="theme_template_new"} &nbsp;<i class='fa-solid fa-caret-down'></i></a> <a href='#elTemplateEditor_newItemMenu_menu' id='elTemplateEditor_newItemMenu' class='ipsButton ipsButton--secondary ipsButton--small ipsButton--wide' data-ipsMenu data-ipsMenu-above>{lang="theme_template_new"} &nbsp;<i class='fa-solid fa-caret-down'></i></a>
</div> </div>
</div> </div>
<div class='ipsTemplateEditor__codeColumn' data-controller='cms.admin.templates.fileEditor'> <div class='ipsTemplateEditor__codeColumn' data-controller='cms.admin.templates.fileEditor'>
<div class='cTemplateControls'> <div class='cTemplateControls'>
<ul class='ipsTemplateEditor__editorToolbar' id='elTemplateEditor_panelToolbar'> <ul class='ipsTemplateEditor__editorToolbar' id='elTemplateEditor_panelToolbar'>
<li> <li>
<a href='#elTemplateEditor_preferences_menu' id='elTemplateEditor_preferences' class='ipsButton ipsButton--inherit ipsButton--small' data-ipsMenu data-ipsMenu-selectable><i class='fa-solid fa-gear'></i> <i class='fa-solid fa-caret-down'></i></a> <button type='submit' class='ipsButton ipsButton--primary' data-action="save">{lang="save"}</button>
</li>
<li>
<div data-role='loading' class='ipsHide i-padding-inline_2'><i class='ipsLoadingIcon'></i> {lang="loading"}</div>
</li>
<li class="i-margin-start_auto">
<a href='#elTemplateEditor_preferences_menu' id='elTemplateEditor_preferences' class='ipsButton ipsButton--inherit i-color_primary' data-ipsMenu data-ipsMenu-selectable><i class='fa-solid fa-gear'></i> <i class='fa-solid fa-caret-down'></i></a>
<ul id='elTemplateEditor_preferences_menu' class='ipsMenu ipsMenu_selectable ipsMenu_auto ipsMenu_withStem ipsHide'> <ul id='elTemplateEditor_preferences_menu' class='ipsMenu ipsMenu_selectable ipsMenu_auto ipsMenu_withStem ipsHide'>
<li class='ipsMenu_item' data-ipsMenuValue='wrap'><a href='#'>{lang="theme_wrap"}</a></li> <li class='ipsMenu_item' data-ipsMenuValue='wrap'><button type="button">{lang="theme_wrap"}</button></li>
<li class='ipsMenu_item' data-ipsMenuValue='lines'><a href='#'>{lang="theme_show_line"}</a></li> <li class='ipsMenu_item' data-ipsMenuValue='lines'><button type="button">{lang="theme_show_line"}</button></li>
<li class='ipsMenu_item' data-ipsMenuValue='diff'><a href='#'>{lang="theme_show_original"}</a></li> <li class='ipsMenu_item' data-ipsMenuValue='diff'><button type="button">{lang="theme_show_original"}</button></li>
</ul> </ul>
</li> </li>
<li> <li>
<a href='#' id='elTemplateEditor_variables' class='ipsButton ipsButton--inherit ipsButton--small' data-ipsDialog data-ipsDialog-title='{lang="content_template_editor_fields_title"}' data-ipsDialog-content="#elTemplateEditor_attributesDialog" data-ipsDialog-size='narrow'>{lang="theme_attributes"}</a> <button type="button" id='elTemplateEditor_variables' class='ipsButton ipsButton--inherit i-color_primary' data-ipsDialog data-ipsDialog-title='{lang="content_template_editor_fields_title"}' data-ipsDialog-content="#elTemplateEditor_attributesDialog" data-ipsDialog-size='narrow'>{lang="theme_attributes"}</button>
</li> </li>
<li> <li>
<a href='{url="app=cms&module=pages&controller=templates&do=delete&t_location={$current->location}&t_key={$current->id}"}' class='ipsButton ipsButton--inherit ipsButton--small {{if $current->user_edited == 'original' or $current->user_edited === 0}}ipsButton--disabled{{endif}}' data-action="revert">{{if $current->user_created == 1}}{lang="delete"}{{else}}{lang="revert"}{{endif}}</a> <a href='{url="app=cms&module=pages&controller=templates&do=delete&t_location={$current->location}&t_key={$current->id}"}' class='ipsButton ipsButton--inherit i-color_primary {{if $current->user_edited == 'original' or $current->user_edited === 0}}ipsButton--disabled{{endif}}' data-action="revert">{{if $current->user_created == 1}}{lang="delete"}{{else}}{lang="revert"}{{endif}}</a>
</li>
<li>
<button type='submit' class='ipsButton ipsButton--primary ipsButton--small' data-action="save">{lang="save"}</button>
</li> </li>
<li>
<span data-role='loading' class='ipsHide'><i class='ipsLoadingIcon'></i> &nbsp;{lang="loading"}</span>
</li>
</ul> </ul>
</div> </div>
<i-tabs id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'> <i-tabs id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
@@ -1114,32 +1114,32 @@
<div class='ipsMessage ipsMessage--information'> <div class='ipsMessage ipsMessage--information'>
{lang="template_variables_save_warning_msg"} {lang="template_variables_save_warning_msg"}
</div> </div>
<p class='ipsType_textBlock' id='elTemplateEditor_attributes_title'> <p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1' id='elTemplateEditor_attributes_title'>
{lang="content_template_editor_fields_params"} {lang="content_template_editor_fields_params"}
</p> </p>
<input class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='variables' placeholder="&#36;foo=''"> <input class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='variables' placeholder="&#36;foo=''">
<p class='ipsType_textBlock' id='elTemplateEditor_title_title'> <p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1' id='elTemplateEditor_title_title'>
{lang="content_template_editor_fields_title"} {lang="content_template_editor_fields_title"}
</p> </p>
<input class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='title'> <input class='ipsInput ipsInput--text ipsInput--fullWidth' data-role='title'>
<p class='ipsType_textBlock' id='elTemplateEditor_group_title'> <p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1' id='elTemplateEditor_group_title'>
{lang="content_template_editor_fields_container"} {lang="content_template_editor_fields_container"}
</p> </p>
{{foreach array('block','page', 'database') as $type }} {{foreach array('block','page', 'database') as $type }}
<select id="elContainer_{$type}_hidden" class='ipsHide' name="group" data-role="group" data-container-type="{$type}"> <select id="elContainer_{$type}_hidden" class='ipsInput ipsHide' name="group" data-role="group" data-container-type="{$type}">
{{foreach \IPS\cms\Templates::getGroups( $type ) as $groupName}} {{foreach \IPS\cms\Templates::getGroups( $type ) as $groupName}}
<option value="{$groupName}">{expression="\IPS\cms\Templates::readableGroupName( $groupName )"}</option> <option value="{$groupName}">{expression="\IPS\cms\Templates::readableGroupName( $groupName )"}</option>
{{endforeach}} {{endforeach}}
</select> </select>
{{endforeach}} {{endforeach}}
<p class='ipsType_textBlock ipsHide'> <p class='i-font-weight_600 i-color_hard i-margin-top_3 i-margin-bottom_1 ipsHide'>
{lang="content_template_editor_fields_desc"} {lang="content_template_editor_fields_desc"}
</p> </p>
<textarea class='ipsHide ipsInput ipsInput--text ipsInput--fullWidth' data-role='description'></textarea> <textarea class='ipsHide ipsInput ipsInput--text ipsInput--fullWidth' data-role='description'></textarea>
<input type='hidden' name='_variables_fileid' value=''> <input type='hidden' name='_variables_fileid' value=''>
<input type='hidden' name='_variables_location' value=''> <input type='hidden' name='_variables_location' value=''>
</div> </div>
<div class='i-padding_3 i-background_3 i-text-align_end'> <div class='ipsSubmitRow'>
<input type='submit' class='ipsButton ipsButton--primary' value='{lang="save"}'> <input type='submit' class='ipsButton ipsButton--primary' value='{lang="save"}'>
</div> </div>
</div> </div>
@@ -1615,7 +1615,6 @@
/* Search bar and filter */ /* Search bar and filter */
.cTemplateControls { .cTemplateControls {
padding: .5em; padding: .5em;
background: var(--i-background_2);
min-height: 60px; /* Set a min-height so the search bar and editor toolbar are aligned */ min-height: 60px; /* Set a min-height so the search bar and editor toolbar are aligned */
align-content: center; align-content: center;
} }
@@ -1676,8 +1675,8 @@
/* Buttons above editor (Revert, Save, etc) */ /* Buttons above editor (Revert, Save, etc) */
.ipsTemplateEditor__editorToolbar { .ipsTemplateEditor__editorToolbar {
display: flex; display: flex;
justify-content: end; align-items: center;
gap: 10px; gap: 6px;
} }
/* Tabs */ /* Tabs */
@@ -1685,6 +1684,10 @@
background: var(--i-background_2); background: var(--i-background_2);
/* Always show the tab bar, even if a single tab exists */ /* Always show the tab bar, even if a single tab exists */
display: block; display: block;
box-shadow: none;
border: 1px solid var(--i-background_4);
border-width: 1px 0;
padding: .6em;
} }
/* Let the tabs wrap since we don't have the scroller feature here */ /* Let the tabs wrap since we don't have the scroller feature here */
+21 -1
View File
@@ -568,6 +568,24 @@
"107751": "4.7.16", "107751": "4.7.16",
"107760": "4.7.17 Beta 1", "107760": "4.7.17 Beta 1",
"107761": "4.7.17 Beta 2", "107761": "4.7.17 Beta 2",
"107762": "4.7.17 Beta 3",
"107763": "4.7.17",
"107764": "4.7.17",
"107765": "4.7.17",
"107770": "4.7.18 Beta 1",
"107771": "4.7.18 Beta 2",
"107772": "4.7.18 Beta 3",
"107773": "4.7.18",
"107774": "4.7.18",
"107775": "4.7.18",
"107780": "4.7.19 Beta 1",
"107781": "4.7.19 Beta 2",
"107782": "4.7.19 Beta 3",
"107783": "4.7.19 Beta 4",
"107784": "4.7.19",
"107785": "4.7.19",
"107786": "4.7.19",
"107787": "4.7.19",
"500001": "5.0.0 Alpha 1", "500001": "5.0.0 Alpha 1",
"500002": "5.0.0 Alpha 2", "500002": "5.0.0 Alpha 2",
"5000003": "5.0.0 Alpha 3", "5000003": "5.0.0 Alpha 3",
@@ -606,5 +624,7 @@
"5000036": "5.0.0 Beta 8", "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8", "5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9", "5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1" "5000039": "5.0.0 Beta 9.1",
"5000040": "5.0.0 Beta 9.1",
"5000041": "5.0.0 Beta 10"
} }
@@ -16,7 +16,7 @@ namespace IPS\cms\extensions\core\SearchContent;
use IPS\cms\Databases; use IPS\cms\Databases;
use IPS\cms\Fields; use IPS\cms\Fields;
use IPS\cms\Records as BaseRecords; use IPS\cms\Records as BaseRecords;
use IPS\cms\Records\Comment; use IPS\Content\Comment;
use IPS\Content\Search\SearchContentAbstract; use IPS\Content\Search\SearchContentAbstract;
use Exception; use Exception;
use IPS\Db; use IPS\Db;
@@ -1029,6 +1029,7 @@ class templates extends Controller
$clone->content = $content; $clone->content = $content;
$clone->location = Request::i()->t_location; $clone->location = Request::i()->t_location;
$clone->group = empty( Request::i()->t_group ) ? null : Request::i()->t_group; $clone->group = empty( Request::i()->t_group ) ? null : Request::i()->t_group;
$clone->original_group = $obj->original_group;
$clone->params = $variables; $clone->params = $variables;
$clone->container = $obj->container; $clone->container = $obj->container;
$clone->position = $obj->position; $clone->position = $obj->position;
@@ -0,0 +1,23 @@
{
"id": 107774,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107775,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107780,
"name": "4.7.19 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": true,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"files": {
"added": [],
"edited": [
"cms\/admin\/controllers\/fields\/ips.fields.form.js"
],
"removed": []
},
"orders": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,23 @@
{
"id": 107781,
"name": "4.7.19 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107782,
"name": "4.7.19 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107783,
"name": "4.7.19 Beta 4",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107784,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107785,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107786,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107787,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000040,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000041,
"name": "5.0.0 Beta 10",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,21 @@
{
"html": {
"added": [],
"edited": [
"admin\/templates\/templates"
],
"removed": []
},
"css": {
"added": [],
"edited": [
"admin\/templates\/templates.css"
],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -1060,6 +1060,11 @@ EOF;
$customBlocksWithBlocks = []; $customBlocksWithBlocks = [];
foreach( Db::i()->select( '*', 'cms_blocks', [ 'block_type=?', 'custom' ] ) as $row ) foreach( Db::i()->select( '*', 'cms_blocks', [ 'block_type=?', 'custom' ] ) as $row )
{ {
if( empty( $row['block_content'] ) )
{
continue;
}
preg_match_all( '/\{block="(.+?)"}/is', $row['block_content'], $matches ); preg_match_all( '/\{block="(.+?)"}/is', $row['block_content'], $matches );
if( count( $matches[1] ) ) if( count( $matches[1] ) )
{ {
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<javascript app="convert"> <javascript app="convert">
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000100">/** <file javascript_app="convert" javascript_location="admin" javascript_path="controllers/convert" javascript_name="ips.convert.menu.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000100">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
@@ -45,7 +45,7 @@
} }
} ); } );
}(jQuery, _));</file> }(jQuery, _));</file>
<file javascript_app="convert" javascript_location="admin" javascript_path="controllers/forms" javascript_name="ips.forms.reactionmapper.js" javascript_type="controller" javascript_version="5000039" javascript_position="1000050">/** <file javascript_app="convert" javascript_location="admin" javascript_path="controllers/forms" javascript_name="ips.forms.reactionmapper.js" javascript_type="controller" javascript_version="5000041" javascript_position="1000050">/**
* Invision Community * Invision Community
* (c) Invision Power Services, Inc. - https://www.invisioncommunity.com * (c) Invision Power Services, Inc. - https://www.invisioncommunity.com
* *
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<language> <language>
<app key="convert" version="5000039"> <app key="convert" version="5000041">
<word key="__app_convert" js="0">Converter</word> <word key="__app_convert" js="0">Converter</word>
<word key="menu__convert_manage" js="0">Conversions</word> <word key="menu__convert_manage" js="0">Conversions</word>
<word key="menu__convert_manage_manage_start" js="0">Start New Conversion</word> <word key="menu__convert_manage_manage_start" js="0">Start New Conversion</word>
+21 -1
View File
@@ -250,6 +250,24 @@
"107751": "4.7.16", "107751": "4.7.16",
"107760": "4.7.17 Beta 1", "107760": "4.7.17 Beta 1",
"107761": "4.7.17 Beta 2", "107761": "4.7.17 Beta 2",
"107762": "4.7.17 Beta 3",
"107763": "4.7.17",
"107764": "4.7.17",
"107765": "4.7.17",
"107770": "4.7.18 Beta 1",
"107771": "4.7.18 Beta 2",
"107772": "4.7.18 Beta 3",
"107773": "4.7.18",
"107774": "4.7.18",
"107775": "4.7.18",
"107780": "4.7.19 Beta 1",
"107781": "4.7.19 Beta 2",
"107782": "4.7.19 Beta 3",
"107783": "4.7.19 Beta 4",
"107784": "4.7.19",
"107785": "4.7.19",
"107786": "4.7.19",
"107787": "4.7.19",
"500001": "5.0.0 Alpha 1", "500001": "5.0.0 Alpha 1",
"500002": "5.0.0 Alpha 2", "500002": "5.0.0 Alpha 2",
"5000003": "5.0.0 Alpha 3", "5000003": "5.0.0 Alpha 3",
@@ -288,5 +306,7 @@
"5000036": "5.0.0 Beta 8", "5000036": "5.0.0 Beta 8",
"5000037": "5.0.0 Beta 8", "5000037": "5.0.0 Beta 8",
"5000038": "5.0.0 Beta 9", "5000038": "5.0.0 Beta 9",
"5000039": "5.0.0 Beta 9.1" "5000039": "5.0.0 Beta 9.1",
"5000040": "5.0.0 Beta 9.1",
"5000041": "5.0.0 Beta 10"
} }
@@ -24,7 +24,7 @@ use IPS\Member;
use IPS\Patterns\ActiveRecordIterator; use IPS\Patterns\ActiveRecordIterator;
use IPS\Task\Queue\OutOfRangeException; use IPS\Task\Queue\OutOfRangeException;
use function defined; use function defined;
use const IPS\REBUILD_SLOW; use const IPS\REBUILD_INTENSE;
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{ {
@@ -0,0 +1,23 @@
{
"id": 107774,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107775,
"name": "4.7.18",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107780,
"name": "4.7.19 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107781,
"name": "4.7.19 Beta 2",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107782,
"name": "4.7.19 Beta 3",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107783,
"name": "4.7.19 Beta 4",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107784,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107785,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107786,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,23 @@
{
"id": 107787,
"name": "4.7.19",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeSettings": false,
"javascript": false,
"emailTemplates": false,
"hooks": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000040,
"name": "5.0.0 Beta 9.1",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,22 @@
{
"id": 5000041,
"name": "5.0.0 Beta 10",
"steps": {
"queries": false,
"lang": false,
"theme": false,
"themeeditor": false,
"javascript": false,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": false,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -67,10 +67,10 @@ class DeleteAttachment
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return bool * @return bool
*/ */
public function resolve( mixed $val, array $args, array $context, array $info ) : bool public function resolve( mixed $val, array $args, array $context, mixed $info ) : bool
{ {
/* Get the attachment */ /* Get the attachment */
try try
@@ -84,10 +84,10 @@ class UploadAttachment
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return array * @return array
*/ */
public function resolve( mixed $val, array $args, array $context, array $info ) : array public function resolve( mixed $val, array $args, array $context, mixed $info ) : array
{ {
$storageClass = File::getClass( 'core_Attachment' ); $storageClass = File::getClass( 'core_Attachment' );
$contents = base64_decode( $args['contents'] ); $contents = base64_decode( $args['contents'] );
@@ -88,10 +88,10 @@ class Members
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return ActiveRecordIterator * @return ActiveRecordIterator
*/ */
public function resolve( mixed $val, array $args, array $context, array $info ) : ActiveRecordIterator public function resolve( mixed $val, array $args, array $context, mixed $info ) : ActiveRecordIterator
{ {
$where = []; $where = [];
$sortBy = ( isset( $args['orderBy'] ) and in_array( $args['orderBy'], MemberType::getOrderByOptions() ) ) ? $args['orderBy'] : 'member_id'; $sortBy = ( isset( $args['orderBy'] ) and in_array( $args['orderBy'], MemberType::getOrderByOptions() ) ) ? $args['orderBy'] : 'member_id';
@@ -58,10 +58,10 @@ class MessengerConversation
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return Conversation * @return Conversation
*/ */
public function resolve( mixed $val, array $args, array $context, array $info ) : Conversation public function resolve( mixed $val, array $args, array $context, mixed $info ) : Conversation
{ {
try try
{ {
@@ -107,10 +107,10 @@ class MessengerConversations
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return ActiveRecordIterator|array * @return ActiveRecordIterator|array
*/ */
public function resolve( mixed $val, array $args, array $context, array $info ) : ActiveRecordIterator|array public function resolve( mixed $val, array $args, array $context, mixed $info ) : ActiveRecordIterator|array
{ {
// Start to build the query to fetch messages // Start to build the query to fetch messages
$where = array( array( 'core_message_topic_user_map.map_user_id=? AND core_message_topic_user_map.map_user_active=1', Member::loggedIn()->member_id ) ); $where = array( array( 'core_message_topic_user_map.map_user_id=? AND core_message_topic_user_map.map_user_active=1', Member::loggedIn()->member_id ) );
@@ -59,10 +59,10 @@ class MessengerFolders
* @param mixed $val Value passed into this resolver * @param mixed $val Value passed into this resolver
* @param array $args Arguments * @param array $args Arguments
* @param array $context Context values * @param array $context Context values
* @param array $info * @param mixed $info
* @return array|null * @return array|null
*/ */
public function resolve( mixed $val, array $args, array $context, array $info ) : ?array public function resolve( mixed $val, array $args, array $context, mixed $info ) : ?array
{ {
if( !Member::loggedIn()->member_id || Member::loggedIn()->members_disable_pm ) if( !Member::loggedIn()->member_id || Member::loggedIn()->members_disable_pm )
{ {
@@ -95,7 +95,7 @@ class Search
* @param array $context Context values * @param array $context Context values
* @return array * @return array
*/ */
public function resolve( mixed $val, array $args, array $context ) : array public function resolve( mixed $val, array $args, array $context, mixed $info ) : array
{ {
$where = array(); $where = array();
$returnObject = array(); $returnObject = array();
@@ -149,27 +149,18 @@ class Search
$query->filterByContent( array( $filter ) ); $query->filterByContent( array( $filter ) );
} }
$orderBy = $query->getDefaultSortMethod(); $orderBy = $args['orderBy'] ?? $query->getDefaultSortMethod();
// Ordering // Ordering
if( isset( $args['orderBy'] ) ) switch( $orderBy )
{ {
switch( $args['orderBy'] ) case 'newest':
{ $query->setOrder( Query::ORDER_NEWEST_CREATED );
case 'newest':
$query->setOrder( Query::ORDER_NEWEST_CREATED );
break; break;
case 'relevancy': case 'relevancy':
$query->setOrder( Query::ORDER_RELEVANCY ); default:
$query->setOrder( Query::ORDER_RELEVANCY );
break; break;
default:
$query->setOrder( $orderBy );
break;
}
}
else
{
$query->setOrder( $orderBy );
} }
// Get page // Get page
@@ -17,6 +17,7 @@ use IPS\Content\Comment;
use IPS\Content\Item; use IPS\Content\Item;
use IPS\Content\Reaction; use IPS\Content\Reaction;
use IPS\Content\Search\Result; use IPS\Content\Search\Result;
use IPS\Content\Search\SearchContent;
use IPS\File; use IPS\File;
use IPS\Http\Url; use IPS\Http\Url;
use IPS\Member; use IPS\Member;
@@ -402,7 +403,8 @@ class ContentSearchResultType extends ObjectType
/* @var Item $itemClass */ /* @var Item $itemClass */
$itemClass = static::getItemClass( $asArray ); $itemClass = static::getItemClass( $asArray );
$itemUrl = $itemClass::urlFromIndexData( $asArray['indexData'], $asArray['itemData'] ); $extension = SearchContent::extension( $itemClass );
$itemUrl = $extension::urlFromIndexData( $asArray['indexData'], $asArray['itemData'] );
/* Object URL */ /* Object URL */
if ( in_array( 'IPS\Content\Comment', class_parents( $asArray['indexData']['index_class'] ) ) ) if ( in_array( 'IPS\Content\Comment', class_parents( $asArray['indexData']['index_class'] ) ) )
@@ -519,10 +521,10 @@ class ContentSearchResultType extends ObjectType
/** /**
* Get the item class for the result * Get the item class for the result
* *
* @param Result $result Array representation of \IPS\Content\Search\Result * @param array $result Array representation of \IPS\Content\Search\Result
* @return string * @return string
*/ */
protected static function getItemClass( Result $result ) : string protected static function getItemClass( array $result ) : string
{ {
$indexClass = $result['indexData']['index_class']; $indexClass = $result['indexData']['index_class'];
return ( in_array( 'IPS\Content\Comment', class_parents( $indexClass ) ) ) ? $indexClass::$itemClass : $indexClass; return ( in_array( 'IPS\Content\Comment', class_parents( $indexClass ) ) ) ? $indexClass::$itemClass : $indexClass;
@@ -12,6 +12,7 @@
namespace IPS\core\api\GraphQL\Types; namespace IPS\core\api\GraphQL\Types;
use GraphQL\Type\Definition\ObjectType; use GraphQL\Type\Definition\ObjectType;
use IPS\Api\GraphQL\TypeRegistry; use IPS\Api\GraphQL\TypeRegistry;
use IPS\Content\Tag;
use IPS\Http\Url; use IPS\Http\Url;
use function defined; use function defined;
@@ -49,8 +50,7 @@ class TagType extends ObjectType
'type' => TypeRegistry::string(), 'type' => TypeRegistry::string(),
'description' => "Tag URL", 'description' => "Tag URL",
'resolve' => function ($tag) { 'resolve' => function ($tag) {
$_tag = urlencode($tag); return Tag::buildTagUrl( $tag );
return Url::internal( "app=core&module=discover&controller=tag&tag={$_tag}", 'front', 'tags' );
} }
] ]
]; ];
+3 -6
View File
@@ -43,14 +43,11 @@ class {key} extends {class}
*/ */
public function init() : void public function init() : void
{ {
parent::init();
// Use this to perform any set up and to assign a template that is not in the following format: // Use this to perform any set up and to assign a template that is not in the following format:
// $this->template( array( \IPS\Theme::i()->getTemplate( 'widgets', $this->app, 'front' ), $this->key ) ); // $this->template( array( \IPS\Theme::i()->getTemplate( 'widgets', $this->app, 'front' ), $this->key ) );
// If you are creating a plugin, uncomment this line: // Note: parent::init() will set a default template, so make sure your template is defined after the parent is called.
// $this->template( array( \IPS\Theme::i()->getTemplate( 'plugins', 'core', 'global' ), $this->key ) );
// And then create your template at located at plugins/<your plugin>/dev/html/{key}.phtml
parent::init();
} }
/** /**
@@ -0,0 +1,31 @@
<?php
/**
* @brief Club Listener
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
* @copyright (c) Invision Power Services, Inc.
* @license https://www.invisioncommunity.com/legal/standards/
* @package Invision Community
{subpackage}
* @since {date}
*/
namespace IPS\{app}\listeners;
/* To prevent PHP errors (extending class does not exist) revealing path */
use IPS\Events\ListenerType\ClubListenerType;
use IPS\Member\Club;
use function defined;
if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
{
header(($_SERVER['SERVER_PROTOCOL'] ?? 'HTTP/1.0') . ' 403 Forbidden');
exit;
}
/**
* Club Listener
*/
class {filename} extends ClubListenerType
{
}
Loaded 100 of 325 files, more files were not shown because too many files have changed in this diff. Show more