/* Write a C program to perform the following operations on doubly linked list.:
	i) Creation ii) Insertion   iii) Deletion   iv) Traversal in both ways
*/

#include <stdio.h>
#include <stdlib.h>

typedef struct dubll
{
 int data;
 struct dubll *leftlink,*rightlink;
}*DUBLL;

DUBLL high,temp_node,low,last,pntr;
int flag=0;

DUBLL NodeAlloc();
DUBLL Search(int,int);

void CreateItem();
void AppendItem();
void PrintItem();
void DeleteItem();
DUBLL Search(int item,int flag);
DUBLL NodeAlloc();
void InsertItem();

main(void)
{
 int choice,Item;
 high=NULL;
 while(1)
 {
  //clrscr();
  printf("\n \t\t\t***** M A I N   M E N U *****\n\n");
  printf("\n 1: Create Linked List \n 2: Append a Node to the List \n 3: Traverse the List \n 4: Delete a Node from the List  \n 5: Search a Node \n 6: Insert a Node to the List \n 7: Close \n\n\t\t Enter your Option [  ]\b\b");
  scanf("%d",&choice);
  switch(choice)
  {
    case 1:
         CreateItem();
         puts("\nPress any key to go back to main menu.");
	 getch();
         break;
    case 2:
         AppendItem();
         break;
    case 3:
	 PrintItem();
         puts("\nPress any key to go back to main menu.");
         getch();
	 break;
    case 4:
         DeleteItem();
         break;
    case 5:
         printf("Find an Item: ");
         scanf("%d",&Item);
         temp_node=Search(Item,0);
         if(temp_node)
         {
	  puts("The item is available in the Linked List.");
         }
         else
	 {
          puts("The item is not found in the Linked List.");
          }
          getch();
	  break;
    case 6:
         InsertItem();
         break;
    case 7:
         exit(0);
    default:
            puts("Invalid choice.");
            puts("\nPress any key to go back to main menu.");
	    getch();
            break;
   }
  }
}

/* Function to Create the list*/
void CreateItem()
{
   if(high==NULL)
   {
    printf("\n --Creating the list--");
    temp_node=NodeAlloc();
    printf("\n Enter starting data (as integer value) :");
    scanf("%d",&temp_node->data);
    high=temp_node;
   }
   else{ printf("\n List already created @ %d with %d as data.",high,high->data);}
}

/* Function to Append items to the list*/
void AppendItem()
{
   low=high;
   if(high==NULL)
   {
     CreateItem();
   }
   else
   {
     temp_node=NodeAlloc();
     printf("\n Enter Item (in integer) :");
     scanf("%d",&temp_node->data);
     temp_node->rightlink=NULL;

     while(low->rightlink!=NULL)
      low=low->rightlink;
      low->rightlink=temp_node;
      temp_node->leftlink=low;
      last=low->rightlink;

    }
}

/* Function to Traverse the list both ways and print the data*/
void PrintItem()
{
   DUBLL temp_node;
   if(high==NULL)
   {
     printf("\n List is not available. Please create a list first."); 
     getch();
     CreateItem();
   }
   temp_node=high;
   last=low->rightlink;
   printf("\n--Printing The List In Forward direction--\n");

   while(temp_node!=NULL)             //In forward direction
	 {
	  printf("\t %d",temp_node->data);
	  temp_node = temp_node->rightlink;
	 }
   printf("\n");
   printf("\n--Printing The List In Backward direction--\n");
	 temp_node=high;
	 if(temp_node->rightlink==NULL){printf("%d",temp_node->data);return; }
	    while(last!=NULL)             //In backward direction
	     {
	       printf("\t %d",last->data);
	       last = last->leftlink;
	      }
}

/* Function to Delete items of the list*/
void DeleteItem()
{
 int value;
 DUBLL temp_node;
 if(high==NULL)
 {
   printf("\n List is not available. Please create a list first.");
   getch();
   CreateItem();
 }
 printf("\n Item to delete :");
 scanf("%d",&value);
 pntr=Search(value,1);
 pntr->leftlink->rightlink=pntr->rightlink;
 pntr->rightlink->leftlink=pntr->leftlink;
 temp_node=pntr;
 free(temp_node);
}

