The Democracy Industry

Democracy today is big business. Elections are very labour intensive and, to ensure the security of the ballot, also require sophisticated equipment and materials. Some two million poll workers were needed in Indonesia, plus everything from ballot boxes to indelible ink. To deal with voter registration and the election itself will cost even a smallish country of, say, five million electors, around thirty million US dollars. Clearly such levels of expenditure are beyond the financial capacity of most of the new democracies and in recent years considerable international aid has been centred on assisting the practical details of the transition to democracy. A significant amount of the procurement has, at the moment, to be supplied from the developed world and some of the aid thus goes back to the donor countries.

The high cost of the electoral process is an inhibiting factor to a country that may need to advance the date of its next election for legitimate purposes. It is also a significant factor in considering whether or not to have provincial and district voting separate from parliamentary elections, as a way, for instance, of focusing attention on local issues.

In addition to all the direct election costs, there is also an increasing democracy industry providing technical assistance and co-ordinating observer missions. Increasingly, with substantial operating profits at stake, this has become a commercial business enterprise, fuelled by the introduction of competitive tendering by some governments and by the European Commission - probably the biggest current player on the pitch. Although a number of the organisations employed in this field are specialists, such as the London based Electoral Reform Society and its international subsidiary Electoral Reform International Services (ERIS), and the American International Foundation for Electoral Systems (IFES) in that they do no other consultancy work, many of the large consultancy companies, such as the UK based GJW and the Dutch firm, Planet, have spread into the election market. Another generalist public relations company, The Public Affairs Company, based in the north of England, has set up a separate company, Democracy International, to compete for work. Professional bodies, such as the Society of Local Authority Chief Executives (SOLACE) and the Association of Election Adminstrators (AEA), both UK based, also have separate commercial organisations. Most of these companies have had an involvement in the Indonesian election.

Although most of the formal organisations are based in the UK and USA, other countries are active in the field, often using their development organisations, such as SIDA in Sweden, or research bodies, such as the Eberhausen Institute in Germany. Other European countries, such as France, have no effective channel for identifying and promoting specialists in electoral and related fields.

Although this work burgeoned following the collapse of the Soviet Union, the Electoral Reform Society (ERS) was actually founded in 1884, and has been involved in international assistance work since 1910. The Society has a formidable reputation for independence and neutrality, and is the only such NGO with consultative status with the UN's ECOSOC organisation. Unusually in this field, ERS has a large Ballot Services subsidiary - with sixty-five permanent staff - which conducts actual elections for trade unions, housing associations, professional bodies etc. With the advent of so many new democracies clamouring for help by 1991, ERS hived off its international consultancy work to another subsidiary, ERIS. Unlike its Ballot Services partner, ERIS has not yet been expected by its parent body to produce a profit - a situation which its more commercial competitors complain gives it an advantage when tendering for work.

IFES was set up in 1987, with its first reports, on Nigeria and Paraguay, appearing the following year. Its first foray into Europe came with the opening up of Hungary in 1989, an event which signalled a coming opportunity to other specialists. GJW, for instance, opened an office in Budapest shortly afterwards, with Andrew Ellis in charge.

Essentially, all these companies, whatever their antecedents, are now highly commercial. The compulsory tendering process, started by Margaret Thatcher's Conservative Government in the UK, and followed by the European Commission, has forced the companies into competition for work. Arguably, their very different structures, particularly whether not for profit or completely in the private enterprise sector, ensures that the competition is far from being on an equal basis, but there is also a potential bias in that some organisations can put in lower bids as they use mainly older consultants who have a substantial salary or pension and, therefore, do not require as high a consultancy fee as those who depend on this work for a living. Nor can bids for the same contract easily be evaluated between, say, ERIS, who traditionally have used a high proportion of consultants with a political background, and SOLACE whose main background is the local government civil service. Stories abound of square pegs in round holes. Given the nature of the work, negotiated contracts with individual organisations, based on their experience and expressed specialisms, would produce better results. Alternatively, the direct employment of individual consultants by the commissioning organisation, as was done by UNDP in Indonesia, may even be easier and less expensive.

Those who now specialise in international political consultancy work, like myself, are essentially on a big global circuit and we meet up at election after election, or at the same workshops, seminars and training sessions. The regulars are certainly highly professional and very often have to rescue registration or electoral processes from impending disaster by their sheer ability to improvise. Again, the stories of such battle honours abound on the circuit. Our CVs are with many of the same companies and we are often approached for the same project by two or more different companies! Basically, all of us, companies and individuals, maintain a watchful eye on what elections are coming up in which countries, and then ascertain whether an international organisation, or a particular country, is taking on a significant role in funding aspects of the electoral process. Then, for the companies, it is a question of getting in on the act, putting together the specialists with the relevant expertise, and bidding for a contract. To a greater or a lesser extent, the companies have had to become predatory - some much more than others. It is big business and there is considerable money at stake on the larger contracts, with companies making upwards of 15% on each consultant's remuneration, in addition to management fees.

