parent
948b0b61b9
commit
adee9ccaec
|
@ -7,6 +7,7 @@ use Illuminate\Support\Facades\Hash;
|
||||||
use Cohensive\OEmbed\Facades\OEmbed;
|
use Cohensive\OEmbed\Facades\OEmbed;
|
||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
use JeroenDesloovere\VCard\VCard;
|
||||||
|
|
||||||
use Auth;
|
use Auth;
|
||||||
use DB;
|
use DB;
|
||||||
|
@ -144,6 +145,8 @@ class UserController extends Controller
|
||||||
$data['linkTypeID'] = "6";
|
$data['linkTypeID'] = "6";
|
||||||
} elseif ($bid == 44) {
|
} elseif ($bid == 44) {
|
||||||
$data['linkTypeID'] = "7";
|
$data['linkTypeID'] = "7";
|
||||||
|
} elseif ($bid == 96) {
|
||||||
|
$data['linkTypeID'] = "8";
|
||||||
} else {
|
} else {
|
||||||
$data['linkTypeID'] = "1";
|
$data['linkTypeID'] = "1";
|
||||||
}
|
}
|
||||||
|
@ -245,6 +248,69 @@ class UserController extends Controller
|
||||||
'button_id' => $button?->id,
|
'button_id' => $button?->id,
|
||||||
'title' => $LinkTitle,
|
'title' => $LinkTitle,
|
||||||
]);
|
]);
|
||||||
|
}elseif($linkType->typename == "vcard"){
|
||||||
|
|
||||||
|
$prefix = $request->input('prefix');
|
||||||
|
$firstName = $request->input('first_name');
|
||||||
|
$middleName = $request->input('middle_name');
|
||||||
|
$lastName = $request->input('last_name');
|
||||||
|
$suffix = $request->input('suffix');
|
||||||
|
$nickname = $request->input('nickname');
|
||||||
|
$organization = $request->input('organization');
|
||||||
|
$title = $request->input('title');
|
||||||
|
$role = $request->input('role');
|
||||||
|
$workUrl = $request->input('work_url');
|
||||||
|
$email = $request->input('email');
|
||||||
|
$workEmail = $request->input('work_email');
|
||||||
|
$homePhone = $request->input('home_phone');
|
||||||
|
$workPhone = $request->input('work_phone');
|
||||||
|
$cellPhone = $request->input('cell_phone');
|
||||||
|
$homeAddressLabel = $request->input('home_address_label');
|
||||||
|
$homeAddressStreet = $request->input('home_address_street');
|
||||||
|
$homeAddressCity = $request->input('home_address_city');
|
||||||
|
$homeAddressState = $request->input('home_address_state');
|
||||||
|
$homeAddressZip = $request->input('home_address_zip');
|
||||||
|
$homeAddressCountry = $request->input('home_address_country');
|
||||||
|
$workAddressLabel = $request->input('work_address_label');
|
||||||
|
$workAddressStreet = $request->input('work_address_street');
|
||||||
|
$workAddressCity = $request->input('work_address_city');
|
||||||
|
$workAddressState = $request->input('work_address_state');
|
||||||
|
$workAddressZip = $request->input('work_address_zip');
|
||||||
|
$workAddressCountry = $request->input('work_address_country');
|
||||||
|
|
||||||
|
// Create a new vCard instance
|
||||||
|
$vCard = new VCard();
|
||||||
|
|
||||||
|
// Set the personal information
|
||||||
|
$vCard->addName($lastName, $firstName, $middleName, $prefix, $suffix);
|
||||||
|
$vCard->addRole($role);
|
||||||
|
|
||||||
|
// Set the organization information
|
||||||
|
$vCard->addCompany($organization);
|
||||||
|
$vCard->addJobtitle($title);
|
||||||
|
$vCard->addUrl($workUrl);
|
||||||
|
|
||||||
|
// Set the phone numbers
|
||||||
|
$vCard->addPhoneNumber($homePhone, 'HOME');
|
||||||
|
$vCard->addPhoneNumber($workPhone, 'WORK');
|
||||||
|
$vCard->addPhoneNumber($cellPhone, 'CELL');
|
||||||
|
|
||||||
|
// Set the email addresses
|
||||||
|
$vCard->addEmail($email, 'HOME');
|
||||||
|
$vCard->addEmail($workEmail, 'WORK');
|
||||||
|
|
||||||
|
// Set the addresses
|
||||||
|
$vCard->addAddress($homeAddressStreet, null, null, $homeAddressCity, $homeAddressState, $homeAddressZip, $homeAddressCountry, 'HOME', $homeAddressLabel);
|
||||||
|
$vCard->addAddress($workAddressStreet, null, null, $workAddressCity, $workAddressState, $workAddressZip, $workAddressCountry, 'WORK', $workAddressLabel);
|
||||||
|
|
||||||
|
// Generate the vCard file content
|
||||||
|
$LinkURL = $vCard->getOutput();
|
||||||
|
|
||||||
|
$OrigLink->update([
|
||||||
|
'link' => $LinkURL,
|
||||||
|
'button_id' => 96,
|
||||||
|
'title' => $LinkTitle,
|
||||||
|
]);
|
||||||
}else{
|
}else{
|
||||||
$OrigLink->update([
|
$OrigLink->update([
|
||||||
'link' => $LinkURL,
|
'link' => $LinkURL,
|
||||||
|
@ -286,6 +352,65 @@ class UserController extends Controller
|
||||||
}elseif($linkType->typename == "telephone"){
|
}elseif($linkType->typename == "telephone"){
|
||||||
$links->link = "tel:".$links->link;
|
$links->link = "tel:".$links->link;
|
||||||
$links->button_id = $button?->id;
|
$links->button_id = $button?->id;
|
||||||
|
}elseif($linkType->typename == "vcard"){
|
||||||
|
|
||||||
|
$prefix = $request->input('prefix');
|
||||||
|
$firstName = $request->input('first_name');
|
||||||
|
$middleName = $request->input('middle_name');
|
||||||
|
$lastName = $request->input('last_name');
|
||||||
|
$suffix = $request->input('suffix');
|
||||||
|
$nickname = $request->input('nickname');
|
||||||
|
$organization = $request->input('organization');
|
||||||
|
$title = $request->input('title');
|
||||||
|
$role = $request->input('role');
|
||||||
|
$workUrl = $request->input('work_url');
|
||||||
|
$email = $request->input('email');
|
||||||
|
$workEmail = $request->input('work_email');
|
||||||
|
$homePhone = $request->input('home_phone');
|
||||||
|
$workPhone = $request->input('work_phone');
|
||||||
|
$cellPhone = $request->input('cell_phone');
|
||||||
|
$homeAddressLabel = $request->input('home_address_label');
|
||||||
|
$homeAddressStreet = $request->input('home_address_street');
|
||||||
|
$homeAddressCity = $request->input('home_address_city');
|
||||||
|
$homeAddressState = $request->input('home_address_state');
|
||||||
|
$homeAddressZip = $request->input('home_address_zip');
|
||||||
|
$homeAddressCountry = $request->input('home_address_country');
|
||||||
|
$workAddressLabel = $request->input('work_address_label');
|
||||||
|
$workAddressStreet = $request->input('work_address_street');
|
||||||
|
$workAddressCity = $request->input('work_address_city');
|
||||||
|
$workAddressState = $request->input('work_address_state');
|
||||||
|
$workAddressZip = $request->input('work_address_zip');
|
||||||
|
$workAddressCountry = $request->input('work_address_country');
|
||||||
|
|
||||||
|
// Create a new vCard instance
|
||||||
|
$vCard = new VCard();
|
||||||
|
|
||||||
|
// Set the personal information
|
||||||
|
$vCard->addName($lastName, $firstName, $middleName, $prefix, $suffix);
|
||||||
|
$vCard->addRole($role);
|
||||||
|
|
||||||
|
// Set the organization information
|
||||||
|
$vCard->addCompany($organization);
|
||||||
|
$vCard->addJobtitle($title);
|
||||||
|
$vCard->addUrl($workUrl);
|
||||||
|
|
||||||
|
// Set the phone numbers
|
||||||
|
$vCard->addPhoneNumber($homePhone, 'HOME');
|
||||||
|
$vCard->addPhoneNumber($workPhone, 'WORK');
|
||||||
|
$vCard->addPhoneNumber($cellPhone, 'CELL');
|
||||||
|
|
||||||
|
// Set the email addresses
|
||||||
|
$vCard->addEmail($email, 'HOME');
|
||||||
|
$vCard->addEmail($workEmail, 'WORK');
|
||||||
|
|
||||||
|
// Set the addresses
|
||||||
|
$vCard->addAddress($homeAddressStreet, null, null, $homeAddressCity, $homeAddressState, $homeAddressZip, $homeAddressCountry, 'HOME', $homeAddressLabel);
|
||||||
|
$vCard->addAddress($workAddressStreet, null, null, $workAddressCity, $workAddressState, $workAddressZip, $workAddressCountry, 'WORK', $workAddressLabel);
|
||||||
|
|
||||||
|
// Generate the vCard file content
|
||||||
|
$links->link = $vCard->getOutput();
|
||||||
|
|
||||||
|
$links->button_id = 96;
|
||||||
}else{
|
}else{
|
||||||
$links->button_id = $button?->id;
|
$links->button_id = $button?->id;
|
||||||
}
|
}
|
||||||
|
@ -353,6 +478,28 @@ class UserController extends Controller
|
||||||
return redirect()->away($link);
|
return redirect()->away($link);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Download Vcard
|
||||||
|
public function vcard(Request $request)
|
||||||
|
{
|
||||||
|
$linkId = $request->id;
|
||||||
|
$link = Link::findOrFail($linkId); // find the link with the given ID or throw an exception
|
||||||
|
$buttonValue = $link->button_value;
|
||||||
|
$content = $link->content;
|
||||||
|
|
||||||
|
Link::where('id', $linkId)->increment('click_number', 1);
|
||||||
|
|
||||||
|
// build the vCard string
|
||||||
|
$vCard = "BEGIN:VCARD\r\nVERSION:3.0\r\n";
|
||||||
|
$vCard .= "FN:$buttonValue\r\n";
|
||||||
|
$vCard .= "NOTE:$content\r\n";
|
||||||
|
$vCard .= "END:VCARD\r\n";
|
||||||
|
|
||||||
|
// return the vCard content as a downloadable response
|
||||||
|
return response($vCard)
|
||||||
|
->header('Content-Type', 'text/vcard')
|
||||||
|
->header('Content-Disposition', 'attachment; filename=vcard.vcf');
|
||||||
|
}
|
||||||
|
|
||||||
//Show link, click number, up link in links page
|
//Show link, click number, up link in links page
|
||||||
public function showLinks()
|
public function showLinks()
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,18 +6,19 @@
|
||||||
"license": "GPL-3.0-or-later",
|
"license": "GPL-3.0-or-later",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.3|^8.0",
|
"php": "^7.3|^8.0",
|
||||||
"codedge/laravel-selfupdater": "^3.6",
|
|
||||||
"awssat/laravel-visits": "^4.0",
|
"awssat/laravel-visits": "^4.0",
|
||||||
|
"codedge/laravel-selfupdater": "^3.6",
|
||||||
|
"cohensive/oembed": "^0.16",
|
||||||
"doctrine/dbal": "^3.0",
|
"doctrine/dbal": "^3.0",
|
||||||
"fideloper/proxy": "^4.4",
|
"fideloper/proxy": "^4.4",
|
||||||
"fruitcake/laravel-cors": "^3.0",
|
"fruitcake/laravel-cors": "^3.0",
|
||||||
"geo-sot/laravel-env-editor": "^2.0",
|
"geo-sot/laravel-env-editor": "^2.0",
|
||||||
"guzzlehttp/guzzle": "^7.4",
|
"guzzlehttp/guzzle": "^7.4",
|
||||||
|
"jeroendesloovere/vcard": "^1.7",
|
||||||
"laravel/framework": "^9.52.4",
|
"laravel/framework": "^9.52.4",
|
||||||
"laravel/socialite": "^5.5",
|
"laravel/socialite": "^5.5",
|
||||||
"laravel/tinker": "^2.5",
|
"laravel/tinker": "^2.5",
|
||||||
"spatie/laravel-backup": "^8.17",
|
"spatie/laravel-backup": "^8.17"
|
||||||
"cohensive/oembed": "^0.16"
|
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"spatie/laravel-ignition": "^1.0",
|
"spatie/laravel-ignition": "^1.0",
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -196,6 +196,13 @@ class LinkType extends Migration
|
||||||
'description' => 'Add a telephone number that opens a system dialog to initiate a phone call.'
|
'description' => 'Add a telephone number that opens a system dialog to initiate a phone call.'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
DB::table($this->TableName)->updateOrInsert([
|
||||||
|
'typename' => 'vcard',
|
||||||
|
'title' => 'Vcard',
|
||||||
|
'icon' => 'bi bi-person-square',
|
||||||
|
'description' => 'Create or upload an electronic business card.'
|
||||||
|
]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -398,6 +398,10 @@ class ButtonSeeder extends Seeder
|
||||||
'name' => 'bookwyrm'
|
'name' => 'bookwyrm'
|
||||||
],
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
'name' => 'vcard'
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
Button::insert($buttons);
|
Button::insert($buttons);
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0" ?><svg fill="#fff" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M20 4H4c-1.103 0-2 .897-2 2v12c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2zM8.715 8c1.151 0 2 .849 2 2s-.849 2-2 2-2-.849-2-2 .848-2 2-2zm3.715 8H5v-.465c0-1.373 1.676-2.785 3.715-2.785s3.715 1.412 3.715 2.785V16zM19 15h-4v-2h4v2zm0-4h-5V9h5v2z"/></svg>
|
After Width: | Height: | Size: 396 B |
|
@ -143,6 +143,13 @@ use Illuminate\Support\Facades\File;
|
||||||
'icon' => 'bi bi-telephone-fill',
|
'icon' => 'bi bi-telephone-fill',
|
||||||
'description' => 'Add a telephone number that opens a system dialog to initiate a phone call.'
|
'description' => 'Add a telephone number that opens a system dialog to initiate a phone call.'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
DB::table('link_types')->updateOrInsert([
|
||||||
|
'typename' => 'vcard',
|
||||||
|
'title' => 'Vcard',
|
||||||
|
'icon' => 'bi bi-person-square',
|
||||||
|
'description' => 'Create or upload an electronic business card.'
|
||||||
|
]);
|
||||||
} catch (exception $e) {}
|
} catch (exception $e) {}
|
||||||
|
|
||||||
// Changes saved profile images from littlelink_name to IDs.
|
// Changes saved profile images from littlelink_name to IDs.
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
<a class="button button-{{ $params->button }} button button-hover icon-hover" rel="noopener noreferrer nofollow" href="{{ route('clickNumber') . '/' . $link->id . '/' . $link->link}}" @if(theme('open_links_in_same_tab') !="true" )target="_blank" @endif>
|
||||||
|
<img alt="button-icon" class="icon hvr-icon" src="@if(theme('use_custom_icons') == " true"){{ url('themes/' . $GLOBALS['themeName'] . '/extra/custom-icons')}}/{{$params->button}}{{theme('custom_icon_extension')}} @else{{ asset('\/littlelink/icons\/') . $params->button }}.svg @endif">
|
||||||
|
|
||||||
|
{{ ucfirst($link->title) }}
|
||||||
|
</a>
|
|
@ -0,0 +1,108 @@
|
||||||
|
<?php use App\Models\Button; $button = Button::find($button_id); if(isset($button->name)){$buttonName = $button->name;}else{$buttonName = 0;} ?>
|
||||||
|
|
||||||
|
<select style="display:none" name="button" class="form-control"><option class="button button-default email" value="vcard">Vcard</option></select>
|
||||||
|
|
||||||
|
<label for='title' class='form-label'>Custom Title</label>
|
||||||
|
<input type='text' name='link_title' value='' class='form-control' />
|
||||||
|
<span class='small text-muted'>Leave blank for default title</span><br>
|
||||||
|
|
||||||
|
<br><h5>Upload existing file</h5>
|
||||||
|
<div class="form-group col-lg-8">
|
||||||
|
<label>Vcard</label>
|
||||||
|
<input type="file" accept="text/vcard" class="form-control-file" name="vcard">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br><h4>Name</h4>
|
||||||
|
<label for='prefix' class='form-label'>Prefix</label>
|
||||||
|
<input type='text' name='prefix' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='first_name' class='form-label'>First Name</label>
|
||||||
|
<input type='text' name='first_name' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='middle_name' class='form-label'>Middle Name</label>
|
||||||
|
<input type='text' name='middle_name' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='last_name' class='form-label'>Last Name</label>
|
||||||
|
<input type='text' name='last_name' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='suffix' class='form-label'>Suffix</label>
|
||||||
|
<input type='text' name='suffix' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
{{-- <label for='nickname' class='form-label'>Nickname</label>
|
||||||
|
<input type='text' name='nickname' value='' class='form-control'/>
|
||||||
|
<br> --}}
|
||||||
|
|
||||||
|
<br><h4>Work</h4>
|
||||||
|
<label for='organization' class='form-label'>Organization</label>
|
||||||
|
<input type='text' name='organization' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='title' class='form-label'>Title</label>
|
||||||
|
<input type='text' name='title' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='role' class='form-label'>Role</label>
|
||||||
|
<input type='text' name='role' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='work_url' class='form-label'>Work URL</label>
|
||||||
|
<input type='url' name='work_url' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<br><h4>Emails</h4>
|
||||||
|
<label for='email' class='form-label'>Email</label>
|
||||||
|
<input type='email' name='email' value='' class='form-control'/>
|
||||||
|
<span class='small text-muted'>Enter your personal email</span>
|
||||||
|
<br>
|
||||||
|
<label for='work_email' class='form-label'>Work Email</label>
|
||||||
|
<input type='email' name='work_email' value='' class='form-control'/>
|
||||||
|
<span class='small text-muted'>Enter your work email</span>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<br><h4>Phones</h4>
|
||||||
|
<label for='home_phone' class='form-label'>Home Phone</label>
|
||||||
|
<input type='tel' name='home_phone' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='work_phone' class='form-label'>Work Phone</label>
|
||||||
|
<input type='tel' name='work_phone' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='cell_phone' class='form-label'>Cell Phone</label>
|
||||||
|
<input type='tel' name='cell_phone' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<br><h4>Home Address</h4>
|
||||||
|
<label for='home_address_label' class='form-label'>Label</label>
|
||||||
|
<input type='text' name='home_address_label' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='home_address_street' class='form-label'>Street</label>
|
||||||
|
<input type='text' name='home_address_street' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='home_address_city' class='form-label'>City</label>
|
||||||
|
<input type='text' name='home_address_city' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='home_address_state' class='form-label'>State/Province</label>
|
||||||
|
<input type='text' name='home_address_state' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='home_address_zip' class='form-label'>Zip/Postal Code</label>
|
||||||
|
<input type='text' name='home_address_zip' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='home_address_country' class='form-label'>Country</label>
|
||||||
|
<input type='text' name='home_address_country' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<br><h4>Work Address</h4>
|
||||||
|
<label for='work_address_label' class='form-label'>Label</label>
|
||||||
|
<input type='text' name='work_address_label' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='work_address_street' class='form-label'>Street</label>
|
||||||
|
<input type='text' name='work_address_street' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='work_address_city' class='form-label'>City</label>
|
||||||
|
<input type='text' name='work_address_city' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='work_address_state' class='form-label'>State/Province</label>
|
||||||
|
<input type='text' name='work_address_state' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='work_address_zip' class='form-label'>Zip/Postal Code</label>
|
||||||
|
<input type='text' name='work_address_zip' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
<label for='work_address_country' class='form-label'>Country</label>
|
||||||
|
<input type='text' name='work_address_country' value='' class='form-control'/>
|
||||||
|
<br>
|
||||||
|
|
|
@ -336,6 +336,9 @@ function get_operating_system() {
|
||||||
@case('text')
|
@case('text')
|
||||||
<div class="fadein"><span style="">@if(env('ALLOW_USER_HTML') === true){!! $link->title !!}@else{{ $link->title }}@endif</span></div>
|
<div class="fadein"><span style="">@if(env('ALLOW_USER_HTML') === true){!! $link->title !!}@else{{ $link->title }}@endif</span></div>
|
||||||
@break
|
@break
|
||||||
|
@case('vcard')
|
||||||
|
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-default button button-hover icon-hover" rel="noopener noreferrer nofollow" href="{{ route('vcard') . '/' . $link->id }}"><img alt="button-icon" class="icon hvr-icon" src="@if(theme('use_custom_icons') == "true"){{ url('themes/' . $GLOBALS['themeName'] . '/extra/custom-icons')}}/vcard{{theme('custom_icon_extension')}} @else{{ asset('\/littlelink/icons\/')}}vcard.svg @endif"></i>{{ $link->title }}</a></div>
|
||||||
|
@break
|
||||||
@case('custom')
|
@case('custom')
|
||||||
@if($link->custom_css === "" or $link->custom_css === "NULL" or (theme('allow_custom_buttons') == "false"))
|
@if($link->custom_css === "" or $link->custom_css === "NULL" or (theme('allow_custom_buttons') == "false"))
|
||||||
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $link->name }} button button-hover icon-hover" rel="noopener noreferrer nofollow" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><i style="color: {{$link->custom_icon}}" class="icon hvr-icon fa {{$link->custom_icon}}"></i>{{ $link->title }}</a></div>
|
<div style="--delay: {{ $initial++ }}s" class="button-entrance"><a class="button button-{{ $link->name }} button button-hover icon-hover" rel="noopener noreferrer nofollow" href="{{ route('clickNumber') . '/' . $link->id . "?" . $link->link }}" @if(theme('open_links_in_same_tab') != "true")target="_blank"@endif ><i style="color: {{$link->custom_icon}}" class="icon hvr-icon fa {{$link->custom_icon}}"></i>{{ $link->title }}</a></div>
|
||||||
|
|
|
@ -73,7 +73,7 @@ The 'Heading' button will be replaced with a sub-heading, where the title define
|
||||||
<div class="d-flex flex-row flex-wrap p-3">
|
<div class="d-flex flex-row flex-wrap p-3">
|
||||||
|
|
||||||
@php
|
@php
|
||||||
$custom_order = [1, 2, 6, 7, 3, 4, 5,];
|
$custom_order = [1, 2, 8, 6, 7, 3, 4, 5,];
|
||||||
$sorted = $LinkTypes->sortBy(function ($item) use ($custom_order) {
|
$sorted = $LinkTypes->sortBy(function ($item) use ($custom_order) {
|
||||||
return array_search($item['id'], $custom_order);
|
return array_search($item['id'], $custom_order);
|
||||||
});
|
});
|
||||||
|
|
|
@ -92,6 +92,7 @@ Route::get('/pages/'.strtolower(env('TITLE_FOOTER_TERMS')), [AdminController::cl
|
||||||
Route::get('/pages/'.strtolower(env('TITLE_FOOTER_PRIVACY')), [AdminController::class, 'pagesPrivacy'])->name('pagesPrivacy');
|
Route::get('/pages/'.strtolower(env('TITLE_FOOTER_PRIVACY')), [AdminController::class, 'pagesPrivacy'])->name('pagesPrivacy');
|
||||||
Route::get('/pages/'.strtolower(env('TITLE_FOOTER_CONTACT')), [AdminController::class, 'pagesContact'])->name('pagesContact');
|
Route::get('/pages/'.strtolower(env('TITLE_FOOTER_CONTACT')), [AdminController::class, 'pagesContact'])->name('pagesContact');
|
||||||
Route::get('/theme/@{littlelink}', [UserController::class, 'theme'])->name('theme');
|
Route::get('/theme/@{littlelink}', [UserController::class, 'theme'])->name('theme');
|
||||||
|
Route::get('/vcard/{id?}', [UserController::class, 'vcard'])->name('vcard');
|
||||||
|
|
||||||
//User route
|
//User route
|
||||||
Route::group([
|
Route::group([
|
||||||
|
|
Loading…
Reference in New Issue