/* Function to Search an item from the list*/
DUBLL Search(int item,int flag)
{
   temp_node = high;
   if(high==NULL)
   {
     printf("\n List is not available. Please create a list first.");
     getch();
     CreateItem();
   }
   while(temp_node!=NULL)
   {
    if(temp_node->data==item )
    {
     if(flag==0)
     {
       return(1);
     }
     else
     {
      return(temp_node);
     }
    }
    temp_node=temp_node->rightlink;
   }
}

/* Function to Allocate nodes*/
DUBLL NodeAlloc()
{
  DUBLL tmep_node;
  tmep_node=malloc(sizeof(struct dubll));
   if(tmep_node==NULL)
     {
      printf("\n No memory available. Node allocation cannot be done.");
     }
     tmep_node->rightlink=tmep_node->leftlink=NULL;
  return(tmep_node);
 }

/* Function to Insert items in the middle of the list*/
void InsertItem()
 {
  int node;
  DUBLL temp_node;

  if(high==NULL)
  {
    printf("\n List is not available. Please create a list first."); 
    getch();
    CreateItem();
  }
  temp_node=NodeAlloc();
  printf("Position At which node to be inserted: ___ & New Item Value: ___ ");
  scanf("%d",&node);
  scanf("%d",&temp_node->data);
  pntr=Search(node,1);

  if(pntr->rightlink==NULL){printf("\n The operation is not possible."); getch();return;}
     temp_node->leftlink=pntr;                 //creating link to new node
     temp_node->rightlink=pntr->rightlink;

     pntr->rightlink->leftlink=temp_node;
     pntr->rightlink=temp_node;

     printf("\n Item has been Inserted.");
     getch();
 }

 OUTPUT:

                        ***** M A I N   M E N U *****


 1: Create Linked List
 2: Append a Node to the List
 3: Traverse the List
 4: Delete a Node from the List
 5: Search a Node
 6: Insert a Node to the List
 7: Close

                 Enter your Option [ 1]

 --Creating the list--
 Enter starting data (as integer value) :10

Press any key to go back to main menu.

                        ***** M A I N   M E N U *****


 1: Create Linked List
 2: Append a Node to the List
 3: Traverse the List
 4: Delete a Node from the List
 5: Search a Node
 6: Insert a Node to the List
 7: Close

                 Enter your Option [ 2]

 Enter Item (in integer) :20

                        ***** M A I N   M E N U *****


 1: Create Linked List
 2: Append a Node to the List
 3: Traverse the List
 4: Delete a Node from the List
 5: Search a Node
 6: Insert a Node to the List
 7: Close

                 Enter your Option [ 2]

 Enter Item (in integer) :30

                        ***** M A I N   M E N U *****


 1: Create Linked List
 2: Append a Node to the List
 3: Traverse the List
 4: Delete a Node from the List
 5: Search a Node
 6: Insert a Node to the List
 7: Close

                 Enter your Option [ 2]

 Enter Item (in integer) :40

                        ***** M A I N   M E N U *****


 1: Create Linked List
 2: Append a Node to the List
 3: Traverse the List
 4: Delete a Node from the List
 5: Search a Node
 6: Insert a Node to the List
 7: Close

                 Enter your Option [ 2]

 Enter Item (in integer) :50

                        ***** M A I N   M E N U *****


 1: Create Linked List
 2: Append a Node to the List
 3: Traverse the List
 4: Delete a Node from the List
 5: Search a Node
 6: Insert a Node to the List
 7: Close

                 Enter your Option [ 3]

--Printing The List In Forward direction--
         10      20      30      40      50

--Printing The List In Backward direction--
         50      40      30      20      10