The democracy industry has grown rapidly and haphazardly over the past decade. It plays a crucial role in underpinning the democratic process in very many countries. Without the accumulated experience and expertise of the teams of specialist consultants - probably numbering in total no more than 250 - it is unlikely that many of the young democracies would even survive, let alone get to the stage of coping without external assistance, as some are now doing. But it is high time there was some examination of the industry, its structure, the basis of tendering and competition, whether direct employment would be more effective, and so on. One of the more recent independent bodies in this field, the Stockholm based International Institute for Democratic and Electoral Assistance (IDEA) has as one of its aims to provide a forum for interaction and exchange of experiences among a variety of global actors involved in the promotion of democracy. Perhaps it would be appropriate for IDEA to take a long cool look at the workings of the democracy industry.

8.09MBMemory Usage217msRequest 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:59 [ "LSPHP_ProcessGroup" => "on" "PATH" => "/usr/local/bin:/bin:/usr/bin" "HTTP_ACCEPT"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1747310291 "last" => 1747310291...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (447.52KB) (3.71ms)
  • afterInitialise (1.11MB) (19.5ms)
  • afterRoute (820.61KB) (10.88ms)
  • beforeRenderComponent com_content (31.75KB) (740μs)
  • Before Access::preloadComponents (all components) (41.02KB) (1.04ms)
  • After Access::preloadComponents (all components) (114.45KB) (1.24ms)
  • Before Access::preloadPermissions (com_content) (1.66KB) (25μs)
  • After Access::preloadPermissions (com_content) (335.15KB) (1.41ms)
  • Before Access::getAssetRules (id:596 name:com_content.article.356) (18.65KB) (42μs)
  • After Access::getAssetRules (id:596 name:com_content.article.356) (7.06KB) (132μs)
  • afterRenderComponent com_content (1012.97KB) (34.23ms)
  • afterDispatch (193.1KB) (3.97ms)
  • Before Access::getAssetRules (id:16 name:com_menus) (1.27MB) (33.41ms)
  • After Access::getAssetRules (id:16 name:com_menus) (5.7KB) (42μs)
  • beforeRenderRawModule mod_custom (In this section...) (4.5KB) (114μs)
  • afterRenderRawModule mod_custom (In this section...) (49.81KB) (3.4ms)
  • beforeRenderModule mod_custom (In this section...) (720B) (10μs)
  • afterRenderModule mod_custom (In this section...) (5.13KB) (255μs)
  • beforeRenderRawModule mod_custom (In this section mobile current affairs) (112B) (526μs)
  • afterRenderRawModule mod_custom (In this section mobile current affairs) (960B) (86μs)
  • beforeRenderModule mod_custom (In this section mobile current affairs) (736B) (6μs)
  • afterRenderModule mod_custom (In this section mobile current affairs) (3.38KB) (102μs)
  • beforeRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (2.61KB) (503μs)
  • afterRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (15.98KB) (1.01ms)
  • beforeRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (736B) (7μs)
  • afterRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (4.2KB) (107μs)
  • beforeRenderRawModule mod_search (My search for top menu) (336B) (520μs)
  • afterRenderRawModule mod_search (My search for top menu) (35.95KB) (1.54ms)
  • beforeRenderModule mod_search (My search for top menu) (720B) (9μs)
  • afterRenderModule mod_search (My search for top menu) (3.44KB) (164μs)
  • beforeRenderRawModule mod_menu (Main Menu Mobile) (864B) (362μs)
  • afterRenderRawModule mod_menu (Main Menu Mobile) (12.29KB) (3.16ms)
  • beforeRenderModule mod_menu (Main Menu Mobile) (720B) (9μs)
  • afterRenderModule mod_menu (Main Menu Mobile) (11.4KB) (151μs)
  • afterRender (446.81KB) (93.91ms)
  • 1 x afterRender (446.81KB) (43.28%)
    93.91ms
    1 x afterRenderComponent com_content (1012.97KB) (15.77%)
    34.23ms
    1 x Before Access::getAssetRules (id:16 name:com_menus) (1.27MB) (15.4%)
    33.41ms
    1 x afterInitialise (1.11MB) (8.99%)
    19.50ms
    1 x afterRoute (820.61KB) (5.02%)
    10.88ms
    1 x afterDispatch (193.1KB) (1.83%)
    3.97ms
    1 x afterLoad (447.52KB) (1.71%)
    3.71ms
    1 x afterRenderRawModule mod_custom (In this section...) (49.81KB) (1.57%)
    3.40ms
    1 x afterRenderRawModule mod_menu (Main Menu Mobile) (12.29KB) (1.46%)
    3.16ms
    1 x afterRenderRawModule mod_search (My search for top menu) (35.95KB) (0.71%)
    1.54ms
    1 x After Access::preloadPermissions (com_content) (335.15KB) (0.65%)
    1.41ms
    1 x After Access::preloadComponents (all components) (114.45KB) (0.57%)
    1.24ms
    1 x Before Access::preloadComponents (all components) (41.02KB) (0.48%)
    1.04ms
    1 x afterRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (15.98KB) (0.46%)
    1.01ms
    1 x beforeRenderComponent com_content (31.75KB) (0.34%)
    740μs
    1 x beforeRenderRawModule mod_custom (In this section mobile current affairs) (112B) (0.24%)
    526μs
    1 x beforeRenderRawModule mod_search (My search for top menu) (336B) (0.24%)
    520μs
    1 x beforeRenderRawModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (2.61KB) (0.23%)
    503μs
    1 x beforeRenderRawModule mod_menu (Main Menu Mobile) (864B) (0.17%)
    362μs
    1 x afterRenderModule mod_custom (In this section...) (5.13KB) (0.12%)
    255μs
    1 x afterRenderModule mod_search (My search for top menu) (3.44KB) (0.08%)
    164μs
    1 x afterRenderModule mod_menu (Main Menu Mobile) (11.4KB) (0.07%)
    151μs
    1 x After Access::getAssetRules (id:596 name:com_content.article.356) (7.06KB) (0.06%)
    132μs
    1 x beforeRenderRawModule mod_custom (In this section...) (4.5KB) (0.05%)
    114μs
    1 x afterRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (4.2KB) (0.05%)
    107μs
    1 x afterRenderModule mod_custom (In this section mobile current affairs) (3.38KB) (0.05%)
    102μs
    1 x afterRenderRawModule mod_custom (In this section mobile current affairs) (960B) (0.04%)
    86μs
    1 x After Access::getAssetRules (id:16 name:com_menus) (5.7KB) (0.02%)
    42μs
    1 x Before Access::getAssetRules (id:596 name:com_content.article.356) (18.65KB) (0.02%)
    42μs
    1 x Before Access::preloadPermissions (com_content) (1.66KB) (0.01%)
    25μs
    1 x beforeRenderModule mod_custom (In this section...) (720B) (0%)
    10μs
    1 x beforeRenderModule mod_search (My search for top menu) (720B) (0%)
    9μs
    1 x beforeRenderModule mod_menu (Main Menu Mobile) (720B) (0%)
    9μs
    1 x beforeRenderModule mod_breadcrumbs_adv (Breadcrumbs Advanced) (736B) (0%)
    7μs
    1 x beforeRenderModule mod_custom (In this section mobile current affairs) (736B) (0%)
    6μs
91 statements were executed, 67 of which were duplicates, 24 unique19.38ms492.98KB
  • SELECT @@SESSION.sql_mode;85μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:334Copy
  • SELECT `data` FROM `jto7c_session` WHERE `session_id` = ?136μs1008BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jto7c_session` WHERE `session_id` = :session_id LIMIT 186μ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)260μ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` = 1467μs1.73KB/libraries/src/Component/ComponentHelper.php:399Copy
  • SELECT `id`,`rules` FROM `jto7c_viewlevels`91μ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` = :guest190μ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`951μ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`1.09ms165.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`458μs3.88KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id` FROM `jto7c_content` WHERE `alias` = :alias AND `catid` = :catid245μ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` = 1351μs864B/administrator/components/com_templates/src/Model/StyleModel.php:773Copy
  • SELECT * FROM `jto7c_languages` WHERE `published` = 1 ORDER BY `ordering` ASC161μ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)794μ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` = 0691μ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)493μ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`477μ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)1.06ms3.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`441μ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 ASC971μs4.72KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT * FROM jto7c_categories WHERE id=28196μs19KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20102μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2897μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2094μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2891μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20104μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2891μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2089μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2888μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20192μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28110μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2098μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2892μs5.5KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2093μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2895μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20120μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28110μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2096μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28122μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2093μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2889μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20165μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2894μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2092μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2890μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2093μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2892μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2094μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2894μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2096μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2889μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2091μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2889μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2094μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28108μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20112μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2896μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2092μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28114μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2090μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2891μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2093μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2896μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20124μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28120μs14KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20105μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2898μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2097μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28115μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20119μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=28114μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2096μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2893μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2094μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2892μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20110μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2897μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2092μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2893μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=20105μs3KB/plugins/content/articletool/articletool.php:239Copy
  • SELECT * FROM jto7c_categories WHERE id=2899μs3KB/plugins/content/articletool/articletool.php:234Copy
  • SELECT * FROM jto7c_categories WHERE id=2097μs3KB/plugins/content/articletool/articletool.php:239Copy
  • 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`382μs3.91KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `params` FROM `jto7c_categories` WHERE `id`=2868μ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.4ms1.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 ASC917μs4.03KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:166Copy
  • SELECT `alias` FROM `jto7c_content` WHERE `id` = :id178μs1.31KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `jto7c_content` WHERE `id` = :id110μ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` = 1173μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:466Copy
  • SELECT `session_id` FROM `jto7c_session` WHERE `session_id` = ?119μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:291Copy
  • UPDATE `jto7c_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?142μs592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:318Copy