コード例 #1
0
 public function save()
 {
     $title = Input::get("title");
     $body = Input::get("body");
     $mode = Input::get("mode");
     $user = Auth::user();
     $page = HandbookPage::where('title', $title)->first();
     if ($mode == 1) {
         //Editing
         if ($page) {
             if ($page->userCanRead($user) && $page->userCanWrite($user)) {
                 $page->body = $body;
                 $page->read_permission = $this->createPermissionObject($page->id, 'read', $page->read_permission)->id;
                 $page->write_permission = $this->createPermissionObject($page->id, 'write', $page->write_permission)->id;
                 $page->updated_by = $user->id;
                 $page->save();
                 return Redirect::to('/handbook/' . HandbookPage::getURLReadyLink($title));
             } else {
                 return Response::json(["success" => false, "message" => "Insufficient permissions."]);
             }
         } else {
             return Response::json(["success" => false, "message" => "Page not found"]);
         }
     } else {
         if (!$page) {
             $page = new HandbookPage();
             $page->title = $title;
             $page->body = $body;
             $page->created_by = $user->id;
             $page->save();
             $page->read_permission = $this->createPermissionObject($page->id, 'read')->id;
             $page->write_permission = $this->createPermissionObject($page->id, 'write')->id;
             $page->save();
             return Redirect::to('/handbook/' . HandbookPage::getURLReadyLink($title));
         } else {
             return Redirect::to('/handbook/' . HandbookPage::getURLReadyLink($title));
         }
     }
 }
コード例 #2
0
ファイル: HandbookPage.php プロジェクト: AcceptableIce/Larp3
 public function body()
 {
     $body = $this->body;
     $body = preg_replace_callback("/\\[\\[([\\w\\W]+?)\\]\\]/", function ($match) {
         $parts = explode("/", $match[1]);
         if (sizeof($parts) > 1) {
             //This is a command
             switch (strtolower($parts[0])) {
                 case "redirect":
                     $source_page = HandbookPage::where('title', $parts[1])->first();
                     if ($source_page) {
                         if (Input::get('redirect') == "no") {
                             return 'This page redirects to <a href="/handbook/' . HandbookPage::getURLReadyLink($parts[1]) . '">' . $source_page->title . '</a>.';
                         } else {
                             return 'Redirecting...';
                         }
                     } else {
                         return 'This page has an invalid redirect.';
                     }
             }
         }
         //Look for the relevant page
         $name = $match[1];
         if (strrpos($name, '{')) {
             $parts = explode('{', $name);
             $name = $parts[0];
             $link = str_replace('}', '', $parts[1]);
         } else {
             $link = $name;
         }
         $page = HandbookPage::where('title', $link)->exists();
         $rawLink = HandbookPage::getURLReadyLink($link);
         return "<a class='page-link " . (!$page ? 'invalid' : '') . "' href='/handbook/" . $rawLink . "'>{$name}</a>";
     }, $body);
     return $body;
 }
コード例 #3
0
<?php

$user = Auth::user();
$st = $user->isStoryteller();
$query = $st ? HandbookPage::orderBy('created_at', 'DESC') : HandbookPage::where('created_by', $user->id);
$pagination = $query->paginate(15);
?>

@extends('layout')
@section('title', 'Handbook Directory')
@section('includes')
<style type="text/css">
	.handbook-pagination {
		float: right;
		margin-top: -40px;
	}

	.handbook-page {
		padding: 10px 10px;
		border: 1px solid #c0c0c0;
		border-radius: 3px;
		margin-bottom: 10px;
	}

	.handbook-title {
		font-size: 1.3em;
	}

	.handbook-preview {
		overflow: hidden;
		font-size: 0.9em;
コード例 #4
0
<?php

if (!isset($name)) {
    $name = 'Home';
}
$name = str_replace("_", " ", $name);
$page = HandbookPage::where('title', 'LIKE', $name)->first();
?>
@extends('layout')
@section('title', $page ? $page->title : 'New Page')
@section('content')
<div class="handbook-content theme-wrapper">
	{{View::make('partials/handbookPage', ['title' => $name, 'showNewPage' => true])->render()}}
</div>
@stop