Press any key to go back to main menu.

                        ***** M A I N   M E N U *****


 1: Create Linked List
 2: Append a Node to the List
 3: Traverse the List
 4: Delete a Node from the List
 5: Search a Node
 6: Insert a Node to the List
 7: Close

                 Enter your Option [ 7 ]

6MBMemory Usage125msRequest Duration
Joomla! Version4.2.5
PHP Version7.4.33
Identityguest
Response200
Templateg5_helium
Database
Server
mysql
Version
5.7.23-23
Collation
utf8_unicode_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
[]
$_COOKIE
[]
$_SERVER
array:87 [ "LSPHP_ENABLE_USER_INI" => "on" "PATH" => "/usr/local/bin:/usr/bin:/bin" "TEMP" => ...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1746724091 "last" => 1746724091...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
PHPDEBUGBAR_STACK_DATA
[]
  • afterLoad (552.78KB) (4.56ms)
  • afterInitialise (1.5MB) (20.06ms)
  • afterRoute (826.23KB) (15.52ms)
  • beforeRenderComponent com_content (138.63KB) (1.97ms)
  • Before Access::preloadComponents (all components) (55.55KB) (1.23ms)
  • After Access::preloadComponents (all components) (121KB) (2.21ms)
  • Before Access::preloadPermissions (com_content) (3.88KB) (20μs)
  • After Access::preloadPermissions (com_content) (256.8KB) (1.35ms)
  • Before Access::getAssetRules (id:596 name:com_content.article.216) (18.8KB) (29μs)
  • After Access::getAssetRules (id:596 name:com_content.article.216) (8.66KB) (212μs)
  • afterRenderComponent com_content (538.25KB) (19.56ms)
  • afterDispatch (2.25KB) (149μs)
  • beforeRenderRawModule mod_search (Search) (1.14MB) (16.28ms)
  • afterRenderRawModule mod_search (Search) (281.53KB) (4.39ms)
  • beforeRenderModule mod_search (Search) (704B) (11μs)
  • afterRenderModule mod_search (Search) (3.43KB) (212μs)
  • beforeRenderRawModule mod_articles_latest (C Programs) (47.6KB) (2.47ms)
  • Before Access::getAssetRules (id:8 name:com_content) (119.03KB) (1.08ms)
  • After Access::getAssetRules (id:8 name:com_content) (6.95KB) (39μs)
  • afterRenderRawModule mod_articles_latest (C Programs) (43.29KB) (7.73ms)
  • beforeRenderModule mod_articles_latest (C Programs) (328B) (25μs)
  • afterRenderModule mod_articles_latest (C Programs) (9.93KB) (161μs)
  • beforeRenderRawModule mod_jbounce (JBounce) (2.63KB) (55μs)
  • afterRenderRawModule mod_jbounce (JBounce) (2.5KB) (112μs)
  • beforeRenderModule mod_jbounce (JBounce) (720B) (4μs)
  • afterRenderModule mod_jbounce (JBounce) (1.28KB) (95μs)
  • afterRender (302.66KB) (16.18ms)
  • 1 x afterInitialise (1.5MB) (16.06%)
    20.06ms
    1 x afterRenderComponent com_content (538.25KB) (15.66%)
    19.56ms
    1 x beforeRenderRawModule mod_search (Search) (1.14MB) (13.04%)
    16.28ms
    1 x afterRender (302.66KB) (12.95%)
    16.18ms
    1 x afterRoute (826.23KB) (12.42%)
    15.52ms
    1 x afterRenderRawModule mod_articles_latest (C Programs) (43.29KB) (6.19%)
    7.73ms
    1 x afterLoad (552.78KB) (3.65%)
    4.56ms
    1 x afterRenderRawModule mod_search (Search) (281.53KB) (3.51%)
    4.39ms
    1 x beforeRenderRawModule mod_articles_latest (C Programs) (47.6KB) (1.97%)
    2.47ms
    1 x After Access::preloadComponents (all components) (121KB) (1.77%)
    2.21ms
    1 x beforeRenderComponent com_content (138.63KB) (1.58%)
    1.97ms
    1 x After Access::preloadPermissions (com_content) (256.8KB) (1.08%)
    1.35ms
    1 x Before Access::preloadComponents (all components) (55.55KB) (0.99%)
    1.23ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (119.03KB) (0.86%)
    1.08ms
    1 x afterRenderModule mod_search (Search) (3.43KB) (0.17%)
    212μs
    1 x After Access::getAssetRules (id:596 name:com_content.article.216) (8.66KB) (0.17%)
    212μs
    1 x afterRenderModule mod_articles_latest (C Programs) (9.93KB) (0.13%)
    161μs
    1 x afterDispatch (2.25KB) (0.12%)
    149μs
    1 x afterRenderRawModule mod_jbounce (JBounce) (2.5KB) (0.09%)
    112μs
    1 x afterRenderModule mod_jbounce (JBounce) (1.28KB) (0.08%)
    95μs
    1 x beforeRenderRawModule mod_jbounce (JBounce) (2.63KB) (0.04%)
    55μs
    1 x After Access::getAssetRules (id:8 name:com_content) (6.95KB) (0.03%)
    39μs
    1 x Before Access::getAssetRules (id:596 name:com_content.article.216) (18.8KB) (0.02%)
    29μs
    1 x beforeRenderModule mod_articles_latest (C Programs) (328B) (0.02%)
    25μs
    1 x Before Access::preloadPermissions (com_content) (3.88KB) (0.02%)
    20μs
    1 x beforeRenderModule mod_search (Search) (704B) (0.01%)
    11μs
    1 x beforeRenderModule mod_jbounce (JBounce) (720B) (0%)
    4μs
34 statements were executed, 5 of which were duplicates, 29 unique22.96ms372.45KB
  • SELECT @@SESSION.sql_mode;178μs1.59KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:293Copy
  • SELECT `data` FROM `joom_session` WHERE `session_id` = ?169μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `joom_session` WHERE `session_id` = :session_id LIMIT 1181μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `joom_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)232μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `extension_id` AS `id`,`element` AS `option`,`params`,`enabled` FROM `joom_extensions` WHERE `type` = 'component' AND `state` = 0 AND `enabled` = 1371μs4.73KB/libraries/src/Component/ComponentHelper.php:393Copy
  • SELECT `id`,`rules` FROM `joom_viewlevels`146μs1.06KB/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `joom_usergroups` AS `a` LEFT JOIN `joom_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest208μs1.67KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `folder` AS `type`,`element` AS `name`,`params` AS `params`,`extension_id` AS `id` FROM `joom_extensions` WHERE `enabled` = 1 AND `type` = 'plugin' AND `state` IN (0,1) AND `access` IN (:preparedArray1,:preparedArray2) ORDER BY `ordering`744μs11.8KBParams/libraries/src/Plugin/PluginHelper.php:283Copy
  • 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 `joom_menu` AS `m` LEFT JOIN `joom_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`659μs46.23KBParams/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 `joom_categories` AS `s` INNER JOIN `joom_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`752μs6.62KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `id`,`home`,`template`,`s`.`params`,`inheritable`,`parent` FROM `joom_template_styles` AS `s` LEFT JOIN `joom_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` = 1348μs1.47KB/administrator/components/com_templates/src/Model/StyleModel.php:771Copy
  • SELECT s.id, s.template, s.home, s.title AS long_title, s.params FROM joom_template_styles AS s WHERE s.client_id = 0 AND s.template = 'g5_helium' ORDER BY s.id280μs1.23KB/libraries/gantry5/src/classes/Gantry/Joomla/StyleHelper.php:69Copy
  • SELECT * FROM `joom_languages` WHERE `published` = 1 ORDER BY `ordering` ASC216μs2.44KB/libraries/src/Language/LanguageHelper.php:142Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `joom_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)1.1ms10.25KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `joom_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 0775μs69.8KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `joom_content`509μs10.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:584Copy
  • UPDATE joom_content SET `hits` = (`hits` + 1) WHERE `id` = '216'299μs2.55KB/libraries/src/Table/Table.php:1319Copy
  • 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 `joom_content` AS `a` INNER JOIN `joom_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `joom_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `joom_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `joom_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `joom_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)438μs25.38KBParams/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 `joom_categories` AS `s` INNER JOIN `joom_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`568μs6.67KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `joom_contentitem_tag_map` AS `m` INNER JOIN `joom_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)568μs5.22KBParams/libraries/src/Helper/TagsHelper.php:364Copy
  • 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 `joom_categories` AS `s` INNER JOIN `joom_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`567μs6.67KBParams/libraries/src/Categories/Categories.php:360Copy
  • 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 joom_fields AS a LEFT JOIN `joom_languages` AS l ON l.lang_code = a.language LEFT JOIN joom_users AS uc ON uc.id=a.checked_out LEFT JOIN joom_viewlevels AS ag ON ag.id = a.access LEFT JOIN joom_users AS ua ON ua.id = a.created_user_id LEFT JOIN joom_fields_groups AS g ON g.id = a.group_id LEFT JOIN `joom_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,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) 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.43ms6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:165Copy
  • SELECT `contact`.`id` AS `contactid`,`contact`.`alias`,`contact`.`catid`,`contact`.`webpage`,`contact`.`email_to` FROM `joom_contact_details` AS `contact` WHERE `contact`.`published` = 1 AND `contact`.`user_id` = :createdby ORDER BY `contact`.`id` DESC LIMIT 1807μs1.84KBParams/plugins/content/contact/contact.php:147Copy
  • 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 `joom_content` AS `a` LEFT JOIN `joom_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 DESC1.74ms36.53KBParams/plugins/content/pagenavigation/pagenavigation.php:186Copy
  • 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 `joom_categories` AS `s` INNER JOIN `joom_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`589μs6.67KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `a`.`menutype`,`a`.`title` FROM `joom_menu_types` AS `a` WHERE `a`.`client_id` = 0266μs1.06KB/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:138Copy
  • SELECT m.id, m.alias, m.path AS route, m.level, m.parent_id FROM joom_menu AS m WHERE m.menutype = 'main-menu' AND m.parent_id > 0 AND m.client_id = 0 AND m.published >= 0 ORDER BY m.lft616μs3.17KB/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:791Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `joom_modules` AS `m` LEFT JOIN `joom_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `joom_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`961μs3.53KBParams/libraries/src/Cache/Controller/CallbackController.php:52Copy
  • SELECT `alias` FROM `joom_content` WHERE `id` = :id359μs1.64KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT `alias` FROM `joom_content` WHERE `id` = :id162μs1.64KBParams/components/com_content/src/Service/Router.php:168Copy
  • SELECT m.id, m.alias, m.path AS route, m.level, m.parent_id FROM joom_menu AS m WHERE m.menutype = 'my-menu' AND m.parent_id > 0 AND m.client_id = 0 AND m.published >= 0 ORDER BY m.lft534μs1.56KB/libraries/gantry5/src/classes/Gantry/Framework/Menu.php:791Copy
  • 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 `joom_content` AS `a` LEFT JOIN `joom_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `joom_users` AS `ua` ON `ua`.`id` = `a`.`created_by` LEFT JOIN `joom_users` AS `uam` ON `uam`.`id` = `a`.`modified_by` LEFT JOIN `joom_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `joom_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` WHERE `c`.`published` = 1 AND `a`.`state` = :condition AND `a`.`catid` IN (:preparedArray1) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) ORDER BY RAND() DESC LIMIT 155.44ms68.94KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:165Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `joom_scheduler_tasks` AS `a` LEFT JOIN `joom_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`next_execution` <= :now ORDER BY `a`.`title` asc483μs15.45KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `joom_scheduler_tasks` AS `a` LEFT JOIN `joom_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`locked` IS NOT NULL ORDER BY `a`.`title` asc261μs4.43KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy