<a href="https://console.cloud.google.com/apis/credentials">Get Your Api Credentials Here</a> <a href="https://calendar.google.com/calendar">Get your Calender ID</a> <?php include_once("wp-load.php"); function get_calender_events() { $params = array(); /*Get current date*/ $current_date = date('Y-m-d H:i:s'); /*Convert it to google calendar's rfc_format */ $rfc_format = date("c", strtotime($current_date)); $params[] = 'orderBy=startTime'; $params[] ='maxResults=100'; $params[] = 'timeMin='.urlencode($rfc_format); $url_param = ''; foreach($params as $param) { $url_param.= '&'.$param; } $calender_id = "calender_id"; $client_key = "client_key"; $url = "https://www.googleapis.com/calendar/v3/calendars/".$calender_id."/events?key=".$client_key."&singleEvents=true".$url_param; $list_events = wp_remote_post($url, ...
Create Menu by array using recursion and save array in text file
<?php
$menuItems = array
(
1 => array
(
'ItemText' => 'Home',
'ItemLink' => 'index.php',
'ParentID' => null,
),
2 => array
(
'ItemText' => 'Home Sub 1',
'ItemLink' => 'somepage.php',
'ParentID' => 1,
),
3 => array
(
'ItemText' => 'Home Sub 2',
'ItemLink' => 'somepage2.php',
'ParentID' => 1,
),
4 => array
(
'ItemText' => 'Contact',
'ItemLink' => 'contact.php',
'ParentID' => null,
),
5 => array
(
'ItemText' => 'Home Sub Sub 1',
'ItemLink' => 'contact.php',
'ParentID' => 2,
),
6 => array
(
'ItemText' => 'Home Sub Sub 2',
'ItemLink' => 'contact.php',
'ParentID' => 2,
),
7 => array
(
'ItemText' => 'Contact',
'ItemLink' => 'contact.php',
'ParentID' => 6,
),
8 => array
(
'ItemText' => 'Home Sub Sub 1',
'ItemLink' => 'contact.php',
'ParentID' => 6,
),
9 => array
(
'ItemText' => 'Home Sub Sub 2',
'ItemLink' => 'contact.php',
'ParentID' => 6,
),
10 => array
(
'ItemText' => 'Home Sub Sub 2',
'ItemLink' => 'contact.php',
'ParentID' => 9,
),
);
// Each node starts with 0 children
foreach ($menuItems as &$menuItem)
$menuItem['Children'] = array();
// If menu item has ParentID, add it to parent's Children array
foreach ($menuItems as $ID => &$menuItem)
{
if ($menuItem['ParentID'] != null)
$menuItems[$menuItem['ParentID']]['Children'][$ID] = &$menuItem;
}
// Remove children from $menuItems so only top level items remain
foreach (array_keys($menuItems) as $ID)
{
if ($menuItems[$ID]['ParentID'] != null)
unset($menuItems[$ID]);
}
/*
echo "<pre>";
print_r($menuItems);
$serializedData = serialize($menuItems); //where '$array' is your array
file_put_contents('your_file_name.txt', $serializedData);
//at a later point, you can convert it back to array like
$recoveredData = file_get_contents('your_file_name.txt');
$recoveredArray = unserialize($recoveredData);
// you can print your array like
print_r($recoveredArray);
*/
echo drawMenu ($menuItems);
function drawMenu ($menuItems) {
echo "<ul>";
foreach ($menuItems as $item) {
echo "<li><a href='". $item['ItemLink']."'>" . $item['ItemText']."</a>";
if ($item['Children']) {
drawMenu($item['Children']); // here is the recursion
}
echo "</li>";
}
echo "</ul>";
}
?>
<?php
$menuItems = array
(
1 => array
(
'ItemText' => 'Home',
'ItemLink' => 'index.php',
'ParentID' => null,
),
2 => array
(
'ItemText' => 'Home Sub 1',
'ItemLink' => 'somepage.php',
'ParentID' => 1,
),
3 => array
(
'ItemText' => 'Home Sub 2',
'ItemLink' => 'somepage2.php',
'ParentID' => 1,
),
4 => array
(
'ItemText' => 'Contact',
'ItemLink' => 'contact.php',
'ParentID' => null,
),
5 => array
(
'ItemText' => 'Home Sub Sub 1',
'ItemLink' => 'contact.php',
'ParentID' => 2,
),
6 => array
(
'ItemText' => 'Home Sub Sub 2',
'ItemLink' => 'contact.php',
'ParentID' => 2,
),
7 => array
(
'ItemText' => 'Contact',
'ItemLink' => 'contact.php',
'ParentID' => 6,
),
8 => array
(
'ItemText' => 'Home Sub Sub 1',
'ItemLink' => 'contact.php',
'ParentID' => 6,
),
9 => array
(
'ItemText' => 'Home Sub Sub 2',
'ItemLink' => 'contact.php',
'ParentID' => 6,
),
10 => array
(
'ItemText' => 'Home Sub Sub 2',
'ItemLink' => 'contact.php',
'ParentID' => 9,
),
);
// Each node starts with 0 children
foreach ($menuItems as &$menuItem)
$menuItem['Children'] = array();
// If menu item has ParentID, add it to parent's Children array
foreach ($menuItems as $ID => &$menuItem)
{
if ($menuItem['ParentID'] != null)
$menuItems[$menuItem['ParentID']]['Children'][$ID] = &$menuItem;
}
// Remove children from $menuItems so only top level items remain
foreach (array_keys($menuItems) as $ID)
{
if ($menuItems[$ID]['ParentID'] != null)
unset($menuItems[$ID]);
}
/*
echo "<pre>";
print_r($menuItems);
$serializedData = serialize($menuItems); //where '$array' is your array
file_put_contents('your_file_name.txt', $serializedData);
//at a later point, you can convert it back to array like
$recoveredData = file_get_contents('your_file_name.txt');
$recoveredArray = unserialize($recoveredData);
// you can print your array like
print_r($recoveredArray);
*/
echo drawMenu ($menuItems);
function drawMenu ($menuItems) {
echo "<ul>";
foreach ($menuItems as $item) {
echo "<li><a href='". $item['ItemLink']."'>" . $item['ItemText']."</a>";
if ($item['Children']) {
drawMenu($item['Children']); // here is the recursion
}
echo "</li>";
}
echo "</ul>";
}
?>
Comments
Post a Comment