Too Much TV: Your TV Talking Points For Monday, January 15th, 2024

Here's everything you need to know about the world of television for Monday, January 15th, 2024.

PROGRAMMING NOTE
It's not your imagination, there wasn't a Friday newsletter due to some technical problems at TooMuchTV world headquarters. But everything is hopefully now back to normal.

YOU CAN IGNORE EVERY DATA POINT YOU'LL HEAR ABOUT SATURDAY'S NFL PLAYOFF GAME ON PEACOCK
NFL fans were only able to watch Saturday's Dolphins/Chiefs game if they had a paid subscription to Peacock. And aside from the complaints from fans about the game essentially being behind a subscription paywall, there remain a lot of questions about whether this move will be a financial success for the streamer. 

And to be honest, the phrase "financial success" can be a little difficult to define in this context.

From a marketing standpoint, a lot of unhappy NFL fans are now aware that Peacock streams live sports, which is an important consideration, given that the streamer is committed to spending several billion dollars on various sports rights over the next five years. Some of the events are Peacock exclusives and some are shared with NBC Sports. So given all of that, an increase in brand awareness is a good thing.

When you are talking about determining the value of that game to Peacock, it's not an impossible task. But it is more complex than raw viewing numbers or how many new subscribers join the streamer in order to watch the game. And unfortunately, we are not going to have access to the raw numbers we need to come up with an accurate answer.

Over the next few days, Peacock will likely be touting a bunch of numbers about the number and excellent quality of people who watched Saturday's game. But my advice is to be skeptical of the spin. Because believe me, the likelihood of anyone outside the company being able to determine if the game was a financial success is close to zero.

At this point, there are a couple of facts about the game we know so far. The one-off rights to the game apparently cost Peacock $110 million. And Peacock is self-reporting the game nabbed 23 million "viewers." That's not "subscribers," btw. So we're not sure how many of Peacock's 30 million or so subscribers were watching. Or how many viewers were there because they decided to subscribe to Peacock to watch the game. 

So how do we determine the financial value of the game? As I said, I'm not sure that we can from the outside without more specific data. But I can tell you how streamers determine the value of any content, which will at least give you an idea of the factors that matter to the bottom line in this case.

You figure out your customer acquisition cost (CAC) - or what you have to spend for each person who subscribes - and measure that against the customer lifetime value and you have a pretty good metric to use to help determine how much you should be spending on everything from salaries and marketing to content production and overhead.

Simply put, the customer lifetime value is the total worth of each customer throughout the life of your relationship with them. That includes all sorts of data points, ranging from how long each subscriber is likely to stay before churning off, the price they're paying each month, etc. If you can accurately figure that out, you can compare the customer acquisition costs to the customer lifetime value and use that to help you predict a wide variety of future business decisions. 



It's not just whether or not you'll be profitable, but it helps you to make all sorts of related strategic decisions.  If accurate, it gives you a bird’s-eye view of your marketing expenses, efforts, campaigns, and strategies. You can use it to balance short and long-term financial goals. You can figure out which spending is bringing the best return and where to focus future efforts.

It can also help you identify high-value customers. In the case of SVODs, that means customers who are likely to stay subscribed for a long period of time. 

The related side of this is that you can also determine which decisions might help that overall customer lifetime value. Increasing that CLV at a rate lower than you are increasing spending is basically increasing your revenue stream and your profits.

But you can quickly run into problems when the decision is made to tweak the equations in order to justify business decisions you've already decided to make.

In the abstract, CLV is determined by this equation:

Customer Lifetime Value (CLV) = (ARPA × Gross Margin)÷ Churn Rate

In other words, you estimate the average revenue per account by the gross margin and divide by the estimated subscriber churn percentage each month. 

But while that formula sounds straight-forward enough, if you are wrong in any assumption, your bottom line can quickly go sideways.

Let's say that hypothetically you're a streaming media service that has paid more than $100 million for a one-time event. You assume that X number of people are going to subscribe to the service in order to watch the game. So you offer them a deal which gives them a year of the streaming service for $29.99. Which you expect will be an attractive deal for potential subscribers faced with paying $6.99 for just a month of the streaming service.

