public function create() { # If this user already has an inline with no images, use it. $inline = Inline::where("(SELECT count(*) FROM inline_images WHERE inline_images.inline_id = inlines.id) = 0 AND user_id = ?", current_user()->id)->first(); if (!$inline) { $inline = Inline::create(['user_id' => current_user()->id]); } $this->redirectTo(['#edit', 'id' => $inline->id]); }
public function format_inlines($text, $id) { $num = 0; $list = []; $text = preg_replace_callback('/image #(\\d+)/i', function ($m) use(&$list, &$num, $id) { $i = Inline::where(['id' => (int) $m[1]])->first(); if ($i) { list($block, $script) = $this->format_inline($i, $num, $id); $list[] = $script; $num++; return $block; } else { return $m[0]; } }, $text); if ($num > 0) { $text .= '<script type="text/javascript">' . implode("\n", $list) . '</script>'; } return $text; }