Skip to content

Instantly share code, notes, and snippets.


Takuro Hishikawa hissy

View GitHub Profile
hissy / clear_invalid_workflow_notifications.php
Last active Jun 21, 2022
#ConcreteCMS A job to clear invalid workflow notifications
View clear_invalid_workflow_notifications.php
// application/jobs/clear_invalid_workflow_notifications.php
namespace Application\Job;
use Concrete\Core\Entity\Notification\WorkflowProgressNotification;
use Concrete\Core\Job\Job;
use Concrete\Core\Support\Facade\Application;
use Doctrine\ORM\EntityManagerInterface;
hissy / ClearExpressEntries.php
Created Jun 18, 2022
#ConcreteCMS A Command to delete entries of the specific express entity
View ClearExpressEntries.php
// application/src/Express/Command/ClearExpressEntries.php
namespace Application\Express\Command;
use Concrete\Core\Console\Command;
use Concrete\Core\Entity\Express\Entity;
use Concrete\Core\Entity\Express\Entry;
use Concrete\Core\Support\Facade\Application;
use Doctrine\ORM\EntityManagerInterface;
hissy /
Last active Mar 15, 2022
[Concrete CMS][8.5.x] Show cache settings of block types ブロックタイプごとのキャッシュ設定
Name Handle Cache Settings Cache Output Cache Output on Post Cache Output For Registered Users Output Cache Lifetime
記事 content 有効 有効 有効 無効 0
HTML html 有効 有効 有効 有効 0
画像 image 有効 有効 有効 無効 0
ファイル file 有効 有効 有効 有効 0
水平線 horizontal_rule 有効 有効 有効 有効 0
特色 feature 有効 有効 有効 有効 0
オートナビ autonav 有効 有効 有効 無効 300
ページタイトル page_title 有効 有効 有効 無効 0
hissy /
Last active Feb 25, 2022
#ConcreteCMS Migrate legacy database connection to doctrine
hissy / anonymize.php
Created Feb 11, 2022
#ConcreteCMS Tiny script to anonymize users
View anonymize.php
use Concrete\Core\Support\Facade\Application;
use Concrete\Core\User\UserInfoRepository;
$app = Application::getFacadeApplication();
/** @var UserInfoRepository $repository */
$repository = $app->make(UserInfoRepository::class);
$updated = 0;
$failed = 0;
hissy / five_columns_grid.php
Created Dec 20, 2021
#ConcreteCMS #Containers Dynamic Grid Columns Container example
View five_columns_grid.php
defined('C5_EXECUTE') or die("Access Denied.");
/** @var $c \Concrete\Core\Page\Page */
/** @var $container \Concrete\Core\Entity\Page\Container */
use Concrete\Core\Area\ContainerArea;
<div class="grid grid-cols-2 md:grid-cols-4 xl:grid-cols-5 gap-x-4 gap-y-8">
hissy /
Last active Jan 17, 2022
#ConcreteCMS #V8 Override jQuery to 3.5, jQuery UI to 1.13.0 on Concrete CMS version 8.5.x



Concrete CMS version 8 uses jQuery 1.22.2 and jQuery UI 1.12.1, but these versions have officially been marked as the end of life. These libraries have some vulnerabilities, but the jQuery team won't fix them. They announced you should upgrade jQuery 3.5.0 or later.

The core team of Concrete CMS does not plan to update jQuery on version 8.x for backward compatibility. If you can update to Concrete CMS version 9, it'd be best to fix those vulnerabilities.

hissy / view.php
Last active Dec 1, 2021
#ConcreteCMS Get conversation messages count by Page object
View view.php
/** @var \Concrete\Core\Page\Page $page */
$totalMessages = 0;
foreach ($page->getBlocks() as $block) {
if ($block->getBlockTypeHandle() === 'core_conversation') {
/** @var \Concrete\Core\Conversation\Conversation $conversation */
$conversation = $block->getController()->getConversationObject();
if ($conversation) {
$totalMessages = $conversation->getConversationMessagesTotal();
hissy / page_forbidden.php
Created Jul 5, 2021
[concrete5][V8] Keep query parameters on forwarding to login page from page forbidden
View page_forbidden.php
namespace Application\Controller\SinglePage;
use Concrete\Core\Http\ResponseFactoryInterface;
use Concrete\Core\Url\Resolver\Manager\ResolverManagerInterface;
use Concrete\Core\Url\UrlImmutable;
use Concrete\Core\User\User;
use Symfony\Component\HttpFoundation\Response;
hissy / EventService.php
Created Apr 6, 2021
[concrete5] [V8] Create a draft detail page if you make a draft calendar event, and approve the page when you publish that event.
View EventService.php
// application/src/Calendar/Event/EventService.php
namespace Application\Calendar\Event;
use Concrete\Core\Entity\Calendar\Calendar;
use Concrete\Core\Entity\Calendar\CalendarEvent;
use Concrete\Core\Entity\Calendar\CalendarEventVersion;
use Concrete\Core\Page\Page;
use Concrete\Core\Page\Type\Type;