Compare commits

40 Commits
watafak ... dev

Author SHA1 Message Date
x
835df023da Erster Stand 2025-09-18 11:13:45 +02:00
74dc2fd62f w0bm, was 2024-12-30 22:39:52 +00:00
a94cddb760 changing term uploaded to contributed 2024-10-07 21:30:56 +02:00
ff21111cef small css QoL changes 2024-10-07 21:09:50 +02:00
w0bm
46cb60c251 remove tags from url preview 2024-09-16 21:23:20 +00:00
x
9b89444e43 layout2 auch 2024-08-07 21:14:00 +02:00
x
1e58be6f86 removing dirsize for now 2024-08-07 21:12:34 +02:00
x
9fd8fa470e modified css 2024-06-20 04:27:49 +02:00
x
4c15660369 non logged in QoL 2024-06-15 08:07:50 +02:00
x
ed50be400c . 2024-06-15 07:57:54 +02:00
x
9817a2a370 hiding users favorites from non logged in 2024-06-15 07:42:20 +02:00
x
a2b193d6c9 128 chars min 2024-06-15 07:31:25 +02:00
x
85532fd50c blah 2024-06-15 04:19:22 +02:00
x
2c52fe4093 updating readme accordingly 2024-06-11 02:41:00 +02:00
x
16ec7c7783 fixing login error on local development instance due to secure cookie 2024-06-11 02:34:40 +02:00
x
8dba281d3c fixing range input for /27204 2024-06-10 18:36:24 +02:00
x
c0751b3615 git 2024-06-10 15:14:42 +02:00
x
0f6538378e QoL fixes for njum and atmos 2024-06-10 12:45:43 +02:00
x
1f253df000 njum layout feature completion 2024-06-10 11:34:04 +02:00
x
e83fcddb20 removing broken z0mb layout 2024-06-10 11:30:08 +02:00
x
d878d0e9e5 fixing njum layout 2024-06-10 11:24:26 +02:00
x
fb14a21268 removing mobile detection 2024-06-10 09:14:55 +02:00
x
4f4d95d4d7 ffds 2024-06-10 02:33:16 +02:00
x
1008649005 caps or not to caps 2024-06-10 02:31:39 +02:00
x
5cd4a8da92 spacing 2024-06-10 02:29:29 +02:00
x
db1ef75dd3 dirty hack text shadow 2024-06-10 02:24:01 +02:00
x
b62bd3bfb9 cursed hack, aber... 2024-06-10 02:21:54 +02:00
x
c05bcb758f tagview #3 2024-06-10 01:56:51 +02:00
x
b6d93f54ef fixing tagview #2 2024-06-10 01:10:33 +02:00
x
05f7fa5732 fixing tagview 2024-06-10 00:53:19 +02:00
x
7990870f7c adding actual useful feature 2024-06-10 00:33:33 +02:00
x
3077b2bede always link to main on the logo 2024-06-09 17:09:50 +02:00
x
3d734e621e fixing profile layout 2024-06-09 13:57:25 +02:00
x
0a30acc4cf Good bye public usernames 2024-06-09 13:53:34 +02:00
x
ae98eb177f Hello World, again 2024-06-09 13:50:55 +02:00
x
adc2d59419 git route public 2024-06-09 13:41:52 +02:00
w0bm
c69b967e7e Revert "closing the registration"
This reverts commit 91a9bd168e.
2024-06-09 11:39:14 +00:00
x
d8c9b381b1 Hello World 2024-06-09 13:33:18 +02:00
67217c94cf QoL fix for videotitle height, thanks to duke 2024-05-14 00:24:35 +02:00
x
401423362c QoL 2024-04-06 04:54:43 +02:00
427 changed files with 715 additions and 10877 deletions

1
.gitignore vendored
View File

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

8
.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# 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 Normal file
View File

@@ -0,0 +1,8 @@
<?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>

14
.idea/php-test-framework.xml generated Normal file
View File

@@ -0,0 +1,14 @@
<?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 Normal file
View File

@@ -0,0 +1,119 @@
<?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 Normal file
View File

@@ -0,0 +1,18 @@
<?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 Normal file
View File

@@ -0,0 +1,10 @@
<?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 Normal file
View File

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

100
.idea/w0bm.iml generated Normal file
View File

@@ -0,0 +1,100 @@
<?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