You estimate that move would end up lowering the customer acquisition costs while also lowering the churn rate. This creates a larger potential revenue stream and that company could spend extra money on content and marketing based on that estimated increase in revenue.

Or, you attribute an impact on customer acquisition costs based on the "buzz" around the game that turns out to be wildly optimistic. In theory, increased positive word-of-mouth would mean that you have to spend less to nab new subscribers. But overestimating that effect throws off all of the other parts of the equation.

The problem of all of this is that if you spend the money before you learn whether or not your decisions result in the increases you anticipated, you are somewhat screwed if it turns out your strategy was wildly optimistic. You've now spent money on programming your business model can't support right now. And now you have to figure out how to "right-size" your bottom line.

So the bottom line is that without knowing Peacock's average customer acquisition costs, how many people took advantage of the special 12-month deal, how many people opted for a new monthly subscription and how many people of those people stay for at least six months, it's impossible to really know if the game was a good financial deal for Peacock.

But at least you know what to look for in the future.

READER FEEDBACK: SHOULD NETFLIX ACQUIRE JUSTWATCH?
In the last newsletter, I suggested that Netflix should acquire a service such as JustWatch, and that sparked a ton of reader feedback. I received more than 50 email as well as direct comments on Substack and social media.

There were a lot of great points and while I don't have the space to include them all, I wanted to highlight some of them:

I use Just Watch almost every day. Deep integration into Netflix would be useful. The data that Netflix could get from search would enrich their decision making for shows and movies to license plus what to develop. And figure out how to port it to my Roku and I'm happy. However, IMDB is the entertainment industry database. Why doesn't Amazon pull this move? Then integrate it into Roku.

--Joe L.

I think the issue is that iMDB doesn't have the comprehensive database of TV listings and where things are streaming?

I agree this could be a good move, although I do not trust Netflix to keep a firewall between the listings/recommendations in the app and prioritizing the service's own content. I think the better move (which could feasibly be integrated into JustWatch or a similar app - I use ReelGood fairly happily) is creating more social sharing options. I've never understood why a streamer doesn't let people do the Spotify thing and make playlists, recommendations, see what friends are watching, etc. This functionality really helps keep users on the platform - I know that I cannot convince my kids to let me port our family subscription from Spotify to Apple Music (even though it's better sound quality, fairer to artists, has Joni Mitchell & Neil Young, etc.) because it would mean moving away from their friends and they fear losing their playlists. Netflix or another streamer offering similar functionality would definitely reduce potential churn.

--Jason M.

I agree that adding more social features is a great idea. I've written in the past about experiments both Netflix and Philo had tried internally to add more sharing functionality. But for whatever reason, they decided not to move forward.

I use JustWatch a lot, so this suggestion sent a frisson of horror down my spine. Because Netflix would ruin it. They wouldn't be able to stop themselves from preferencing their own content and paywalling anything useful, thus turning what is a really helpful site into another crappy moneymaking scheme. These companies aren't in the business of making useful things for consumers, especially when, in this case, a useful site would necessarily send viewers to their competitors. So, all respect, but I really hope they ignore you and leave JustWatch alone.

I had such a different answer to the question. What's the one thing Netflix should do? They should market their damn shows! Actually market. Not put it on the home screen. Not put it in a bullshit "trending now" list. Not send an email to account holders. Not do a screening for influencers that influencers don't even write about. Netflix should pay real human money to advertise, old-school style, everywhere. Your suggestion about JustWatch is due to the complaint that people don't know where things stream. Guess what would fix that? Actually advertising the damn shows! This ain't rocket science. If you want people to know where stuff streams so they can watch, you have to tell them.

One of the biggest follies of the industry of late is that companies think you don't actually have to try to get viewers by telling them about new things that come out. They think that people will just automatically open their apps to find stuff. And that's just not true. If you don't tell them when new shows are on, they won't watch. As we're seeing. Broadcast had a fixed schedule that people could rely on. Because streamers don't have that, it's even more important that they proactively reach out to viewers through every avenue available. Instead they do the opposite. It's madness.

