4 Commits
dev ... watafak

Author SHA1 Message Date
x
0ddb0dae53 adding actual useful feature 2024-06-10 00:27:00 +02:00
7040a9851d QoL fix for videotitle height, thanks to duke 2024-05-14 00:23:32 +02:00
a525c12794 blah 2024-03-18 17:56:29 +01:00
c5a1a42923 ... 2024-03-17 16:30:27 +01:00
435 changed files with 11067 additions and 580 deletions

View File

@@ -0,0 +1,43 @@
<?php
namespace App\Http\Controllers;
use App\Models\Tag;
use App\Models\Video;
use Illuminate\Http\Request;
class TagController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\View\View
*/
public function index()
{
return view('tags', ['tags' => Tag::all()]);
}
/**
* Display the specified resource.
*
* @param string $normalized
* @param int|null $id
* @return \Illuminate\Http\RedirectResponse|\Illuminate\View\View
*/
public function showVideo($tagName)
{
// Retrieve the tag based on the provided tag name
$tag = Tag::where('name', $tagName)->firstOrFail();
// Get a random video related to the tag
$randomVideo = \App\Models\Video::getSingleRandom($tag);
// Pass the tag and the random video to your view
return view('tag.show')->with(compact('tag', 'randomVideo'));
}
// Define other CRUD operations for tags as needed.
}

1
.gitignore vendored
View File

@@ -10,4 +10,3 @@ public/asbach/
public/images/
resources/views/unused/
app/Http/Controllers/tmp/test.png
public/d344.png

8
.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

8
.idea/modules.xml generated
View File

@@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/w0bm.iml" filepath="$PROJECT_DIR$/.idea/w0bm.iml" />
</modules>
</component>
</project>

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PhpTestFrameworkSettings">
<test_tools>
<tool tool_name="PHPSpec">
<settings>
<configurations>
<local_configuration configuration_file_path="$PROJECT_DIR$/phpspec.yml" executable_path="$PROJECT_DIR$/vendor/phpspec/phpspec/bin/phpspec" use_configuration_file="true" />
</configurations>
</settings>
</tool>
</test_tools>
</component>
</project>

119
.idea/php.xml generated
View File

@@ -1,119 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/barryvdh/laravel-ide-helper" />
<path value="$PROJECT_DIR$/vendor/sentry/sentry-laravel" />
<path value="$PROJECT_DIR$/vendor/sentry/sentry" />
<path value="$PROJECT_DIR$/vendor/ua-parser/uap-php" />
<path value="$PROJECT_DIR$/vendor/laravelcollective/html" />
<path value="$PROJECT_DIR$/vendor/swiftmailer/swiftmailer" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-docblock" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/type-resolver" />
<path value="$PROJECT_DIR$/vendor/phpdocumentor/reflection-common" />
<path value="$PROJECT_DIR$/vendor/jaybizzle/crawler-detect" />
<path value="$PROJECT_DIR$/vendor/mockery/mockery" />
<path value="$PROJECT_DIR$/vendor/symfony/console" />
<path value="$PROJECT_DIR$/vendor/symfony/process" />
<path value="$PROJECT_DIR$/vendor/symfony/debug" />
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php56" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-util" />
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
<path value="$PROJECT_DIR$/vendor/cviebrock/eloquent-taggable" />
<path value="$PROJECT_DIR$/vendor/symfony/dom-crawler" />
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
<path value="$PROJECT_DIR$/vendor/symfony/translation" />
<path value="$PROJECT_DIR$/vendor/mtdowling/cron-expression" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
<path value="$PROJECT_DIR$/vendor/symfony/class-loader" />
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
<path value="$PROJECT_DIR$/vendor/symfony/yaml" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
<path value="$PROJECT_DIR$/vendor/phpspec/phpspec" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-token-stream" />
<path value="$PROJECT_DIR$/vendor/phpspec/php-diff" />
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit-mock-objects" />
<path value="$PROJECT_DIR$/vendor/mews/captcha" />
<path value="$PROJECT_DIR$/vendor/phpspec/prophecy" />
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
<path value="$PROJECT_DIR$/vendor/intervention/image" />
<path value="$PROJECT_DIR$/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/vendor/psr/log" />
<path value="$PROJECT_DIR$/vendor/nesbot/carbon" />
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
<path value="$PROJECT_DIR$/vendor/paragonie/random_compat" />
<path value="$PROJECT_DIR$/vendor/mobiledetect/mobiledetectlib" />
<path value="$PROJECT_DIR$/vendor/fzaninotto/faker" />
<path value="$PROJECT_DIR$/vendor/vlucas/phpdotenv" />
<path value="$PROJECT_DIR$/vendor/hamcrest/hamcrest-php" />
<path value="$PROJECT_DIR$/vendor/itsgoingd/clockwork" />
<path value="$PROJECT_DIR$/vendor/dnoegel/php-xdg-base-dir" />
<path value="$PROJECT_DIR$/vendor/jenssegers/agent" />
<path value="$PROJECT_DIR$/vendor/erusev/parsedown" />
<path value="$PROJECT_DIR$/vendor/psy/psysh" />
<path value="$PROJECT_DIR$/vendor/league/flysystem" />
<path value="$PROJECT_DIR$/vendor/toddish/verify" />
<path value="$PROJECT_DIR$/vendor/jeremeamia/SuperClosure" />
<path value="$PROJECT_DIR$/vendor/danielstjules/stringy" />
<path value="$PROJECT_DIR$/vendor/laravel/framework" />
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
<path value="$PROJECT_DIR$/vendor/monolog/monolog" />
<path value="$PROJECT_DIR$/vendor/doctrine/cache" />
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
<path value="$PROJECT_DIR$/vendor/doctrine/common" />
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
<path value="$PROJECT_DIR$/vendor/doctrine/collections" />
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
<path value="$PROJECT_DIR$/vendor/doctrine/dbal" />
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
<path value="$PROJECT_DIR$/vendor/doctrine/annotations" />
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
<path value="$PROJECT_DIR$/vendor/jakub-onderka/php-console-color" />
<path value="$PROJECT_DIR$/vendor/classpreloader/classpreloader" />
<path value="$PROJECT_DIR$/vendor/greggilbert/recaptcha" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/guzzle" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/psr7" />
<path value="$PROJECT_DIR$/vendor/guzzlehttp/promises" />
<path value="$PROJECT_DIR$/vendor/shetabit/visitor" />
<path value="$PROJECT_DIR$/vendor/barryvdh/reflection-docblock" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.1">
<option name="suggestChangeDefaultLanguageLevel" value="false" />
</component>
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings configuration_file_path="$PROJECT_DIR$/phpunit.xml" custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" use_configuration_file="true" />
</phpunit_settings>
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

18
.idea/phpspec.xml generated
View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PHPSpec">
<suites>
<PhpSpecSuiteConfiguration>
<option name="myPath" value="$PROJECT_DIR$" />
</PhpSpecSuiteConfiguration>
<PhpSpecSuiteConfiguration>
<option name="namespace" value="App" />
<option name="myPath" value="$PROJECT_DIR$" />
</PhpSpecSuiteConfiguration>
<PhpSpecSuiteConfiguration>
<option name="namespace" value="App" />
<option name="myPath" value="$PROJECT_DIR$" />
</PhpSpecSuiteConfiguration>
</suites>
</component>
</project>

10
.idea/phpunit.xml generated
View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PHPUnit">
<option name="directories">
<list>
<option value="$PROJECT_DIR$/tests" />
</list>
</option>
</component>
</project>

6
.idea/vcs.xml generated
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

100
.idea/w0bm.iml generated
View File

@@ -1,100 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-ide-helper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/classpreloader/classpreloader" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/cviebrock/eloquent-taggable" />
<excludeFolder url="file://$MODULE_DIR$/vendor/danielstjules/stringy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dnoegel/php-xdg-base-dir" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/annotations" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/cache" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/collections" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/dbal" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/inflector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/instantiator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/doctrine/lexer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/erusev/parsedown" />
<excludeFolder url="file://$MODULE_DIR$/vendor/fzaninotto/faker" />
<excludeFolder url="file://$MODULE_DIR$/vendor/greggilbert/recaptcha" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/guzzle" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/promises" />
<excludeFolder url="file://$MODULE_DIR$/vendor/guzzlehttp/psr7" />
<excludeFolder url="file://$MODULE_DIR$/vendor/hamcrest/hamcrest-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/intervention/image" />
<excludeFolder url="file://$MODULE_DIR$/vendor/itsgoingd/clockwork" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-color" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jakub-onderka/php-console-highlighter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jaybizzle/crawler-detect" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jenssegers/agent" />
<excludeFolder url="file://$MODULE_DIR$/vendor/jeremeamia/SuperClosure" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravel/framework" />
<excludeFolder url="file://$MODULE_DIR$/vendor/laravelcollective/html" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/flysystem" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mews/captcha" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mobiledetect/mobiledetectlib" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mockery/mockery" />
<excludeFolder url="file://$MODULE_DIR$/vendor/monolog/monolog" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mtdowling/cron-expression" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nesbot/carbon" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nikic/php-parser" />
<excludeFolder url="file://$MODULE_DIR$/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-common" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/reflection-docblock" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpdocumentor/type-resolver" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/php-diff" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/phpspec" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpspec/prophecy" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-code-coverage" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-file-iterator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-text-template" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-timer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/php-token-stream" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit" />
<excludeFolder url="file://$MODULE_DIR$/vendor/phpunit/phpunit-mock-objects" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-message" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/log" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psy/psysh" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/comparator" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/diff" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/environment" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/exporter" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/global-state" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/recursion-context" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sebastian/version" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sentry/sentry" />
<excludeFolder url="file://$MODULE_DIR$/vendor/sentry/sentry-laravel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/shetabit/visitor" />
<excludeFolder url="file://$MODULE_DIR$/vendor/swiftmailer/swiftmailer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/class-loader" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/console" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/css-selector" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/debug" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/dom-crawler" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/event-dispatcher" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/finder" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-foundation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/http-kernel" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-mbstring" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php56" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-util" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/process" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/routing" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/translation" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/var-dumper" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
<excludeFolder url="file://$MODULE_DIR$/vendor/toddish/verify" />
<excludeFolder url="file://$MODULE_DIR$/vendor/ua-parser/uap-php" />
<excludeFolder url="file://$MODULE_DIR$/vendor/vlucas/phpdotenv" />
<excludeFolder url="file://$MODULE_DIR$/vendor/webmozart/assert" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -42,7 +42,6 @@ class CategoryController extends Controller
{
//
}
/**
* Display the specified resource.
*
@@ -52,10 +51,12 @@ class CategoryController extends Controller
*/
public function showVideo($shortname, $id = null)
{
// return $shortname;
$category = Category::whereShortname($shortname)->first();
if (is_null($category)) {
return redirect()->back()->with('error', 'Category not found');
}
if (is_null($id)) {
$video = Video::getRandom($category);
if ($video instanceof HasMany) {
@@ -70,6 +71,7 @@ class CategoryController extends Controller
// TODO: Add warning page
$video = $category->videos()->find($id);
}
if (is_null($video)) {
return redirect()->back()->with('error', 'Category is empty.');
}
@@ -81,7 +83,6 @@ class CategoryController extends Controller
return view('video', [
'video' => $video,
'related' => $category,
'isTag' => false,
'sfw' => $sfw,
'banner' => Banner::getRandom($video->isSfw())]);
}

View File

@@ -0,0 +1,118 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Models\Category;
use App\Models\Tag;
class DebugController extends Controller
{
public function getRandomVideoForCategory(Category $category)
{
$randomVideo = \App\Models\Video::getRandom($category);
// Now you can return or use $randomVideo as needed
}
public function getRandomVideoForTag(Tag $tag)
{
$randomVideo = \App\Models\Video::getRandom($tag);
// Now you can return or use $randomVideo as needed
}
public function getSingleRandomVideoForCategory(Category $category)
{
$singleRandomVideo = \App\Models\Video::getSingleRandom($category);
// Now you can return or use $singleRandomVideo as needed
}
public function getSingleRandomVideoForTag(Tag $tag)
{
$singleRandomVideo = \App\Models\Video::getSingleRandom($tag);
// Now you can return or use $singleRandomVideo as needed
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}

View File

@@ -6,9 +6,9 @@ use App\Models\Category;
use App\Models\Video;
use App\Models\Banner;
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Relations\HasMany;
use App\Http\Requests;
use Cviebrock\EloquentTaggable\Services\TagService;
use Illuminate\Http\RedirectResponse;
class TagviewController extends Controller
{
@@ -40,11 +40,10 @@ class TagviewController extends Controller
public function showVideo($shortname, $id = null)
{
// return $shortname;
$tags = app(TagService::class)->buildTagArray($shortname);
if (is_null($id)) {
$video = Video::getRandom($tags, true);
if (!($video instanceof RedirectResponse)) {
$video = Video::getRandom($shortname, true);
if ($video instanceof HasMany) {
$video = $video->first();
}
else {
@@ -54,8 +53,7 @@ class TagviewController extends Controller
} else {
// Don't filter on specific video.
// TODO: Add warning page
$video = Video::withAllTags($tags)->find($id);
$video = Video::withAnyTags($shortname)->find($id);
}
if (is_null($video)) {

View File

@@ -126,7 +126,8 @@ class UserController extends Controller
\Session::flash('info', 'Cannot register when logged in');
return redirect('/');
}
return view('apply_open');
//return view('apply_open');
return view('apply-down');
}
public function loggain()
@@ -151,8 +152,8 @@ class UserController extends Controller
$validator = \Validator::make($request->all(), [
'username' => 'required|unique:users|min:3|max:25|alpha_num',
'email' => 'required|email|unique:users|confirmed',
// 'password' => 'required|min:6|confirmed',
// 'captcha' => 'required|captcha'
'password' => 'required|min:6|confirmed',
'captcha' => 'required|captcha'
]);
if($validator->fails()) {
@@ -179,12 +180,12 @@ class UserController extends Controller
// Send Mail
\Mail::queue('emails.activation', $data, function($message) use ($user) {
$message->to($user->email, $user->username)->subject('Welcome to .-.- . Activate your account');
$message->to($user->email, $user->username)->subject('Welcome to w0bm. Activate your account');
});
return view('success')->with('info', 'Congratulations! Your Account was successful created, please verify your email');
return redirect('/login')->with('info', 'Congratulations! Your Account was successful created, please verify your email');
} else {
return view()->with('error', 'Account could not be created')->withInput($request->except(['password', 'password_confirmation']));
return redirect()->back()->with('error', 'Account could not be created')->withInput($request->except(['password', 'password_confirmation']));
}
}
@@ -369,7 +370,6 @@ class UserController extends Controller
return view('video', [
'video' => $vid,
'related' => $user,
'isTag' => false,
'banner' => Banner::getRandom($vid->isSfw()),
'sfw' => $sfw
]);
@@ -436,7 +436,6 @@ class UserController extends Controller
return view('video', [
'video' => $vid,
'related' => $user,
'isTag' => false,
'banner' => Banner::getRandom($vid->isSfw()),
'sfw' => $sfw,
]);
@@ -460,9 +459,4 @@ class UserController extends Controller
//return Response::create("success mothafukka, you can now go back and fap your dick", 200);
return redirect()->back()->with('success', 'Jesus Scriptus is with you' );
}
public function settings(Request $request) {
return view('settings', [
'fuser' => 'pimmel',
]);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 B

After

Width:  |  Height:  |  Size: 368 KiB

View File

@@ -116,7 +116,7 @@ Route::group(["middleware" => "theme"], function() {
Route::get('user/{username}/uploads/{id}', 'UserController@play')->where('id', '[0-9]+');
Route::get('user/{username}/favs', 'UserController@random_fav')->middleware('auth');
Route::get('best', 'UserController@bestof')->middleware('auth');
Route::get('user/{username}/favs/{id}', 'UserController@play_fav')->where('id', '[0-9]+')->middleware('auth');
Route::get('user/{username}/favs/{id}', 'UserController@play_fav')->where('id', '[0-9]+');
Route::get('user/{username}/favs/index', 'UserController@show_favs')->middleware('auth');
Route::get('user/{username}/comments', 'UserController@show_comments')->middleware('auth');
Route::get('logout', 'UserController@logout');
@@ -124,23 +124,24 @@ Route::group(["middleware" => "theme"], function() {
Route::get('register', 'UserController@create');
Route::post('register', 'UserController@store');
Route::get('activate/{token}', 'UserController@activate');
Route::get('index', 'VideoController@index');
Route::get('main', 'VideoController@main');
Route::post('index/{id}', 'VideoController@update');
Route::get('index', 'VideoController@index')->middleware('auth');
Route::get('main', 'VideoController@main')->middleware('auth');
Route::post('index/{id}', 'VideoController@update')->middleware('auth');
Route::get('upload', 'VideoController@create')->middleware('auth');
Route::get('categories', 'CategoryController@index');
Route::get('categories', 'CategoryController@index')->middleware('auth');
Route::get('webm', function() { return view('webm'); })->middleware('auth');
Route::get('settings', 'UserController@settings');
Route::get('settings', function() { return view('settings'); })->middleware('auth');
Route::get('matrix', function() { return view('matrix'); })->middleware('auth');
Route::get('git', function() { return view('git'); });
Route::get('git', function() { return view('git'); })->middleware('auth');
#Route::get('about', function() { return view('about'); })->middleware('auth');
Route::get('about', 'aboutController@index');
Route::get('rules', function() { return view('rulez'); });
Route::get('about', 'aboutController@index')->middleware('auth');
Route::get('irc', function() { return view('irc'); });
Route::get('rules', 'rulezController@index');
#Route::get('tos', function() { return view('tos'); });
#Route::get('rulez', 'rulezController@index')->middleware('auth');
Route::get('todo', function() { return view('todo'); })->middleware('auth');
Route::get('contact', function() { return view('contact'); });
Route::get('change', function() { return view('change'); });
//Route::get('change', function() { return view('change'); });
#Route::get('terms', function() { return view('tos'); })->middleware('auth');
Route::get('privacy', function() { return view('privacy'); });
Route::get('marderchen', function() { return view('marder'); });
@@ -153,7 +154,8 @@ Route::group(["middleware" => "theme"], function() {
//'fav_count' => \App\Models\UserFavorite::count(),
'latest_video' => \App\Models\Video::getLastId(),
'newest_user' => \App\Models\User::orderBy('id', 'DESC')->first()->username,
//'dirsize' => shell_exec("(du -sh " . public_path() . "/b | cut -f1)")
// this function heavily slows down the page load on /stats in prod. should be addressed some day
'dirsize' => shell_exec("(du -sh " . public_path() . "/b | cut -f1)")
]);
})->middleware('auth');
@@ -185,10 +187,8 @@ Route::group(["middleware" => "theme"], function() {
Route::get('{shortname}', 'CategoryController@showVideo')->where('shortname', '[a-z][a-z0-9]+');
Route::get('{shortname}/{id}', 'CategoryController@showVideo')->where(['shortname' => '[a-z][a-z0-9]+', 'id' => '[0-9]+']);
##Tag View everybody!
Route::get('t/{tag}', 'TagviewController@showVideo');
Route::get('t/{tag}/{id}', 'TagviewController@showVideo')->where('id','[0-9]+');
Route::get('modlog', 'ModeratorLogController@index');
##Tag View anybody?
Route::get('t/{tag}', 'TagviewController@showVideo')->where('tag', '[a-z][a-z0-9]+');
Route::get('t/{tag}/{id}', 'TagviewController@showVideo')->where(['tag' => '[a-z][a-z0-9]+', 'id' => '[0-9]+']);
});

View File

@@ -26,7 +26,7 @@ class Icon extends Model
return '<i class="fa fa-' . $this->icon . '"></i>';
case 'img':
case 'image':
return '<img class="icon" src="/' . ltrim($this->icon, '/') . '" alt="' . $this->icon . '">';
return '<img class="icon" src="https://w0bm.com/' . ltrim($this->icon, '/') . '" alt="' . $this->icon . '">';
default:
return '';
}

View File

@@ -4,26 +4,6 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* App\Models\Category
*
* @property integer $id
* @property string $name
* @property string $shortname
* @property string $description
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
* @property string $deleted_at
* @property-read \Illuminate\Database\Eloquent\Collection|Video[] $videos
* @method static \Illuminate\Database\Query\Builder|\App\Models\Category whereId($value)
* @method static \Illuminate\Database\Query\Builder|\App\Models\Category whereName($value)
* @method static \Illuminate\Database\Query\Builder|\App\Models\Category whereShortname($value)
* @method static \Illuminate\Database\Query\Builder|\App\Models\Category whereDescription($value)
* @method static \Illuminate\Database\Query\Builder|\App\Models\Category whereCreatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\App\Models\Category whereUpdatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\App\Models\Category whereDeletedAt($value)
* @property-read \Illuminate\Database\Eloquent\Collection|User[] $users
*/
class Rulez extends Model
{

View File

@@ -6,7 +6,6 @@ use Carbon\Carbon;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Cviebrock\EloquentTaggable\Services\TagService;
/**
* App\Models\Video
@@ -52,6 +51,10 @@ class Video extends Model
use SoftDeletes;
use \Cviebrock\EloquentTaggable\Taggable;
public static function getTags() {
return $tag_list;
}
public function user() {
return $this->belongsTo(User::class);
}
@@ -68,24 +71,12 @@ class Video extends Model
return $this->belongsToMany(User::class, 'favorites', 'video_id', 'user_id');
}
public function hasAllTags($tags) {
$tags = app(TagService::class)->buildTagArrayNormalized($tags);
$videotags = $this->getTagArrayNormalizedAttribute();
foreach ($tags as $t) {
if (!in_array($t,$videotags)) {
return false;
}
}
return true;
}
public static function getFirstId($related = null, $isTag = false) {
if ($related) {
if (!$isTag) {
return $related->videos()->filtered()->orderBy('id', 'ASC')->first()->id;
}
$related = app(TagService::class)->buildTagArray($related);
return Video::withAllTags($related)->filtered()->orderBy('id', 'ASC')->first()->id;
return Video::withAnyTags($related)->filtered()->orderBy('id', 'ASC')->first()->id;
}
return static::filtered()->orderBy('id', 'ASC')->first()->id;
}
@@ -95,8 +86,7 @@ class Video extends Model
if (!$isTag) {
return $related->videos()->filtered()->orderBy('id', 'DESC')->first()->id;
}
$related = app(TagService::class)->buildTagArray($related);
return Video::withAllTags($related)->filtered()->orderBy('id', 'DESC')->first()->id;
return Video::withAnyTags($related)->filtered()->orderBy('id', 'DESC')->first()->id;
}
return static::select('id')->filtered()->orderBy('id', 'DESC')->first()->id;
}
@@ -106,8 +96,7 @@ class Video extends Model
if (!$isTag) {
return $related->videos()->filtered()->where('id', '>', $this->id)->orderBy('id', 'ASC')->first();
}
$related = app(TagService::class)->buildTagArray($related);
return Video::withAllTags($related)->filtered()->where('id', '>', $this->id)->orderBy('id', 'ASC')->first();
return Video::withAnyTags($related)->filtered()->where('id', '>', $this->id)->orderBy('id', 'ASC')->first();
} else {
return static::filtered()->where('id', '>', $this->id)->orderBy('id', 'ASC')->first();
}
@@ -118,8 +107,7 @@ class Video extends Model
if (!$isTag) {
return $related->videos()->filtered()->where('id', '<', $this->id)->orderBy('id', 'DESC')->first();
}
$related = app(TagService::class)->buildTagArray($related);
return Video::withAllTags($related)->filtered()->where('id', '<', $this->id)->orderBy('id', 'DESC')->first();
return Video::withAnyTags($related)->filtered()->where('id', '<', $this->id)->orderBy('id', 'DESC')->first();
} else {
return static::filtered()->where('id', '<', $this->id)->orderBy('id', 'DESC')->first();
}
@@ -259,14 +247,12 @@ public function blurryThumb() {
return $related->videos()->filtered()->skip($id);
}
// jetzt sind wir im tag
$related = app(TagService::class)->buildTagArray($related);
$id = Video::withAllTags($related)->filtered()->countScoped()->count()-1;
$id = Video::withAnyTags($related)->filtered()->countScoped()->count()-1;
if ($id < 0) {
return redirect()->back()->with('error', 'no videos found');
}
$id = mt_rand(0,$id);
return Video::withAllTags($related)->filtered()->skip($id);
return Video::withAnyTags($related)->filtered()->skip($id);
}
$id = static::filtered()->countScoped()->count() - 1;
@@ -293,7 +279,9 @@ public function blurryThumb() {
});
}
public function filesize() {
return filesize(getcwd() . "/b/" . $this->file);
}
}

View File

@@ -55,7 +55,7 @@ class Markdown extends \Parsedown {
'handler' => 'line',
'attributes' => [
'class' => 'comment_emoji',
'src' => '/images/comments/' . $matches[1] . $file_ext,
'src' => '//w0bm.com/images/comments/' . $matches[1] . $file_ext,
'alt' => ':' . $matches[1] . ':',
'title' => ':' . $matches[1] . ':'
],

View File

@@ -98,14 +98,6 @@ return [
'log' => 'single',
/* VARS */
/* Iconic
>>Please stick to a single word as your iconic
*/
'iconic' => env('ICONIC', 'iconic'),
/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers

View File

@@ -147,8 +147,7 @@ return [
| the cookie from being sent to you if it can not be done securely.
|
*/
// This has to be true for production setup and false for local development
'secure' => env('SECURE_COOKIE', 'true')
#'secure' => false,
'secure' => true,
];

View File

@@ -13,9 +13,52 @@ class CategorySeeder extends Seeder
public function run()
{
Category::create([
'name' => 'random',
'shortname' => 'random',
'description' => 'random'
'name' => 'Musicvideos',
'shortname' => 'mv',
'description' => 'WebMs containing music'
]);
Category::create([
'name' => 'Anime',
'shortname' => 'anime',
'description' => 'Everything from AMV to Hentai'
]);
Category::create([
'name' => 'Russia',
'shortname' => 'russia',
'description' => 'Сука Блять'
]);
Category::create([
'name' => 'Asians',
'shortname' => 'asians',
'description' => 'Mostly Korean and Japanese girls'
]);
Category::create([
'name' => 'Funny',
'shortname' => 'funny',
'description' => 'Supposed to be funny'
]);
Category::create([
'name' => 'Pr0n',
'shortname' => 'pr0n',
'description' => 'Crazy Japanese porn you will find my son'
]);
Category::create([
'name' => 'Politics',
'shortname' => 'pol',
'description' => 'Videos about faggots in suits'
]);
Category::create([
'name' => 'Misc',
'shortname' => 'misc',
'description' => 'Stuff that doesnt fit anywhere else'
]);
}
}

View File

@@ -21,7 +21,7 @@ class VideoTableSeeder extends Seeder
return ($a < $b) ? -1 : 1;
});
$category = \App\Models\Category::where('shortname', '=', 'random')->first();
$category = \App\Models\Category::where('shortname', '=', 'misc')->first();
$user = \App\Models\User::find(1);
foreach($videos as $video) {

21
public/css/glitch.css vendored
View File

@@ -5,12 +5,10 @@
/* end */
a.navbar-brand {
content: "";
background-size: cover;
background-image: url(/traurig.gif);
background-repeat: no-repeat;
background-position-x: 0;
background-position-y: -60px;
content: "";
background-size: contain;
background-image: url(/w0bm_mosh_banner_by_marderchen.gif);
background-repeat: no-repeat;
}
a.navbar-brand {
@@ -1097,6 +1095,17 @@ div#tag-display {
color: #00fbff;
}
/* Admin shizzle */
a.sirx, a[href="https://w0bm.com/user/sirx"] {
color: #ff0099 !important;
text-transform: uppercase;
text-shadow: 1px 1px 2px #ff00c8, 0px -2px 0px black, 2px 0px #6eff00;
font-family: vcr;
vertical-align: middle;
padding-right: 5px;
padding-left: 5px;
}
ul.pagination {
display: flex;
justify-content: left;

View File

@@ -78,7 +78,7 @@ span#w0bm_version {
}
.navbar-brand {
background-image: url(/traurig.gif)!important;
background-image: url(https://w0bm.com/w0bm_mosh_banner_by_marderchen.gif)!important;
background-repeat: no-repeat!important;
background-size: contain!important;
background-position: center!important;

View File

@@ -8,7 +8,7 @@
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/Oswald_Cyrillic.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(//w0bm.com/fonts/Oswald_Cyrillic.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@@ -16,7 +16,7 @@
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/Odwald_Vietnamese.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(//w0bm.com/fonts/Odwald_Vietnamese.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@@ -24,7 +24,7 @@
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/Oswald_Latin_ext.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(//w0bm.com/fonts/Oswald_Latin_ext.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@@ -32,7 +32,7 @@
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
src: local('Oswald Regular'), local('Oswald-Regular'), url(/fonts/Oswald_latin.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(//w0bm.com/fonts/Oswald_latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Oswal Test End */
@@ -44,7 +44,7 @@
font-family: 'Play';
font-style: normal;
font-weight: 400;
src: local('Play Regular'), local('Play-Regular'), url(/fonts/6aez4K2oVqwIvtg2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(//w0bm.com/fonts/6aez4K2oVqwIvtg2H68T.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@@ -52,7 +52,7 @@
font-family: 'Play';
font-style: normal;
font-weight: 400;
src: local('Play Regular'), local('Play-Regular'), url(/fonts/6aez4K2oVqwIvtE2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(//w0bm.com/fonts/6aez4K2oVqwIvtE2H68T.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@@ -60,7 +60,7 @@
font-family: 'Play';
font-style: normal;
font-weight: 400;
src: local('Play Regular'), local('Play-Regular'), url(/fonts/6aez4K2oVqwIvtY2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(//w0bm.com/fonts/6aez4K2oVqwIvtY2H68T.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese */
@@ -68,7 +68,7 @@
font-family: 'Play';
font-style: normal;
font-weight: 400;
src: local('Play Regular'), local('Play-Regular'), url(/fonts/6aez4K2oVqwIvto2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(//w0bm.com/fonts/6aez4K2oVqwIvto2H68T.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@@ -76,7 +76,7 @@
font-family: 'Play';
font-style: normal;
font-weight: 400;
src: local('Play Regular'), local('Play-Regular'), url(/fonts/6aez4K2oVqwIvts2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(//w0bm.com/fonts/6aez4K2oVqwIvts2H68T.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@@ -84,7 +84,7 @@
font-family: 'Play';
font-style: normal;
font-weight: 400;
src: local('Play Regular'), local('Play-Regular'), url(/fonts/6aez4K2oVqwIvtU2Hw.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(//w0bm.com/fonts/6aez4K2oVqwIvtU2Hw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Play Font End */
@@ -153,7 +153,7 @@ body {
opacity: 1;
z-index: -1;
position: fixed !important;
content: url(https:/rip_w.png);
content: url(https://w0bm.com/rip_w.png);
right: 5px !important;
}*/
@@ -1223,8 +1223,7 @@ a.delete-tag.default-link {
}
#sidebar > .comments, #sidebar > .tags {
border-bottom: 1px solid #2c2c2c;
/* actually important setting for the layout */
border-bottom: 1px solid #1fb2b0;
width: 350px;
}
@@ -1277,11 +1276,14 @@ div#tag-display::-webkit-scrollbar {
label[for='tag-add-toggle'] {
color: #1FB2B0;
padding-top: 10px;
font-weight: normal;
padding: 5px;
margin: 0px;
padding-bottom: 5px;
margin-bottom: 0px;
font-family: Oswald;
cursor: pointer;
padding-right: 5px;
padding-left: 5px;
transition-duration: 0.2s;
-webkit-transition-duration: 0.2s;
}
@@ -1349,6 +1351,7 @@ span.addtagsy {
font-family: Oswald;
letter-spacing: 0.4px;
cursor: pointer;
padding: 5px 5px;
}
span.addtagsy>a {
@@ -1502,7 +1505,7 @@ div#tag-add {
}
/* Sidebar Mobile */
/*
@media (max-width: 767px) {
#sidebar {
top: 40em;
@@ -1560,15 +1563,14 @@ div#tag-add {
}
@media (max-width: 367px) {
#sidebar {
/*top: 24.6em;*/
top: 27em;
}
}
@media (max-width: 360px) {
}*/
/*@media (max-width: 360px) {
#sidebar {
top: 26.6em;
}
}
} */
/* Sidebar Mobile Queries END */
/* TAGS MOBILE FIXED */
@@ -2275,7 +2277,7 @@ input.form-control {
}
/* Handy fix */
@media (max-width: 690px) {
/* @media (max-width: 690px) {
.text-center {
font-size: 19px;
display: flex;
@@ -2289,7 +2291,7 @@ input.form-control {
}
}
/* @media (max-width: 767px) {
@media (max-width: 767px) {
aside#sidebar::before {
content: "Comments";
width: 100%;
@@ -3328,6 +3330,10 @@ img#thumbnail_img {
margin-bottom: 5px;
}
a[href="https://w0bm.com/user/thebigben"], a.thebigben, h3.thebigben {
font-family: unifrakturcook,cursive;
}
.no-js {
position: absolute;
font-size: 10px;
@@ -3457,7 +3463,7 @@ button.w0bmcustom-css:hover {
button.chilledblue-css {
width: 100%;
padding: 5px;
padding-bottom: 5px;
background: #142121;
border: 1px solid #131916;
margin-bottom: 5px;
@@ -3820,7 +3826,7 @@ button#layout5 {
div#parent {
overflow-y: scroll;
height: 15rem;
height: 10rem;
}
a.not-safe-for-work {
@@ -3949,6 +3955,10 @@ video#placeholder {
width: 100%;
}
label[for='tag-add-toggle'] {
padding-top: 12px;
}
.nav>li>a:hover, .nav>li>a:focus {
text-decoration: none;
background-color: #12161900;
@@ -4017,6 +4027,18 @@ repeating-radial-gradient(black, transparent 100px)
min-height: 70vh;
}
/* fancy admin shizzle */
.Chatbot953 {
color: #ff0099 !important;
text-transform: uppercase;
text-shadow: 1px 1px 2px #ff00c8, 0px -2px 0px black, 2px 0px #6eff00;
font-family: vcr;
padding-right: 0px;
padding-left: 0px;
font-size: 17px;
vertical-align: initial;
}
.coronaids {
border: 2px solid red;
padding: 5px;
@@ -4046,7 +4068,9 @@ position: absolute;
left: 85px;
font-family: vcr;}
label[for='tag-add-toggle'] {
padding-top: 10px;
}
i.fa.fa-bitcoin {
color: #e2c910;
@@ -4222,7 +4246,6 @@ pre {
background: black;
width: 100%;
margin-bottom: 5px;
padding: 5px;
}
.toggo {
@@ -4265,37 +4288,4 @@ pre {
.metacene {
height: 190px;
background-size: cover;
}
input[type=range]{
width: 100px;
}
input[type=range]::-moz-range-track {
width: 100px;
height: 5px;
background: #ddd;
border: none;
border-radius: 3px;
}
input[type=range]::-moz-range-thumb {
border: none;
height: 16px;
width: 16px;
border-radius: 50%;
background: #2080da;
}
input[type=range]:-moz-focusring{
outline: 1px solid white;
outline-offset: -1px;
}
input[type=range]:focus::-moz-range-track {
background: #ccc;
}
div#switcher button {
line-height: 1;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 652 KiB

View File

@@ -121,7 +121,7 @@ if(videoElem !== null) {
if($.browser.mobile) {
let src_split = document.querySelector("video > source:first-child").src.split("/");
src_split = src_split[src_split.length - 1];
videoElem.setAttribute("poster", "/thumbs/" + src_split.replace(".webm", ".gif"));
videoElem.setAttribute("poster", "//w0bm.com/thumbs/" + src_split.replace(".webm", ".gif"));
}
var player = videojs(videoElem, {
controls: true,
@@ -1442,17 +1442,16 @@ document.querySelectorAll("#layoutSwitcher [id^=layout]").forEach(el => el.addEv
console.warn(response.status, await response.text());
}));
// Turning off mobile detection
// if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
// newlink = document.createElement('a');
// newlink.setAttribute('class', 'mobiledetected');
// newlink.setAttribute('href', '/api/user/layout?layout=5');
// }
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
newlink = document.createElement('a');
newlink.setAttribute('class', 'mobiledetected');
newlink.setAttribute('href', '/api/user/layout?layout=5');
}
// var isMobile = false; //initiate as false
// // device detection
// if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
// || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
// isMobile = true;
// window.location.href = "https:/api/user/layout?layout=5";
// }
var isMobile = false; //initiate as false
// device detection
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
isMobile = true;
window.location.href = "https://w0bm.com/api/user/layout?layout=5";
}

View File

@@ -52,10 +52,29 @@ body {
background-color: #161618;
}
/*body::after {
bottom: -5px;
opacity: 1;
z-index: -1;
position: fixed !important;
content: url(https://w0bm.com/rip_w.png);
right: 5px !important;
}*/
a:focus {
outline: none;
}
/*body::after {
position: fixed !important;
content: url("https://koyaanis.com/i/kawaii2.gif");
bottom: -5px;
right: -20px !important;
left: 0px !important;
opacity: 1;
z-index: -1;
}*/
.indexedit input, .indexedit select {
display: none;
}
@@ -3174,6 +3193,10 @@ img#thumbnail_img {
margin-bottom: 5px;
}
a[href="https://w0bm.com/user/thebigben"], a.thebigben, h3.thebigben {
font-family: unifrakturcook,cursive;
}
.no-js {
position: absolute;
font-size: 10px;

View File

@@ -121,7 +121,7 @@ if(videoElem !== null) {
if($.browser.mobile) {
let src_split = document.querySelector("video > source:first-child").src.split("/");
src_split = src_split[src_split.length - 1];
videoElem.setAttribute("poster", "/thumbs/" + src_split.replace(".webm", ".gif"));
videoElem.setAttribute("poster", "//b.w0bm.com/thumbs/" + src_split.replace(".webm", ".gif"));
}
var player = videojs(videoElem, {
controls: true,
@@ -632,7 +632,7 @@ $(function() {
$('[data-thumb]').on('mouseenter', function(e) {
var id = $(this).data('thumb');
var lnk = '/thumbs/' + id + '.gif';
var lnk = '//w0bm.com/thumbs/' + id + '.gif';
var loc = get_loc(e);
$(document.body).prepend('<div id="thumb"></div>');
$('div#thumb').prepend('<img id="thumb"/>');
@@ -1432,5 +1432,5 @@ if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
isMobile = true;
} else {
window.location.href = "https:/api/user/layout?layout=1";
window.location.href = "https://w0bm.com/api/user/layout?layout=1";
}

View File

@@ -121,7 +121,7 @@ if(videoElem !== null) {
if($.browser.mobile) {
let src_split = document.querySelector("video > source:first-child").src.split("/");
src_split = src_split[src_split.length - 1];
videoElem.setAttribute("poster", "/thumbs/" + src_split.replace(".webm", ".gif"));
videoElem.setAttribute("poster", "//w0bm.com/thumbs/" + src_split.replace(".webm", ".gif"));
}
var player = videojs(videoElem, {
controls: true,
@@ -1430,9 +1430,9 @@ if(infoboxContent)
//This was supposed to work for urls that are not in a correct url-sheme such as z0r.de/1337 but ehm itz out of biz cuz uhm xD https://f0ck.it/uploads/%5B2019%5D_firefox_YapokIcyShoveler.png
//infoboxContent.dataset.content = infoboxContent.dataset.content.replace(/((https?:\/\/)?[\w-]+(\.[\w-]+)+\.?(:\d+)?(\/\S*)?)?/gi, "<a href='$1'>$1</a>");
// if( /Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
// window.location.href = "/api/user/layout?layout=5";
// }
if( /Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
window.location.href = "https://w0bm.com/api/user/layout?layout=5";
}
/* $('#collapseEmojis').on('click', function (event) {
let panelCollapse = $(this).closest('.panel').find('.collapseEmojis');

View File

@@ -1,9 +1,10 @@
# w0bm
# w0bm.com
![w0bm](https://i.imgur.com/hPvnspu.png "w0bm logo")
[![IRC Chat](https://img.shields.io/badge/chat-irc-green.svg)](https://n0xy.net/webirc?join=%23w0bm)
[![License](https://poser.pugx.org/laravel/framework/license.svg)](https://packagist.org/packages/laravel/framework)
[w0bm.com](https://w0bm.com) was a fun modern website featuring many different kind of videos in webm format. It was initially thought as a [z0r.de](http://z0r.de) without flash, but already surpassed that in our opinion.
[w0bm.com](https://w0bm.com) is a fun modern website featuring many different kind of videos in webm format. It was initially thought as a [z0r.de](http://z0r.de) without flash, but already surpassed that in our opinion.
The page is build on top of the [Laravel Framework](https://laravel.com).
@@ -148,7 +149,7 @@ server {
# Installation
`git clone gitea@git.lat:w0bm/w0bm.git`
`cd w0bm`
`cd w0bm.com`
`php71 composer dump-autoload`
@@ -156,7 +157,7 @@ server {
(You will most likely encounter a issue where 2 packages namely: visitor and captcha require at least php 7.2, to get around this just change the value to 7.1 in the composer.lock file)
For your local development instance make sure that you add SECURE_COOKIE=false to your `.env` otherwise it will not let you log in!
For your local development instance make sure that you change 'secure' => true, to 'secure' => false, in `config/session.php` otherwise it will not let you log in!
Create the .env file with the following content
@@ -179,9 +180,6 @@ RECAPTCHA_PRIVATE=
MATRIX_MAUAUTH=
MATRIX_MAUURL=
# if you are developing
SECURE_COOKIE=false
</pre>
`php71 artisan key:generate`
@@ -226,5 +224,5 @@ Folder structure:
The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)
The w0bm Logo is copyrighted by w0bm and property of w0bm.
The w0bm.com Logo is copyrighted by w0bm.com and property of w0bm.com

View File

@@ -2,6 +2,13 @@
body {
background: black;
color: white;
text-align: center;
}
</style>
<pre>Exception occured, to be excused</pre>
<h5>Oh shit! Something went horribly wrong!</h5>
<p>Please try again later</p>
<video autoplay muted loop src="doge.webm"></video>
<div style="">
<small>if this error persists, please contact an admin in the <a href="https://n0xy.net">IRC</a> #w0bm </small>
</div>

View File

@@ -2,6 +2,11 @@
@section('content')
@include('partials.flash')
user limit reached 6969
<div class="box">
<center>
<h1>Registration is closed</h1>
<p>until further notice</p>
</center>
</div>
@endsection

View File

@@ -2,9 +2,9 @@
@section('content')
@include('partials.flash')
<div class="page-header">
<h5>Register your {{ config('app.iconic') }} Account</h5>
<p style="color:red;">Note: If you ever lose your password you are fucked, we will <b>NOT</b> reset it. To prevent this not only on {{ config('app.iconic') }} but evrywhere we highly recommend the usage of a password manager such as <a href="https://keepassxc.org/">KeePassXC</a></p>
<p style="color:red;font-weight: bold;">MINIMUM PASSWORD LENGTH: 128 👹</p>
<h5>Register your w0bm.com Account</h5>
<p style="color:red;">Note: If you ever lose your password you are fucked, we will <b>NOT</b> reset it. To prevent this not only on w0bm.com but evrywhere we highly recommend the usage of a password manager such as <a href="https://keepassxc.org/">KeePassXC</a></p>
<p>Being a member of w0bm.com is <b>NOT</b> a right, it's privilege which can be revoked at any point in time.</p>
</div>
<div class="register">
<form class="form-horizontal" method="post" action="{{action('UserController@store')}}">
@@ -16,7 +16,7 @@
</div>
<div class="form-group">
<div class="">
{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email - must be valid']) !!}
{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email | Must be valid! Confirmation will be sent out']) !!}
</div>
</div>
<div class="form-group">

View File

@@ -1,2 +1,13 @@
@extends('profilelayout')
@section('content')
<div class="page-header">
<h3>Contact</h3>
</div>
<div class="box">
<img src="/images/cockfag.png" style="margin-left: 10px; width: 15%; height: 15%; float:right;">
<p>
For anything w0bm related you can either reach us via email: <code>admin@w0bm.com</code> or via our <a href="/irc">IRC</a>
</p>
</div>
@include('footer')
@endsection

View File

@@ -20,9 +20,8 @@
}
</style>
<h5>Oh shit! Something went wrong!</h5>
<h5>If you can see this message something with the software went wrong.</h5>
<div id="sf-resetcontent" class="sf-reset box">
<h6>Please don't send this fucking text to an admin, we have other problems.</h6>
<?php
$iv = openssl_random_pseudo_bytes(16);
?>

View File

@@ -2,8 +2,6 @@
<html>
<head>
<title>Please Stand By we are just fucking this up</title>
<link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
<style>
html, body {
height: 100%;

View File

@@ -1,5 +1,6 @@
<nav class="navbar-fixed-bottom">
<div class="container futter">
<p>{{ config('app.iconic') }}</p>
@if(auth()->check())<a href="/about">About</a> | @endif<a href="/rules">Rules</a> | <a href="/contact">Contact</a> | <a href="/privacy">Privacy</a>@if(auth()->check()) | <a href="/stats">Stats</a>@endif
<p>Inspired by <a href="http://z0r.de">z0r.de</a> | © 2015 {{ date('Y') }} w0bm.com</p>
</div>
</nav>

View File

@@ -21,11 +21,8 @@ function getLastTenCommits() {
echo "</div>";
}
echo "<div class='box'>";
echo "<h5>GIT LOG</h5>";
getLatestCommit();
getLastTenCommits();
echo "</div>";
getLastTenCommits()
?>
@endsection

View File

@@ -4,7 +4,7 @@
<h3 id="index">Index <small>{{ $number_of_results }} results</small></h3>
<form method="get">
<button type="submit" class="suchbutton"><i style="color:white;" class="fa fa-search"></i></button>
{!! Form::text('q', isset($q) ? $q : null, ['class' => 'suchleiste', 'placeholder' => 'Search']) !!}
{!! Form::text('q', isset($q) ? $q : null, ['class' => 'suchleiste', 'placeholder' => 'Search w0bm.com']) !!}
</form>
</div>
<table class="table table-hover table-condensed">
@@ -28,11 +28,7 @@
@if($edit = auth()->check() && auth()->user()->can('edit_video'))
<form action="/index/{{$video->id}}" method="post" id="edit_{{$video->id}}" class="indexform"></form>
@endif
@if(isset($q) && $video->hasAllTags($q))
<span class="vinfo vid"><a href="/t/{{$q}}/{{$video->id}}">{{$video->id}}</a></span>
@else
<span class="vinfo vid"><a href="{{url($video->id)}}">{{$video->id}}</a></span>
@endif
<span class="vinfo vid"><a href="{{url($video->id)}}">{{$video->id}}</a></span>
@if($edit)
<input type="submit" class="btn btn-primary" value="Save" form="edit_{{$video->id}}">
@endif

View File

@@ -4,15 +4,14 @@
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="theme-color" content="#161618">
<meta name="viewport"
content="width=device-width,initial-scale=1">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta charset="UTF-8">
<meta name="_token" content="{{csrf_token()}}">
<meta name="keywords" content="">
<meta name="keywords" content="Random WebMs, WebMs, Internet Videos">
<meta name="robots" content="noindex">
@if(auth()->check())<meta name="Description" content="Tags:@if(isset($video)) {{ $video->getTagListAttribute() }} @endif">@endif
<meta name="description" content="">
<meta property="og:site_name" content="{{ config('app.iconic') }}" />
<meta name="description" content="@if(isset($video)) {{ $video->getTagListAttribute() }} @endif">
<meta property="og:site_name" content="w0bm.com" />
<meta property="og:title" content="@if(isset($video)){{$video->videotitle}}@endif">
<meta name="twitter:card" content="summary_large_image" />
@if(auth()->check())<meta property="og:description" content="Tags:@if(isset($video)) {{ $video->getTagListAttribute() }} @endif">@endif
@@ -29,8 +28,8 @@
@if(auth()->check())<meta property="og:video" content="@if(isset($video))/b/{{ $video->file }} @endif">@endif
<meta property="og:url" content="@if(isset($video))/{{ $video->id }}@endif">
<meta property="og:video:type" content="video/webm">
<link rel="icon" href="/favicon.gif">
<title>{{ config('app.iconic') }} | @if(isset($video)){{ $video->id }}@endif</title>
<link rel="icon" href="/favicon.png">
<title>@if(isset($video)){{ $video->id }} -@endif w0bm.com</title>
<link rel="favicon" href="favicon.ico" type="image/ico">
<link rel="stylesheet" href="/css/style.css">
<link rel="stylesheet" href="/css/w0bmfonts.css">
@@ -39,12 +38,15 @@
<link rel="stylesheet" href="/css/video-js.min.css">
<link rel="stylesheet" href="/css/vjsnew.css">
<link rel="stylesheet" href="/css/w0bmcustom.css?v={{ filemtime("css/w0bmcustom.css") }}">
@if(auth()->check())
<link rel="alternate stylesheet" href="/css/w0bm_override.css?v={{ filemtime("css/w0bm_override.css") }}" title="DARK">
<link rel="alternate stylesheet" href="/css/chilledblue.css?v={{ filemtime("css/chilledblue.css") }}" title="Chilledblue">
<link rel="alternate stylesheet" href="/css/xayd.css?v={{ filemtime("css/xayd.css") }}" title="Xayd">
<link rel="alternate stylesheet" href="/css/glitch.css?v={{ filemtime("css/glitch.css") }}" title="Glitch">
<link rel="alternate stylesheet" href="/css/epilepsie.css?v={{ filemtime("css/epilepsie.css") }}" title="Epilepsie">
<script src="/js/styleswitcher.js"></script>
@else
@endif
</head>
<body>
@if(auth()->check())
@@ -54,13 +56,17 @@
@include('partials.frontendedit')
@endif
@endif
@if(auth()->check())
<canvas class="hidden-xs" id="bg"></canvas>
@else
<!-- placeholder? -->
@endif
@include('partials.navigation')
<div class="wrapper">
@yield('aside')
<div class="LooLOut" style="width: auto; overflow: hidden;">
<div class="LooLOut" style="width: auto; overflow: hidden; position: relative;">
<noscript><div class="no-js-mode" style="position: fixed;bottom: 0;right: 0;">nojs</div></noscript>
<div class=" container">
@yield('content')
@@ -68,6 +74,7 @@
</div>
</div>
@if(auth()->check())
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/bootstrap-tagsinput.min.js"></script>
@@ -95,6 +102,9 @@ clipboard.on('error', function(e) {
});
</script>
<script src="/js/w0bmscript.js?v={{ filemtime("js/w0bmscript.js") }}"></script>
@else
@endif
@if(isset($video))
@else
@endif

View File

@@ -18,6 +18,9 @@
</form>
</div>
</div>
<div class="modal-footer">
<a href="/contact">Contact</a> | <a href="/irc">IRC</a>
</div>
</div>
</div>
@endsection

View File

@@ -5,7 +5,7 @@
{!! $videos->render() !!}
<form method="get">
<button type="submit" class="suchbutton"><i style="color:white;" class="fa fa-search"></i></button>
{!! Form::text('q', isset($q) ? $q : null, ['class' => 'suchleiste', 'placeholder' => 'Search']) !!}
{!! Form::text('q', isset($q) ? $q : null, ['class' => 'suchleiste', 'placeholder' => 'Search w0bm.com']) !!}
</form>
</div>
</div>
@@ -15,26 +15,8 @@
<?php
$thumb = str_replace(".webm","",$video->file);
?>
<div style="position: relative;" class="main-item hasTag-{{$video->id}}">
@if(isset($q) && $video->hasAllTags($q))
<a href="/t/{{$q}}/{{$video->id}}">
<style>
.hasTag-{{$video->id}}::after {
content: "\f02b";
font: normal normal normal 14px/1 FontAwesome;
position: absolute;
bottom: 0;
left: 0;
padding: 5px;
color: #1fb2b0;
text-shadow: 1px 1px 1px black;
font-size: 2em;
pointer-events: none;
}
</style>
@else
<a href="/{{$video->id}}">
@endif
<div class="main-item">
<a href="/{{$video->id}}">
{{-- MUSS UNBEDINGT NOCH ANGEPASST WERDEN!!! --}}
@if(file_exists(public_path() . '/thumbs/beta/'.$thumb.'.png'))
<img src="/thumbs/beta/{{$thumb}}.png">

View File

@@ -19,6 +19,7 @@
<p>Also make sure to check out his uploads <a href="https://w0bm.com/main?q=marderchen">https://w0bm.com/main?q=marderchen</a> and enjoy it.</p>
<p><i>- w0bm staff</i></p>
<p style="float: right;">21.6.2023</p>
</div>
@endsection

View File

@@ -8,10 +8,10 @@
<div class="commbordersoos">
<div id="comment_tools" class="commentform-panel-footer"><button type="submit" class="btn btn-primary btn-sm">Post</button>
<div class="textmodifierss">
<a style="font-size: 14px;" class="rainbow" href="javascript:;" onclick="formatText ('rb');">[~]</a>
<a style="font-size: 14px;" class="reich" href="javascript:;" onclick="formatText ('reich');">[ß]</a>
<a style="font-size: 14px;" class="anim" href="javascript:;" onclick="formatText ('krebs');">[-^_^-]</a>
<a style="font-size: 14px; color: white;" class="spoiler" href="javascript:;" onclick="formatText ('spoiler');">[****]</a>
<a style="font-size: 14px;" class="rainbow" href="javascript:;" onclick="formatText ('rb');">[rb]</a>
<a style="font-size: 14px;" class="reich" href="javascript:;" onclick="formatText ('reich');">[reich]</a>
<a style="font-size: 14px;" class="anim" href="javascript:;" onclick="formatText ('krebs');">[krebs]</a>
<a style="font-size: 14px; color: white;" class="spoiler" href="javascript:;" onclick="formatText ('spoiler');">[spoiler]</a>
<div class="emoji-shit">
<div class="header"><span>😂</span></div>
</div>

View File

@@ -11,9 +11,12 @@
</a>
@endif
</div>-->
{{-- hier kann theoretisch notification angezeigt--}}
{{-- <div id="nutti">
<p>Please check out the overhauled <a href="https://w0bm.com/api/user/layout?layout=2">Njum</a> Layout and give me some feedback!</p>
</div> --}}
{{-- <div id="nutti">
<p>Next month w0bm turns 6 years old! Wouldn't be possible without all of you! Thanks</p>
</div> --}}
@if(Auth::check())
@if($video->id == '30186')
@include('partials.thread_closed')
@@ -44,19 +47,7 @@
</div>
</div>
@else
<style>
#sidebar {
height: unset !important;
position: absolute;
bottom: 0;
background-color: transparent !important;
}
.vertical-align {
min-height: calc(90vh - 50px);
}
</style>
<!-- <div class="comments hidden-xs">
<div class="comments hidden-xs">
<div class="commentwrapper">
<div class="panel panel-default ">
<div class="panel-body">
@@ -65,5 +56,5 @@
<div class="panel-footer">by w0bm </div>
</div>
</div>
</div> -->
</div>
@endif

View File

@@ -0,0 +1,5 @@
<div style="position: relative;">
<?php
echo $category;
?>
</div>

View File

@@ -5,6 +5,8 @@
<ul class="dropdown-menu">
<div class="layoutblah">
<button class="layoutbutton" id="layout2">Njum</button>
<br>
<button class="layoutbutton" id="layout3">z0mb</button>
</div>
</ul>
</li>

View File

@@ -18,7 +18,7 @@
</div>
<div class="modal-footer">
<p>Create your account now! <a href="/register">Click here</a></p>
<p>Registration has been disabled and will stay closed until further notice.</p>
</div>
</div>
</div>

View File

@@ -9,45 +9,50 @@
</button>
@if(Auth::check())
<a class="navbar-brand" href="/main">
<img src="/traurig.gif" alt="{{ config('app.iconic') }}">
<img src="{{ asset('logo.svg') }}" alt="w0bm.com">
</a>
@else
<a class="navbar-brand" href="/main">
<img src="/traurig.gif" alt="{{ config('app.iconic') }}">
<a class="navbar-brand" href="/">
<img src="{{ asset('logo.svg') }}" alt="w0bm.com">
</a>
@endif
</div>
<div class=" collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-left">
<li><a href="{{url('categories')}}"><i class="fa fa-clone"></i><span class="hidden-sm"></span></a></li>
<li><a href="{{url('index')}}"><i class="fa fa-list"></i><span class="hidden-sm"></span></a></li>
@if(Auth::check())
<ul class="nav navbar-nav navbar-left">
<li><a href="{{url('categories')}}"><i class="fa fa-clone"></i><span class="hidden-sm"> Categories</span></a></li>
<li><a href="{{url('index')}}"><i class="fa fa-list"></i><span class="hidden-sm"> Index</span></a></li>
@include('partials.themechanger')
@endif
@if(Auth::check())
@include('partials.layoutchanger')
@endif
@include('partials.searchmodal')
<li><a href="#" data-toggle="modal" data-target="#searchmodal"><i class="fa fa-search"></i><span class="hidden-sm"></span></a></li>
@if(Auth::check())
@include('partials.searchmodal')
<li><a href="#" data-toggle="modal" data-target="#searchmodal"><i class="fa fa-search"></i><span class="hidden-sm"> Find shit</span></a></li>
@else
@endif
</ul>
@if(Auth::check())
<ul class="nav navbar-nav navbar-right">
<li><a href="{{url('messages')}}"><i class="fa fa-envelope"></i> <span class="badge message-badge">{{Auth::user()->messagesRecv()->unread()->count()}}</span></a></li>
<li><a href="#" data-toggle="modal" data-target="#filterselectmodal"><i class="fa fa-filter"></i><span class="hidden-sm"></span></a></li>
<li><a href="{{url('upload')}}"><i class="fa fa-cloud-upload"></i><span class="hidden-sm"></span></a></li>
<li><a href="#" data-toggle="modal" data-target="#filterselectmodal"><i class="fa fa-filter"></i><span class="hidden-sm"> Filter</span></a></li>
<li><a href="{{url('upload')}}"><i class="fa fa-cloud-upload"></i><span class="hidden-sm"> Upload</span></a></li>
<li><a href="{{url('user', Auth::user()->username)}}/favs"><i class="fa fa-heart"></i></a></li>
<li><a href="{{url('user', Auth::user()->username)}}"><i class="fa fa-user"></i></a></li>
<li><a href="{{url('settings')}}"><i class="fa fa-gear"></i><span class="hidden-sm"></span></a></li>
<li><a href="{{url('logout')}}"><i class="fa fa-sign-out"></i><span class="hidden-sm"></span></a></li>
<li><a href="{{url('user', Auth::user()->username)}}"><i class="fa fa-user"></i> {{Auth::user()->username}}</a></li>
<li><a href="{{url('logout')}}"><i class="fa fa-sign-out"></i><span class="hidden-sm"> Logout</span></a></li>
</ul>
@else
<!-- Hier war mal der Login Kot -->
<ul class="nav navbar-nav navbar-right">
@if(Auth::check())
<li><a href="#" data-toggle="modal" data-target="#loginmodal"><i class="fa fa-sign-in"></i> Login</a></li>
@include('partials.loginmodal')
</ul>
@endif
@endif
</div>
</div>
</nav>
</nav>

View File

@@ -3,7 +3,7 @@
</div>
<div class="searchbar">
<form method="get" action="/main">
{!! Form::text('q', null, ['class' => 'suchleiste_video', 'placeholder' => 'Search']) !!}
{!! Form::text('q', null, ['class' => 'suchleiste_video', 'placeholder' => 'Search w0bm.com']) !!}
<button type="submit" class="suchbutton_video"><i style="color:white;" class="fa fa-search"></i></button>
</form>
</div>

View File

@@ -27,7 +27,7 @@
</div>
<div class="searchbar">
<form method="get" action="/main">
{!! Form::text('q', null, ['class' => 'suchleiste_video', 'placeholder' => 'Search']) !!}
{!! Form::text('q', null, ['class' => 'suchleiste_video', 'placeholder' => 'Search w0bm.com']) !!}
<button type="submit" class="suchbutton_video"><i style="color:white;" class="fa fa-search"></i></button>
</form>
</div>

View File

@@ -1,9 +1,17 @@
<div class="tags hidden-xs">
<div class="tagtest">
@if(Auth::check())
<ul class="nav navbar-nav info-nav">
<label for="tag-add-toggle">
<span id="tagadder" class="addtagsy">[+Add Tag]</span>
<li id="tagadder" class="addtagsy">[+Add Tag]</li>
</label>
<li class="addtagsy"><a href="/irc">IRC </a></li>
<li class="addtagsy"><a href="/about">About </a></li>
<li class="addtagsy"><a href="/contact">Contact </a></li>
<li class="addtagsy"><a href="/rules">Rules </a></li>
<li class="addtagsy"><a href="/stats">Stats</a></li>
<li class="addtagsy"><a href="/marderchen"></a></li>
</ul>
<input type="checkbox" id="tag-add-toggle">
<div id="tag-add">
<div class="input-group tag-input-open" style="margin-top: 4px;">
@@ -13,7 +21,14 @@
</div>
</div>
@else
<ul class="nav navbar-nav info-nav">
<li class="addtagsy"><a href="/irc">IRC </a></li>
<li class="addtagsy"><a href="/about">About </a></li>
<li class="addtagsy"><a href="/contact">Contact </a></li>
<li class="addtagsy"><a href="/rules">Rules </a></li>
<li class="addtagsy"><a href="/stats">Stats</a></li>
<li class="addtagsy"><a href="/marderchen"></a></li>
</ul>
@endif
</div>
@@ -27,5 +42,13 @@
No tags yet ...
@endif
</div>
<div class="git">
<?php
$latestCommit = shell_exec('git log -n 1');
$getcommitID = substr($latestCommit,0,48);
$commitID = substr($getcommitID, 7);
echo "<a class='latestCommit' target='_blank' href='/git'>$commitID</a>"
?>
</div>
</div>
</div>

View File

@@ -7,8 +7,14 @@
<button class="w0bmcustom-css" onclick="setActiveStyleSheet('w0bmcustom'); return false;">Default</button>
<br>
<button class="w0bm_override-css" onclick="setActiveStyleSheet('DARK'); return false;">DARK</button>
<br>
<br>
<button class="chilledblue-css" onclick="setActiveStyleSheet('Chilledblue'); return false;">Chilledblue</button>
<br>
<button class="xayd-css" onclick="setActiveStyleSheet('Xayd'); return false;">Xayd</button>
<br>
<button class="glitch-css" onclick="setActiveStyleSheet('Glitch'); return false;">Glitch</button>
<br>
<button class="epilepsie-css" onclick="alert('This theme can cause seizures and headaches, use with care!'); setActiveStyleSheet('Epilepsie'); return false;">Epilepsie</button>
</div>
</ul>
</li>

View File

@@ -0,0 +1,26 @@
@extends('profilelayout')
@section('content')
<div class="page-header">
<h3>Privacy</h3>
</div>
<div class="box">
<h5>What do we log?</h5>
<p>Our webserver does not log access log requests, we may log error logs from time to time if something breaks.</p>
<h5>3<sup>rd</sup> party links</h5>
<p>There are some 3rd party linkings on this website, be careful with clicking them we don't know whats inside the box blah blah blah, don't be stupid and don't trust the internet.</p>
<p>If you encounter a malicious link shared here on w0bm.com please notify an admin in the <a href="/irc">IRC</a></p>
<p>If you find a bug or a vulnerability, please notify an admin in the <a href="/irc">IRC</a></p>
<h5>Cookies</h5>
<p>Yes, we use cookies and if you don't like that don't come to our site! (or don't accept them in the first place) You can see the details of the cookies in your browser.</p>
<p>Spoiler: They are all relevant for the website to function properly!</p>
<ul>
<p>The following cookies are being set by the website:</p>
<li><code>remember_&lt;token&gt;</code> Well, it's used to remember you and so you don't have to re-login after like 5 minutes</li>
<li><code>style</code> This one is used to store your style preference</li>
<li><code>w0bm_session</code> Your session id</li>
<li><code>XSRF-TOKEN</code> The XSRF Token</li>
</ul>
</div>
@include('footer')
@endsection

View File

@@ -8,8 +8,8 @@
<meta charset="UTF-8">
<meta name="_token" content="{{csrf_token()}}">
<meta name="keywords" content="Random WebMs, WebMs, Internet Videos">
<link rel="icon" href="/favicon.gif">
<title>{{ config('app.iconic') }}</title>
<link rel="icon" href="/favicon.png">
<title>w0bm.com - WebMs with sound!</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="favicon"
type="image/ico"
@@ -19,6 +19,7 @@
<link rel="stylesheet" href="/css/font-awesome.min.css">
<link rel="stylesheet" href="/css/bootstrap-tagsinput.css">
<link rel="stylesheet" href="/css/w0bmcustom.css?v={{ filemtime("css/w0bmcustom.css") }}">
@if(auth()->check())
<link rel="stylesheet" href="/css/video-js.min.css">
<link rel="stylesheet" href="/css/simplebar.css" />
<link rel="stylesheet" href="/css/vjsnew.css?v=1.1.1">
@@ -28,6 +29,8 @@
<link rel="alternate stylesheet" href="/css/glitch.css?v={{ filemtime("css/glitch.css") }}" title="Glitch">
<link rel="alternate stylesheet" href="/css/epilepsie.css?v={{ filemtime("css/epilepsie.css") }}" title="Epilepsie">
<script src="/js/styleswitcher.js"></script>
@else
@endif
</head>
<body>
@if(auth()->check())
@@ -40,7 +43,10 @@
@include('partials.banmenu')
@endif
@endif
@if(auth()->check())
<canvas id="bg" @if(!Session::get('background', true)) style="display: none;"@endif></canvas>
@else
@endif
@include('partials.navigation')
<div class="wrapper">
@@ -53,6 +59,7 @@
</div>
</div>
@if(auth()->check())
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
<script src="/js/bootstrap-tagsinput.min.js"></script>
@@ -61,5 +68,7 @@
<script src="/js/handlebars.min.js"></script>
<script src="/js/jquery.timeago.js"></script>
<script src="/js/w0bmscript.js?v={{ filemtime("js/w0bmscript.js") }}"></script>
@else
@endif
</body>
</html>

View File

@@ -1,3 +1,39 @@
@extends('layout')
@section('content')
<div class="page-header">
<h3>Rulez</h3>
</div>
<div class="box">
<h5>General</h5>
<ol>
@foreach($generalrules as $rule)
<li>{{$rule->rule}}</li>
@endforeach
</ol>
</div>
<div class="box">
<h5>Uploading</h5>
<ol>
@foreach($uploadrules as $rule)
<li>{!!$rule->rule!!}</li>
@endforeach
</ol>
</div>
<div class="box">
<h5>Tagging</h5>
<ol>
@foreach($tagrules as $rule)
<li>{!!$rule->rule!!}</li>
@endforeach
</ol>
</div>
<div class="box">
<h5>Commenting</h5>
<ol>
@foreach($commentrules as $rule)
<li>{!!$rule->rule!!}</li>
@endforeach
</ol>
</div>
@include('footer')
@endsection

View File

@@ -1,6 +1,17 @@
@extends('profilelayout')
@extends('profilelayout')
@section('content')
<h4>Layouts</h4>
<div class="box">
{{ $fuser }}
<h5>Change how you experience w0bm.com</h5>
<ul class="layout-ul">
<li><a class="nav-link layout1" style="font-size: 10px;" href="/api/user/layout?layout=1">w0bm</a>The default look</li>
<li><a class="nav-link layout2" style="font-size: 10px;" href="/api/user/layout?layout=2">Njum</a>Alternative approach</li>
<li><a class="nav-link layout3" style="font-size: 10px;" href="/api/user/layout?layout=3">z0mb</a>z0r.de layout + theme</li>
<li><a class="nav-link layout3" style="font-size: 10px;" href="/api/user/layout?layout=4">nojs</a>The nojs layout (broken)</li>
<li><a class="nav-link layout3" style="font-size: 10px;" href="/api/user/layout?layout=5">Mobile</a>The mobile optimized default layout</li>
<li><a class="nav-link layout3" style="font-size: 10px;" href="/api/user/layout?layout=6">Marderchen</a>This is marders Layout, it has no async js</li>
<li><a class="nav-link layout3" style="font-size: 10px;" href="/api/user/layout?layout=7">2017</a>The layout from 2017</li>
<li><a class="nav-link layout3" style="font-size: 10px;" href="/api/user/layout?layout=8">2015</a>The OG w0bm</li>
</ul>
</div>
@endsection
@endsection

View File

@@ -9,6 +9,7 @@
<p class="comment_count">Total amount of comments: <amount>{{$comment_count}}</amount></p>
<p class="latest-video">Latest video <a href="/{{$latest_video}}">/{{$latest_video}}</a></p>
<p class="newest_user">Newest user <a href="/user/{{$newest_user}}">/user/{{$newest_user}}</a></p>
<p class="dirsize">Total size of w0bm: <amount>{{$dirsize}}</amount></p>
</div>
@include('footer')
@endsection

View File

@@ -1,2 +0,0 @@
Activate your account.
You should have received a mail

View File

@@ -0,0 +1,8 @@
<a href="/t/{{$tag}}">rand</a>
<br>
leon du huan
<br>
<video controls src="/b/{{ $video[0]['file'] }}"></video>
<br>

View File

@@ -1,6 +1,10 @@
<div style="background:black;color:green;">
{{$video}}
</div>
@extends('layout')
@section('content')
@if(auth()->check())
<?php $related = $related ?? null; ?>
<div class="vertical-align">
<div class="wrapper">
@@ -31,6 +35,10 @@
</div>
@endif
</div>
<?php
//$shortfile = str_replace(".webm", "" ,$video->file);
//$mp4 = shell_exec("curl https://fapple.w0bm.com/api/v1/{{$shortfile}} | jq -r .size");
?>
<div class="text-center" style="position: unset;">
@if($related)
@if(($prev = $video->getPrev($related,$isTag)) === null)
@@ -114,7 +122,7 @@
title="Information"
data-content="@include('popover-content')">
</button>
<span id="uploader">@if(auth()->check())contributed by <a class="{{ $video->user->username }}" style="color: white" href="{{ url('user/' . $video->user->username) }}">{!! $video->user->displayName() !!}</a></span>@else @endif <time class="timeago" data-toggle="tooltip" data-placement="top" datetime="{{$video->created_at->toIso8601String()}}" title="{{$video->created_at->toIso8601String()}}"></time>@if(auth()->check() && (auth()->user()->can('edit_video') || auth()->user()->id == $video->user_id)) <a class="edit_video" href="#" data-toggle="modal" data-target="#webmeditmodal">[edit]</a>@endif @if(auth()->check() && auth()->user()->can('delete_video'))<a class="delete_video" href="#">[del]</a>@endif
<span id="uploader">uploaded by <a class="{{ $video->user->username }}" style="color: white" href="{{ url('user/' . $video->user->username) }}">{!! $video->user->displayName() !!}</a></span> <time class="timeago" data-toggle="tooltip" data-placement="top" datetime="{{$video->created_at->toIso8601String()}}" title="{{$video->created_at->toIso8601String()}}"></time>@if(auth()->check() && (auth()->user()->can('edit_video') || auth()->user()->id == $video->user_id)) <a class="edit_video" href="#" data-toggle="modal" data-target="#webmeditmodal">[edit]</a>@endif @if(auth()->check() && auth()->user()->can('delete_video'))<a class="delete_video" href="#">[del]</a>@endif
</span>
</div>
</div>
@@ -128,4 +136,54 @@
@include('partials.comments')
@include('partials.tags')
</aside>
@else
{{{-- Wenn man nicht eingeloggt ist könnte man folgendes sehen, bzw machen --}}}
<div class="centered">
<div class="modal-content col-md-5">
<div class="modal-header">
<h4 class="modal-title" id="filterModalTitle">Login</h4>
</div>
@include('partials.flash')
<div class="login_wrapper">
<div class="col-md">
<form action="{{action('UserController@login')}}" method="post" class="navbar-form">
{!! csrf_field() !!}
<input type="text" name="identifier" placeholder="Username" class="form-control usernamelogin"><br>
<input type="password" name="password" placeholder="Password" class="form-control passwordlogin"><br>
<button type="submit" class="btn btn-primary">Login</button> <input style="vertical-align: unset;" id="rememberme" checked type="checkbox" name="remember"> <span id="rember">Remember me?</span>
</form>
</div>
</div>
<div class="media not-logged-in">
<div class="media-left">
@if($sfw)
<img class="media-object" src="/thumbs/beta/{{str_replace('.webm','',$video->file)}}.png">
@else
<img class="media-object" src="/thumbs/blurred/{{str_replace('.webm','',$video->file)}}_blurred.png">
@endif
</div>
<div class="media-koerper">
<h4 class="media-heading">
@if($video->videotitle){{$video->videotitle}}
@else
<p><i>No Title</i></p></h4>
@endif</h4>
<div id="tag-display" style="width: auto; height: auto;" class="tag-panel-body">
@if(count($video->tags))
@foreach($video->tags as $tag)
<span class="label label-default"><a class="default-link">{{$tag->name}}</a></span>
@endforeach
@else
No tags yet ...
@endif
</div>
</div>
</div>
<div class="modal-footer">
<a href="/privacy">Privacy</a> | <a href="/contact">Contact</a> | <a href="/irc">IRC</a>
</div>
</div>
</div>
@endif
@endsection

View File

@@ -0,0 +1,7 @@
@extends('profilelayout')
@section('novidcontent')
<div class="dark-bg">
{!!$blah!!}
</div>
@endsection

View File

@@ -0,0 +1,4 @@
@extends('profilelayout')
@section('novidcontent')
{{$blah}}
@endsection

View File

@@ -0,0 +1,24 @@
@extends('profilelayout')
@section('content')
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">YOU ARE BANNED!</h3>
</div>
<div class="panel-body">
<div style="border:0;" class="panel panel-default">
<div class="panel-body">
@if($perm)
<p>Your ban is permanent fool and will <b>NOT</b> expire!</p>
<video class="banwidth" autoplay loop src="https://b.w0bm.com/1515965864.webm">You are banned</video>
@else
<p class="banned">Reason: {{ $user->banreason }}</p>
<p class="banned">Your ban will expire in {{ $user->banend->diffForHumans(null, true) }}</p>
<img class="banwidth" src="otter-ban.png">
@endif
</div>
</div>
<p>If you think you were banned by accident or dindu nuffin to deserve the ban contact an administrator in the <a href="/irc">IRC</a></p>
</div>
</div>
@endsection

View File

@@ -0,0 +1,21 @@
@extends('profilelayout')
@section('novidcontent')
<div class="page-header p-2">
<h3>Categories</h3>
</div>
<div class="dark-bg">
<div class="p-2" id="categories">
@foreach($categories as $category)
<div id="category_box_{{$category->shortname}}" class="category-box">
<div class="thumbnail">
<a href="{{$category->shortname}}"><img src="{{ asset('/images/cat/' . $category->shortname . '.webp') }}" alt="{{$category->name}}"></a>
<div class="caption">
<h5>{{$category->name}} <small><b>{{$category->videos()->count()}}</b></small></h5>
<span class="cat-desc"><i>{{$category->description}}</i></span>
</div>
</div>
</div>
@endforeach
</div>
</div>
@endsection

View File

@@ -0,0 +1,66 @@
@extends('profilelayout')
@section('novidcontent')
<div class="page-header p-2">
<h3>RE: Content on w0bm</h3>
<p><i>For a happier future… or so I hope</i></p>
</div>
<div class="dark-bg">
<div class="box">
<h4>Original in German</h4>
<div class="german">
<pre>
RE: Content on w0bm
Ich will keine Nachrichten, keine Politik, keinen Krieg und auch sonst keine zu mainstreamigen Sachen auf meiner Platform.
Ich möchte das w0bm eine Page ist die lustiges und kurioses gezielt zur Schau stellt.
Natürlich bin ich nicht alleiniger Entscheider darüber was potentiell als lustig, kurios oder anderweitig merkwürdig zu gelten hat,
jedoch behalte ich mir vor das ganze in einem gewissen Rahmen zu formen, so ist nun der Zeitpunkt gekommen,
an dem ich diese Formung verfestigen werde und in Futur 2 viele Uploads gelöscht haben werde.
Die Löschung hat betroffen:
Inhalte mit Nachrichten, Politik und Krieg.
Inhalte mit Gore.
Die vollständigen Kategorien:
politics, military, mett
sind entfernt worden
Ab sofort bitte keine Inhalte mit oben aufgeführten Kriterien mehr hochladen.
Liebe Grüße
Chatbot953
</pre>
</div>
<h4>English translation</h4>
<div class="usaenglish">
<pre>
RE: Content on w0bm
I don't want news, politics, war or anything too mainstream on my platform.
I want w0bm to be a site that showcases funny and curious content.
Of course, I am not the sole decider of what is potentially considered funny, curious or otherwise strange,
but I reserve the right to shape the whole thing within a certain framework, so now the time has come,
at which I will solidify this shaping and will have deleted many uploads in future tense 2.
The deletion has affected:
Content with news, politics and war.
Content with Gore.
The complete categories:
politics, military, mett
have been removed
From now on, please do not upload any content with the above criteria.
Kind regards
Chatbot953
</pre>
</div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,4 @@
#!/bin/bash
cd /home/sirx/web/w0bm.com/resources/views/
ln -sf registerclosed.blade.php register.blade.php
php ../../artisan view:clear

View File

@@ -0,0 +1,5 @@
@extends('layout')
@section('content')
<div class="page-header">
<h1>Registration closed - check back later</h1>
@endsection

View File

@@ -0,0 +1,24 @@
@extends('profilelayout')
@section('novidcontent')
@include('partials.profileheader')
@include('partials.comlist')
<h3>Comments</h3>
@if(Auth::check())
<div class="row jkh">
<div class="col-md" id="list">
<div class="spinner">
<div class="cube1"></div>
<div class="cube2"></div>
</div>
</div>
<!--<div class="col-md-6" id="message"><h4>Select a comment to display content</h4></div>-->
</div>
@else
<div class="row jkh">
<i>Not logged in. Please log in to view comments!</i>
</div>
@endif
@endsection

View File

@@ -0,0 +1,15 @@
@extends('profilelayout')
@section('novidcontent')
<div class="page-header p-2">
<h3>Professional Support</h3>
</div>
<div class="box">
<img src="/images/cockfag.png" style="margin-left: 10px; width: 15%; height: 15%; float:right;">
<h4>Contact</h4>
<ul>
<li>Contact via IRC: <a href="https://webirc.n0xy.net/?join=%23w0bm">#w0bm on n0xy.net</a></li>
</ul>
<p><span>Need something? Let's talk then!</span></p>
<p>Email: <a href="mailto:admin@w0bm.com">admin [ät] w0bm [dotto] com</a>
</div>
@endsection

View File

@@ -0,0 +1,87 @@
@extends('layouts.app')
@section('jumbotron')
<div class="jumbotron">
<div class="container">
<h1>Contact HackerPair</h1>
<h2>Your message will be delivered to our clandestine team</h2>
</div>
</div>
@endsection
@section('content')
<div class="row" style="margin-top: 25px;">
<div class="col-md-4 col-sm-12">
<div class="card">
<div class="card-body">
<div class="card-title map">
<gmap-map
:center="{lat: 38.871026, lng: -77.055959}"
:zoom="13"
:options="{styles: mapStyles, streetViewControl: false, zoomControl: false, mapTypeControl: false}"
map-type-id="roadmap"
style="width: 100%; height: 300px;"
>
</gmap-map>
<ul class="list-group list-group-flush">
<li class="list-group-item" style="border: none;">
<span class="fa fa-building" style="color: #FFC200; padding-right: 5px;" aria-hidden></span>
Group 9
</li>
<li class="list-group-item" style="border: none;">
<span class="fa fa-map" style="color: #FFC200; padding-right: 5px;" aria-hidden></span>
Classified
</li>
<li class="list-group-item" style="border: none;">
<span class="fa fa-map-signs" style="color: #FFC200; padding-right: 5px;" aria-hidden></span>
Classified
<li class="list-group-item" style="border: none;">
<span class="fa fa-calendar" style="color: #FFC200; padding-right: 5px;" aria-hidden></span>
support@hackerpair.com
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="col-md-8 col-sm-12">
<p>
Send us your questions, comments, and suggestions and someone will be in touch within
24 hours.
</p>
{!! Form::open(['route' => 'contact.store']) !!}
<div class="form-group">
{!! Form::label('name', 'Your Name') !!}
{!! Form::text('name', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('email', 'E-mail Address') !!}
{!! Form::text('email', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('msg', 'Message') !!}
{!! Form::textarea('msg', null, ['class' => 'form-control']) !!}
</div>
<div class="form-group">
</div>
{!! Form::submit('Submit', ['class' => 'btn btn-info']) !!}
{!! Form::close() !!}
<br />
</div>
</div>
@endsection

View File

@@ -0,0 +1,37 @@
<!DOCTYPE html>
<html>
<head>
<title>Laravel 5.4 Cloudways Contact US Form Example</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1>Contact US Form</h1>
@if(Session::has('success'))
<div class="alert alert-success">
{{ Session::get('success') }}
</div>
@endif
{!! Form::open(['route'=>'contactus.store']) !!}
<div class="form-group {{ $errors->has('name') ? 'has-error' : '' }}">
{!! Form::label('Name:') !!}
{!! Form::text('name', old('name'), ['class'=>'form-control', 'placeholder'=>'Enter Name']) !!}
<span class="text-danger">{{ $errors->first('name') }}</span>
</div>
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{!! Form::label('Email:') !!}
{!! Form::text('email', old('email'), ['class'=>'form-control', 'placeholder'=>'Enter Email']) !!}
<span class="text-danger">{{ $errors->first('email') }}</span>
</div>
<div class="form-group {{ $errors->has('message') ? 'has-error' : '' }}">
{!! Form::label('Message:') !!}
{!! Form::textarea('message', old('message'), ['class'=>'form-control', 'placeholder'=>'Enter Message']) !!}
<span class="text-danger">{{ $errors->first('message') }}</span>
</div>
<div class="form-group">
<button class="btn btn-success">Contact US!</button>
</div>
{!! Form::close() !!}
</div>
</body>
</html>

View File

@@ -0,0 +1,5 @@
@extends('profilelayout')
@section('novidcontent')
<p>Video deleted by admin</p>
<p>Given reason: </p>
@endsection

View File

@@ -0,0 +1,10 @@
You received a message from : {{ $name }}
<p>
Name: {{ $name }}
</p>
<p>
Email: {{ $email }}
</p>
<p>
Message: {{ $user_message }}
</p>

View File

@@ -0,0 +1,3 @@
<h3>Hello {{$username}}</h3>
<p>Welcome to <a href="https://w0bm.com">w0bm.com</a>.</p>
<p>To activate your account please click this <a href="https://w0bm.com/activate/{{$activation_token}}">link</a>.</p>

View File

@@ -0,0 +1,87 @@
<html>
<div style="width:100%;font-family:verdana;">
<h1>webm got reported!</h1>
<div>
<b>Link:</b>
<a href="{{$videoURL}}">{{$videoURL}}</a>
</div>
<br>
<div>
<table style="width:100%;border:1px solid black;border-collapse:collapse;">
<thead>
<tr style="border:1px solid black; padding:5px;">
<th style="background-color:#bbbbbb;border-right:1px solid black;">Report Reasons</th>
<th style="background-color:#bbbbbb;">Report Text</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding:10px;border-right:1px solid #bbbbbb;">
<ul>
{!! $reportReasons !!}
</ul>
</td>
<td style="padding:10px;">
{{$reportText}}
</td>
</tr>
</tbody>
</table>
</div>
<br>
<div>
<table style="width:100%; border-collapse:collapse;border:1px solid black;">
<tr style="border-bottom:1px solid black;">
<th style="border-right:1px solid black;padding:5px;width:200px;">Username</th>
<td>{!! $username !!}</td>
</tr>
<!--
<tr style="border-bottom:1px solid black;">
<th style="border-right:1px solid black;padding:5px;">Time reported</th>
<td></td>
</tr>
<tr style="border-bottom:1px solid black;">
<th style="border-right:1px solid black;padding:5px;">IP:</th>
<td></td>
</tr>-->
<tr style="border-bottom:1px solid black;">
<th style="border-right:1px solid black;padding:5px;">Video ID</th>
<td>{{$videoID}}</td>
</tr>
<!--
<tr style="border-bottom:1px solid black;">
<th style="border-right:1px solid black;padding:5px;">Video Title</th>
<td></td>
</tr>
<tr style="border-bottom:1px solid black;">
<th style="border-right:1px solid black;padding:5px;">Video Tags</th>
<td></td>
</tr>-->
</table>
</div>
<br>
<hr>
<!--
<div>
<h3>Debug Output:</h3>
<div style="color:green;font-family:consolas;background-color:black;">
<pre>
{{$debugOutput}}
</pre>
</div>
</div>
-->
</div>
</html>

View File

@@ -0,0 +1,7 @@
@extends('profilelayout')
@section('novidcontent')
<div class="notfound">
<h1>404 - NOT FOUND</h1>
<img id="notfound-img" src="/404.gif">
</div>
@endsection

View File

@@ -0,0 +1,47 @@
@extends('profilelayout')
@section('novidcontent')
<style>
.sf-reset .block > pre {
background-color: #000000;
padding: 10px 28px;
margin-bottom: 20px;
-webkit-border-bottom-right-radius: 0;
-webkit-border-bottom-left-radius: 0;
-moz-border-radius-bottomright: 0;
-moz-border-radius-bottomleft: 0;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
border-bottom: 1px solid #1faeac;
border-right: 1px solid #1faeac;
border-left: 1px solid #1faeac;
border-top: 1px solid #1faeac;
word-wrap: break-word;
color: green;
}
.block {
overflow: auto;
word-break: break-all;
max-height: 500px;
}
</style>
<h5>l0l! Something went wrong!</h5>
<div id="sf-resetcontent" class="sf-reset box">
<h6>Please don't send this fucking text to an admin, we have other problems.</h6>
<?php
$iv = openssl_random_pseudo_bytes(16);
?>
@if(!env('APP_DEBUG'))
<div class="block">
{{bin2hex($iv)}}<br>
{{openssl_encrypt($exception, 'aes128', env('APP_KEY'), 0, $iv)}}
</div>
@else
<div class="block">
<pre>{{$exception}}</pre>
</div>
@endif
</div>
@endsection

View File

@@ -0,0 +1,47 @@
<!DOCTYPE html>
<html>
<head>
<title>Please Stand By we are just fucking this up</title>
<link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
<style>
html, body {
height: 100%;
}
body {
margin: 0;
padding: 0;
width: 100%;
color: #B0BEC5;
display: table;
font-weight: 100;
font-family: 'Lato';
background-color: #161618;
}
.container {
text-align: center;
display: table-cell;
vertical-align: middle;
}
.content {
text-align: center;
display: inline-block;
}
.title {
font-size: 72px;
margin-bottom: 40px;
}
</style>
</head>
<body>
<div class="container">
<div class="content">
<div class="title">Short maintenance, brb!</div>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,6 @@
<nav class="navbar-fixed-bottom">
<div class="container futter">
<a href="/about">About</a> | <a href="/rules">Rules</a> | <a href="/contact">Contact</a> | <a href="/privacy">Privacy</a> | <a href="/transparency">Transparency</a> | <a href="/friends">Friends</a> | <a href="/stats">Stats</a>
<p>Inspired by <a href="http://z0r.de">z0r.de</a> | © 2015 {{ date('Y') }} w0bm.com</p>
</div>
</nav>

View File

@@ -0,0 +1,7 @@
@extends('layout')
@section('content')
<div class="page-header p-2">
<h2></h2>
</div>
@endsection

View File

@@ -0,0 +1,83 @@
@extends('profilelayout')
@section('novidcontent')
<div class="page-header p-2">
<h3 id="index">Index</h3>
<form method="get" class="d-block d-sm-none">
<button type="submit" class="suchbutton"><i style="color:white;" class="fa fa-search"></i></button>
{!! Form::text('q', isset($q) ? $q : null, ['class' => 'suchleiste', 'placeholder' => 'Search w0bm.com']) !!}
</form>
</div>
<table class="table table-hover table-condensed">
<thead>
<tr>
<th>ID</th>
<th>Video Title</th>
<th>Artist</th>
<th>Songtitle</th>
<th class="hidden-xs">Video Source</th>
<th>Category</th>
</tr>
</thead>
<tbody>
@foreach($videos as $video)
<?php
$thumb = str_replace(".webm","",$video->file);
?>
<tr data-thumb="{{$thumb}}" class="indexedit" data-vid="{{$video->id}}">
<td>
@if($edit = auth()->check() && auth()->user()->can('edit_video'))
<form action="/index/{{$video->id}}" method="post" id="edit_{{$video->id}}" class="indexform"></form>
@endif
<div class="relativebla">
<span class="vinfo vid"><a href="{{url($video->id)}}">{{$video->id}}</a></span>
<a href="{{url($video->id)}}"><img id="indexthumb" src="/thumbs/beta/{{$thumb}}.png"></a>
</div>
@if($edit)
<input type="submit" class="btn btn-primary" value="Save" form="edit_{{$video->id}}">
@endif
</td>
<td>
<span class="vinfo vvideotitle">{{$video->videotitle or ''}}</span>
@if($edit)
<input class="form-control" type="text" name="videotitle" value="{{$video->videotitle or ''}}" form="edit_{{$video->id}}">
@endif
</td>
<td>
<span class="vinfo vinterpret">{{$video->interpret or ''}}</span>
@if($edit)
<input class="form-control" type="text" name="interpret" value="{{$video->interpret or ''}}" form="edit_{{$video->id}}">
@endif
</td>
<td>
<span class="vinfo vsongtitle">{{$video->songtitle or ''}}</span>
@if($edit)
<input class="form-control" type="text" name="songtitle" value="{{$video->songtitle or ''}}" form="edit_{{$video->id}}">
@endif
</td>
<td class="hidden-xs">
<span class="vinfo vimgsource">{{$video->imgsource or ''}}</span>
@if($edit)
<input class="form-control" type="text" name="imgsource" value="{{$video->imgsource or ''}}" form="edit_{{$video->id}}">
@endif
</td>
<td>
<span class="vinfo vcategory"><a href="{{url($video->category->shortname)}}">{{$video->category->name}}</a></span>
@if($edit)
<select class="form-control" name="category" form="edit_{{$video->id}}">
@foreach($categories as $cat)
<option value="{{$cat->id}}" @if($cat->shortname === $video->category->shortname) selected @endif>{{$cat->name}}</option>
@endforeach
</select>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="">
{!! $videos->render() !!}
</div>
@endsection

View File

@@ -0,0 +1,27 @@
@extends('profilelayout')
@section('novidcontent')
<div class="page-header p-2">
<h3>IRC/[matrix]</h3>
</div>
<div class="dark-bg">
<div class="box irc-matrix-info">
<h5>IRC</h5>
<h6>irc.n0xy.net +6697 (ssl only) #w0bm</h6>
<p><a href="https://webirc.n0xy.net/?join=%23w0bm" target="about_blank">webirc.n0xy.net</a></p>
<p>More information: <a href="https://n0xy.net">n0xy.net</a></p>
<h5>[matrix]</h5>
<h6>#w0bm on the [matrix] network</h6>
<p><a href="https://matrix.to/#/#!w0bm:f0ck.it?via=f0ck.it&via=matrix.org&via=f0.gg">#!w0bm:f0ck.it</a></p>
<p>Alternatively you can use the Element web client hosted at <a href="https://element.f0ck.it">f0ck.it</a> to connect to our channel, it has some modifications to make chatting more comfy: <br><small>Note: Registrations are disabled, you can still use this client with every homeserver you have an account on!</small></p>
<ul>
<li>w0bm.com Stylesheet</li>
<li>Greentexting</li>
</ul>
<a href="https://spyware.neocities.org/articles/discord.html" target="_blank"><img src="/images/shitcord.gif" alt="discord-no-way"></a><br><a href="/matrix">Additional Redpill</a>
</div>
{{--<div class="box">
<iframe src="https://webirc.n0xy.net?nick={{Auth::user()->username}}&join=%23w0bm&username={{Auth::user()->username}}"></iframe>
</div>--}}
</div>
@endsection

View File

@@ -0,0 +1,68 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="_token" content="{{csrf_token()}}">
<meta name="keywords" content="Random WebMs, WebMs, Internet Videos">
<link rel="icon" href="/favicon.png">
<title>@if(isset($video)){{ $video->id }} -@endif w0bm.com</title>
<link rel="stylesheet" type="text/css" href="/njum/css/magic.css">
<link rel="stylesheet" type="text/css" href="/njum/css/bootstrap-tagsinput.css">
<link rel="stylesheet" type="text/css" href="/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="/njum/css/bootstrap-dark.css">
<link rel="stylesheet" type="text/css" href="/njum/css/cstms.css?v={{ filemtime("njum/css/cstms.css") }}">
</head>
<body>
@if(auth()->check())
@include('partials.frontendedit')
@include('partials.report')
@include('partials.filterselect')
@endif
<canvas id="bg" class=""></canvas>
<div class="container-fluid row p-0" id="wrapper">
<div class="col-sm scrollable hidden-xs p-0"></div>
<div class="container p-0">
<div class="col-md p-0">
@include('partials.navigation')
@include('partials.annouce')
@include('partials.flash')
<noscript>
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong>Javascript is disabled :(</strong> be a good neckbeard and turn it on, otherwise this Layout wont work as it should. However I can offer you to either reset to a <a href="/api/user/layout?layout=1">Layout that is nojs friendly</a> or just mind your own biz and simply block this message with your adblocker for example. Anyways have a nice day.
</button>
</div>
</noscript>
@yield('floatvid')
@include('partials.comments')
</div>
<div class="col-sm scrollable p-0"></div>
</div>
<div class="col-sm scrollable hidden-xs p-0"></div>
</div>
</body>
<script type="text/javascript" src="/njum/js/jquery.min.js"></script>
<script type="text/javascript" src="/njum/js/jquery.timeago.js"></script>
<script type="text/javascript" src="/njum/js/popper.min.js"></script>
<script type="text/javascript" src="/njum/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/njum/js/bootstrap-tagsinput.min.js"></script>
<script type="text/javascript" src="/js/clipboard.min.js"></script>
<script type="text/javascript" src="/njum/js/newscript.js?v={{ filemtime("njum/js/newscript.js") }}"></script>
<script src="/njum/js/sticky_video.js"></script>
<script type="text/javascript">
var clipboard = new ClipboardJS('.copylink');
clipboard.on('success', function(e) {
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
e.clearSelection();
});
clipboard.on('error', function(e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
</script>
</html>

View File

@@ -0,0 +1,12 @@
@extends('profilelayout')
@section('novidcontent')
@include('partials.flash')
<form action="{{action('UserController@login')}}" method="post" class="form-signin">
{!! csrf_field() !!}
<input type="text" name="identifier" placeholder="Username" class="form-control">
<input type="password" name="password" placeholder="Password" class="form-control">
<input type="checkbox" name="remember" checked> Remember me<br>
<button type="submit" class="btn btn-dark">Login</button>
<a href="{{url('register')}}" class="btn btn-success">Register</a>
</form>
@endsection

View File

@@ -0,0 +1,23 @@
@extends('profilelayout')
@section('novidcontent')
<div class="items">
@foreach($videos as $video)
<?php
$thumb = str_replace(".webm","",$video->file);
?>
<div class="main-item">
<a href="/{{$video->id}}">
@if(file_exists(public_path() . '/thumbs/beta/'.$thumb.'.png'))
<img src="/thumbs/beta/{{$thumb}}.png">
@else
<img src="/small_404.gif" class="nothumb" />
@endif
</a>
</div>
@endforeach
</div>
<div class="page">
{!! $videos->render() !!}
</div>
@endsection

View File

@@ -0,0 +1,24 @@
@extends('profilelayout')
@section('novidcontent')
<h3>Hello everyone!</h3>
<div class="box">
<img src="https://marderchen.totally.rip/marderchen.lima-city.de/marderchen.gif" style="float: right;" alt="">
<p>Today we have sad news, a beloved friend of us and one of our most unique members died.</p>
<p>Some of you may remember his unique and interesting and somewhat chaotic but cool videos.</p>
<p>Today we mourn the loss of our friend marderchen.</p>
<p>We sincerely hope you are at a better place now.</p>
<p>We thank you for the great time we had with you, you inspired many of us and brought joy to the IRC and to the website, you will be missed old friend.</p>
<p>To say it in your words: =^_^= MEOW</p>
<p>We have archived his long gone website, make sure to check it out! It is absolutely wild (only available in German)</p>
<p><a href="https://marderchen.totally.rip/marderchen.lima-city.de/index.html">https://marderchen.totally.rip/marderchen.lima-city.de/index.html</a></p>
<p>Also make sure to check out his uploads <a href="https://w0bm.com/main?q=marderchen">https://w0bm.com/main?q=marderchen</a> and enjoy it.</p>
<p><i>- w0bm staff</i></p>
</div>
@endsection

View File

@@ -0,0 +1,100 @@
<style type="text/css">
* {margin: 0; padding: 0}
body {background: #000;overflow:hidden;}
canvas {display: block;}
.matrix {
position: absolute;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
text-align: center;
font-family: monospace;
}
.matrix > .inner {
position: absolute;
color: white;
top: 40%;
}
.inner {
background: #000000b5;
padding: 5px;
}
#bluepill a {
width: 26px;
height: 10px;
display: inline-block;
color: blue;
background: blue;
border-radius: 5px;
}
#redpill a {
width: 26px;
height: 10px;
display: inline-block;
color: red;
background: red;
border-radius: 5px;
}
</style>
<div class="matrix">
<div class="inner">
<h3><p><b><i>You are a slave {{Auth::user()->username}}</i></b></p></h3>
<br>
<p>Take control over your chats, leave Discord for good!</p>
<p>Join [matrix] today!</p>
<p>Why should you consider either running a [matrix] synapse yourself or start using someone elses:</p>
<p>Discord is evil, it took away the freedom you and I deserve, it makes you a slave to their services,<br> makes you obey their rules, includes you in a unwanted botnet where you have no freedom at all!</p>
<p>It's time to break free {{Auth::user()->username}}</p>
<p>Choose your fate</p>
<span id="bluepill"><a href="https://discordapp.com/app"></a></span> <span id="redpill"><a href="https://github.com/matrix-org/synapse" target="_blank"></a></span>
<p><code>#!w0bm:f0ck.it</code></p>
<br>
<p><small>We are happy to help if you have any trouble setting up your synapse</small></p>
</div>
</div>
<canvas></canvas>
<audio src="/clubbed.mp3" autoplay loop></audio>
<script type="text/javascript">
// Initialising the canvas
var canvas = document.querySelector('canvas'),
ctx = canvas.getContext('2d');
// Setting the width and height of the canvas
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
// Setting up the letters
var letters = 'ABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZ';
letters = letters.split('');
// Setting up the columns
var fontSize = 10,
columns = canvas.width / fontSize;
// Setting up the drops
var drops = [];
for (var i = 0; i < columns; i++) {
drops[i] = 1;
}
// Setting up the draw function
function draw() {
ctx.fillStyle = 'rgba(0, 0, 0, .1)';
ctx.fillRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < drops.length; i++) {
var text = letters[Math.floor(Math.random() * letters.length)];
ctx.fillStyle = '#0f0';
ctx.fillText(text, i * fontSize, drops[i] * fontSize);
drops[i]++;
if (drops[i] * fontSize > canvas.height && Math.random() > .95) {
drops[i] = 0;
}
}
}
// Loop the animation
setInterval(draw, 33);
</script>

View File

@@ -0,0 +1,15 @@
@extends('profilelayout')
@section('novidcontent')
<div class="dark-bg">
@include('partials.msglist')
<div class="row">
<div class="col-md-6" id="list">
<div class="spinner">
<div class="cube1"></div>
<div class="cube2"></div>
</div>
</div>
<div class="col-md-6" id="message"><h4>Select a message to display content</h4></div>
</div>
</div>
@endsection

View File

@@ -0,0 +1,3 @@
<span id="comm_answer"><a href="{{url('user/' . $user->username)}}">{{$user->username}}</a> answered on your comment.</span>
<span id="comm_answer"><a href="{{url('user/' . $user->username)}}">{{$user->username}}</a> answered on your comment on the following video: <a href="{{url($video->id)}}">/{{$video->id}}</a></span>
@include('messages.commentpreview')

View File

@@ -0,0 +1,3 @@
<h3><a href="{{url('user/' . $user->username)}}">{{$user->username}}</a> mentioned you in a comment.</h3>
<p><a href="{{url('user/' . $user->username)}}">{{$user->username}}</a> mentioned you in a comment on the following video: <a href="{{url($video->id)}}">/{{$video->id}}</a></p>
@include('messages.commentpreview')

View File

@@ -0,0 +1,6 @@
<div class="panel panel-default">
<div class="panel-body">
@simplemd($comment->content)
</div>
<div class="panel-footer">by <a href="/user/{{$comment->user->username}}">{!! $comment->user->displayName() !!}</a> <small><time class="timeago" data-toggle="tooltip" data-placement="right" datetime="{{$comment->created_at}}+0000" title="{{$comment->created_at}}+0000"></time></small></div>
</div>

View File

@@ -0,0 +1,4 @@
<h3>A moderator deleted your comment.</h3>
<p>A moderator deleted your comment on the following video: <a href="{{url($video->id)}}">/{{$video->id}}</a></p>
<p><span style="font-weight:bold;">Reason:</span> {{$reason}}</p>
@include('messages.commentpreview')

View File

@@ -0,0 +1,4 @@
<h3>A moderator restored your comment.</h3>
<p>A moderator restored your comment on the following video: <a href="{{url($video->id)}}">/{{$video->id}}</a></p>
<p><span style="font-weight:bold;">Reason:</span> {{$reason}}</p>
@include('messages.commentpreview')

View File

@@ -0,0 +1,10 @@
<h3>A moderator deleted your video.</h3>
<p>A moderator deleted your video with the ID {{$video->id}}</p>
<span style="font-weight:bold;">Video Info:</span>
<ul>
@if(isset($videoinfo['artist'])) <li><span style="font-weight:bold;">Artist:</span> {{ $videoinfo['artist'] }}</li> @endif
@if(isset($videoinfo['songtitle'])) <li><span style="font-weight:bold;">Songtitle:</span> {{ $videoinfo['songtitle'] }}</li> @endif
@if(isset($videoinfo['video_source'])) <li><span style="font-weight:bold;">Video Source:</span> {{ $videoinfo['video_source'] }}</li> @endif
<li><span style="font-weight:bold;">Category:</span> {{ $videoinfo['category'] }}</li>
</ul>
<p><span style="font-weight:bold;">Reason:</span> {{$reason}}</p>

View File

@@ -0,0 +1,2 @@
<p class="vidcomment"><a href="{{url('user/' . $user->username)}}">{{$user->username}}</a> made a comment on your video ID (<a href="{{url($video->id)}}">/{{$video->id}}</a>)</p>
@include('messages.commentpreview')

Some files were not shown because too many files have changed in this diff Show More