Absentee Voting

Today it is hard to realise that prior to 1872 there was no such thing as a secret ballot. At every election how each elector voted was printed and published in a poll book. The passing of the Ballot Act 1872 marked another progressive step in the improvement of the democratic process. Thus far, as in every such case over the intervening 125 years, the reform has been entrenched permanently into good practice. Now, for the first time ever, with the introduction of elections being conducted entirely by post and with the widespread availability of electronic voting, electoral practice is taking a retrograde step and one which will undermine the security of the elections involved.

A secret ballot is only able to be guaranteed when the individual elector votes in person at a polling station at which polling agents appointed by each candidate are entitled to be present with the authority to challenge any individual not thought to be entitled to vote. These key requirements are further underpinned by the availability of the marked register for public examination over a period of six months, so that there is an inhibition against the impersonation of deceased or seriously ill voters. An election that relies on absentee voting has neither polling agents nor a marked register and cannot be guaranteed.

Many candidates and agents are well aware of the underhand practices that have always gone on in relation to postal and proxy votes. In Leeds I always had to write to postal voters warning them against allowing a stranger to assist them with their ballot paper. My opponent's workers would regularly visit those on the absent voters' register on the day their postal vote arrived and offer to help them. Given that many were elderly and vulnerable they were happy to let a friendly visitor witness their form or even complete the ballot paper. And I couldn't guarantee that some over zealous members of my team did not do the same. In the heat of the final days of an election campaign it takes a very principled party worker to resist the temptation not to post a postal ballot known to contain a vote against his or her candidate.

In an election in South Wales some years ago the Liberal candidate arranged for some twenty postal votes and delivered the application forms to the returning officer's desk a few days before the final date. The RO - the local town clerk - knowing who had delivered them chose not to process them in time. The Liberal candidate lost by seven votes.

In Northern Ireland at a Westminster election, a very distinguished MP arrived at the Chief Election Officer with a large box full of completed postal votes which he and his workers had collected. The CEO refused to accept them, saying that postal votes should be posted. Even so, the eventual effect was the same - the party had engineered a large number of votes and organised their completion and collection. There was no possible guarantee that the voters involved had been able to cast their votes individually and in secret.

Since the restrictions on the qualification for a postal or proxy vote have been abandoned, there are a number of well attested instances of parties applying for large numbers of such votes, in some cases with the address for the delivery of the postal vote being a party worker's address. In a number of such cases the voter whose vote had been diverted was unaware of it and tried, unsuccessfully, to vote in person. These fiddles are inevitable when the safeguards of a vote in person at a polling station are abandoned. 

It is totally naive to think that candidates and parties will refrain from using such easy opportunities when political power is at stake and when it is possible to secure election by manipulating postal and proxy votes. It has been bad enough in the past when the relatively small numbers of such votes have been fiddled in order to secure marginal seats but in future a well organised and determined party will be able to manipulate enough votes to win any ward or constituency. Over a period of time voter turnout may well increase dramatically but it will not be an indication of voter enthusiasm but rather of a party's, or parties', manipulative efficiency.

At its worst the system is wide open to bribery. The secret ballot ended the practice of buying votes. As soon as it was impossible to see how an elector had voted there was no point in trying to bribe him or her. Interestingly, the "bribery circuit" method of bringing out an unmarked ballot paper to be sold to the party agent, then marked by him or her and given to the next bought voter to take in and be replaced for his or her own ballot which is then brought out unmarked, is not a modern phenomenon of new democracies but was discussed in Parliament in debates on the 1872 Bill. It has never been practised in the UK, but with every type of absentee voting it is very easy to sell one's vote, and with a great deal at stake it will certainly be done.

The same problems of security  arise with electronic voting. There have been a number of recent articles either by, or quoting, IT experts explaining how all the currently proposed safeguards for a "secret" e-ballot can be subverted. In addition, having struggled for many decades to wean the electorate away from "family voting", that is the decision by the head of the household as to how the whole family will vote, absentee voting, and particularly e-voting, opens up once again the easy possibility of the - almost invariably male - head of household demanding the identification details of other family members in order to vote on their behalf.

The search for novel techniques to raise electoral turnout, and the embracing of modern technology, all sounds very plausible but not only is it flawed and dangerous but it also hides a more fundamental and significant problem: very simply, voter turnout has declined because the electorate is not inspired to vote. If absentee voting methods show a higher turnout, which may well be a consequence of manipulation, then the parties will be able to duck the challenge of voter apathy and will be able to avoid facing up to the need to transform the political agenda and the way they deal with it. Given the increasingly serious situations facing politicians today, a failure to address the voters' increasing disengagement with the political process could have disastrous consequences. The only safe and sound method of increasing electorate turnout is for the parties to become more attractive and to be seen as worth voting for. Everything else is partial, unworthy and dangerous.

What then is to be done to ensure that those genuinely ill or infirm, or away on holiday, are able to vote? The main way is to do what many new and emerging democracies do: use mobile ballot boxes and polling stations in embassies and other convenient places. Both methods can be "policed" by polling agents and tracked on a marked register. With the mobile box a voter simply indicates in advance that he or she is unable to attend at the polling station and books a call from the mobile box which is brought round to the hospital, institution or residence, with a portable screen  etc and with polling agents in attendance. It simply requires one or more additional presiding officers and polling assistants, depending on the number of bookings.

Similarly there is no great logistic problem in opening polling stations in advance of polling day in embassies or in town halls. It is done in many new and emerging democracies. The elector simply informs the electoral office that he or she cannot attend at the "home" polling station and indicates the most appropriate available polling station, and attends there on an appointed day some time before the fixed polling day but after nomination day, so that the completed ballot papers can be sent to the relevant ward or constituency in time. If necessary, ie if the different ballot papers cannot be made available, the voter writes in the name of his or her preferred candidate on a specially prepared ballot paper. Clearly this is not perfect but it works satisfactorily for those few electors involved.

It is crucial to oppose absentee voting and to point out the political facts of life to those currently determined to introduce it. The safeguards on the security and legitimacy of the ballot process have been carefully and thoroughly developed over 125 years not because it was some sort of abstract  intellectual exercise but because there is so much at stake in politics that every possible loophole will be exploited. Absentee voting is easy to exploit and should not be entertained. The electors deserve candidates and political parties that inspire them to vote, and not systems that enable others to vote for them.

12 December 2003

