Version 5.0.6

This commit is contained in:
Neo committed 2025-12-19 18:55:49 -08:00
1 parent a3a4a9ccbd
commit b89858b2ff
1214 files changed
+91380 -13411

No files matched your search

+1 -8
View File
@@ -42,7 +42,7 @@ Clipboard
Codemirror (with C-like, CSS, HTMLMixed, JavaScript, PHP, SQL and XML modes and merge, search, and searchcursor addons) Codemirror (with C-like, CSS, HTMLMixed, JavaScript, PHP, SQL and XML modes and merge, search, and searchcursor addons)
Description: Provides code editor for adding code to content, editing templates in the AdminCP, etc. Description: Provides code editor for adding code to content, editing templates in the AdminCP, etc.
Location: In development: applications/core/dev/codemirror Location: In development: applications/core/dev/codemirror
Included version: 5.65.14 Included version: 5.68.18
Website: http://codemirror.net Website: http://codemirror.net
License: http://codemirror.net/LICENSE License: http://codemirror.net/LICENSE
@@ -180,13 +180,6 @@ jQuery.rangyinputs.js
Website: https://github.com/timdown/rangyinputs Website: https://github.com/timdown/rangyinputs
License: http://opensource.org/licenses/MIT License: http://opensource.org/licenses/MIT
jQuery.transform.js
Description: adds support for CSS transforms to jQuery's animate(), used in ips.ui.dialog.js
Location: dev/js/library/jquery/jquery.transform.js
Included version: 1.0
Website: https://github.com/louisremi/jquery.transform.js
License: http://opensource.org/licenses/MIT
jQuery UI jQuery UI
Description: Javascript library for drag+drop, resizing, date polyfill Description: Javascript library for drag+drop, resizing, date polyfill
Location: applications/core/interface/jquery/jquery-ui.js Location: applications/core/interface/jquery/jquery-ui.js
+1 -6
View File
@@ -249,16 +249,12 @@ select:where(:not([multiple])){
cursor: pointer; cursor: pointer;
padding: var(--i-input--pa-bl) var(--i-input--pa-in); padding: var(--i-input--pa-bl) var(--i-input--pa-in);
padding-inline-end: calc(var(--i-input--pa-in) * 3); padding-inline-end: calc(var(--i-input--pa-in) * 3);
background-image: var(--i-select--dark-arrow); background-image: var(--i-select--arrow);
background-size: auto 1em; background-size: auto 1em;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: calc(100% - 1em) 50%; background-position: calc(100% - 1em) 50%;
} }
:where([data-ips-scheme="dark"]) select:where(:not([multiple])){
background-image: var(--i-select--light-arrow);
}
[dir="rtl"] select:where(:not([multiple])){ [dir="rtl"] select:where(:not([multiple])){
background-position: 1em 50%; background-position: 1em 50%;
} }
@@ -354,7 +350,6 @@ input:where([type="checkbox"]){
content: "\f00c"; content: "\f00c";
font-family: "Font Awesome 6 Free"; font-family: "Font Awesome 6 Free";
font-weight: 900; font-weight: 900;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
display: block; display: block;
font-style: normal; font-style: normal;
+5 -2
View File
@@ -45,8 +45,11 @@
--i-input-hover--bo-co: color-mix(in srgb, currentColor 40%, transparent); --i-input-hover--bo-co: color-mix(in srgb, currentColor 40%, transparent);
--i-input-active--bo-co: var(--i-primary); --i-input-active--bo-co: var(--i-primary);
--i-placeholder--op: .75; --i-placeholder--op: .75;
--i-select--dark-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 274.7 54.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z' fill='hsl(0,0%25,0%25,.5)'/%3E%3C/svg%3E"); --i-select--arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 274.7 54.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z' fill='hsl(0,0%25,0%25,.5)'/%3E%3C/svg%3E");
--i-select--light-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 274.7 54.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z' fill='hsl(0,0%25,100%25,.5)'/%3E%3C/svg%3E"); }
[data-ips-scheme="dark"]{
--i-select--arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 274.7 54.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z' fill='hsl(0,0%25,100%25,.5)'/%3E%3C/svg%3E");
} }
+1
View File
@@ -12,6 +12,7 @@
flex: 1 1 18em; flex: 1 1 18em;
background: var(--i-background_2); background: var(--i-background_2);
border-inline-end: 1px solid var(--i-background_4); border-inline-end: 1px solid var(--i-background_4);
border-end-start-radius: var(--i-box--bo-ra); /* Prevent overflowing of border-radius */
} }
.ipsColumn_medium { .ipsColumn_medium {
-1
View File
@@ -12,7 +12,6 @@
.ipsMessage::before { .ipsMessage::before {
font-family: 'Font Awesome 6 Free'; font-family: 'Font Awesome 6 Free';
font-weight: 900; font-weight: 900;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: auto; text-rendering: auto;
position: absolute; position: absolute;
-1
View File
@@ -50,7 +50,6 @@ hr.ipsHr {
.ipsList_checks li:not(.ipsMessage)::before{ .ipsList_checks li:not(.ipsMessage)::before{
font-family: 'Font Awesome 6 Free'; font-family: 'Font Awesome 6 Free';
font-weight: 900; font-weight: 900;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: auto; text-rendering: auto;
position: absolute; position: absolute;
-1
View File
@@ -23,7 +23,6 @@ header, hgroup, nav, section, main {
html { html {
-webkit-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;
accent-color: var(--i-primary); accent-color: var(--i-primary);
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
text-rendering: optimizelegibility; text-rendering: optimizelegibility;
} }
+6
View File
@@ -1,3 +1,9 @@
=============================[NOTE]=============================
Buy license at https://invisioncommunity.com/buy/self-hosted/
================================================================
IPS 5.0.6 (5000074)
=============================[NOTE]=============================
Invision Community End User License Agreement Invision Community End User License Agreement
@@ -21,11 +21,16 @@
<script src="js/multipleRedirect.js"></script> <script src="js/multipleRedirect.js"></script>
</head> </head>
<body> <body>
<script>
$(document).ready(function(){
$('input[name="diagnostics_reporting_checkbox"]').attr("disabled","disabled");
});
</script>
<div id='ipsInstaller'> <div id='ipsInstaller'>
<header class="ipsInstaller__header"> <header class="ipsInstaller__header">
<a href='/' class="ipsInstaller__logo"> <a href='/' class="ipsInstaller__logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440.71 427.19"><path d="M236,353,439.83,0H.88l203.8,353A18.11,18.11,0,0,0,236,353Z"/><polygon points="0 427.19 128.95 427.19 0 203.83 0 427.19"/><polygon points="311.76 427.19 440.71 427.19 440.71 203.83 311.76 427.19"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440.71 427.19"><path d="M236,353,439.83,0H.88l203.8,353A18.11,18.11,0,0,0,236,353Z"/><polygon points="0 427.19 128.95 427.19 0 203.83 0 427.19"/><polygon points="311.76 427.19 440.71 427.19 440.71 203.83 311.76 427.19"/></svg>
<span>{lang="banner"}</span> <span>{lang="banner"} | Chocapikk</span>
</a> </a>
</header> </header>
<main id='elInstaller_body'> <main id='elInstaller_body'>
@@ -71,7 +76,7 @@
<p class='ipsType_normal i-color_soft'> <p class='ipsType_normal i-color_soft'>
{lang="done_note"} {lang="done_note"}
</p> </p>
<div class="ipsButtons i-margin-top_5"> <div class="ipsButtons i-margin-top_5 i-margin-bottom_3">
<a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton--large ipsButton--primary'>{lang="gotosuite"}</a> <a href='{expression="\IPS\Settings::i()->base_url"}' class='ipsButton ipsButton--large ipsButton--primary'>{lang="gotosuite"}</a>
<a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/admin'"}' class='ipsButton ipsButton--large ipsButton--normal'>{lang="gotoacp"}</a> <a href='{expression="rtrim( \IPS\Settings::i()->base_url, '/' ) . '/admin'"}' class='ipsButton ipsButton--large ipsButton--normal'>{lang="gotoacp"}</a>
</div> </div>
@@ -104,7 +109,6 @@
{{endif}} {{endif}}
</main> </main>
</div> </div>
<div class="ipsInstaller__ip">
{lang="server_ip"} {expression="$_SERVER['SERVER_ADDR'] ?? ( $_SERVER['LOCAL_ADDR'] ?? 'unavailable' )"} {lang="server_ip"} {expression="$_SERVER['SERVER_ADDR'] ?? ( $_SERVER['LOCAL_ADDR'] ?? 'unavailable' )"}
</div> </div>
</body> </body>
+1 -1
View File
@@ -144,7 +144,7 @@ $lang = array(
'err_db_exists' => "There is already an Invision Community installation in that database. Choose a different database or use a table prefix.", 'err_db_exists' => "There is already an Invision Community installation in that database. Choose a different database or use a table prefix.",
'err_db_cant_create' => "The Database does not exist and cannot be created automatically. Please create the database manually or contact your hosting provider if you are unsure how to do this.", 'err_db_cant_create' => "The Database does not exist and cannot be created automatically. Please create the database manually or contact your hosting provider if you are unsure how to do this.",
'diagnostics_reporting' => "Send usage and diagnostics data to IPS?", 'diagnostics_reporting' => "Send usage and diagnostics data to IPS?",
'diagnostics_reporting_desc' => "Help Invision Community improve by automatically sending usage and diagnostic information including a list of features in use and basic statistics. The data sent does not contain any private information about your users or your community.", 'diagnostics_reporting_desc' => "This distribution is licensed by Chocapikk and this setting does not work. Help Invision Community improve by automatically sending usage and diagnostic information including a list of features in use and basic statistics. The data sent does not contain any private information about your users or your community.",
'conf_global_error' => "", 'conf_global_error' => "",
+1 -1
View File
@@ -2,7 +2,7 @@
<html lang="en"> <html lang="en">
<head> <head>
<title>Invision Community Update Extractor</title> <title>Invision Community Update Extractor</title>
<style type='text/css'>body{font-family:BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.ipsProgressBar{width:50%;margin:auto;height:26px;overflow:hidden;background:rgb(237, 242, 247);background-image:linear-gradient(to bottom,rgba(23, 126, 201,0.1),rgba(23, 126, 201,0.1));border-radius:4px;}.ipsProgressBar_animated .ipsProgressBar_progress{background-color:rgb(23, 126, 201);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px;animation:progress-bar-stripes 2s linear infinite}.ipsProgressBar_progress{display:flex;align-items:center;width:0;height:100%;font-size:12px;color:#ffffff;text-align:right;background:rgb(23, 126, 201);position:relative;white-space:nowrap;line-height:26px;text-indent:6px;padding-right:2px;}.ipsProgressBar>span:first-child{padding-left:7px;}.ipsProgressBar_progress[data-progress]:after{top:0;color:#fff;content:attr(data-progress);display:block;right:5px;}@media (prefers-color-scheme: dark) { body{ background-color: rgb(45, 49, 57); } }</style> <style type='text/css'>body{font-family:BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.ipsProgressBar{width:50%;margin:auto;height:26px;overflow:hidden;background:#c0cbde;background-image:linear-gradient(to bottom,rgba(23, 126, 201,0.1),rgba(23, 126, 201,0.1));border-radius:8px;box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);}.ipsProgressBar_animated .ipsProgressBar_progress{background-color:#135bec;background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px;animation:progress-bar-stripes 2s linear infinite}.ipsProgressBar_progress{display:flex;align-items:center;width:0;height:100%;font-size:12px;color:#ffffff;text-align:right;background:#135bec;position:relative;white-space:nowrap;line-height:26px;text-indent:6px;padding-right:2px;}.ipsProgressBar>span:first-child{padding-left:7px;}.ipsProgressBar_progress[data-progress]:after{top:0;color:#fff;content:attr(data-progress);display:block;right:5px;}@media (prefers-color-scheme: dark) { body{ background-color: rgb(45, 49, 57); } }</style>
</head> </head>
<body style="margin:0"> <body style="margin:0">
<?php <?php
+9 -7
View File
@@ -8,12 +8,14 @@
<small>{lang="location"}: {lang="step" sprintf="\IPS\Dispatcher::i()->step ?: 1"} {$mr[0]}. {lang="application"}: {expression="ucfirst($mr[1])"}</small> <small>{lang="location"}: {lang="step" sprintf="\IPS\Dispatcher::i()->step ?: 1"} {$mr[0]}. {lang="application"}: {expression="ucfirst($mr[1])"}</small>
{{endif}} {{endif}}
</div> </div>
<div class='i-margin-top_1'> <div class='i-padding_3'>
<pre>{$backtrace|raw}</pre> <pre>{$backtrace|raw}</pre>
</div> </div>
{{if $retryUrl}} <div class="ipsButtons">
<a href="$retryUrl" class='ipsButton' data-action="redirectContinue">{lang="retry"}</a> {{if $retryUrl}}
{{endif}} <a href="$retryUrl" class='ipsButton' data-action="redirectContinue">{lang="retry"}</a>
{{if $showContinueUrl}} {{endif}}
<a href="$showContinueUrl" class='ipsButton' data-action="redirectContinue">{lang="continue"}</a> {{if $showContinueUrl}}
{{endif}} <a href="$showContinueUrl" class='ipsButton' data-action="redirectContinue">{lang="continue"}</a>
{{endif}}
</div>
@@ -22,12 +22,16 @@
<script src="js/multipleRedirect.js"></script> <script src="js/multipleRedirect.js"></script>
</head> </head>
<body class='ipsApp ipsApp_installer'> <body class='ipsApp ipsApp_installer'>
<script>
$(document).ready(function(){
$('input[name="101079_diagnostics_reporting_checkbox"]').attr("disabled","disabled");
});
</script>
<div id='ipsInstaller'> <div id='ipsInstaller'>
<header class="ipsInstaller__header"> <header class="ipsInstaller__header">
<a href='/' class="ipsInstaller__logo"> <a href='/' class="ipsInstaller__logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440.71 427.19"><path d="M236,353,439.83,0H.88l203.8,353A18.11,18.11,0,0,0,236,353Z"/><polygon points="0 427.19 128.95 427.19 0 203.83 0 427.19"/><polygon points="311.76 427.19 440.71 427.19 440.71 203.83 311.76 427.19"/></svg> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 440.71 427.19"><path d="M236,353,439.83,0H.88l203.8,353A18.11,18.11,0,0,0,236,353Z"/><polygon points="0 427.19 128.95 427.19 0 203.83 0 427.19"/><polygon points="311.76 427.19 440.71 427.19 440.71 203.83 311.76 427.19"/></svg>
<span>{lang="upgrader_banner"}</span> <span>{lang="upgrader_banner"} | Chocapikk</span>
</a> </a>
</header> </header>
<main id='elInstaller_body'> <main id='elInstaller_body'>
+1 -1
View File
@@ -544,7 +544,7 @@ $lang = array(
/* ! Core 101079 Diagnostic reporting option */ /* ! Core 101079 Diagnostic reporting option */
'101079_diagnostics_reporting' => "Send diagnostics data to IPS?", '101079_diagnostics_reporting' => "Send diagnostics data to IPS?",
'101079_diagnostics_reporting_desc' => "Help Invision Community improve by automatically sending diagnostic information. The data sent does not contain any private information about your users or your community.", '101079_diagnostics_reporting_desc' => "";,
'104000_es_version' => "Elasticsearch version in use is no longer supported", '104000_es_version' => "Elasticsearch version in use is no longer supported",
'104000_paypal_warning' => "PayPal Functionality", '104000_paypal_warning' => "PayPal Functionality",
+2 -1
View File
@@ -90,7 +90,8 @@ class Application extends SystemApplication
} }
/* We have to use get() to ensure CDATA tags wrap the blog title properly */ /* We have to use get() to ensure CDATA tags wrap the blog title properly */
$title = $blog->member_id ? $blog->name : $member->language()->get( "blogs_blog_{$blog->id}" );
$title = $member->language()->get( "blogs_blog_{$blog->id}" );
$document = Rss::newDocument( $blog->url(), $title, $blog->description ); $document = Rss::newDocument( $blog->url(), $title, $blog->description );
+3 -4
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="5000049" 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="5000074" 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="5000049" 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="5000074" 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>\
"); ");
@@ -310,8 +310,7 @@ mustache
Debug.js Debug.js
app.js</order> app.js</order>
<order app="global" path="/dev/js//library//jquery">jquery.js <order app="global" path="/dev/js//library//jquery">jquery.js
jquery-migrate.js jquery-migrate.js</order>
jquery.transform.js</order>
<order app="global" path="/dev/js//library//linkify">linkify.min.js <order app="global" path="/dev/js//library//linkify">linkify.min.js
linkify-jquery.min.js</order> linkify-jquery.min.js</order>
</javascript> </javascript>
+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="5000049"> <app key="blog" version="5000074">
<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>
+37 -22
View File
@@ -96,18 +96,25 @@
</i-data> </i-data>
</div> </div>
</section>]]></template> </section>]]></template>
<template template_group="browse" template_name="index" template_data="$table, $featured, $blogs=array(), $viewMode=NULL, $category=NULL" template_location="front" template_app="blog"><![CDATA[<header class="ipsPageHeader ipsPageHeader--blogs-index"> <template template_group="browse" template_name="index" template_data="$table, $featured, $blogs=array(), $viewMode=NULL, $category=NULL" template_location="front" template_app="blog"><![CDATA[<header class="ipsPageHeader ipsPageHeader--blogs-index {{if $category !== null}}ipsBox ipsPull{{endif}}">
<div class="ipsPageHeader__row"> <div class="ipsPageHeader__row">
<div data-ips-hook="header" class='ipsPageHeader__primary'> <div data-ips-hook="header" class='ipsPageHeader__primary'>
<h1 data-ips-hook="title" class='ipsPageHeader__title'>{lang="blogs"}</h1> <h1 data-ips-hook="title" class='ipsPageHeader__title'>{{if $category !== null}}{$category->_title}{{else}}{lang="blogs"}{{endif}}</h1>
</div> </div>
{{if \count( $blogs ) || \IPS\blog\Blog::canCreate()}} {{if $category === null and ( \count( $blogs ) || \IPS\blog\Blog::canCreate() )}}
<div data-ips-hook="buttons"> <div data-ips-hook="buttons">
{template="indexButtons" group="browse" params="$blogs, $viewMode, FALSE, $category"} {template="indexButtons" group="browse" params="$blogs, $viewMode, FALSE, $category"}
</div> </div>
{{endif}} {{endif}}
</div> </div>
</header> </header>
{{if $category !== null and ( \count( $blogs ) || \IPS\blog\Blog::canCreate() )}}
<div data-ips-hook="buttons" class='ipsBlockSpacer'>
{template="indexButtons" group="browse" params="$blogs, $viewMode, FALSE, $category"}
</div>
{{endif}}
{{if \count( $featured )}} {{if \count( $featured )}}
{template="featuredEntries" group="browse" params="$featured"} {template="featuredEntries" group="browse" params="$featured"}
{{endif}} {{endif}}
@@ -169,18 +176,26 @@
{{endif}} {{endif}}
</ul> </ul>
{{endif}}]]></template> {{endif}}]]></template>
<template template_group="browse" template_name="indexGrid" template_data="$entries, $featured, $blogs, $pagination, $viewMode, $category" template_location="front" template_app="blog"><![CDATA[<header class="ipsPageHeader ipsPageHeader--blogs-grid"> <template template_group="browse" template_name="indexGrid" template_data="$entries, $featured, $blogs, $pagination, $viewMode, $category" template_location="front" template_app="blog"><![CDATA[
<header class="ipsPageHeader ipsPageHeader--blogs-grid {{if $category !== null}}ipsBox ipsPull{{endif}}">
<div class="ipsPageHeader__row"> <div class="ipsPageHeader__row">
<div data-ips-hook="header" class='ipsPageHeader__primary'> <div data-ips-hook="header" class='ipsPageHeader__primary'>
<h1 data-ips-hook="title" class='ipsPageHeader__title'>{lang="blogs"}</h1> <h1 data-ips-hook="title" class='ipsPageHeader__title'>{{if $category !== null}}{$category->_title}{{else}}{lang="blogs"}{{endif}}</h1>
</div> </div>
{{if \count( $blogs ) || \IPS\blog\Blog::canCreate()}} {{if $category === null and ( \count( $blogs ) || \IPS\blog\Blog::canCreate() )}}
<div data-ips-hook="buttons"> <div data-ips-hook="buttons">
{template="indexButtons" group="browse" params="$blogs, $viewMode, FALSE, $category"} {template="indexButtons" group="browse" params="$blogs, $viewMode, FALSE, $category"}
</div> </div>
{{endif}} {{endif}}
</div> </div>
</header> </header>
{{if $category !== null and ( \count( $blogs ) || \IPS\blog\Blog::canCreate() )}}
<div data-ips-hook="buttons" class='ipsBlockSpacer'>
{template="indexButtons" group="browse" params="$blogs, $viewMode, FALSE, $category"}
</div>
{{endif}}
{{if \count( $featured )}} {{if \count( $featured )}}
{template="featuredEntries" group="browse" params="$featured"} {template="featuredEntries" group="browse" params="$featured"}
{{endif}} {{endif}}
@@ -636,9 +651,7 @@
</div>]]></template> </div>]]></template>
<template template_group="submit" template_name="createBlog" template_data="$form" template_location="front" template_app="blog"><![CDATA[ <template template_group="submit" template_name="createBlog" template_data="$form" template_location="front" template_app="blog"><![CDATA[
{template="pageHeader" group="global" app="core" params="\IPS\Member::loggedIn()->language()->get('create_blog')"} {template="pageHeader" group="global" app="core" params="\IPS\Member::loggedIn()->language()->get('create_blog')"}
<div class='ipsBox'> {$form|raw}]]></template>
{$form|raw}
</div>]]></template>
<template template_group="submit" template_name="submit" template_data="$form, $blog=NULL" template_location="front" template_app="blog"><![CDATA[ <template template_group="submit" template_name="submit" template_data="$form, $blog=NULL" template_location="front" template_app="blog"><![CDATA[
{{if $blog and $club = $blog->club()}} {{if $blog and $club = $blog->club()}}
{{if settings.clubs and settings.clubs_header == 'full'}} {{if settings.clubs and settings.clubs_header == 'full'}}
@@ -658,7 +671,7 @@
{{if $blog and $blog->club()}} {{if $blog and $blog->club()}}
</div> </div>
{{endif}}]]></template> {{endif}}]]></template>
<template template_group="submit" template_name="submitFormTemplate" template_data="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class=''" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox'> <template template_group="submit" template_name="submitFormTemplate" template_data="$id, $action, $elements, $hiddenValues, $actionButtons, $uploadField, $class=''" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox ipsBox--submitBlog ipsPull'>
<form accept-charset='utf-8' class="ipsForm ipsForm--blog-submit {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm data-ipsFormSubmit> <form accept-charset='utf-8' class="ipsForm ipsForm--blog-submit {$class}" action="{$action}" method="post" {{if $uploadField}}enctype="multipart/form-data"{{endif}} data-ipsForm data-ipsFormSubmit>
<input type="hidden" name="{$id}_submitted" value="1"> <input type="hidden" name="{$id}_submitted" value="1">
{{foreach $hiddenValues as $k => $v}} {{foreach $hiddenValues as $k => $v}}
@@ -685,6 +698,9 @@
{{foreach $contents as $inputName => $input}} {{foreach $contents as $inputName => $input}}
{$input|raw} {$input|raw}
{{endforeach}} {{endforeach}}
<li class='ipsSubmitRow'>
<button type='submit' class='ipsButton ipsButton--primary'>{lang="entry_submit"}</button>
</li>
</ul> </ul>
</div> </div>
{{endforeach}} {{endforeach}}
@@ -696,12 +712,11 @@
{$input|raw} {$input|raw}
{{endforeach}} {{endforeach}}
{{endforeach}} {{endforeach}}
<li class='ipsSubmitRow'>
<button type='submit' class='ipsButton ipsButton--primary'>{lang="entry_submit"}</button>
</li>
</ul> </ul>
{{endif}} {{endif}}
<div class='ipsSubmitRow'>
<button type='submit' class='ipsButton ipsButton--primary'>{lang="entry_submit"}</button>
</div>
</form> </form>
</section>]]></template> </section>]]></template>
<template template_group="view" template_name="blogHeader" template_data="$blog, $showCover=true" template_location="front" template_app="blog"><![CDATA[ <template template_group="view" template_name="blogHeader" template_data="$blog, $showCover=true" template_location="front" template_app="blog"><![CDATA[
@@ -789,7 +804,7 @@
</div>]]></template> </div>]]></template>
<template template_group="view" template_name="blogTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox ipsPull' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}' id='elTable_{$table->uniqueId}'> <template template_group="view" template_name="blogTable" template_data="$table, $headers, $rows, $quickSearch" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox ipsPull' data-baseurl='{$table->baseUrl}' data-resort='{$table->resortKey}' data-controller='core.global.core.table{{if $table->canModerate()}},core.front.core.moderation{{endif}}' id='elTable_{$table->uniqueId}'>
{{if $table->title}} {{if $table->title}}
<h2 class='ipsBox__header' hidden>{lang="$table->title"}</h2> <h2 class='ipsInvisible'>{lang="$table->title"}</h2>
{{endif}} {{endif}}
{{if $table->canModerate() OR (isset( $table->sortOptions ) and !empty( $table->sortOptions )) OR !empty( $table->filters ) OR $table->pages > 1 OR $table->advancedSearch}} {{if $table->canModerate() OR (isset( $table->sortOptions ) and !empty( $table->sortOptions )) OR !empty( $table->filters ) OR $table->pages > 1 OR $table->advancedSearch}}
@@ -1032,7 +1047,7 @@
</a> </a>
</h2> </h2>
<p class='i-color_soft i-link-color_inherit'> <p class='i-color_soft i-link-color_inherit'>
{{if $entry->category_id}}<span class="i-color_hard i-font-weight_600">{$entry->category()->name}</span>{{endif}} &middot; {lang="byline_name_date" htmlsprintf="$entry->author()->link()"}{datetime="$entry->date"} {{if $entry->category_id}}<span class="i-color_hard i-font-weight_600">{$entry->category()->name}</span>{{endif}} &middot; {lang="byline_name_date" htmlsprintf="$entry->author()->link(), \IPS\DateTime::ts( $entry->date )"}
</p> </p>
</div> </div>
</header> </header>
@@ -1082,7 +1097,7 @@
<template template_group="view" template_name="comments" template_data="$entry" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox ipsBox--comments ipsPull'> <template template_group="view" template_name="comments" template_data="$entry" template_location="front" template_app="blog"><![CDATA[<section class='ipsBox ipsBox--comments ipsPull'>
<h2 class='ipsBox__header' data-role="comment_count">{lang="num_comments_uc" pluralize="$entry->num_comments"}</h2> <h2 class='ipsBox__header' data-role="comment_count">{lang="num_comments_uc" pluralize="$entry->num_comments"}</h2>
<div class='ipsBox__content'> <div class='ipsBox__content'>
<div data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$entry->url()}' data-feedID='{$entry->feedId}' id='comments'> <div data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$entry->url()}' data-feedID='{$entry->feedId}' id='comments' data-follow-area-id="entry-{$entry->id}">
{template="featuredComments" group="global" app="core" params="$entry->featuredComments(), $entry->url()->setQueryString( 'recommended', 'comments' )"} {template="featuredComments" group="global" app="core" params="$entry->featuredComments(), $entry->url()->setQueryString( 'recommended', 'comments' )"}
@@ -1303,7 +1318,7 @@
<div class='ipsBox ipsBox--padding ipsPull ipsResponsive_showPhone'> <div class='ipsBox ipsBox--padding ipsPull ipsResponsive_showPhone'>
<div class='ipsPageActions'> <div class='ipsPageActions'>
{{if \count( $entry->shareLinks() )}} {{if \count( $entry->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$entry, 'verySmall', 'light'"} {template="shareButton" app="core" group="sharelinks" params="$entry"}
{{endif}} {{endif}}
{{if \IPS\Application::appIsEnabled('cloud')}} {{if \IPS\Application::appIsEnabled('cloud')}}
{template="spam" app="cloud" group="spam" params="$entry"} {template="spam" app="cloud" group="spam" params="$entry"}
+33 -1
View File
@@ -268,6 +268,13 @@
"107785": "4.7.19", "107785": "4.7.19",
"107786": "4.7.19", "107786": "4.7.19",
"107787": "4.7.19", "107787": "4.7.19",
"107795": "4.7.20 Beta 1",
"107796": "4.7.20 Beta 2",
"107797": "4.7.20 Beta 3",
"107798": "4.7.20 Beta 4",
"107799": "4.7.20 Beta 5",
"107800": "4.7.20",
"107801": "4.7.20",
"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",
@@ -316,5 +323,30 @@
"5000046": "5.0.0 Beta 14", "5000046": "5.0.0 Beta 14",
"5000047": "5.0.0 Beta 14.1", "5000047": "5.0.0 Beta 14.1",
"5000048": "5.0.0 Beta 14.2", "5000048": "5.0.0 Beta 14.2",
"5000049": "5.0.0" "5000049": "5.0.0",
"5000050": "5.0.0",
"5000051": "5.0.0",
"5000052": "5.0.1",
"5000053": "5.0.1",
"5000054": "5.0.2",
"5000055": "5.0.2",
"5000056": "5.0.2",
"5000057": "5.0.3",
"5000058": "5.0.3",
"5000059": "5.0.3",
"5000060": "5.0.3",
"5000061": "5.0.4 Beta 1",
"5000062": "5.0.4 Beta 1",
"5000063": "5.0.4 Beta 1",
"5000064": "5.0.4 Beta 2",
"5000065": "5.0.4 Beta 3",
"5000066": "5.0.4",
"5000067": "5.0.5 Beta 1",
"5000068": "5.0.5 Beta 2",
"5000069": "5.0.5",
"5000070": "5.0.6 Beta 1",
"5000071": "5.0.6 Beta 2",
"5000072": "5.0.6 Beta 3",
"5000073": "5.0.6 Beta 4",
"5000074": "5.0.6"
} }
@@ -170,7 +170,7 @@ class browse extends Controller
Output::i()->defaultSearchOption = array( 'blog_entry', 'blog_entry_pl' ); Output::i()->defaultSearchOption = array( 'blog_entry', 'blog_entry_pl' );
} }
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'front_browse.js', 'blog', 'front' ) ); Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'front_browse.js', 'blog', 'front' ) );
Output::i()->title = Member::loggedIn()->language()->addToStack('blogs'); Output::i()->title = $category ? $category->_title : Member::loggedIn()->language()->addToStack( 'blogs' );
} }
} }
@@ -0,0 +1,23 @@
{
"id": 107795,
"name": "4.7.20 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": 107796,
"name": "4.7.20 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": 107797,
"name": "4.7.20 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": 107798,
"name": "4.7.20 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": 107799,
"name": "4.7.20 Beta 5",
"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": 107800,
"name": "4.7.20",
"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": 107801,
"name": "4.7.20",
"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": 5000050,
"name": "5.0.0",
"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": 5000051,
"name": "5.0.0",
"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": 5000052,
"name": "5.0.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": 5000053,
"name": "5.0.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": 5000054,
"name": "5.0.2",
"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": 5000055,
"name": "5.0.2",
"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": 5000056,
"name": "5.0.2",
"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": 5000057,
"name": "5.0.3",
"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,21 @@
{
"html": {
"added": [],
"edited": [
"front\/browse\/index",
"front\/browse\/indexGrid",
"front\/submit\/createBlog"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000058,
"name": "5.0.3",
"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": 5000059,
"name": "5.0.3",
"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": 5000060,
"name": "5.0.3",
"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": 5000061,
"name": "5.0.4 Beta 1",
"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\/comments"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000062,
"name": "5.0.4 Beta 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": 5000063,
"name": "5.0.4 Beta 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": 5000064,
"name": "5.0.4 Beta 2",
"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": 5000065,
"name": "5.0.4 Beta 3",
"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": 5000066,
"name": "5.0.4",
"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": 5000067,
"name": "5.0.5 Beta 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": 5000068,
"name": "5.0.5 Beta 2",
"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,21 @@
{
"html": {
"added": [],
"edited": [
"front\/submit\/submitFormTemplate",
"front\/view\/blogTable",
"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": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000069,
"name": "5.0.5",
"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": 5000070,
"name": "5.0.6 Beta 1",
"steps": {
"queries": false,
"lang": false,
"theme": true,
"themeeditor": true,
"javascript": true,
"emailTemplates": false,
"acpSearchKeywords": false,
"settings": false,
"tasks": false,
"modules": false,
"widgets": false,
"customOptions": false,
"customRoutines": false
},
"forceMainUpgrader": true,
"forceManualDownloadNoCiC": false,
"forceManualDownloadCiC": false
}
@@ -0,0 +1,14 @@
{
"files": {
"added": [],
"edited": [],
"removed": []
},
"orders": {
"added": [],
"edited": [
"global\/\/dev\/js\/\/library\/\/jquery"
],
"removed": []
}
}
@@ -0,0 +1,19 @@
{
"html": {
"added": [],
"edited": [
"front\/view\/blogViewMedium"
],
"removed": []
},
"css": {
"added": [],
"edited": [],
"removed": []
},
"resources": {
"added": [],
"edited": [],
"removed": []
}
}
@@ -0,0 +1,14 @@
{
"categories": {
"added": [],
"edited": [],
"removed": []
},
"settings": {
"added": [],
"edited": [
"layout_blog_view"
],
"removed": []
}
}
@@ -0,0 +1,22 @@
{
"id": 5000071,
"name": "5.0.6 Beta 2",
"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": 5000072,
"name": "5.0.6 Beta 3",
"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": 5000073,
"name": "5.0.6 Beta 4",
"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": 5000074,
"name": "5.0.6",
"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": []
}
}
+22 -29
View File
@@ -230,6 +230,24 @@ class Blog extends Model implements Embeddable
return FALSE; return FALSE;
} }
/**
* Check the action column map if the action is enabled in this node
*
* @param string $action
* @return bool
*/
public function checkAction( string $action ) : bool
{
/* We don't want any kind of specific comment moderation here, just leave it up to the
general rules */
if( $action == 'moderate_comments' )
{
return false;
}
return parent::checkAction( $action );
}
/** /**
* Check permissions on any node * Check permissions on any node
* *
@@ -784,31 +802,6 @@ class Blog extends Model implements Embeddable
return $values; return $values;
} }
/**
* [Node] Get the title to store in the log
*
* @return string|null
*/
public function titleForLog(): ?string
{
if ( !$this->member_id )
{
try
{
return Lang::load( Lang::defaultLanguage() )->get( static::$titleLangPrefix . $this->_id );
}
catch( UnderflowException )
{
/* If we're changing from a member blog to a group blog, the language string won't exist yet */
return $this->_title;
}
}
else
{
return $this->_title;
}
}
/** /**
* @brief Mass update search index after changes * @brief Mass update search index after changes
*/ */
@@ -856,7 +849,7 @@ class Blog extends Model implements Embeddable
} }
/* The seo_name isn't set, so let's fix that real quick and return it */ /* The seo_name isn't set, so let's fix that real quick and return it */
$title = $this->member_id ? $this->name : Lang::load( Lang::defaultLanguage() )->get( 'blogs_blog_' . $this->id ); $title = Lang::load( Lang::defaultLanguage() )->get( 'blogs_blog_' . $this->id );
$seoTitle = Url::seoTitle( $title ); $seoTitle = Url::seoTitle( $title );
$this->seo_name = $seoTitle; $this->seo_name = $seoTitle;
@@ -1024,9 +1017,9 @@ class Blog extends Model implements Embeddable
/** /**
* [Node] Get number of unapproved content comments * [Node] Get number of unapproved content comments
* *
* @return int * @return int|null
*/ */
protected function get__unapprovedComments(): int protected function get__unapprovedComments(): ?int
{ {
return $this->count_comments_hidden; return $this->count_comments_hidden;
} }
@@ -1351,7 +1344,7 @@ class Blog extends Model implements Embeddable
* @param Club $club * @param Club $club
* @return void * @return void
*/ */
public function clubForm( Form $form, Club $club ) : void public function _clubForm( Form $form, Club $club ) : void
{ {
Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'front_view.js', 'blog', 'front' ) ); Output::i()->jsFiles = array_merge( Output::i()->jsFiles, Output::i()->js( 'front_view.js', 'blog', 'front' ) );
+9 -4
View File
@@ -377,7 +377,7 @@ class Entry extends Item implements
* @param array $where Where clause * @param array $where Where clause
* @param string|null $order MySQL ORDER BY clause (NULL to order by date) * @param string|null $order MySQL ORDER BY clause (NULL to order by date)
* @param int|array|null $limit Limit clause * @param int|array|null $limit Limit clause
* @param string $permissionKey A key which has a value in the permission map (either of the container or of this class) matching a column ID in core_permission_index or NULL to ignore permissions * @param string|null $permissionKey A key which has a value in the permission map (either of the container or of this class) matching a column ID in core_permission_index or NULL to ignore permissions
* @param int|bool|null $includeHiddenItems Include hidden items? NULL to detect if currently logged in member has permission, -1 to return public content only, TRUE to return unapproved content and FALSE to only return unapproved content the viewing member submitted * @param int|bool|null $includeHiddenItems Include hidden items? NULL to detect if currently logged in member has permission, -1 to return public content only, TRUE to return unapproved content and FALSE to only return unapproved content the viewing member submitted
* @param int $queryFlags Select bitwise flags * @param int $queryFlags Select bitwise flags
* @param Member|null $member The member (NULL to use currently logged in member) * @param Member|null $member The member (NULL to use currently logged in member)
@@ -394,7 +394,7 @@ class Entry extends Item implements
* @param array|null $location Array of item lat and long * @param array|null $location Array of item lat and long
* @return ActiveRecordIterator|int * @return ActiveRecordIterator|int
*/ */
public static function getItemsWithPermission( array $where=array(), string $order=null, int|array|null $limit=10, string $permissionKey='read', int|bool|null $includeHiddenItems= Filter::FILTER_AUTOMATIC, int $queryFlags=0, Member $member=null, bool $joinContainer=FALSE, bool $joinComments=FALSE, bool $joinReviews=FALSE, bool $countOnly=FALSE, array|null $joins=null, bool|Model $skipPermission=FALSE, bool $joinTags=TRUE, bool $joinAuthor=TRUE, bool $joinLastCommenter=TRUE, bool $showMovedLinks=FALSE, array|null $location=null ): ActiveRecordIterator|int public static function getItemsWithPermission( array $where=array(), string $order=null, int|array|null $limit=10, ?string $permissionKey='read', int|bool|null $includeHiddenItems= Filter::FILTER_AUTOMATIC, int $queryFlags=0, Member $member=null, bool $joinContainer=FALSE, bool $joinComments=FALSE, bool $joinReviews=FALSE, bool $countOnly=FALSE, array|null $joins=null, bool|Model $skipPermission=FALSE, bool $joinTags=TRUE, bool $joinAuthor=TRUE, bool $joinLastCommenter=TRUE, bool $showMovedLinks=FALSE, array|null $location=null ): ActiveRecordIterator|int
{ {
if ( in_array( $permissionKey, array( 'view', 'read' ) ) ) if ( in_array( $permissionKey, array( 'view', 'read' ) ) )
{ {
@@ -804,11 +804,16 @@ class Entry extends Item implements
$response = parent::canComment( $member, $considerPostBeforeRegistering ); $response = parent::canComment( $member, $considerPostBeforeRegistering );
if( $response ) if( $response )
{ {
if ( !$member->member_id and $considerPostBeforeRegistering and Settings::i()->post_before_registering if ( !$member->member_id and ( !$considerPostBeforeRegistering or !Settings::i()->post_before_registering )
and Login::registrationType() != 'disabled'and Settings::i()->bot_antispam_type !== 'none' ) and Login::registrationType() != 'disabled' )
{ {
/* We can override post before register for guests */
return (bool) Group::load( Settings::i()->member_group )->g_blog_allowcomment; return (bool) Group::load( Settings::i()->member_group )->g_blog_allowcomment;
} }
elseif( $member->member_id )
{
return (bool) $member->group['g_blog_allowcomment'];
}
} }
return $response; return $response;
+12 -13
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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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="5000049" 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="5000074" 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">
@@ -2154,8 +2154,7 @@ mustache
Debug.js Debug.js
app.js</order> app.js</order>
<order app="global" path="/dev/js//library//jquery">jquery.js <order app="global" path="/dev/js//library//jquery">jquery.js
jquery-migrate.js jquery-migrate.js</order>
jquery.transform.js</order>
<order app="global" path="/dev/js//library//linkify">linkify.min.js <order app="global" path="/dev/js//library//linkify">linkify.min.js
linkify-jquery.min.js</order> linkify-jquery.min.js</order>
</javascript> </javascript>
+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="5000049"> <app key="calendar" version="5000074">
<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>
+1 -1
View File
@@ -46,7 +46,7 @@
}, },
{ {
"key": "ipb_calendar_mon", "key": "ipb_calendar_mon",
"default": "0", "default": "1",
"report": "full" "report": "full"
}, },
{ {
+45 -16
View File
@@ -314,8 +314,8 @@
{{$coverPhoto = $event->coverPhoto();}} {{$coverPhoto = $event->coverPhoto();}}
{{if $coverPhoto->file}} {{if $coverPhoto->file}}
{{$image = $coverPhoto->file;}} {{$image = $coverPhoto->file;}}
{{elseif $event->container()->club() !== NULL && $event->container()->club()->profile_photo}} {{elseif $event->container()->club() !== NULL && $event->container()->club()->cover_photo}}
{{$image = \IPS\File::get('core_Clubs', $event->container()->club()->profile_photo );}} {{$image = \IPS\File::get('core_Clubs', $event->container()->club()->cover_photo );}}
{{endif}} {{endif}}
{{endif}} {{endif}}
<figure class="ipsData__image"> <figure class="ipsData__image">
@@ -483,8 +483,8 @@
{{$coverPhoto = $event->coverPhoto();}} {{$coverPhoto = $event->coverPhoto();}}
{{if $coverPhoto->file}} {{if $coverPhoto->file}}
{{$image = $coverPhoto->file;}} {{$image = $coverPhoto->file;}}
{{elseif $event->container()->club() !== NULL && $event->container()->club()->profile_photo}} {{elseif $event->container()->club() !== NULL && $event->container()->club()->cover_photo}}
{{$image = \IPS\File::get('core_Clubs', $event->container()->club()->profile_photo );}} {{$image = \IPS\File::get('core_Clubs', $event->container()->club()->cover_photo );}}
{{endif}} {{endif}}
<li class='ipsData__item'> <li class='ipsData__item'>
@@ -629,11 +629,13 @@
<section class='ipsBox i-margin-bottom_block'> <section class='ipsBox i-margin-bottom_block'>
<h2 class='ipsBox__header'>{lang="events_online_events"}</h2> <h2 class='ipsBox__header'>{lang="events_online_events"}</h2>
<div class='i-padding_3 i-background_2 i-border-end-start-radius_box i-border-end-end-radius_box'> <div class='i-padding_3 i-background_2 i-border-end-start-radius_box i-border-end-end-radius_box'>
<ul class='ipsEventList ipsData ipsData--grid ipsData--events-list'> <i-data>
{{foreach $events as $event}} <ul class='ipsEventList ipsData ipsData--grid ipsData--events-list'>
{template="event" app="calendar" group="events" params="$event, 'small'"} {{foreach $events as $event}}
{{endforeach}} {template="event" app="calendar" group="events" params="$event, 'small'"}
</ul> {{endforeach}}
</ul>
</i-data>
</div> </div>
</section> </section>
{{endif}}]]></template> {{endif}}]]></template>
@@ -715,6 +717,13 @@
<a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead'> <a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead'>
<img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy"> <img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy">
</a> </a>
{{elseif $club = $item->container()->club()}}
{{if $club->coverPhoto() and $club->coverPhoto()->file}}
{{$photo = $club->coverPhoto()->file;}}
<a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead'>
<img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy">
</a>
{{endif}}
{{endif}} {{endif}}
<div class='ipsRichEmbed__content'> <div class='ipsRichEmbed__content'>
<div class='ipsColumns'> <div class='ipsColumns'>
@@ -814,6 +823,13 @@
<a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small'> <a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small'>
<img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy"> <img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy">
</div> </div>
{{elseif $club = $item->container()->club()}}
{{if $club->coverPhoto() and $club->coverPhoto()->file}}
{{$photo = $club->coverPhoto()->file;}}
<a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead'>
<img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy">
</a>
{{endif}}
{{endif}} {{endif}}
<div class='i-padding_3'> <div class='i-padding_3'>
<div class='ipsPhotoPanel'> <div class='ipsPhotoPanel'>
@@ -886,6 +902,13 @@
<a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small'> <a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead ipsRichEmbed_masthead_small'>
<img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy"> <img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy">
</a> </a>
{{elseif $club = $item->container()->club()}}
{{if $club->coverPhoto() and $club->coverPhoto()->file}}
{{$photo = $club->coverPhoto()->file;}}
<a href='{$url}' title='{$item->mapped('title')}' class='ipsRichEmbed_masthead'>
<img src='{$photo->url}' alt='{$item->mapped('title')}' loading="lazy">
</a>
{{endif}}
{{endif}} {{endif}}
<div class='i-padding_3'> <div class='i-padding_3'>
<div class='ipsPhotoPanel'> <div class='ipsPhotoPanel'>
@@ -1204,9 +1227,9 @@
</div> </div>
</div> </div>
{{endif}}]]></template> {{endif}}]]></template>
<template template_group="overview" template_name="byMonth" template_data="$calendars, $date, $featured, $events, $thisCalendar, $months=array()" template_location="front" template_app="calendar"><![CDATA[<section class='ipsBox' data-controller="calendar.front.overview.eventList"> <template template_group="overview" template_name="byMonth" template_data="$calendars, $date, $featured, $events, $thisCalendar, $months=array()" template_location="front" template_app="calendar"><![CDATA[<section class='ipsBox' data-controller="calendar.front.overview.eventList" data-ips-hook="main">
<h2 class='ipsBox__header'>{lang="events_browse_by_month"}</h2> <h2 class='ipsBox__header'>{lang="events_browse_by_month"}</h2>
<div class='cEvents__monthNav' data-role='monthNav'> <div class='cEvents__monthNav' data-role='monthNav' data-ips-hook="navigation">
{{foreach $months as $monthObj }} {{foreach $months as $monthObj }}
<a class='cEvents__monthNav__monthItem {{if $monthObj->format( 'n' ) == $date->mon}}cEvents__monthNav__monthItem--active{{endif}}' href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$monthObj->format( 'Y' )}&m={$monthObj->format( 'n' )}"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$monthObj->format( 'Y' )}&m={$monthObj->format( 'n' )}"}{{endif}}" rel='nofollow' data-action='changeMonth' data-month='{$monthObj->format( 'n' )}' data-year='{$monthObj->format( 'Y' )}'> <a class='cEvents__monthNav__monthItem {{if $monthObj->format( 'n' ) == $date->mon}}cEvents__monthNav__monthItem--active{{endif}}' href="{{if $thisCalendar}}{url="app=calendar&module=calendar&controller=view&id={$thisCalendar->_id}&y={$monthObj->format( 'Y' )}&m={$monthObj->format( 'n' )}"}{{else}}{url="app=calendar&module=calendar&controller=view&y={$monthObj->format( 'Y' )}&m={$monthObj->format( 'n' )}"}{{endif}}" rel='nofollow' data-action='changeMonth' data-month='{$monthObj->format( 'n' )}' data-year='{$monthObj->format( 'Y' )}'>
<span class='cEvents__monthNav__month'>{lang="_date_month_short" pluralize="$monthObj->format( 'n' )"}</span> <span class='cEvents__monthNav__month'>{lang="_date_month_short" pluralize="$monthObj->format( 'n' )"}</span>
@@ -1216,7 +1239,7 @@
</div> </div>
{{if \count($events) }} {{if \count($events) }}
<i-data> <i-data>
<ul class='ipsEventList ipsData ipsData--grid ipsData--events-list' data-role='eventList'> <ul class='ipsEventList ipsData ipsData--grid ipsData--events-list' data-role='eventList' data-ips-hook="eventsList">
{{foreach $events as $event}} {{foreach $events as $event}}
{template="event" app="calendar" group="events" params="$event, 'normal', \IPS\calendar\Date::getDate( $date->firstDayOfMonth('year'), $date->firstDayOfMonth('mon'), $date->firstDayOfMonth('mday') )"} {template="event" app="calendar" group="events" params="$event, 'normal', \IPS\calendar\Date::getDate( $date->firstDayOfMonth('year'), $date->firstDayOfMonth('mon'), $date->firstDayOfMonth('mday') )"}
{{endforeach}} {{endforeach}}
@@ -1737,7 +1760,7 @@
{{endif}} {{endif}}
</div>]]></template> </div>]]></template>
<template template_group="view" template_name="comments" template_data="$event" template_location="front" template_app="calendar"><![CDATA[ <template template_group="view" template_name="comments" template_data="$event" template_location="front" template_app="calendar"><![CDATA[
<div class='' data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$event->url()}' {{if $event->isLastPage()}}data-lastPage{{endif}} data-feedID='{$event->feedId}' id='comments'> <div class='' data-controller='core.front.core.commentFeed, core.front.core.ignoredComments' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-baseURL='{$event->url()}' {{if $event->isLastPage()}}data-lastPage{{endif}} data-feedID='{$event->feedId}' id='comments' data-follow-area-id="event-{$event->id}">
{template="featuredComments" group="global" app="core" params="$event->featuredComments(), $event->url()->setQueryString('tab', 'comments')->setQueryString('recommended', 'comments')"} {template="featuredComments" group="global" app="core" params="$event->featuredComments(), $event->url()->setQueryString('tab', 'comments')->setQueryString('recommended', 'comments')"}
<div class="ipsButtonBar ipsButtonBar--top"> <div class="ipsButtonBar ipsButtonBar--top">
@@ -1861,6 +1884,9 @@
</div> </div>
</div>]]></template> </div>]]></template>
<template template_group="view" template_name="eventBlock" template_data="$event, $date, $truncate=FALSE, $map=array( 300, 200 ), $revertToFirst=FALSE" template_location="front" template_app="calendar"><![CDATA[{{$coverPhoto = $event->coverPhoto();}} <template template_group="view" template_name="eventBlock" template_data="$event, $date, $truncate=FALSE, $map=array( 300, 200 ), $revertToFirst=FALSE" template_location="front" template_app="calendar"><![CDATA[{{$coverPhoto = $event->coverPhoto();}}
{{if ( $coverPhoto === null or $coverPhoto->file === null ) and $club = $event->container()->club()}}
{{$coverPhoto = $club->coverPhoto();}}
{{endif}}
<li class="ipsData__item {$event->ui('css')}" data-eventID='{$event->id}' {$event->ui( 'dataAttributes' )}> <li class="ipsData__item {$event->ui('css')}" data-eventID='{$event->id}' {$event->ui( 'dataAttributes' )}>
<a href="{$event->url( 'getPrefComment' )}" class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{$event->title}</span></a> <a href="{$event->url( 'getPrefComment' )}" class="ipsLinkPanel" aria-hidden="true" tabindex="-1"><span>{$event->title}</span></a>
<div class="ipsData__image"> <div class="ipsData__image">
@@ -1993,7 +2019,7 @@
</i-data>]]></template> </i-data>]]></template>
<template template_group="view" template_name="eventSidebar" template_data="$event, $attendees, $tabId='', $address=NULL" template_location="front" template_app="calendar"><![CDATA[ <template template_group="view" template_name="eventSidebar" template_data="$event, $attendees, $tabId='', $address=NULL" template_location="front" template_app="calendar"><![CDATA[
<div class='ipsBlockSpacer'> <div class='ipsBlockSpacer'>
{{if $address || $event->map( 500, 500 )}} {{if !$event->online and ( $address || $event->map( 500, 500 ) )}}
<div data-ips-hook="mapWrapper" class='ipsBox ipsPull'> <div data-ips-hook="mapWrapper" class='ipsBox ipsPull'>
{{if $event->map( 500, 500 )}} {{if $event->map( 500, 500 )}}
<div data-ips-hook="map" class='cEvents__sidebarMap'> <div data-ips-hook="map" class='cEvents__sidebarMap'>
@@ -2166,6 +2192,9 @@
{{endif}} {{endif}}
</div>]]></template> </div>]]></template>
<template template_group="view" template_name="eventStreamBlock" template_data="$event, $date, $truncate=FALSE, $map=array( 300, 200 ), $revertToFirst=FALSE" template_location="front" template_app="calendar"><![CDATA[{{$coverPhoto = $event->coverPhoto();}} <template template_group="view" template_name="eventStreamBlock" template_data="$event, $date, $truncate=FALSE, $map=array( 300, 200 ), $revertToFirst=FALSE" template_location="front" template_app="calendar"><![CDATA[{{$coverPhoto = $event->coverPhoto();}}
{{if ( $coverPhoto === null or $coverPhoto->file === null ) and $club = $event->container()->club()}}
{{$coverPhoto = $club->coverPhoto();}}
{{endif}}
<div class='cCalendarBlock i-background_1 ipsInnerBox i-margin-bottom_block {$event->ui( 'css' )}' {$event->ui( 'dataAttributes' )}> <div class='cCalendarBlock i-background_1 ipsInnerBox i-margin-bottom_block {$event->ui( 'css' )}' {$event->ui( 'dataAttributes' )}>
<div class='ipsCoverPhoto' data-controller='core.global.core.coverPhoto' data-coverOffset='{$coverPhoto->offset}' style='--offset:{$coverPhoto->offset}'> <div class='ipsCoverPhoto' data-controller='core.global.core.coverPhoto' data-coverOffset='{$coverPhoto->offset}' style='--offset:{$coverPhoto->offset}'>
@@ -2310,7 +2339,7 @@
</div> </div>
</form>]]></template> </form>]]></template>
<template template_group="view" template_name="reviews" template_data="$event" template_location="front" template_app="calendar"><![CDATA[ <template template_group="view" template_name="reviews" template_data="$event" template_location="front" template_app="calendar"><![CDATA[
<div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$event->url()}' {{if $event->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='{$event->reviewFeedId}' id='reviews'> <div data-controller='core.front.core.commentFeed' {{if settings.auto_polling_enabled}}data-autoPoll{{endif}} data-commentsType='reviews' data-baseURL='{$event->url()}' {{if $event->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='{$event->reviewFeedId}' id='reviews' data-follow-area-id="event-{$event->id}">
{{if $event->reviewForm()}} {{if $event->reviewForm()}}
{{if $event->locked()}} {{if $event->locked()}}
<strong class='i-color_warning'><i class='fa-solid fa-circle-info'></i> {lang="item_locked_can_review"}</strong> <strong class='i-color_warning'><i class='fa-solid fa-circle-info'></i> {lang="item_locked_can_review"}</strong>
@@ -2558,7 +2587,7 @@
<div class='ipsBox i-padding_2 ipsPull ipsResponsive_showPhone'> <div class='ipsBox i-padding_2 ipsPull ipsResponsive_showPhone'>
<div class='ipsPageActions'> <div class='ipsPageActions'>
{{if \count( $event->shareLinks() )}} {{if \count( $event->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$event, 'verySmall', 'light'"} {template="shareButton" app="core" group="sharelinks" params="$event"}
{{endif}} {{endif}}
{{if $event->canRemind()}} {{if $event->canRemind()}}
{template="reminder" app="calendar" group="view" params="$event, $reminder, 'ipsButton--wide'"} {template="reminder" app="calendar" group="view" params="$event, $reminder, 'ipsButton--wide'"}
+33 -1
View File
@@ -268,6 +268,13 @@
"107785": "4.7.19", "107785": "4.7.19",
"107786": "4.7.19", "107786": "4.7.19",
"107787": "4.7.19", "107787": "4.7.19",
"107795": "4.7.20 Beta 1",
"107796": "4.7.20 Beta 2",
"107797": "4.7.20 Beta 3",
"107798": "4.7.20 Beta 4",
"107799": "4.7.20 Beta 5",
"107800": "4.7.20",
"107801": "4.7.20",
"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",
@@ -316,5 +323,30 @@
"5000046": "5.0.0 Beta 14", "5000046": "5.0.0 Beta 14",
"5000047": "5.0.0 Beta 14.1", "5000047": "5.0.0 Beta 14.1",
"5000048": "5.0.0 Beta 14.2", "5000048": "5.0.0 Beta 14.2",
"5000049": "5.0.0" "5000049": "5.0.0",
"5000050": "5.0.0",
"5000051": "5.0.0",
"5000052": "5.0.1",
"5000053": "5.0.1",
"5000054": "5.0.2",
"5000055": "5.0.2",
"5000056": "5.0.2",
"5000057": "5.0.3",
"5000058": "5.0.3",
"5000059": "5.0.3",
"5000060": "5.0.3",
"5000061": "5.0.4 Beta 1",
"5000062": "5.0.4 Beta 1",
"5000063": "5.0.4 Beta 1",
"5000064": "5.0.4 Beta 2",
"5000065": "5.0.4 Beta 3",
"5000066": "5.0.4",
"5000067": "5.0.5 Beta 1",
"5000068": "5.0.5 Beta 2",
"5000069": "5.0.5",
"5000070": "5.0.6 Beta 1",
"5000071": "5.0.6 Beta 2",
"5000072": "5.0.6 Beta 3",
"5000073": "5.0.6 Beta 4",
"5000074": "5.0.6"
} }
@@ -423,7 +423,7 @@ class event extends Controller
]; ];
Webhook::fire( 'calendarEvent_rsvp', $webhookData ); Webhook::fire( 'calendarEvent_rsvp', $webhookData );
\IPS\Events\Event::fire( 'onEventRsvp', Member::loggedIn(), array( $this->event, $_go ) ); \IPS\Events\Event::fire( 'onEventRsvp', Member::loggedIn(), array( $this->event, $_go ?? EventClass::RSVP_LEFT ) );
$message = 'rsvp_selection_' . Request::i()->action; $message = 'rsvp_selection_' . Request::i()->action;
Output::i()->redirect( $this->event->url(), $message ); Output::i()->redirect( $this->event->url(), $message );
@@ -191,6 +191,9 @@ class submit extends Controller
} }
} }
/* Make sure we fire extensions */
Event::extendForm( $form, $existing, $existing->container() );
if ( $values = $form->values() ) if ( $values = $form->values() )
{ {
/* Set the container */ /* Set the container */
@@ -17,13 +17,11 @@ use BadFunctionCallException;
use DateInterval; use DateInterval;
use DatePeriod; use DatePeriod;
use DateTime; use DateTime;
use DateTimeZone;
use Exception; use Exception;
use InvalidArgumentException; use InvalidArgumentException;
use IPS\calendar\Calendar; use IPS\calendar\Calendar;
use IPS\calendar\Date; use IPS\calendar\Date;
use IPS\calendar\Event; use IPS\calendar\Event;
use IPS\Db;
use IPS\Dispatcher\Controller; use IPS\Dispatcher\Controller;
use IPS\GeoLocation; use IPS\GeoLocation;
use IPS\Helpers\Form; use IPS\Helpers\Form;
@@ -33,7 +31,6 @@ use IPS\Helpers\Form\Text;
use IPS\Http\Url; use IPS\Http\Url;
use IPS\Member; use IPS\Member;
use IPS\Output; use IPS\Output;
use IPS\Patterns\ActiveRecordIterator;
use IPS\Request; use IPS\Request;
use IPS\Session; use IPS\Session;
use IPS\Settings; use IPS\Settings;
@@ -158,12 +155,10 @@ class view extends Controller
if( method_exists( $this, '_view' . ucwords( Request::i()->view ) ) ) if( method_exists( $this, '_view' . ucwords( Request::i()->view ) ) )
{ {
$method = "_view" . ucwords( Request::i()->view ); $method = "_view" . ucwords( Request::i()->view );
$this->$method( $jump );
} }
else else
{ {
$method = "_view" . ucwords( Settings::i()->calendar_default_view ); $method = "_view" . ucwords( Settings::i()->calendar_default_view );
$this->$method( $jump );
} }
} }
/* Otherwise use ACP default preference */ /* Otherwise use ACP default preference */
@@ -171,9 +166,16 @@ class view extends Controller
{ {
Request::i()->view = Settings::i()->calendar_default_view; Request::i()->view = Settings::i()->calendar_default_view;
$method = "_view" . ucwords( Settings::i()->calendar_default_view ); $method = "_view" . ucwords( Settings::i()->calendar_default_view );
$this->$method( $jump );
} }
/* Remove overview for club calendars only */
if( Request::i()->view == 'overview' and $this->_calendar and $club = $this->_calendar->club() )
{
$method = '_viewMonth';
}
$this->$method( $jump );
/* Online User Location */ /* Online User Location */
if ( $this->_calendar ) if ( $this->_calendar )
{ {
@@ -196,6 +198,13 @@ class view extends Controller
/* Get the month data */ /* Get the month data */
$day = NULL; $day = NULL;
preg_match( '/^\d{4}$/', Request::i()->y, $y );
preg_match( '/^\d{1,2}$/', Request::i()->m, $m );
if( ( empty( $y ) and !empty( $m ) ) or ( !empty( $y ) and empty( $m ) ) )
{
Output::i()->error( 'error_bad_date', '2L182/4', 403 );
}
if( ( !Request::i()->y OR Request::i()->y == $this->_today->year ) AND ( !Request::i()->m OR Request::i()->m == $this->_today->mon ) ) if( ( !Request::i()->y OR Request::i()->y == $this->_today->year ) AND ( !Request::i()->m OR Request::i()->m == $this->_today->mon ) )
{ {
$day = $this->_today->mday; $day = $this->_today->mday;
@@ -253,6 +262,16 @@ class view extends Controller
*/ */
protected function _viewWeek( Form $jump ) : void protected function _viewWeek( Form $jump ) : void
{ {
/* Make sure we have a valid date */
if( isset( Request::i()->w ) )
{
preg_match( '/^\d{4}-\d{2}-\d{2}$/', Request::i()->w, $match );
if( empty( $match ) )
{
Output::i()->error( 'error_bad_date', '2L182/1', 403, '' );
}
}
/* Get the week data */ /* Get the week data */
$week = Request::i()->w ? explode( '-', Request::i()->w ) : NULL; $week = Request::i()->w ? explode( '-', Request::i()->w ) : NULL;
try try
@@ -332,6 +351,19 @@ class view extends Controller
*/ */
protected function _viewDay( Form $jump ) : void protected function _viewDay( Form $jump ) : void
{ {
/* Did Esther have a bad date? */
if( isset( Request::i()->y ) or isset( Request::i()->m ) or isset( Request::i()->d ) )
{
preg_match( '/^\d{4}$/', Request::i()->y, $y );
preg_match( '/^\d{1,2}$/', Request::i()->m, $m );
preg_match( '/^\d{1,2}$/', Request::i()->d, $d );
if( empty( $y ) or empty( $m ) or empty( $d ) )
{
/* All signs point to yes */
Output::i()->error( 'error_bad_date', '2L182/3', 403 );
}
}
/* Get the day data */ /* Get the day data */
try try
{ {
@@ -499,7 +531,7 @@ class view extends Controller
$featured = iterator_to_array( Event::featured( 13, '_rand' ) ); $featured = iterator_to_array( Event::featured( 13, '_rand' ) );
/* Get the calendars we can view */ /* Get the calendars we can view */
$calendars = \IPS\Settings::i()->club_nodes_in_apps ? \IPS\calendar\Calendar::rootsWithClubs() : \IPS\calendar\Calendar::roots(); $calendars = Settings::i()->club_nodes_in_apps ? Calendar::rootsWithClubs() : Calendar::roots();
/* If there are no featured get upcoming */ /* If there are no featured get upcoming */
if( count( $featured ) === 0 ) if( count( $featured ) === 0 )
@@ -0,0 +1,23 @@
{
"id": 107795,
"name": "4.7.20 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": 107796,
"name": "4.7.20 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": 107797,
"name": "4.7.20 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": 107798,
"name": "4.7.20 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": 107799,
"name": "4.7.20 Beta 5",
"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": 107800,
"name": "4.7.20",
"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": 107801,
"name": "4.7.20",
"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": 5000050,
"name": "5.0.0",
"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
}
Loaded 100 of 1214 files, more files were not shown because too many files have changed in this diff. Show more