Esempio n. 1
0
    public function snip($id)
    {
        $db = Database::instance();
        $id = mysql_real_escape_string($id);
        $sql = 'SELECT `snip_id`, `user_id`, `language`, `snippet`, `title`, `date_added`, `private`, `description` FROM `snips` WHERE `snip_id` = ' . $id . ' LIMIT 0, 30 ';
        $result = $db->query($sql);
        if ($result and $result->count() > 0) {
            foreach ($result as $row) {
                $user_id = $row->user_id;
                $language = $row->language;
                $snippet = $row->snippet;
                $title = $row->title;
                $date_added = $row->date_added;
                $private = $row->private;
                $description = $row->description;
            }
            if ($private == '1') {
                // Redirect if no one is logged in and tries to view private snippet
                if (!is_object($this->user)) {
                    url::redirect('/home/login?loginRequired=1&return_to=home~snip~' . $id);
                }
                // Redirect User if they are not the owner of the snippet
                if ($this->user->id != $user_id) {
                    url::redirect('/home/?forbiddenSnip=1&currentUser='******'
			<script type="text/javascript" src="/files/syntax/scripts/shCore.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushBash.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushCpp.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushCSharp.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushCss.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushDelphi.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushDiff.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushGroovy.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushJava.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushJScript.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushPhp.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushPlain.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushPowerShell.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushPython.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushRuby.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushScala.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushSql.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushVb.js"></script>
			<script type="text/javascript" src="/files/syntax/scripts/shBrushXml.js"></script>
			<link type="text/css" rel="stylesheet" href="/files/syntax/styles/shCore.css"/>
			<link type="text/css" rel="stylesheet" href="/files/syntax/styles/shThemeDefault.css"/>
			<script type="text/javascript">
				SyntaxHighlighter.config.clipboardSwf = "/files/syntax/scripts/clipboard.swf";
				SyntaxHighlighter.all();
				jQuery(function($) {
					$("#dialog").hide();
				});
				</script>';
            $home_nav = new view('home_nav');
            $home_nav->highlight = 'none';
            $this->template->page_nav = $home_nav;
            $result = $db->query("SELECT username FROM users WHERE id = " . $user_id . " LIMIT 0, 1");
            foreach ($result as $row) {
                $username = $row->username;
            }
            $content = View::factory('snip/snip');
            if (is_object($this->user)) {
                if ($this->user->id != $user_id) {
                    $is_logged_in = "0";
                } else {
                    $is_logged_in = "1";
                }
            } else {
                $is_logged_in = "0";
            }
            $snips_model = new Snip_Model();
            $content->username = $username;
            $content->snipID = $id;
            $content->is_logged_in = $is_logged_in;
            $content->user_id = $user_id;
            $content->brush = $snips_model->lang_to_brush($language);
            $content->language = $language;
            $content->title = $title;
            $content->snippet = $snippet;
            $content->date_added = $date_added;
            $content->private = $private;
            $content->description = $description;
            $this->template->page_content = $content;
        } else {
            throw new Kohana_404_Exception('home/snip/' . $id);
        }
    }