7.563MBMemory Usage257msRequest Duration
Joomla! Version4.4.4
PHP Version8.2.28
Identityguest
Response200
Templatetp_advocat
Database
Server
mysql
Version
10.11.10-MariaDB-log
Collation
utf8mb4_unicode_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
[]
$_SERVER
array:54 [ "LSPHP_ProcessGroup" => "on" "PATH" => "/usr/local/bin:/bin:/usr/bin" "HTTP_ACCEPT"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1752044851 "last" => 1752044851...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (447.52KB) (3.93ms)
  • afterInitialise (1.11MB) (19.49ms)
  • afterRoute (820.67KB) (14.42ms)
  • beforeRenderComponent com_content (32.46KB) (798μs)
  • Before Access::preloadComponents (all components) (41.02KB) (1.55ms)
  • After Access::preloadComponents (all components) (114.45KB) (1.11ms)
  • Before Access::preloadPermissions (com_content) (1.66KB) (30μs)
  • After Access::preloadPermissions (com_content) (336.12KB) (1.71ms)
  • Before Access::getAssetRules (id:585 name:com_content.article.345) (18.65KB) (55μs)
  • After Access::getAssetRules (id:585 name:com_content.article.345) (7.06KB) (147μs)
  • afterRenderComponent com_content (459.02KB) (26.1ms)
  • afterDispatch (207.88KB) (5.57ms)
  • Before Access::getAssetRules (id:16 name:com_menus) (1.27MB) (50.41ms)
  • After Access::getAssetRules (id:16 name:com_menus) (5.7KB) (61μs)
  • beforeRenderRawModule mod_custom (In this section...) (4.5KB) (191μs)
  • afterRenderRawModule mod_custom (In this section...) (49.98KB) (5.07ms)
  • beforeRenderModule mod_custom (In this section...) (720B) (17μs)
  • afterRenderModule mod_custom (In this section...) (4.97KB) (388μs)
  • beforeRenderRawModule mod_custom (In this section mobile current affairs) (112B) (872μs)
  • afterRenderRawModule mod_custom (In this section mobile current affairs) (960B) (107μs)
  • beforeRenderModule mod_custom (In this section mobile current affairs) (736B) (6μs)
  • afterRenderModule mod_custom (In this section mobile current affairs) (3.38KB) (169μs)
  • beforeRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (2.61KB) (763μs)
  • afterRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (15.98KB) (1.47ms)
  • beforeRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (736B) (8μs)
  • afterRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (4.2KB) (181μs)
  • beforeRenderRawModule mod_search (My search for top menu) (336B) (789μs)
  • afterRenderRawModule mod_search (My search for top menu) (35.93KB) (1.95ms)
  • beforeRenderModule mod_search (My search for top menu) (720B) (10μs)
  • afterRenderModule mod_search (My search for top menu) (3.44KB) (202μs)
  • beforeRenderRawModule mod_menu (Main Menu Mobile) (864B) (498μs)
  • afterRenderRawModule mod_menu (Main Menu Mobile) (12.29KB) (4.77ms)
  • beforeRenderModule mod_menu (Main Menu Mobile) (720B) (14μs)
  • afterRenderModule mod_menu (Main Menu Mobile) (11.4KB) (238μs)
  • afterRender (446.83KB) (113ms)
  • 1 x afterRender (446.83KB) (43.94%)
    112.73ms
    1 x Before Access::getAssetRules (id:16 name:com_menus) (1.27MB) (19.65%)
    50.41ms
    1 x afterRenderComponent com_content (459.02KB) (10.17%)
    26.10ms
    1 x afterInitialise (1.11MB) (7.6%)
    19.49ms
    1 x afterRoute (820.67KB) (5.62%)
    14.42ms
    1 x afterDispatch (207.88KB) (2.17%)
    5.57ms
    1 x afterRenderRawModule mod_custom (In this section...) (49.98KB) (1.98%)
    5.07ms
    1 x afterRenderRawModule mod_menu (Main Menu Mobile) (12.29KB) (1.86%)
    4.77ms
    1 x afterLoad (447.52KB) (1.53%)
    3.93ms
    1 x afterRenderRawModule mod_search (My search for top menu) (35.93KB) (0.76%)
    1.95ms
    1 x After Access::preloadPermissions (com_content) (336.12KB) (0.67%)
    1.71ms
    1 x Before Access::preloadComponents (all components) (41.02KB) (0.6%)
    1.55ms
    1 x afterRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (15.98KB) (0.57%)
    1.47ms
    1 x After Access::preloadComponents (all components) (114.45KB) (0.43%)
    1.11ms
    1 x beforeRenderRawModule mod_custom (In this section mobile current affairs) (112B) (0.34%)
    872μs
    1 x beforeRenderComponent com_content (32.46KB) (0.31%)
    798μs
    1 x beforeRenderRawModule mod_search (My search for top menu) (336B) (0.31%)
    789μs
    1 x beforeRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (2.61KB) (0.3%)
    763μs
    1 x beforeRenderRawModule mod_menu (Main Menu Mobile) (864B) (0.19%)
    498μs
    1 x afterRenderModule mod_custom (In this section...) (4.97KB) (0.15%)
    388μs
    1 x afterRenderModule mod_menu (Main Menu Mobile) (11.4KB) (0.09%)
    238μs
    1 x afterRenderModule mod_search (My search for top menu) (3.44KB) (0.08%)
    202μs
    1 x beforeRenderRawModule mod_custom (In this section...) (4.5KB) (0.07%)
    191μs
    1 x afterRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (4.2KB) (0.07%)
    181μs
    1 x afterRenderModule mod_custom (In this section mobile current affairs) (3.38KB) (0.07%)
    169μs
    1 x After Access::getAssetRules (id:585 name:com_content.article.345) (7.06KB) (0.06%)
    147μs
    1 x afterRenderRawModule mod_custom (In this section mobile current affairs) (960B) (0.04%)
    107μs
    1 x After Access::getAssetRules (id:16 name:com_menus) (5.7KB) (0.02%)
    61μs
    1 x Before Access::getAssetRules (id:585 name:com_content.article.345) (18.65KB) (0.02%)
    55μs
    1 x Before Access::preloadPermissions (com_content) (1.66KB) (0.01%)
    30μs
    1 x beforeRenderModule mod_custom (In this section...) (720B) (0.01%)
    17μs
    1 x beforeRenderModule mod_menu (Main Menu Mobile) (720B) (0.01%)
    14μs
    1 x beforeRenderModule mod_search (My search for top menu) (720B) (0%)
    10μs
    1 x beforeRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (736B) (0%)
    8μs
    1 x beforeRenderModule mod_custom (In this section mobile current affairs) (736B) (0%)
    6μs
29 statements were executed, 5 of which were duplicates, 24 unique13.22ms277.48KB
  • SELECT @@SESSION.sql_mode;80μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jto7c_session` WHERE `session_id` = ?123μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jto7c_session` WHERE `session_id` = :session_id LIMIT 162μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jto7c_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)194μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `jto7c_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1402μs1.73KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `jto7c_viewlevels`70μs624B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jto7c_usergroups` AS `a` LEFT JOIN `jto7c_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest158μs1.31KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `jto7c_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1) ORDER BY `ordering`842μs3.96KBParams/libraries/src/Plugin/PluginHelper.php:294Copy
  • 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 `jto7c_menu` AS `m` LEFT JOIN `jto7c_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`987μs165.17KBParams/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 `jto7c_categories` AS `s` INNER JOIN `jto7c_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`563μs3.88KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id` FROM `jto7c_content` WHERE `alias` = :alias AND `catid` = :catid267μs1.34KBParams/components/com_content/src/Service/Router.php:263Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `jto7c_template_styles` AS `s` LEFT JOIN `jto7c_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` = 1409μs864B/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT * FROM `jto7c_languages` WHERE `published` = 1 ORDER BY `ordering` ASC137μs1.59KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jto7c_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,:preparedArray40,:preparedArray41,:preparedArray42)591μs7.56KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jto7c_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0659μs29.48KBParams/libraries/src/Access/Access.php:301Copy
  • 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 `jto7c_content` AS `a` INNER JOIN `jto7c_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jto7c_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jto7c_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jto7c_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jto7c_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)452μs22.17KBParams/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 `jto7c_categories` AS `s` INNER JOIN `jto7c_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) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`408μs5.16KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jto7c_contentitem_tag_map` AS `m` INNER JOIN `jto7c_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)666μs3.95KBParams/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 `jto7c_categories` AS `s` INNER JOIN `jto7c_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) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`400μs3.91KBParams/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 jto7c_fields AS a LEFT JOIN `jto7c_languages` AS l ON l.lang_code = a.language LEFT JOIN jto7c_users AS uc ON uc.id=a.checked_out LEFT JOIN jto7c_viewlevels AS ag ON ag.id = a.access LEFT JOIN jto7c_users AS ua ON ua.id = a.created_user_id LEFT JOIN jto7c_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jto7c_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)) AND `a`.`access` IN (:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5)) 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 ASC1.33ms4.72KBParams/libraries/src/MVC/Model/BaseDatabaseModel.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 `jto7c_categories` AS `s` INNER JOIN `jto7c_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) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`471μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jto7c_categories` WHERE `id`=2897μs536B/libraries/astroid/framework/library/astroid/Article.php:677Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `jto7c_modules` AS `m` LEFT JOIN `jto7c_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `jto7c_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)) 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.71ms1.91KBParams/libraries/src/Cache/Controller/CallbackController.php:51Copy
  • 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 jto7c_fields AS a LEFT JOIN `jto7c_languages` AS l ON l.lang_code = a.language LEFT JOIN jto7c_users AS uc ON uc.id=a.checked_out LEFT JOIN jto7c_viewlevels AS ag ON ag.id = a.access LEFT JOIN jto7c_users AS ua ON ua.id = a.created_user_id LEFT JOIN jto7c_fields_groups AS g ON g.id = a.group_id WHERE ( (`a`.`context` = :context AND `a`.`access` IN (:preparedArray1)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray2)) 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 ASC1.25ms4.03KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `alias` FROM `jto7c_content` WHERE `id` = :id174μs1.31KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `jto7c_content` WHERE `id` = :id127μs1.31KBParams/components/com_content/src/Service/Router.php:168Copy
  • 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 `jto7c_scheduler_tasks` AS `a` WHERE `a`.`state` = 1191μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `jto7c_session` WHERE `session_id` = ?169μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jto7c_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?223μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy