Explorar o código

Show published articles only

axkuhta hai 1 ano
pai
achega
a4fa785f99

+ 2 - 0
app/Console/Commands/LoadSampleData.php

@@ -33,6 +33,7 @@ class LoadSampleData extends Command
 		$article->description = "Если нет нормального веб-сервера...";
 		$article->content = "<p>При необходимости передать файл по HTTP, но отсутствии какого-либо веб-сервера, можно использовать netcat:</p><pre><code>cat <(echo -en \"HTTP/1.0 200 OK\\r\\n\\r\\n\") arch/x86/boot/bzImage | nc -N -l -p 8080</code></pre>";
 		$article->publish_at = now();
+		$article->status = Article::STATUS_PUBLISHED;
 		$article->save();
 
 		$article = new Article;
@@ -40,6 +41,7 @@ class LoadSampleData extends Command
 		$article->description = "Спектрограммы с микрофона в реальном времени";
 		$article->content = "<p>Под Linux, если есть pipewire (Или вообще везде так можно?), можно сделать так:<p><pre><code>ffplay -f lavfi -i 'amovie=mpv:f=pulse,aderivative,volume=10,showspectrum=color=viridis:s=1024x384' -an</code></pre><p>Просмотреть доступные устройства можно так:</p><pre><code>$ pw-link -o\nMidi-Bridge:Midi Through:(capture_0) Midi Through Port-0\nalsa_output.pci-0000_00_1f.3.analog-stereo:monitor_FL\nalsa_output.pci-0000_00_1f.3.analog-stereo:monitor_FR\nalsa_input.pci-0000_00_1f.3.analog-stereo:capture_FL\nalsa_input.pci-0000_00_1f.3.analog-stereo:capture_FR\nmpv:output_FL\nmpv:output_FR\n</code></pre>";
 		$article->publish_at = now();
+		$article->status = Article::STATUS_PUBLISHED;
 		$article->save();
 
 		$article = new Article;

+ 1 - 1
app/Http/Controllers/ArticleController.php

@@ -8,7 +8,7 @@ use App\Models\Article;
 class ArticleController extends Controller
 {
 	function index() {
-		return view("articles", ["rows" => Article::all()]);
+		return view("articles", ["rows" => Article::published()->get()]);
 	}
 
 	function add() {

+ 13 - 0
app/Models/Article.php

@@ -8,4 +8,17 @@ use Illuminate\Database\Eloquent\SoftDeletes;
 class Article extends Model
 {
 	use SoftDeletes;
+
+	const STATUS_DRAFT		= 0;
+	const STATUS_PENDING	= 1;
+	const STATUS_PUBLISHED	= 2;
+	const STATUS_ARCHIVE	= 3;
+
+	function scopePending($query) {
+		$query->where("status", static::STATUS_PENDING);
+	}
+
+	function scopePublished($query) {
+		$query->where("status", static::STATUS_PUBLISHED);
+	}
 }