Example #1
0
function pieRefererList($resource, $context)
{
    $page = new Page();
    $referers = array();
    // Traverse all pages and search for matching links.
    for ($item = $page->first(); $item; $item = $page->next()) {
        if (!$page->read($item, 0)) {
            return false;
        }
        // Check for aliases that refer to originals.
        if ($page->meta['type'] == "alias" && $page->meta['original'] == $resource) {
            $referers[$item] = true;
            continue;
        }
        if ($context == "page") {
            if (!$page->meta['pages']) {
                continue;
            }
            $links = explode(" ", $page->meta['pages']);
        } elseif ($context == "file") {
            if (!$page->meta['files']) {
                continue;
            }
            $links = explode(" ", $page->meta['files']);
        } else {
            return false;
        }
        if (!in_array($resource, $links)) {
            continue;
        }
        // $item refers to $resource.
        $referers[$item] = true;
    }
    $referers = array_keys($referers);
    sort($referers);
    return $referers;
}
Example #2
0
    $hint_show = $GLOBALS['pie']['locale']->key("Show");
    $hint_edit = $GLOBALS['pie']['locale']->key("Edit");
    $ip = pieMakeString('[[$^icon_link]]');
    foreach ($referers as $name => $i) {
        $n++;
        print '<tr class="' . ($n % 2 ? "oddRow" : "evenRow") . '">' . '<td>' . pieMakeLink(htmlspecialchars($name), array('page' => $name), array('class' => "itemLink")) . '</td>' . "<td style=\"text-align: right;\">{$i}</td>" . '<td>' . pieMakeLink("<img src=\"{$ip}/information.png\" />", array('action' => "pageinfo", 'page' => $name), array('title' => $hint_info)) . '</td>' . '<td>' . pieMakeLink("<img src=\"{$ip}/page_edit.png\" />", array('action' => "edit", 'page' => $name), array('title' => $hint_edit)) . '</td>' . "</tr>\n";
    }
    print "</table>\n";
} elseif (@$_REQUEST['mode'] == "links") {
    // Walk all pages and examine their links.
    // Collect a list of _links_, i. e. destinations of broken links.
    $page = new Page();
    $file = new File();
    $deadpages = array();
    $deadfiles = array();
    for ($name = $page->first(); $name; $name = $page->next()) {
        if (!$page->read($name, 0)) {
            pieError("SourceReadError");
        }
        if ($page->meta['pages']) {
            // There are page links that are to be checked.
            $list = explode(" ", $page->meta['pages']);
            foreach ($list as $i) {
                if (!$page->exists($i)) {
                    $deadpages[$i]++;
                }
            }
        }
        if ($page->meta['files']) {
            // There are file links that are to be checked.
            $list = explode(" ", $page->meta['files']);
Example #3
0
 /** @test **/
 public function it_fetches_the_carousel_images_associated_with_the_page()
 {
     $this->createComponent('pages');
     $this->createComponent('carousel', function ($component) {
         $component->string('image');
     });
     $this->insertOn('pages', ['title' => 'Landing Page']);
     $this->insertOn('carousel', ['image' => '/path/to/image1.jpg']);
     $this->insertOn('carousel', ['image' => '/path/to/image2.jpg']);
     $this->insertOn('carousel', ['image' => '/path/to/image3.jpg']);
     Page::first()->usesMany(Carousel::class);
     Carousel::get()->each(function ($carousel) {
         $carousel->registerTo(Page::first());
     });
     $carousel = Page::first()->carousel;
     $this->assertEquals('/path/to/image1.jpg', $carousel[0]->image);
     $this->assertEquals('/path/to/image2.jpg', $carousel[1]->image);
     $this->assertEquals('/path/to/image3.jpg', $carousel[2]->image);
 }
Example #4
0
}
$diff1 = $activity->start->diff($activity->end);
$now = new ActiveRecord\DateTime();
$diff2 = $now->diff($activity->end);
$is_end = $activity->end->getTimestamp() - $now->getTimestamp() > 0 ? false : true;
if ($diff2->days == 0 || $diff1->days == 0) {
    $res->diff = $is_end ? 100 : 99;
} else {
    $res->diff = round(($diff1->days - $diff2->days) / $diff1->days * 100, 0, PHP_ROUND_HALF_DOWN);
}
$res->is_end = $is_end;
switch ($activity->status) {
    case 2:
        $res->status_bar = "success";
        $res->is_end = true;
        $res->diff = 100;
        break;
    case 1:
        $res->status_bar = "-striped progress-info";
        break;
    default:
        $res->status_bar = "info";
        break;
}
$res->home = Page::first(array('conditions' => array('activity_id' => $activity->id, 'title' => 'home')));
$res->pages = Page::all(array('conditions' => array('activity_id' => $activity->id)))->asArray();
$res->questions = "Les questions manquent là... :-)";
$res->comments = $activity->getComments()->asArray();
$res->organizers = $activity->getOrganizers()->asArray();
$res->activity = $activity;
$res->useTemplate("Liste des activités");