--An EP-level writer


I think it's wise to be concerned that Netflix would ruin the idea by leaning too much into marketing considerations. And all you have to do is look at Amazon Prime Video see see what an app looks like that favors marketing and PVOD sales over a usable customer experience. 

And I really agree with the marketing complaints. I spend entirely too much of my day trying to track down info on shows that are good enough to deserve some attention. Part of it comes down to Netflix's internal determination that TV critics and overall PR efforts are of minimal help expect in specific cases. And those decisions are also complicated by a lack of PR resources internally. Resource decisions have to be made and the net result is that some great shows don't receive the attention they deserve.

And btw, if you're a publicist with some quirky little show that no one is covering, reach out to me. I love that stuff. 

ODDS AND SODS
* I'm a bit late to this, but this YouTube interview between The National's Matt Berninger and David Letterman is incredibly fascinating. There is a lot of talk about depression and this is the first time that I really understood how hard it was for Letterman to host a nightly talk show. 

* Animation workers at Disney's Traveling Lab have voted to unionize with the Animation Guild. The workers live outside of L.A. County but work on Walt Disney Animation Studios projects.

* Here is the complete list of winners of the 15th Annual African American Film Critics Association (AAFCA) awards.

WHAT'S NEW TONIGHT AND TOMORROW

MONDAY, JANUARY 15TH, 2024:
* Maboroshi (Netflix)
* 75th Annual Primetime Emmy Awards (Fox)

SEE YOU TUESDAY!

