Example #1
0
$ish = Loader::helper('concrete/interface');
$canAdd = false;
if ($ih->integer($_REQUEST['cID'])) {
    $c = Page::getByID($_REQUEST['cID']);
    if (is_object($c) && !$c->isError()) {
        $cp = new Permissions($c);
        if ($dh->inDashboard($c)) {
            if ($cp->canViewPage()) {
                $canAdd = true;
            }
        }
    }
}
$ish->clearInterfaceItemsCache();
if ($canAdd) {
    $u = new User();
    $r = new stdClass();
    if (Loader::helper('validation/token')->validate('access_quick_nav', $_REQUEST['token'])) {
        $qn = ConcreteDashboardMenu::getMine();
        if ($qn->contains($c)) {
            $qn->remove($c);
            $task = 'add';
        } else {
            $qn->add($c);
            $task = 'remove';
        }
        $u->saveConfig('QUICK_NAV_BOOKMARKS', serialize($qn));
        print $dh->getDashboardAndSearchMenus();
        exit;
    }
}
Example #2
0
    public function getDashboardAndSearchMenus()
    {
        if (isset($_SESSION['dashboardMenus'][Localization::activeLocale()])) {
            return $_SESSION['dashboardMenus'][Localization::activeLocale()];
        }
        $d = ConcreteDashboardMenu::getMine();
        $items = $d->getItems();
        ob_start();
        ?>
			<div id="ccm-intelligent-search-results">
			<?php 
        $page = Page::getByPath('/dashboard');
        $children = $page->getCollectionChildrenArray(true);
        $packagepages = array();
        $corepages = array();
        foreach ($children as $ch) {
            $page = Page::getByID($ch);
            $pageP = new Permissions($page);
            if ($pageP->canRead()) {
                if (!$page->getAttribute("exclude_nav")) {
                    if ($page->getPackageID() > 0) {
                        $packagepages[] = $page;
                    } else {
                        $corepages[] = $page;
                    }
                }
            } else {
                continue;
            }
            if ($page->getAttribute('exclude_search_index')) {
                continue;
            }
            if ($page->getCollectionPath() == '/dashboard/system') {
                $ch2 = $page->getCollectionChildrenArray();
            } else {
                $ch2 = $page->getCollectionChildrenArray(true);
            }
            ?>
				
				<div class="ccm-intelligent-search-results-module ccm-intelligent-search-results-module-onsite">
				
				<h1><?php 
            echo t($page->getCollectionName());
            ?>
</h1>
				
				
				<ul class="ccm-intelligent-search-results-list">
				<?php 
            if (count($ch2) == 0) {
                ?>
					<li><a href="<?php 
                echo Loader::helper('navigation')->getLinkTocollection($page, false, true);
                ?>
"><?php 
                echo t($page->getCollectionName());
                ?>
</a><span><?php 
                echo t($page->getCollectionName());
                ?>
 <?php 
                echo t($page->getAttribute('meta_keywords'));
                ?>
</span></li>
				<?php 
            }
            ?>
				
				<?php 
            if ($page->getCollectionPath() == '/dashboard/system') {
                ?>
					<li><a href="<?php 
                echo Loader::helper('navigation')->getLinkTocollection($page, false, true);
                ?>
"><?php 
                echo t('View All');
                ?>
</a><span><?php 
                echo t($page->getCollectionName());
                ?>
 <?php 
                echo t($page->getAttribute('meta_keywords'));
                ?>
</span></li>
				<?php 
            }
            foreach ($ch2 as $chi) {
                $subpage = Page::getByID($chi);
                $subpageP = new Permissions($subpage);
                if (!$subpageP->canRead()) {
                    continue;
                }
                if ($subpage->getAttribute('exclude_search_index')) {
                    continue;
                }
                ?>
					<li><a href="<?php 
                echo Loader::helper('navigation')->getLinkTocollection($subpage, false, true);
                ?>
"><?php 
                echo t($subpage->getCollectionName());
                ?>
</a><span><?php 
                if ($page->getCollectionPath() != '/dashboard/system') {
                    echo t($page->getCollectionName());
                    ?>
 <?php 
                    echo t($page->getAttribute('meta_keywords'));
                    ?>
 <?php 
                }
                echo t($subpage->getCollectionName());
                ?>
 <?php 
                echo t($subpage->getAttribute('meta_keywords'));
                ?>
</span></li>
					<?php 
            }
            ?>
				</ul>
				
				</div>
				<?php 
        }
        $custHome = Page::getByPath('/dashboard/home');
        $custHomeP = new Permissions($custHome);
        if ($custHomeP->canRead()) {
            ?>
				
				<div class="ccm-intelligent-search-results-module ccm-intelligent-search-results-module-onsite">
				
				<h1><?php 
            echo t('Dashboard Home');
            ?>
</h1>
				
				
				<ul class="ccm-intelligent-search-results-list">
					<li><a href="<?php 
            echo View::url('/dashboard/home');
            ?>
"><?php 
            echo t('Customize');
            ?>
 <span><?php 
            echo t('Customize Dashboard Home');
            ?>
</span></a></li>
				</ul>
				
				</div>
				
				<?php 
        }
        ?>
				
				<div class="ccm-intelligent-search-results-module ccm-intelligent-search-results-module-loading">
				<h1><?php 
        echo t('Your Site');
        ?>
</h1>
				<ul class="ccm-intelligent-search-results-list" id="ccm-intelligent-search-results-list-your-site">
				</ul>
				</div>
				
				<?php 
        if (ENABLE_INTELLIGENT_SEARCH_HELP) {
            ?>
				<div class="ccm-intelligent-search-results-module ccm-intelligent-search-results-module-offsite ccm-intelligent-search-results-module-loading">
				<h1><?php 
            echo t('Help');
            ?>
</h1>
				<ul class="ccm-intelligent-search-results-list" id="ccm-intelligent-search-results-list-help">
				</ul>
				</div>
				<?php 
        }
        ?>
				
				<?php 
        if (ENABLE_INTELLIGENT_SEARCH_MARKETPLACE) {
            ?>
				<div class="ccm-intelligent-search-results-module ccm-intelligent-search-results-module-offsite ccm-intelligent-search-results-module-loading">
				<h1><?php 
            echo t('Add-Ons');
            ?>
</h1>
				<ul class="ccm-intelligent-search-results-list" id="ccm-intelligent-search-results-list-marketplace">
				</ul>
				</div>
				<?php 
        }
        ?>
				
			</div>
			
			<div id="ccm-dashboard-overlay">
			<div id="ccm-dashboard-overlay-core">
			<div class="ccm-dashboard-overlay-inner" id="ccm-dashboard-overlay-main">
			
			<!--recent-->
						
			
			<?php 
        $currentHeader = false;
        $x = 0;
        $itemsChanged = false;
        foreach ($items as $path) {
            $p = Page::getByPath($path, 'ACTIVE');
            // If page is not found etc, remove it from items
            if ($p->isError()) {
                $d->remove($p);
                $itemsChanged = true;
                continue;
            }
            $pc = new Permissions($p);
            if ($pc->canViewPage()) {
                $name = t($p->getCollectionName());
                $parent = Page::getByID($p->getCollectionParentID(), 'ACTIVE');
                if ($parent->getCollectionPath() == '/dashboard') {
                    $parent = $p;
                    $name = t('Home');
                }
                if ($currentHeader != $parent->getCollectionID()) {
                    ?>
						<?php 
                    if ($currentHeader != false) {
                        ?>
							</ul>
							</div>
							<?php 
                        $x++;
                        ?>
							<?php 
                        if ($x % 4 == 0) {
                            ?>
								<div class="clearfix" style="padding-bottom: 0px"></div>
							<?php 
                        }
                        ?>
							
						<?php 
                    }
                    ?>

						<div class="ccm-dashboard-overlay-module">
						<h1><?php 
                    echo t($parent->getCollectionName());
                    ?>
</h1>
						<ul>			
						
						<?php 
                    $currentHeader = $parent->getCollectionID();
                    ?>
		

					<?php 
                }
                ?>
					
						<li><a href="<?php 
                echo Loader::helper('navigation')->getLinkToCollection($p, false, true);
                ?>
"><?php 
                echo $name;
                ?>
</a></li>

				
				<?php 
            }
            ?>
				
							
			<?php 
        }
        ?>
			<?php 
        if ($itemsChanged) {
            $u = new User();
            $u->saveConfig('QUICK_NAV_BOOKMARKS', serialize($d));
        }
        ?>
			<?php 
        if ($currentHeader != false) {
            ?>
							</ul>
							</div>
			<?php 
        }
        ?>
			</div>
			</div>
			<div id="ccm-dashboard-overlay-misc" class="ccm-dashboard-overlay-misc-rounded">
			<div class="ccm-dashboard-overlay-inner">

            <?php 
        // Before we throw in a UL, we check permissions, etc. to see if any of the LI items need to be shown.
        $systemNews = Page::getByPath('/dashboard/news');
        $systemNewsP = new Permissions($systemNews);
        $canAccessNews = $systemNewsP->canRead();
        $systemSettings = Page::getByPath('/dashboard/system');
        $systemSettingsP = new Permissions($systemSettings);
        $canAccessSystem = $systemSettingsP->canRead();
        $tpa = new TaskPermission();
        $canAccessExtend = $tpa->canInstallPackages();
        $systemExtend = Page::getByPath('/dashboard/extend');
        $systemExtendP = new Permissions($systemExtend);
        $canViewExtend = $systemExtendP->canRead();
        // If any need to be shown then we proceed...
        if ($canAccessNews || $canAccessSystem || $canAccessExtend && $canViewExtend) {
            ?>

                <ul>

                <?php 
            if ($canAccessNews) {
                ?>
                    <li><a href="<?php 
                echo View::url('/dashboard/news');
                ?>
"><strong><?php 
                echo t('News');
                ?>
</strong></a> – <?php 
                echo t('Learn about your site and concrete5.');
                ?>
</li>
                <?php 
            }
            ?>

				<?php 
            if ($canAccessSystem) {
                ?>
                    <li><a href="<?php 
                echo View::url('/dashboard/system');
                ?>
"><strong><?php 
                echo t('System &amp; Settings');
                ?>
</strong></a> – <?php 
                echo t('Secure and setup your site.');
                ?>
</li>
                <?php 
            }
            ?>

                <?php 
            if ($canAccessExtend && $canViewExtend) {
                ?>
                    <li><a href="<?php 
                echo View::url('/dashboard/extend');
                ?>
"><strong><?php 
                echo t("Extend concrete5");
                ?>
</strong></a> – 
                    <?php 
                if (ENABLE_MARKETPLACE_SUPPORT) {
                    ?>
                    <?php 
                    echo sprintf(t('<a href="%s">Install</a>, <a href="%s">update</a> or download more <a href="%s">themes</a> and <a href="%s">add-ons</a>.'), View::url('/dashboard/extend/install'), View::url('/dashboard/extend/update'), View::url('/dashboard/extend/themes'), View::url('/dashboard/extend/add-ons'));
                    ?>
                    <?php 
                } else {
                    ?>
					<?php 
                    echo sprintf(t('<a href="%s">Install</a> or <a href="%s">update</a> packages.'), View::url('/dashboard/extend/install'), View::url('/dashboard/extend/update'));
                    ?>
                    <?php 
                }
                ?>
					</li>
                <?php 
            }
            ?>

                </ul>

            <?php 
        }
        ?>

			</div>
			</div>
			<div id="ccm-dashboard-overlay-footer">
			<div class="ccm-dashboard-overlay-inner">
			<a href="<?php 
        echo View::url('/dashboard');
        ?>
"><?php 
        echo t('View Full Dashboard');
        ?>
  <i class="icon-arrow-right"></i></a>
			</div>
			</div>
			</div>
		<?php 
        $html = ob_get_contents();
        ob_end_clean();
        return str_replace(array("\n", "\r", "\t"), "", $html);
    }