@@ -81,6 +81,7 @@ 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,127 @@
<?php
namespace App\Http\Controllers;
use App\Models\Category;
use App\Models\Video;
use App\Models\Banner;
use Illuminate\Http\Request;
use App\Http\Requests;
use Cviebrock\EloquentTaggable\Services\TagService;
use Illuminate\Http\RedirectResponse;
class TagviewController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index($tag)
{
$tag = $video = Video::with('tags')->find($tag->id);
return $tag;
// $tag = Video::withAnyTags($tag)->first();
// return $tag;
// $video = Video::with('tags')->find($tag->id);
// return redirect('t/' . $tag->normalized . '/' . $video->id);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
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->first();
}
else {
return redirect()->back()->with('error', 'tag is empty.');
}
return redirect('/t/' . $shortname . '/' . $video->id);
} else {
// Don't filter on specific video.
// TODO: Add warning page
$video = Video::withAllTags($tags)->find($id);
}
if (is_null($video)) {
return redirect()->back()->with('error', 'tag is empty.');
}
$sfw = $video->tags->contains(function($key, $tag) {
return $tag->normalized === 'sfw';
});
return view('video', [
'video' => $video,
'related' => $shortname,
'isTag' => true,
'sfw' => $sfw,
'banner' => Banner::getRandom($video->isSfw())]);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
/**
* 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

@@ -126,8 +126,7 @@ class UserController extends Controller
\Session::flash('info', 'Cannot register when logged in');
return redirect('/');
}
//return view('apply_open');
return view('apply-down');
return view('apply_open');
}
public function loggain()
@@ -152,8 +151,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()) {
@@ -180,12 +179,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 w0bm. Activate your account');
$message->to($user->email, $user->username)->subject('Welcome to .-.- . Activate your account');
});
return redirect('/login')->with('info', 'Congratulations! Your Account was successful created, please verify your email');
return view('success')->with('info', 'Congratulations! Your Account was successful created, please verify your email');
} else {
return redirect()->back()->with('error', 'Account could not be created')->withInput($request->except(['password', 'password_confirmation']));
return view()->with('error', 'Account could not be created')->withInput($request->except(['password', 'password_confirmation']));
}
}
@@ -370,6 +369,7 @@ class UserController extends Controller
return view('video', [
'video' => $vid,
'related' => $user,
'isTag' => false,
'banner' => Banner::getRandom($vid->isSfw()),
'sfw' => $sfw
]);
@@ -436,6 +436,7 @@ class UserController extends Controller
return view('video', [
'video' => $vid,
'related' => $user,
'isTag' => false,
'banner' => Banner::getRandom($vid->isSfw()),
'sfw' => $sfw,
]);
@@ -459,4 +460,9 @@ 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: 368 KiB

After

Width:  |  Height:  |  Size: 847 B

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]+');
Route::get('user/{username}/favs/{id}', 'UserController@play_fav')->where('id', '[0-9]+')->middleware('auth');
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,19 +124,18 @@ 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')->middleware('auth');
Route::get('main', 'VideoController@main')->middleware('auth');
Route::post('index/{id}', 'VideoController@update')->middleware('auth');
Route::get('index', 'VideoController@index');
Route::get('main', 'VideoController@main');
Route::post('index/{id}', 'VideoController@update');
Route::get('upload', 'VideoController@create')->middleware('auth');
Route::get('categories', 'CategoryController@index')->middleware('auth');
Route::get('categories', 'CategoryController@index');
Route::get('webm', function() { return view('webm'); })->middleware('auth');
Route::get('settings', function() { return view('settings'); })->middleware('auth');
Route::get('settings', 'UserController@settings');
Route::get('matrix', function() { return view('matrix'); })->middleware('auth');
Route::get('git', function() { return view('git'); })->middleware('auth');
Route::get('git', function() { return view('git'); });
#Route::get('about', function() { return view('about'); })->middleware('auth');
Route::get('about', 'aboutController@index')->middleware('auth');
Route::get('irc', function() { return view('irc'); });
Route::get('rules', 'rulezController@index');
Route::get('about', 'aboutController@index');
Route::get('rules', function() { return view('rulez'); });
#Route::get('tos', function() { return view('tos'); });
#Route::get('rulez', 'rulezController@index')->middleware('auth');
Route::get('todo', function() { return view('todo'); })->middleware('auth');
@@ -154,7 +153,7 @@ 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)")
//'dirsize' => shell_exec("(du -sh " . public_path() . "/b | cut -f1)")
]);
})->middleware('auth');
@@ -185,4 +184,11 @@ Route::group(["middleware" => "theme"], function() {
##Category View
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');
});

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="https://w0bm.com/' . ltrim($this->icon, '/') . '" alt="' . $this->icon . '">';
return '<img class="icon" src="/' . ltrim($this->icon, '/') . '" alt="' . $this->icon . '">';
default:
return '';
}

View File

@@ -6,6 +6,7 @@ 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
@@ -67,31 +68,58 @@ class Video extends Model
return $this->belongsToMany(User::class, 'favorites', 'video_id', 'user_id');
}
public static function getFirstId($related = null) {
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) {
return $related->videos()->filtered()->orderBy('id', 'ASC')->first()->id;
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 static::filtered()->orderBy('id', 'ASC')->first()->id;
}
public static function getLastId($related = null) {
public static function getLastId($related = null, $isTag = false) {
if ($related) {
return $related->videos()->filtered()->orderBy('id', 'DESC')->first()->id;
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 static::select('id')->filtered()->orderBy('id', 'DESC')->first()->id;
}
public function getNext($related = null) {
public function getNext($related = null, $isTag = false) {
if ($related) {
return $related->videos()->filtered()->where('id', '>', $this->id)->orderBy('id', 'ASC')->first();
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();
} else {
return static::filtered()->where('id', '>', $this->id)->orderBy('id', 'ASC')->first();
}
}
public function getPrev($related = null) {
public function getPrev($related = null, $isTag = false) {
if ($related) {
return $related->videos()->filtered()->where('id', '<', $this->id)->orderBy('id', 'DESC')->first();
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();
} else {
return static::filtered()->where('id', '<', $this->id)->orderBy('id', 'DESC')->first();
}
@@ -220,14 +248,26 @@ public function blurryThumb() {
}
}
public static function getRandom($related = null) {
public static function getRandom($related = null, $tag = false) {
if ($related) {
$id = $related->videos()->filtered()->countScoped()->count() - 1;
if (!$tag) {
$id = $related->videos()->filtered()->countScoped()->count() - 1;
if ($id < 0) {
return redirect()->back()->with('error', 'no videos found');
}
$id = mt_rand(0, $id);
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;
if ($id < 0) {
return redirect()->back()->with('error', 'no videos found');
}
$id = mt_rand(0, $id);
return $related->videos()->filtered()->skip($id);
$id = mt_rand(0,$id);
return Video::withAllTags($related)->filtered()->skip($id);
}
$id = static::filtered()->countScoped()->count() - 1;
if ($id < 0) {
@@ -237,6 +277,16 @@ public function blurryThumb() {
return static::filtered()->skip($id);
}
public static function getSingleRandom($related = null) {
$query = $related ? $related->videos()->filtered() : static::filtered();
$count = $query->countScoped()->count();
if ($count < 1) {
return null; // Return null if no videos found
}
return $query->inRandomOrder()->first();
}
public function isSfw() {
return !$this->tags->contains(function ($key, $tag) {
return $tag->normalized === 'nsfw';

View File

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

View File

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

View File

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

View File

@@ -13,52 +13,9 @@ class CategorySeeder extends Seeder
public function run()
{
Category::create([
'name' => 'Musicvideos',
'shortname' => 'mv',
'description' => 'WebMs containing music'
'name' => 'random',
'shortname' => 'random',
'description' => 'random'
]);
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', '=', 'misc')->first();
$category = \App\Models\Category::where('shortname', '=', 'random')->first();
$user = \App\Models\User::find(1);
foreach($videos as $video) {

21
public/css/glitch.css vendored
View File

@@ -5,10 +5,12 @@
/* end */
a.navbar-brand {
content: "";
background-size: contain;
background-image: url(/w0bm_mosh_banner_by_marderchen.gif);
background-repeat: no-repeat;
content: "";
background-size: cover;
background-image: url(/traurig.gif);
background-repeat: no-repeat;
background-position-x: 0;
background-position-y: -60px;
}
a.navbar-brand {
@@ -1095,17 +1097,6 @@ 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(https://w0bm.com/w0bm_mosh_banner_by_marderchen.gif)!important;
background-image: url(/traurig.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(//w0bm.com/fonts/Oswald_Cyrillic.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(/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(//w0bm.com/fonts/Odwald_Vietnamese.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(/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(//w0bm.com/fonts/Oswald_Latin_ext.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(/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(//w0bm.com/fonts/Oswald_latin.woff2) format('woff2');
src: local('Oswald Regular'), local('Oswald-Regular'), url(/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(//w0bm.com/fonts/6aez4K2oVqwIvtg2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(/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(//w0bm.com/fonts/6aez4K2oVqwIvtE2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(/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(//w0bm.com/fonts/6aez4K2oVqwIvtY2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(/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(//w0bm.com/fonts/6aez4K2oVqwIvto2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(/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(//w0bm.com/fonts/6aez4K2oVqwIvts2H68T.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(/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(//w0bm.com/fonts/6aez4K2oVqwIvtU2Hw.woff2) format('woff2');
src: local('Play Regular'), local('Play-Regular'), url(/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://w0bm.com/rip_w.png);
content: url(https:/rip_w.png);
right: 5px !important;
}*/
@@ -1223,7 +1223,8 @@ a.delete-tag.default-link {
}
#sidebar > .comments, #sidebar > .tags {
border-bottom: 1px solid #1fb2b0;
border-bottom: 1px solid #2c2c2c;
/* actually important setting for the layout */
width: 350px;
}
@@ -1276,14 +1277,11 @@ div#tag-display::-webkit-scrollbar {
label[for='tag-add-toggle'] {
color: #1FB2B0;
padding-top: 10px;
font-weight: normal;
padding-bottom: 5px;
margin-bottom: 0px;
padding: 5px;
margin: 0px;
font-family: Oswald;
cursor: pointer;
padding-right: 5px;
padding-left: 5px;
transition-duration: 0.2s;
-webkit-transition-duration: 0.2s;
}
@@ -1351,7 +1349,6 @@ span.addtagsy {
font-family: Oswald;
letter-spacing: 0.4px;
cursor: pointer;
padding: 5px 5px;
}
span.addtagsy>a {
@@ -2292,7 +2289,7 @@ input.form-control {
}
}
@media (max-width: 767px) {
/* @media (max-width: 767px) {
aside#sidebar::before {
content: "Comments";
width: 100%;
@@ -2304,7 +2301,7 @@ input.form-control {
margin-bottom: 5px;
color: #eaedec;
}
}
} */
@media (max-width: 690px) {
@@ -3331,10 +3328,6 @@ 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;
@@ -3464,7 +3457,7 @@ button.w0bmcustom-css:hover {
button.chilledblue-css {
width: 100%;
padding-bottom: 5px;
padding: 5px;
background: #142121;
border: 1px solid #131916;
margin-bottom: 5px;
@@ -3827,7 +3820,7 @@ button#layout5 {
div#parent {
overflow-y: scroll;
height: 10rem;
height: 15rem;
}
a.not-safe-for-work {
@@ -3956,10 +3949,6 @@ 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;
@@ -4028,18 +4017,6 @@ 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;
@@ -4069,9 +4046,7 @@ position: absolute;
left: 85px;
font-family: vcr;}
label[for='tag-add-toggle'] {
padding-top: 10px;
}
i.fa.fa-bitcoin {
color: #e2c910;
@@ -4247,6 +4222,7 @@ pre {
background: black;
width: 100%;
margin-bottom: 5px;
padding: 5px;
}
.toggo {
@@ -4289,4 +4265,37 @@ 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;
}

BIN
public/doggo.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

BIN
public/favicon.gif Normal file

Binary file not shown.

After

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", "//w0bm.com/thumbs/" + src_split.replace(".webm", ".gif"));
videoElem.setAttribute("poster", "/thumbs/" + src_split.replace(".webm", ".gif"));
}
var player = videojs(videoElem, {
controls: true,
@@ -1442,16 +1442,17 @@ document.querySelectorAll("#layoutSwitcher [id^=layout]").forEach(el => el.addEv
console.warn(response.status, await response.text());
}));
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');
}
// 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');
// }
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";
}
// 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";
// }

View File

@@ -52,29 +52,10 @@ 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;
}
@@ -3193,10 +3174,6 @@ 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", "//b.w0bm.com/thumbs/" + src_split.replace(".webm", ".gif"));
videoElem.setAttribute("poster", "/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 = '//w0bm.com/thumbs/' + id + '.gif';
var lnk = '/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://w0bm.com/api/user/layout?layout=1";
window.location.href = "https:/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", "//w0bm.com/thumbs/" + src_split.replace(".webm", ".gif"));
videoElem.setAttribute("poster", "/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 = "https://w0bm.com/api/user/layout?layout=5";
}
// if( /Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
// window.location.href = "/api/user/layout?layout=5";
// }
/* $('#collapseEmojis').on('click', function (event) {
let panelCollapse = $(this).closest('.panel').find('.collapseEmojis');

View File

@@ -1,10 +1,9 @@
# w0bm.com
# w0bm
![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) 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.
[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.
The page is build on top of the [Laravel Framework](https://laravel.com).
@@ -149,7 +148,7 @@ server {
# Installation
`git clone gitea@git.lat:w0bm/w0bm.git`
`cd w0bm.com`
`cd w0bm`
`php71 composer dump-autoload`
@@ -157,7 +156,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 change 'secure' => true, to 'secure' => false, in `config/session.php` otherwise it will not let you log in!
For your local development instance make sure that you add SECURE_COOKIE=false to your `.env` otherwise it will not let you log in!
Create the .env file with the following content
@@ -180,6 +179,9 @@ RECAPTCHA_PRIVATE=
MATRIX_MAUAUTH=
MATRIX_MAUURL=
# if you are developing
SECURE_COOKIE=false
</pre>
`php71 artisan key:generate`
@@ -224,5 +226,5 @@ Folder structure:
The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)
The w0bm.com Logo is copyrighted by w0bm.com and property of w0bm.com
The w0bm Logo is copyrighted by w0bm and property of w0bm.

View File

@@ -2,13 +2,6 @@
body {
background: black;
color: white;
text-align: center;
}
</style>
<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>
<pre>Exception occured, to be excused</pre>

View File

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

View File

@@ -2,9 +2,9 @@
@section('content')
@include('partials.flash')
<div class="page-header">
<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>
<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>
</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! Confirmation will be sent out']) !!}
{!! Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'Email - must be valid']) !!}
</div>
</div>
<div class="form-group">

View File

@@ -1,13 +1,2 @@
@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

@@ -1,6 +1,5 @@
<nav class="navbar-fixed-bottom">
<div class="container futter">
@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>
<p>{{ config('app.iconic') }}</p>
</div>
</nav>

View File

@@ -21,8 +21,11 @@ function getLastTenCommits() {
echo "</div>";
}
echo "<div class='box'>";
echo "<h5>GIT LOG</h5>";
getLatestCommit();
getLastTenCommits()
getLastTenCommits();
echo "</div>";
?>
@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 w0bm.com']) !!}
{!! Form::text('q', isset($q) ? $q : null, ['class' => 'suchleiste', 'placeholder' => 'Search']) !!}
</form>
</div>
<table class="table table-hover table-condensed">
@@ -28,7 +28,11 @@
@if($edit = auth()->check() && auth()->user()->can('edit_video'))
<form action="/index/{{$video->id}}" method="post" id="edit_{{$video->id}}" class="indexform"></form>
@endif
<span class="vinfo vid"><a href="{{url($video->id)}}">{{$video->id}}</a></span>
@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
@if($edit)
<input type="submit" class="btn btn-primary" value="Save" form="edit_{{$video->id}}">
@endif

View File

@@ -8,11 +8,11 @@
content="width=device-width,initial-scale=1">
<meta charset="UTF-8">
<meta name="_token" content="{{csrf_token()}}">
<meta name="keywords" content="Random WebMs, WebMs, Internet Videos">
<meta name="keywords" content="">
<meta name="robots" content="noindex">
@if(auth()->check())<meta name="Description" content="Tags:@if(isset($video)) {{ $video->getTagListAttribute() }} @endif">@endif
<meta name="description" content="@if(isset($video)) {{ $video->getTagListAttribute() }} @endif">
<meta property="og:site_name" content="w0bm.com" />
<meta name="description" content="">
<meta property="og:site_name" content="{{ config('app.iconic') }}" />
<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 +29,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.png">
<title>@if(isset($video)){{ $video->id }} -@endif w0bm.com</title>
<link rel="icon" href="/favicon.gif">
<title>{{ config('app.iconic') }} | @if(isset($video)){{ $video->id }}@endif</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,15 +39,12 @@
<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())
@@ -57,17 +54,13 @@
@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; position: relative;">
<div class="LooLOut" style="width: auto; overflow: hidden;">
<noscript><div class="no-js-mode" style="position: fixed;bottom: 0;right: 0;">nojs</div></noscript>
<div class=" container">
@yield('content')
@@ -75,7 +68,6 @@
</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>
@@ -103,9 +95,6 @@ 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,9 +18,6 @@
</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 w0bm.com']) !!}
{!! Form::text('q', isset($q) ? $q : null, ['class' => 'suchleiste', 'placeholder' => 'Search']) !!}
</form>
</div>
</div>
@@ -15,8 +15,26 @@
<?php
$thumb = str_replace(".webm","",$video->file);
?>
<div class="main-item">
<a href="/{{$video->id}}">
<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
{{-- MUSS UNBEDINGT NOCH ANGEPASST WERDEN!!! --}}
@if(file_exists(public_path() . '/thumbs/beta/'.$thumb.'.png'))
<img src="/thumbs/beta/{{$thumb}}.png">

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');">[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>
<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>
<div class="emoji-shit">
<div class="header"><span>😂</span></div>
</div>

View File

@@ -11,12 +11,9 @@
</a>
@endif
</div>-->
{{-- <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> --}}
{{-- hier kann theoretisch notification angezeigt--}}
@if(Auth::check())
@if($video->id == '30186')
@include('partials.thread_closed')
@@ -47,7 +44,19 @@
</div>
</div>
@else
<div class="comments hidden-xs">
<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="commentwrapper">
<div class="panel panel-default ">
<div class="panel-body">
@@ -56,5 +65,5 @@
<div class="panel-footer">by w0bm ∞</div>
</div>
</div>
</div>
</div> -->
@endif

View File

@@ -5,8 +5,6 @@
<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>Registration has been disabled and will stay closed until further notice.</p>
<p>Create your account now! <a href="/register">Click here</a></p>
</div>
</div>
</div>

View File

@@ -9,50 +9,45 @@
</button>
@if(Auth::check())
<a class="navbar-brand" href="/main">
<img src="{{ asset('logo.svg') }}" alt="w0bm.com">
<img src="/traurig.gif" alt="{{ config('app.iconic') }}">
</a>
@else
<a class="navbar-brand" href="/">
<img src="{{ asset('logo.svg') }}" alt="w0bm.com">
<a class="navbar-brand" href="/main">
<img src="/traurig.gif" alt="{{ config('app.iconic') }}">
</a>
@endif
</div>
<div class=" collapse navbar-collapse" id="bs-example-navbar-collapse-1">
@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>
<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>
@include('partials.themechanger')
@endif
@if(Auth::check())
@include('partials.layoutchanger')
@endif
@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
@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>
</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"> 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="#" 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="{{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> {{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>
<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>
</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 w0bm.com']) !!}
{!! Form::text('q', null, ['class' => 'suchleiste_video', 'placeholder' => 'Search']) !!}
<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 w0bm.com']) !!}
{!! Form::text('q', null, ['class' => 'suchleiste_video', 'placeholder' => 'Search']) !!}
<button type="submit" class="suchbutton_video"><i style="color:white;" class="fa fa-search"></i></button>
</form>
</div>

View File

@@ -1,17 +1,9 @@
<div class="tags hidden-xs">
<div class="tagtest">
@if(Auth::check())
<ul class="nav navbar-nav info-nav">
<label for="tag-add-toggle">
<li id="tagadder" class="addtagsy">[+Add Tag]</li>
<span id="tagadder" class="addtagsy">[+Add Tag]</span>
</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;">
@@ -21,14 +13,7 @@
</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>
@@ -42,13 +27,5 @@
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,14 +7,8 @@
<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>
<button class="chilledblue-css" onclick="setActiveStyleSheet('Chilledblue'); return false;">Chilledblue</button>
<br>
<button class="xayd-css" onclick="setActiveStyleSheet('Xayd'); return false;">Xayd</button>
<br>
<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

@@ -1,26 +0,0 @@
@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.png">
<title>w0bm.com - WebMs with sound!</title>
<link rel="icon" href="/favicon.gif">
<title>{{ config('app.iconic') }}</title>
<link rel="stylesheet" href="/css/style.css">
<link rel="favicon"
type="image/ico"
@@ -19,7 +19,6 @@
<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">
@@ -29,8 +28,6 @@
<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())
@@ -43,10 +40,7 @@
@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">
@@ -59,7 +53,6 @@
</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>
@@ -68,7 +61,5 @@
<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,39 +1,3 @@
@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,17 +1,6 @@
@extends('profilelayout')
@extends('profilelayout')
@section('content')
<h4>Layouts</h4>
<div class="box">
<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>
{{ $fuser }}
</div>
@endsection
@endsection

View File

@@ -9,7 +9,6 @@
<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

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

View File

@@ -1,12 +1,11 @@
@extends('layout')
@section('content')
@if(auth()->check())
<?php $related = $related ?? null; ?>
<div class="vertical-align">
<div class="wrapper">
<div class="videotitle-div">
<h5 style="height: 22px;">
<h5 style="min-height: 22px;">
@if($video->videotitle)
{{$video->videotitle}}
@else
@@ -32,26 +31,22 @@
</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)) === null)
@if(($prev = $video->getPrev($related,$isTag)) === null)
<a class="first" href="#" style="visibility: hidden;">← first</a>
<a id="prev" href="#" style="visibility: hidden;">← prev</a> |
@else
<a class="first" href="{{url($related->baseurl(), $video->getFirstId($related))}}">← first</a>
<a id="prev" href="{{url($related->baseurl(), [$prev->id])}}">← prev</a> |
<a class="first" href="{{url($isTag ? '/t/' . $related : $related->baseurl(), $video->getFirstId($related,$isTag))}}">← first</a>
<a id="prev" href="{{url($isTag ? '/t/' . $related : $related->baseurl(), [$prev->id])}}">← prev</a> |
@endif
<a href="{{url($related->baseurl())}}">{!!$related->displayName()!!}</a>
@if(($next = $video->getNext($related)) === null)
<a href="{{url($isTag ? '/t/' . $related : $related->baseurl())}}">{!!$isTag ? $related:$related->displayName()!!}</a>
@if(($next = $video->getNext($related,$isTag)) === null)
| <a id="next" href="#" style="visibility: hidden;">next →</a>
<a class="last" href="#" style="visibility: hidden;">last →</a>
@else
| <a id="next" href="{{url($related->baseurl(), [$next->id])}}">next →</a>
<a class="last" href="{{url($related->baseurl(), $video->getLastId($related))}}">last →</a>
| <a id="next" href="{{url($isTag ? '/t/' . $related : $related->baseurl(), [$next->id])}}">next →</a>
<a class="last" href="{{url($isTag ? '/t/' . $related : $related->baseurl(), $video->getLastId($related,$isTag))}}">last →</a>
@endif
@else
@if(($prev = $video->getPrev()) === null)
@@ -119,7 +114,7 @@
title="Information"
data-content="@include('popover-content')">
</button>
<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 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>
</div>
</div>
@@ -133,53 +128,4 @@
@include('partials.comments')
@include('partials.tags')
</aside>
@else
<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

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

View File

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

View File

@@ -1,24 +0,0 @@
@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

@@ -1,21 +0,0 @@
@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

@@ -1,66 +0,0 @@
@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

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

View File

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

View File

@@ -1,24 +0,0 @@
@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

@@ -1,15 +0,0 @@
@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

@@ -1,87 +0,0 @@
@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

@@ -1,37 +0,0 @@
<!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

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

View File

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

View File

@@ -1,3 +0,0 @@
<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

@@ -1,87 +0,0 @@
<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

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

View File

@@ -1,47 +0,0 @@
@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

@@ -1,47 +0,0 @@
<!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

@@ -1,6 +0,0 @@
<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

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

View File

@@ -1,83 +0,0 @@
@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

@@ -1,27 +0,0 @@
@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

@@ -1,68 +0,0 @@
<!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

@@ -1,12 +0,0 @@
@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

@@ -1,23 +0,0 @@
@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

@@ -1,24 +0,0 @@
@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

@@ -1,100 +0,0 @@
<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

@@ -1,15 +0,0 @@
@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

@@ -1,3 +0,0 @@
<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

@@ -1,3 +0,0 @@
<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

@@ -1,6 +0,0 @@
<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

@@ -1,4 +0,0 @@
<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

@@ -1,4 +0,0 @@
<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

@@ -1,10 +0,0 @@
<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

@@ -1,2 +0,0 @@
<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')

View File

@@ -1,42 +0,0 @@
<ul class="nav">
<div class="card">
<a class="badge badge-sexy">{{$video->id}}</a>
@if(count($video->tags))
@foreach($video->tags as $tag)
@if($tag == 'sfw')
<a class="badge badge-success isSfw">SFW</a>
@elseif($tag == 'nsfw')
<a class="badge badge-danger isNsfw">NSFW</a>
@endif
@endforeach
@endif
</div>
@if(auth()->check())
@if(auth()->user()->hasFaved($video->id))
<form action="{{url($video->id . '/fav')}}">
<a hidden id="hidden-fav" href="{{url($video->id . '/fav')}}"></a>
<button type="submit" id="fav" class="btn btn-dark" fav-data="{{url($video->id . '/fav')}}"><i class="fa fa-heart fa-lg"></i></button>
</form>
@else
<form action="{{url($video->id . '/fav')}}">
<a hidden id="hidden-fav" href="{{url($video->id . '/fav')}}"></a>
<button type="submit" id="fav" class="btn btn-dark bg-toggle"><i class="fa fa-heart-o fa-lg"></i></button>
</form>
@endif
@else
@endif
<li class="nav-link" data-trigger="hover" data-toggle="popover" data-content="Toggle Videoblur" data-placement="bottom">
<button type="button" class="btn btn-dark" id="togglebg"><i class="fa fa-power-off fa-lg"></i></button>
</li>
<li class="nav-link" data-trigger="hover" data-toggle="popover" data-content="Metadata" data-placement="bottom">
<button type="button" class="btn btn-dark metadata-button bg-toggle" data-container="body" data-toggle="popover" data-placement="bottom" data-html="true" data-container="body">
<i class="fa fa-lg fa-info-circle"></i>
</button>
<div id="popover-content" hidden>
@include('video-partials.popover-metadata')
</div>
</li>
</ul>

View File

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

View File

@@ -1,3 +0,0 @@
<!-- <div class="blahffff">
<a href="/change">RE: Content on w0bm</a>
</div> -->

View File

@@ -1,27 +0,0 @@
<form id="banmenu" method="POST" action="/api/user/{{$user->username}}/ban">
{!! csrf_field() !!}
<div class="modal fade" id="banmenumodal" tabindex="-1" role="dialog" aria-labelledby="Ban user">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="filterModalTitle">Ban user</h4>
</div>
<div class="modal-body">
<div class="form-group">
<label for="reason">Reason</label>
<input class="form-control" type="text" name="reason" id="reason" placeholder="Reason">
</div>
<div class="form-group">
<label for="duration">Duration</label>
<input class="form-control" type="text" name="duration" id="duration" placeholder="Duration (-1 = permanent)">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
<input type="submit" class="btn btn-danger" value="BAN!">
</div>
</div>
</div>
</div>
</form>

View File

@@ -1,14 +0,0 @@
<script id="comlist" type="text/x-handlebars-template">
{{#each data as |value key|}}
<div class="panel panel-default">
<div class="panel-body" style="word-wrap: break-word;" data-index="{{key}}" data-id="{{id}}">{{{rendered_view}}}</div>
<div class="panel-footer">Video: <a href="/{{video_id}}">/{{video_id}}</a> | <time class="timeago" data-toggle="tooltip" datetime="{{created_at}}+0000" title="{{created_at}}+0000"></time></div>
</div>
{{else}}
<div class="list-group-item">No comments</div>
{{/each}}
{{#if total}}
<div class="panel-footer" id="pagination">
</div>
{{/if}}
</script>

View File

@@ -1,19 +0,0 @@
<div class="panel @if($del = !is_null($comment->deleted_at)) panel-danger @else @endif video-comment-wrapper" data-id="{{$comment->id}}" author="{{$comment->user->username}}">
<div class="umrandung_name">
<div class="comment_header"><a class="{{$comment->user->username}} user_color" href="/user/{{$comment->user->username}}">{!! $comment->user->displayName() !!}</a> <time class="timeago" data-toggle="tooltip" data-placement="top" datetime="{{$comment->created_at}}+0000" title="{{$comment->created_at}}+0000"></time> No. <a href="#{{ $comment->id }}">{{ $comment->id }}</a>
<div class="dingz">
@if($mod)
@if($del)
<a href="#" onclick="restoreComment($(this))"><i style="color:green"; class="fa fa-refresh" aria-hidden="true"></i></a>
@else
<a class="delete_comment" href="#{{$comment->id}}" onclick="deleteComment($(this))">[del]</a>
<a class="edit_comment" href="#{{$comment->id}}" onclick="editComment($(this))">[edit]</a>
@endif
@endif
</div>
</div>
</div>
<div class="comment panel-body video-comment-body" author="{{$comment->user->username}}">
@simplemd($comment->content)
</div>
</div>

View File

@@ -1,40 +0,0 @@
<div id="sticky">
<div id="commentForm">
<form action="{{action('CommentController@store', ['id' => $video->id])}}" method="post">
{!! csrf_field() !!}
<div class="comment-panel panel-default">
<div class="comment-panel panel-body">
{!! Form::textarea('comment', null, ['placeholder' => 'Write something...', 'id' => 'cinput', 'class' => 'form-control text-light comment-entry-textarea', 'required' => 'required']) !!}
</div>
<div class="commentButton">
<div id="comment_tools" class="commentform-panel-footer">
<div class="commentToolsWrapper">
<button type="submit" class="btn btn-dark btn-sm" onclick="commentBotScroll()">Post</button>
<span class="emojiCollapser btn btn-dark btn-sm" data-toggle="collapse" href="#collapseEmojis" role="button" aria-expanded="false" aria-controls="collapseEmojis">🦦 Emoji Picker</span>
<div class="textModifiers btn btn-dark btn-sm">
<a class="rainbow" href="javascript:;" onclick="formatText ('rb');">[rb]</a>
<a class="reich" href="javascript:;" onclick="formatText ('reich');">[reich]</a>
<a class="krebs" href="javascript:;" onclick="formatText ('krebs');">[krebs]</a>
<a class="spoiler" href="javascript:;" onclick="formatText ('spoiler');">[spoiler]</a>
</div>
<span onclick="bottomArrow()" class="btn btn-dark btn-sm" style="cursor: pointer;"><i class="fa fa-arrow-down" aria-hidden="true"></i></span>
<a href="#" class="scrollToTop btn btn-dark btn-sm" style=""><i class="fa fa-arrow-up" aria-hidden="true"></i></a>
</div>
<div class="collapse" id="collapseEmojis">
<div class="emojiWrapper emojis">
<?php
$files = glob(public_path() . DIRECTORY_SEPARATOR . 'images/comments/*.webp', GLOB_BRACE);
$files = array_map(function ($f) { return pathinfo($f); }, $files);
?>
@foreach ($files as $file)
<a class="w0bm_emoji_anchor" title=":{{$file['filename']}}:" href="javascript:;" onclick="formatTextEmoji ('{{$file['filename']}}');"><img class="comment_emoji_small" src="//w0bm.com/images/comments/{{$file['basename']}}" loading="lazy"></a>
@endforeach
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>

View File

@@ -1,31 +0,0 @@
@if(Auth::check())
<div class="commentOpener">
<a class="commentOpenButton" data-toggle="collapse" href="#collapseComments" role="button" aria-expanded="false" aria-controls="collapseComments">
See {{ $video->comments()->count() }} comments
</a>
</div>
<div class="collapse" id="collapseComments">
<div class=" commentwrapper comments">
<?php
if($mod = (Auth::check() && Auth::user()->can('delete_comment'))) $comments = $video->comments()->withTrashed()->get();
else $comments = $video->comments;
?>
@if(count($comments) > 0)
@foreach($comments as $comment)
@include('partials.comment', ['comment' => $comment, 'mod' => $mod])
@endforeach
@else
<div class="panel panel-default nocomments">
<div class="panel-body">
No comments yet! Be the first one to comment!<br />
</div>
</div>
@endif
</div>
@if($video->id == '30186')
@include('partials.thread_closed')
@else
@include('partials.commentform')
@endif
</div>
@endif

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