8.722MBMemory Usage382msRequest Duration
Joomla! Version4.4.4
PHP Version8.1.31
Identityguest
Response200
Templateja_blockk
Database
Server
mysql
Version
8.0.39-cll-lve
Collation
utf8mb4_unicode_ci
Conn Collation
utf8mb4_0900_ai_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:48 [ "PATH" => "/usr/local/bin:/bin:/usr/bin" "HTTP_ACCEPT" => "text/html,application/xhtm...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1743469237 "last" => 1743469237...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (528.29KB) (7.97ms)
  • afterInitialise (1.27MB) (59.95ms)
  • afterRoute (227.03KB) (10.19ms)
  • beforeRenderComponent com_content (38.63KB) (1.42ms)
  • Before Access::preloadComponents (all components) (34.7KB) (1.19ms)
  • After Access::preloadComponents (all components) (109.3KB) (1.5ms)
  • Before Access::preloadPermissions (com_content) (3.91KB) (21μs)
  • After Access::preloadPermissions (com_content) (2.39MB) (19.22ms)
  • Before Access::getAssetRules (id:1950 name:com_content.article.1127) (130.8KB) (270μs)
  • After Access::getAssetRules (id:1950 name:com_content.article.1127) (8.47KB) (236μs)
  • beforeRenderRawModule mod_related_items (Read More) (851.99KB) (90.74ms)
  • Before Access::getAssetRules (id:8 name:com_content) (81.06KB) (7.06ms)
  • After Access::getAssetRules (id:8 name:com_content) (1.59KB) (19μs)
  • afterRenderRawModule mod_related_items (Read More) (77.86KB) (8.4ms)
  • beforeRenderModule mod_related_items (Read More) (704B) (12μs)
  • afterRenderModule mod_related_items (Read More) (3.82KB) (251μs)
  • afterRenderComponent com_content (35.31KB) (112μs)
  • afterDispatch (3.53KB) (304μs)
  • beforeRenderRawModule mod_menu (Newsletters) (355.27KB) (85.15ms)
  • afterRenderRawModule mod_menu (Newsletters) (14.71KB) (709μs)
  • beforeRenderModule mod_menu (Newsletters) (720B) (6μs)
  • afterRenderModule mod_menu (Newsletters) (1.89KB) (243μs)
  • beforeRenderRawModule mod_menu (Other Content) (712B) (54μs)
  • afterRenderRawModule mod_menu (Other Content) (944B) (157μs)
  • beforeRenderModule mod_menu (Other Content) (720B) (6μs)
  • afterRenderModule mod_menu (Other Content) (1.3KB) (126μs)
  • beforeRenderRawModule mod_finder (Head Search) (1.94KB) (95μs)
  • afterRenderRawModule mod_finder (Head Search) (66.42KB) (4.74ms)
  • beforeRenderModule mod_finder (Head Search) (720B) (10μs)
  • afterRenderModule mod_finder (Head Search) (3.3KB) (248μs)
  • beforeRenderRawModule mod_custom ([Offcanvas] Custom banner) (864B) (81μs)
  • afterRenderRawModule mod_custom ([Offcanvas] Custom banner) (3.88KB) (441μs)
  • beforeRenderModule mod_custom ([Offcanvas] Custom banner) (736B) (6μs)
  • afterRenderModule mod_custom ([Offcanvas] Custom banner) (4.82KB) (139μs)
  • beforeRenderRawModule mod_custom ([Offcanvas] Social media) (24B) (30μs)
  • afterRenderRawModule mod_custom ([Offcanvas] Social media) (1.05KB) (111μs)
  • beforeRenderModule mod_custom ([Offcanvas] Social media) (736B) (5μs)
  • afterRenderModule mod_custom ([Offcanvas] Social media) (2.93KB) (124μs)
  • beforeRenderRawModule mod_menu (Off Canvas) (2.23KB) (24μs)
  • afterRenderRawModule mod_menu (Off Canvas) (944B) (131μs)
  • beforeRenderModule mod_menu (Off Canvas) (720B) (4μs)
  • afterRenderModule mod_menu (Off Canvas) (1.28KB) (97μs)
  • beforeRenderRawModule mod_menu (magazine-menu-3) (55.45KB) (1.57ms)
  • afterRenderRawModule mod_menu (magazine-menu-3) (116.6KB) (64.82ms)
  • beforeRenderModule mod_menu (magazine-menu-3) (720B) (12μs)
  • afterRenderModule mod_menu (magazine-menu-3) (6.28KB) (158μs)
  • afterRender (689.13KB) (12.74ms)
  • 1 x beforeRenderRawModule mod_related_items (Read More) (851.99KB) (23.75%)
    90.74ms
    1 x beforeRenderRawModule mod_menu (Newsletters) (355.27KB) (22.29%)
    85.15ms
    1 x afterRenderRawModule mod_menu (magazine-menu-3) (116.6KB) (16.97%)
    64.82ms
    1 x afterInitialise (1.27MB) (15.69%)
    59.95ms
    1 x After Access::preloadPermissions (com_content) (2.39MB) (5.03%)
    19.22ms
    1 x afterRender (689.13KB) (3.33%)
    12.74ms
    1 x afterRoute (227.03KB) (2.67%)
    10.19ms
    1 x afterRenderRawModule mod_related_items (Read More) (77.86KB) (2.2%)
    8.40ms
    1 x afterLoad (528.29KB) (2.09%)
    7.97ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (81.06KB) (1.85%)
    7.06ms
    1 x afterRenderRawModule mod_finder (Head Search) (66.42KB) (1.24%)
    4.74ms
    1 x beforeRenderRawModule mod_menu (magazine-menu-3) (55.45KB) (0.41%)
    1.57ms
    1 x After Access::preloadComponents (all components) (109.3KB) (0.39%)
    1.50ms
    1 x beforeRenderComponent com_content (38.63KB) (0.37%)
    1.42ms
    1 x Before Access::preloadComponents (all components) (34.7KB) (0.31%)
    1.19ms
    1 x afterRenderRawModule mod_menu (Newsletters) (14.71KB) (0.19%)
    709μs
    1 x afterRenderRawModule mod_custom ([Offcanvas] Custom banner) (3.88KB) (0.12%)
    441μs
    1 x afterDispatch (3.53KB) (0.08%)
    304μs
    1 x Before Access::getAssetRules (id:1950 name:com_content.article.1127) (130.8KB) (0.07%)
    270μs
    1 x afterRenderModule mod_related_items (Read More) (3.82KB) (0.07%)
    251μs
    1 x afterRenderModule mod_finder (Head Search) (3.3KB) (0.06%)
    248μs
    1 x afterRenderModule mod_menu (Newsletters) (1.89KB) (0.06%)
    243μs
    1 x After Access::getAssetRules (id:1950 name:com_content.article.1127) (8.47KB) (0.06%)
    236μs
    1 x afterRenderModule mod_menu (magazine-menu-3) (6.28KB) (0.04%)
    158μs
    1 x afterRenderRawModule mod_menu (Other Content) (944B) (0.04%)
    157μs
    1 x afterRenderModule mod_custom ([Offcanvas] Custom banner) (4.82KB) (0.04%)
    139μs
    1 x afterRenderRawModule mod_menu (Off Canvas) (944B) (0.03%)
    131μs
    1 x afterRenderModule mod_menu (Other Content) (1.3KB) (0.03%)
    126μs
    1 x afterRenderModule mod_custom ([Offcanvas] Social media) (2.93KB) (0.03%)
    124μs
    1 x afterRenderComponent com_content (35.31KB) (0.03%)
    112μs
    1 x afterRenderRawModule mod_custom ([Offcanvas] Social media) (1.05KB) (0.03%)
    111μs
    1 x afterRenderModule mod_menu (Off Canvas) (1.28KB) (0.03%)
    97μs
    1 x beforeRenderRawModule mod_finder (Head Search) (1.94KB) (0.02%)
    95μs
    1 x beforeRenderRawModule mod_custom ([Offcanvas] Custom banner) (864B) (0.02%)
    81μs
    1 x beforeRenderRawModule mod_menu (Other Content) (712B) (0.01%)
    54μs
    1 x beforeRenderRawModule mod_custom ([Offcanvas] Social media) (24B) (0.01%)
    30μs
    1 x beforeRenderRawModule mod_menu (Off Canvas) (2.23KB) (0.01%)
    24μs
    1 x Before Access::preloadPermissions (com_content) (3.91KB) (0.01%)
    21μs
    1 x After Access::getAssetRules (id:8 name:com_content) (1.59KB) (0%)
    19μs
    1 x beforeRenderModule mod_related_items (Read More) (704B) (0%)
    12μs
    1 x beforeRenderModule mod_menu (magazine-menu-3) (720B) (0%)
    12μs
    1 x beforeRenderModule mod_finder (Head Search) (720B) (0%)
    10μs
    1 x beforeRenderModule mod_menu (Newsletters) (720B) (0%)
    6μs
    1 x beforeRenderModule mod_menu (Other Content) (720B) (0%)
    6μs
    1 x beforeRenderModule mod_custom ([Offcanvas] Custom banner) (736B) (0%)
    6μs
    1 x beforeRenderModule mod_custom ([Offcanvas] Social media) (736B) (0%)
    5μs
    1 x beforeRenderModule mod_menu (Off Canvas) (720B) (0%)
    4μs
50 statements were executed, 3 of which were duplicates, 47 unique59.4ms504.35KB
  • SELECT @@SESSION.sql_mode;134μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `tvlfg_session` WHERE `session_id` = ?178μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `tvlfg_session` WHERE `session_id` = :session_id LIMIT 199μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `tvlfg_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)1.09ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `tvlfg_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1407μs2.23KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `tvlfg_viewlevels`109μs976B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `tvlfg_usergroups` AS `a` LEFT JOIN `tvlfg_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest204μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `tvlfg_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`719μs3.8KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • UPDATE tvlfg_extensions SET enabled=1 WHERE `type`='plugin' AND `element`='jacontenttype' AND `folder`='ajax'966μs1.3KB/plugins/system/jacontenttype/jacontenttype.php:62Copy
  • SELECT * FROM `tvlfg_languages` WHERE `published` = 1 ORDER BY `ordering` ASC280μs2.17KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT * FROM tvlfg_menu WHERE alias ='latest-news' AND published=1261μs4.09KB/plugins/system/t4/src/t4/MVC/Router/T4.php:352Copy
  • SELECT `m`.`id`,`m`.`menutype`,`m`.`title`,`m`.`alias`,`m`.`note`,`m`.`link`,`m`.`type`,`m`.`level`,`m`.`language`,`m`.`browserNav`,`m`.`access`,`m`.`params`,`m`.`home`,`m`.`img`,`m`.`template_style_id`,`m`.`component_id`,`m`.`parent_id`,`m`.`path` AS `route`,`e`.`element` AS `component` FROM `tvlfg_menu` AS `m` LEFT JOIN `tvlfg_extensions` AS `e` ON `m`.`component_id` = `e`.`extension_id` WHERE ( (`m`.`published` = 1 AND `m`.`parent_id` > 0 AND `m`.`client_id` = 0) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :currentDate1)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :currentDate2) ORDER BY `m`.`lft`578μs20.92KBParams/libraries/src/Menu/SiteMenu.php:166Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`381μs5.14KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `tvlfg_template_styles` AS `s` LEFT JOIN `tvlfg_extensions` AS `e` ON `e`.`element` = `s`.`template` AND `e`.`type` = 'template' AND `e`.`client_id` = `s`.`client_id` WHERE `s`.`client_id` = 0 AND `e`.`enabled` = 1238μs1.16KB/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `tvlfg_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)961μs7.75KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `tvlfg_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 05.36ms225.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `tvlfg_content`1.86ms4.89KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • UPDATE `tvlfg_content` SET `hits` = (`hits` + 1) WHERE `id` = '1127'14.65ms48B/libraries/src/Table/Table.php:1325Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `tvlfg_content` AS `a` INNER JOIN `tvlfg_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `tvlfg_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `tvlfg_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `tvlfg_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `tvlfg_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)951μs24.63KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`505μs5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `tvlfg_contentitem_tag_map` AS `m` INNER JOIN `tvlfg_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)2.2ms5.23KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`625μs5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM tvlfg_fields AS a LEFT JOIN `tvlfg_languages` AS l ON l.lang_code = a.language LEFT JOIN tvlfg_users AS uc ON uc.id=a.checked_out LEFT JOIN tvlfg_viewlevels AS ag ON ag.id = a.access LEFT JOIN tvlfg_users AS ua ON ua.id = a.created_user_id LEFT JOIN tvlfg_fields_groups AS g ON g.id = a.group_id LEFT JOIN `tvlfg_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4)) AND `a`.`access` IN (:preparedArray5,:preparedArray6)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray7,:preparedArray8)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC759μs6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `tvlfg_content` AS `a` LEFT JOIN `tvlfg_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC3.7ms58.03KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:188Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`553μs5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT u.id, u.name, u.username, u.params FROM tvlfg_users AS u LEFT JOIN tvlfg_user_usergroup_map AS g ON g.user_id = u.id WHERE u.id = '51' GROUP BY u.id152μs1KB/plugins/system/t4/src/t4/MVC/Model/AuthorModel.php:279Copy
  • SELECT enabled FROM tvlfg_extensions WHERE `type` = 'plugin' AND `element` = 'profile'178μs856B/plugins/system/t4/src/t4/MVC/Model/AuthorModel.php:467Copy
  • SELECT profile_key, profile_value FROM tvlfg_user_profiles WHERE user_id = 51 AND profile_key LIKE 'profile.%' ORDER BY ordering205μs1.09KB/plugins/system/t4/src/t4/MVC/Model/AuthorModel.php:420Copy
  • SHOW FULL COLUMNS FROM `tvlfg_users`1.42ms2.2KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:625Copy
  • SELECT * FROM `tvlfg_users` WHERE `id` = :userid222μs4.41KBParams/libraries/src/Table/User.php:104Copy
  • SELECT `g`.`id`,`g`.`title` FROM `tvlfg_usergroups` AS `g` INNER JOIN `tvlfg_user_usergroup_map` AS `m` ON `m`.`group_id` = `g`.`id` WHERE `m`.`user_id` = :muserid230μs1.7KBParams/libraries/src/Table/User.php:132Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM tvlfg_fields AS a LEFT JOIN `tvlfg_languages` AS l ON l.lang_code = a.language LEFT JOIN tvlfg_users AS uc ON uc.id=a.checked_out LEFT JOIN tvlfg_viewlevels AS ag ON ag.id = a.access LEFT JOIN tvlfg_users AS ua ON ua.id = a.created_user_id LEFT JOIN tvlfg_fields_groups AS g ON g.id = a.group_id WHERE ( (`a`.`context` = :context AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray3,:preparedArray4)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC462μs5.31KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `name` FROM `tvlfg_users` WHERE id = '51'149μs11.84KB/plugins/system/t4/src/t4/MVC/Router/Content/Router.php:66Copy
  • SELECT username FROM tvlfg_users WHERE id=51111μs856B/plugins/system/t4/src/t4/MVC/Router/T4.php:288Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `tvlfg_modules` AS `m` LEFT JOIN `tvlfg_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `tvlfg_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`1.18ms2.38KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • SELECT `metakey` FROM `tvlfg_content` WHERE `id` = :id196μs1.63KBParams/modules/mod_related_items/src/Helper/RelatedItemsHelper.php:88Copy
  • SELECT `a`.`id` FROM `tvlfg_content` AS `a` WHERE ( ( (`a`.`id` != :id AND `a`.`state` = 1 AND `a`.`access` IN (:preparedArray1,:preparedArray2)) AND (`a`.`metakey` LIKE :preparedArray3 OR `a`.`metakey` LIKE :preparedArray4)) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :nowDate1)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :nowDate2) LIMIT 54.32ms1.85KBParams/modules/mod_related_items/src/Helper/RelatedItemsHelper.php:152Copy
  • SELECT `a`.`id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END AS `publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`metadata`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`featured`,`a`.`language`,LENGTH(`a`.`fulltext`) AS `readmore`,`a`.`ordering`,`fp`.`featured_up`,`fp`.`featured_down`,CASE WHEN `c`.`published` = 2 AND `a`.`state` > 0 THEN 2 WHEN `c`.`published` != 1 THEN 0 ELSE `a`.`state` END AS `state`,`c`.`title` AS `category_title`,`c`.`path` AS `category_route`,`c`.`access` AS `category_access`,`c`.`alias` AS `category_alias`,`c`.`language` AS `category_language`,`c`.`published`,`c`.`published` AS `parents_published`,`c`.`lft`,CASE WHEN `a`.`created_by_alias` > ' ' THEN `a`.`created_by_alias` ELSE `ua`.`name` END AS `author`,`ua`.`email` AS `author_email`,`uam`.`name` AS `modified_by_name`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language` FROM `tvlfg_content` AS `a` LEFT JOIN `tvlfg_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `tvlfg_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `tvlfg_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `tvlfg_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `tvlfg_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` WHERE `a`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`access` IN (:preparedArray3,:preparedArray4) AND `c`.`published` = 1 AND `a`.`state` = :condition AND `a`.`id` IN (:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) ORDER BY a.ordering ASC1.11ms41.61KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `m`.`tag_id`,`m`.`content_item_id`,`t`.* FROM `tvlfg_contentitem_tag_map` AS `m` INNER JOIN `tvlfg_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `t`.`published` = 1 AND `m`.`content_item_id` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5) AND `t`.`access` IN (:preparedArray6,:preparedArray7)3ms5.47KBParams/libraries/src/Helper/TagsHelper.php:448Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`738μs5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `tvlfg_categories` AS `s` INNER JOIN `tvlfg_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`487μs5.19KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `tvlfg_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1549μs976B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `tvlfg_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)211μs904B/administrator/components/com_finder/src/Indexer/Taxonomy.php:314Copy
  • SELECT * FROM tvlfg_acym_configuration347μs2.88KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT * FROM tvlfg_acym_list WHERE type = 'standard'178μs2.28KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT * FROM tvlfg_acym_field150μs2.31KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT * FROM tvlfg_acym_form WHERE active = 1 AND type != 'shortcode'128μs1.2KB/administrator/components/com_acym/libraries/joomla/database.php:32Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `tvlfg_scheduler_tasks` AS `a` WHERE `a`.`state` = 1190μs1.68KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `tvlfg_session` WHERE `session_id` = ?171μs1.63KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `tvlfg_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?5.54ms912BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy