DEV: Дальнейшая работа по добавлению поста через URL
This commit is contained in:
parent
f66b500a53
commit
c4665234b7
13 changed files with 242 additions and 123 deletions
|
@ -76,11 +76,10 @@ class CommentController extends \MainController
|
|||
return true;
|
||||
}
|
||||
|
||||
// Ограничим частоту добавления
|
||||
// Добавить условие TL
|
||||
if($uid['trust_level'] < 2) {
|
||||
// Участник с нулевым уровнем доверия должен быть ограничен в добавлении комментариев
|
||||
if($uid['trust_level'] < Config::get(Config::PARAM_TL_ADD_COMM)) {
|
||||
$num_comm = CommentModel::getCommentSpeed($uid['id']);
|
||||
if(count($num_comm) > 10) {
|
||||
if(count($num_comm) > 9) {
|
||||
Base::addMsg('Вы исчерпали лимит комментариев (15) на сегодня', 'error');
|
||||
redirect('/');
|
||||
}
|
||||
|
|
60
app/Controllers/LinkController.php
Normal file
60
app/Controllers/LinkController.php
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
|
||||
namespace App\Controllers;
|
||||
use Hleb\Constructor\Handlers\Request;
|
||||
use App\Models\ExploreModel;
|
||||
use App\Models\LinkModel;
|
||||
use Lori\Config;
|
||||
use Lori\Base;
|
||||
|
||||
class LinkController extends \MainController
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$uid = Base::getUid();
|
||||
$data = [
|
||||
'h1' => lang('domains-title'),
|
||||
'canonical' => '/domains',
|
||||
'sheet' => 'domains',
|
||||
'meta_title' => lang('domains-title') .' | '. Config::get(Config::PARAM_NAME),
|
||||
'meta_desc' => lang('domains-desc'),
|
||||
];
|
||||
|
||||
return view(PR_VIEW_DIR . '/link/index', ['data' => $data, 'uid' => $uid]);
|
||||
}
|
||||
|
||||
// Выборка по домену
|
||||
public function domain()
|
||||
{
|
||||
$domain = \Request::get('domain');
|
||||
$uid = Base::getUid();
|
||||
|
||||
$post = LinkModel::getDomain($domain, $uid['id']);
|
||||
Base::PageError404($post);
|
||||
|
||||
$result = Array();
|
||||
foreach($post as $ind => $row){
|
||||
$row['post_content_preview'] = Base::cutWords($row['post_content'], 68);
|
||||
$row['post_date'] = lang_date($row['post_date']);
|
||||
$row['lang_num_answers'] = word_form($row['post_answers_num'], lang('Answer'), lang('Answers-m'), lang('Answers'));
|
||||
$result[$ind] = $row;
|
||||
|
||||
}
|
||||
|
||||
$domains = LinkModel::getDomainsTop($domain);
|
||||
|
||||
$meta_title = lang('Domain') . ': ' . $domain .' | '. Config::get(Config::PARAM_NAME);
|
||||
$meta_desc = lang('domain-desc') . ': ' . $domain .' '. Config::get(Config::PARAM_HOME_TITLE);
|
||||
|
||||
$data = [
|
||||
'h1' => lang('Domain') . ': ' . $domain,
|
||||
'canonical' => '/' . $domain,
|
||||
'sheet' => 'domain',
|
||||
'meta_title' => $meta_title,
|
||||
'meta_desc' => $meta_desc,
|
||||
];
|
||||
|
||||
return view(PR_VIEW_DIR . '/link/domain', ['data' => $data, 'uid' => $uid, 'posts' => $result, 'domains' => $domains]);
|
||||
}
|
||||
|
||||
}
|
|
@ -178,7 +178,7 @@ class MessagesController extends \MainController
|
|||
redirect('/u/' . $uid['login'] . '/messages');
|
||||
}
|
||||
|
||||
// Для пользователя с TL < N
|
||||
// Участник с нулевым уровнем доверия должен быть ограничен в добавлении ЛС
|
||||
Base::validTl($uid['trust_level'], Config::get(Config::PARAM_TL_ADD_PM), '/');
|
||||
|
||||
MessagesModel::SendMessage($uid['id'], $recipient_uid, $message);
|
||||
|
@ -197,7 +197,7 @@ class MessagesController extends \MainController
|
|||
redirect('/');
|
||||
}
|
||||
|
||||
// Для пользователя с TL < N
|
||||
// Участник с нулевым уровнем доверия должен быть ограничен в добавлении ЛС
|
||||
Base::validTl($uid['trust_level'], Config::get(Config::PARAM_TL_ADD_PM), '/');
|
||||
|
||||
$data = [
|
||||
|
|
|
@ -5,6 +5,7 @@ use Hleb\Constructor\Handlers\Request;
|
|||
use App\Models\PostModel;
|
||||
use App\Models\UserModel;
|
||||
use App\Models\SpaceModel;
|
||||
use App\Models\LinkModel;
|
||||
use App\Models\AnswerModel;
|
||||
use App\Models\CommentModel;
|
||||
use App\Models\VotesPostModel;
|
||||
|
@ -325,40 +326,60 @@ class PostController extends \MainController
|
|||
Base::Limits($post_content, lang('The post'), '6', '25000', $redirect);
|
||||
|
||||
if($post_url) {
|
||||
// Поскольку это для поста, то получим превью
|
||||
$og_img = self::grabOgImg($post_url);
|
||||
$parse = parse_url($post_url);
|
||||
$post_url_domain = $parse['host'];
|
||||
} else {
|
||||
// images
|
||||
$name = $_FILES['images']['name'][0];
|
||||
if($name) {
|
||||
// Проверка ширину
|
||||
$width_h = getimagesize($_FILES['images']['tmp_name'][0]);
|
||||
if ($width_h['0'] < 500) {
|
||||
$valid = false;
|
||||
Base::addMsg('Ширина меньше 600 пикселей', 'error');
|
||||
redirect($redirect);
|
||||
}
|
||||
$link_url = $parse['scheme'] . '://' . $parse['host'];
|
||||
|
||||
$image = new SimpleImage();
|
||||
$path = HLEB_PUBLIC_DIR. '/uploads/posts/';
|
||||
$year = date('Y') . '/';
|
||||
$file = $_FILES['images']['tmp_name'][0];
|
||||
$filename = 'c-' . time();
|
||||
|
||||
if(!is_dir($path . $year)) { @mkdir($path . $year); }
|
||||
|
||||
// https://github.com/claviska/SimpleImage
|
||||
$image
|
||||
->fromFile($file) // load image.jpg
|
||||
->autoOrient() // adjust orientation based on exif data
|
||||
->resize(820, null)
|
||||
->toFile($path . $year . $filename .'.webp', 'image/webp');
|
||||
|
||||
$post_img = $year . $filename . '.webp';
|
||||
// Мы должны добавить домен, который появился в системе
|
||||
// Далее мы можем менять ему статус, запрещать и т.д.
|
||||
$link = LinkModel::getLinkOne($post_url_domain);
|
||||
if(!$link) {
|
||||
// Запишем минимальные данный для дальнешей работы
|
||||
$data = [
|
||||
'link_url' => $link_url,
|
||||
'link_url_domain' => $post_url_domain,
|
||||
'link_add_uid' => $uid['id'],
|
||||
'link_type' => 0,
|
||||
'link_status' => 200,
|
||||
'link_cat_id' => 1,
|
||||
];
|
||||
LinkModel::addLinks($data);
|
||||
} else {
|
||||
LinkModel::addLinkCount($post_url_domain);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// images
|
||||
$name = $_FILES['images']['name'][0];
|
||||
if($name) {
|
||||
// Проверка ширину
|
||||
$width_h = getimagesize($_FILES['images']['tmp_name'][0]);
|
||||
if ($width_h['0'] < 500) {
|
||||
$valid = false;
|
||||
Base::addMsg('Ширина меньше 600 пикселей', 'error');
|
||||
redirect($redirect);
|
||||
}
|
||||
|
||||
$image = new SimpleImage();
|
||||
$path = HLEB_PUBLIC_DIR. '/uploads/posts/';
|
||||
$year = date('Y') . '/';
|
||||
$file = $_FILES['images']['tmp_name'][0];
|
||||
$filename = 'c-' . time();
|
||||
|
||||
if(!is_dir($path . $year)) { @mkdir($path . $year); }
|
||||
|
||||
// https://github.com/claviska/SimpleImage
|
||||
$image
|
||||
->fromFile($file) // load image.jpg
|
||||
->autoOrient() // adjust orientation based on exif data
|
||||
->resize(820, null)
|
||||
->toFile($path . $year . $filename .'.webp', 'image/webp');
|
||||
|
||||
$post_img = $year . $filename . '.webp';
|
||||
}
|
||||
|
||||
// Проверяем url для > TL1
|
||||
// Ввести проверку дублей и запрещенных, для img повторов
|
||||
$post_url = empty($post_url) ? '' : $post_url;
|
||||
|
@ -367,8 +388,7 @@ class PostController extends \MainController
|
|||
$og_img = empty($og_img) ? '' : $og_img;
|
||||
$tag_id = empty($tag_id) ? 0 : $tag_id;
|
||||
|
||||
// Ограничим частоту добавления
|
||||
// Добавить условие TL
|
||||
// Участник с нулевым уровнем доверия должен быть ограничен в добавлении ответов
|
||||
if($uid['trust_level'] < Config::get(Config::PARAM_TL_ADD_POST)) {
|
||||
$num_post = PostModel::getPostSpeed($uid['id']);
|
||||
if(count($num_post) > 2) {
|
||||
|
@ -387,7 +407,7 @@ class PostController extends \MainController
|
|||
'post_content' => $post_content,
|
||||
'post_content_img' => $post_content_img,
|
||||
'post_thumb_img' => $og_img,
|
||||
'post_related' => $post_related,
|
||||
'post_related' => $post_related,
|
||||
'post_merged_id' => $post_merged_id,
|
||||
'post_tl' => $post_tl,
|
||||
'post_slug' => $post_slug,
|
||||
|
@ -478,12 +498,12 @@ class PostController extends \MainController
|
|||
$image = new SimpleImage();
|
||||
$image
|
||||
->fromFile($local) // load image.jpg
|
||||
->autoOrient() // adjust orientation based on exif data
|
||||
->autoOrient() // adjust orientation based on exif data
|
||||
->resize(165, null) // 125
|
||||
->toFile($path . $year . $file .'.webp', 'image/webp');
|
||||
|
||||
if(file_exists($local)) {
|
||||
unlink($path_img . $avatar['avatar']);
|
||||
unlink($local);
|
||||
return $year . $file .'.webp';
|
||||
}
|
||||
|
||||
|
|
|
@ -70,39 +70,4 @@ class SearchController extends \MainController
|
|||
|
||||
return view(PR_VIEW_DIR . '/search/index', ['data' => $data, 'uid' => $uid, 'result' => $result, 'query' => $query]);
|
||||
}
|
||||
|
||||
// Поиск по домену
|
||||
public function domain()
|
||||
{
|
||||
$domain = \Request::get('domain');
|
||||
$uid = Base::getUid();
|
||||
|
||||
$post = SearchModel::getDomain($domain, $uid['id']);
|
||||
Base::PageError404($post);
|
||||
|
||||
$result = Array();
|
||||
foreach($post as $ind => $row){
|
||||
$row['post_content_preview'] = Base::cutWords($row['post_content'], 68);
|
||||
$row['post_date'] = lang_date($row['post_date']);
|
||||
$row['lang_num_answers'] = word_form($row['post_answers_num'], lang('Answer'), lang('Answers-m'), lang('Answers'));
|
||||
$result[$ind] = $row;
|
||||
|
||||
}
|
||||
|
||||
$domains = SearchModel::getDomainsTop($domain);
|
||||
|
||||
$meta_title = lang('Domain') . ': ' . $domain .' | '. Config::get(Config::PARAM_NAME);
|
||||
$meta_desc = lang('domain-desc') . ': ' . $domain .' '. Config::get(Config::PARAM_HOME_TITLE);
|
||||
|
||||
$data = [
|
||||
'h1' => lang('Domain') . ': ' . $domain,
|
||||
'canonical' => '/' . $domain,
|
||||
'sheet' => 'domain',
|
||||
'meta_title' => $meta_title,
|
||||
'meta_desc' => $meta_desc,
|
||||
];
|
||||
|
||||
return view(PR_VIEW_DIR . '/search/domain', ['data' => $data, 'uid' => $uid, 'posts' => $result, 'domains' => $domains]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -23,7 +23,6 @@ return [
|
|||
'forgot-password' => 'Forgot your password',
|
||||
'repeat-password' => 'Repeat the password',
|
||||
'ban-space' => 'This space is blocked',
|
||||
'domain-desc' => 'Grouping posts by domain',
|
||||
'no-cover' => 'No cover. Download it',
|
||||
|
||||
'select-file-up' => 'Select the file to upload',
|
||||
|
@ -72,6 +71,10 @@ return [
|
|||
'add_up_answ' => 'I liked the answer',
|
||||
'add_up_comm' => 'liked the comment',
|
||||
|
||||
'domain-desc' => 'Grouping posts by domain',
|
||||
'domains-title' => 'Sites in the system',
|
||||
'domains-desc' => 'Statistics on domains, links that are used to compile publications on the site. Most visited, popular sites',
|
||||
|
||||
/* Setting */
|
||||
'info_setting' => 'Fill in your name to help participants address you by your first name. <br> <br> Tell me something about yourself. You have a great opportunity to open up to please others and seem like an interesting person.',
|
||||
'info_avatar' => 'Upload an avatar and cover image for your profile. <br><br> When each user has a unique avatar, it becomes much easier to follow the discussions!',
|
||||
|
|
|
@ -26,7 +26,6 @@ return [
|
|||
'Action' => 'Действие',
|
||||
'Domain' => 'Домен',
|
||||
'Domains' => 'Домены',
|
||||
'domain-desc' => 'Группировка постов в сообществе по домену',
|
||||
'Sign in' => 'Войти',
|
||||
'Sign out' => 'Выйти',
|
||||
'Sign up' => 'Регистрация',
|
||||
|
@ -329,6 +328,9 @@ return [
|
|||
'info_login' => 'Авторизация дает вам возможность публиковать посты, отвечать, комментировать.<br><br>Вы можете голосовать за другие публикации, заполнять и редактировать профиль.',
|
||||
'info_recover' => 'После того, как нажмете кнопку «Сбросить», проверьте свой e-mail...',
|
||||
|
||||
'domain-desc' => 'Группировка постов в сообществе по домену',
|
||||
'domains-title' => 'Сайты в системе',
|
||||
'domains-desc' => 'Статистика по доменам, ссылкам, которые используются для составление публикаций на сайте. Самые посещаемые, популярные сайты',
|
||||
|
||||
'Joined in the early days' => 'Присоединился в первые дни запуска сообщества',
|
||||
'The owner restricted the publication' => 'Владелец пространства ограничил публикацию',
|
||||
|
|
74
app/Models/LinkModel.php
Normal file
74
app/Models/LinkModel.php
Normal file
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
use XdORM\XD;
|
||||
use DB;
|
||||
use PDO;
|
||||
|
||||
class LinkModel extends \MainModel
|
||||
{
|
||||
// Получение постов по url
|
||||
public static function getDomain($url, $uid)
|
||||
{
|
||||
$q = XD::select('*')->from(['posts']);
|
||||
$query = $q->leftJoin(['users'])->on(['id'], '=', ['post_user_id'])
|
||||
->leftJoin(['space'])->on(['space_id'], '=', ['post_space_id'])
|
||||
->leftJoin(['votes_post'])->on(['votes_post_item_id'], '=', ['post_id'])
|
||||
->and(['votes_post_user_id'], '=', $uid)
|
||||
->where(['post_is_delete'], '=', 0)
|
||||
->and(['post_url_domain'], '=', $url)
|
||||
->orderBy(['post_id'])->desc();
|
||||
|
||||
return $query->getSelect();
|
||||
}
|
||||
|
||||
// 5 популярных доменов
|
||||
public static function getDomainsTop($domain)
|
||||
{
|
||||
return XD::select('*')->from(['links'])->where(['link_url_domain'], '=', $domain)
|
||||
->and(['link_is_deleted'], '=', 0)->orderBy(['link_count'])->desc()->limit(10)->getSelect();
|
||||
}
|
||||
|
||||
// Добавим домен
|
||||
public static function addLinks($data)
|
||||
{
|
||||
XD::insertInto(['links'], '(',
|
||||
['link_url'], ',',
|
||||
['link_url_domain'], ',',
|
||||
['link_title'], ',',
|
||||
['link_content'], ',',
|
||||
['link_add_uid'], ',',
|
||||
['link_type'], ',',
|
||||
['link_status'], ',',
|
||||
['link_cat_id'], ',',
|
||||
['link_count'],')')->values( '(',
|
||||
|
||||
XD::setList([
|
||||
$data['link_url'],
|
||||
$data['link_url_domain'],
|
||||
'',
|
||||
'',
|
||||
$data['link_add_uid'],
|
||||
$data['link_type'],
|
||||
$data['link_status'],
|
||||
$data['link_cat_id'],
|
||||
1]), ')' )->run();
|
||||
|
||||
// id домена
|
||||
return XD::select()->last_insert_id('()')->getSelectValue();
|
||||
}
|
||||
|
||||
// Количество в системе
|
||||
public static function addLinkCount($domain)
|
||||
{
|
||||
$sql = "UPDATE links SET link_count = (link_count + 1) WHERE link_url_domain = :domain";
|
||||
DB::run($sql, ['domain' => $domain]);
|
||||
}
|
||||
|
||||
// Проверим наличие домена
|
||||
public static function getLinkOne($domain)
|
||||
{
|
||||
return XD::select('*')->from(['links'])->where(['link_url_domain'], '=', $domain)->getSelectOne();
|
||||
}
|
||||
|
||||
}
|
|
@ -20,37 +20,9 @@ class SearchModel extends \MainModel
|
|||
{
|
||||
// Без SNIPPET
|
||||
// $sql = "SELECT * FROM postind WHERE MATCH(:qa)";
|
||||
|
||||
$sql = "SELECT id as post_id, space_slug, space_name, space_img, post_slug, post_space_id, post_votes, SNIPPET(post_title, :qa) as _title, SNIPPET(post_content, :qa) AS _content FROM postind WHERE MATCH(:qa)";
|
||||
|
||||
$result = DB::run($sql, ['qa' => $query], 'mysql.sphinx-search');
|
||||
return $result->fetchall(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
// Получение постов по url
|
||||
public static function getDomain($url, $uid)
|
||||
{
|
||||
$q = XD::select('*')->from(['posts']);
|
||||
$query = $q->leftJoin(['users'])->on(['id'], '=', ['post_user_id'])
|
||||
->leftJoin(['space'])->on(['space_id'], '=', ['post_space_id'])
|
||||
->leftJoin(['votes_post'])->on(['votes_post_item_id'], '=', ['post_id'])
|
||||
->and(['votes_post_user_id'], '=', $uid)
|
||||
->where(['post_is_delete'], '=', 0)
|
||||
->and(['post_url_domain'], '=', $url)
|
||||
->orderBy(['post_id'])->desc();
|
||||
|
||||
return $query->getSelect();
|
||||
}
|
||||
|
||||
// 5 популярных доменов
|
||||
public static function getDomainsTop($domain)
|
||||
{
|
||||
|
||||
$sql = "SELECT * FROM posts WHERE post_url_domain != '' AND post_url_domain != :domain";
|
||||
|
||||
$result = DB::run($sql, ['domain' => $domain]);
|
||||
return $result->fetchall(PDO::FETCH_ASSOC);
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -572,21 +572,21 @@ ALTER TABLE `report`
|
|||
--
|
||||
|
||||
CREATE TABLE `links` (
|
||||
`link_id` int(11) NOT NULL,
|
||||
`link_ind_id` int(11) DEFAULT '0' COMMENT 'Индификатор ссылки отличных от id',
|
||||
`link_url` varchar(255) DEFAULT NULL,
|
||||
`link_url_domain` varchar(255) DEFAULT NULL,
|
||||
`link_title` varchar(250) NOT NULL,
|
||||
`link_content` text NOT NULL,
|
||||
`link_add_uid` int(11) NOT NULL DEFAULT 0 COMMENT 'Кто добавил',
|
||||
`link_date` datetime NOT NULL DEFAULT current_timestamp(),
|
||||
`link_type` int(6) NOT NULL DEFAULT 0 COMMENT 'Тип сайта (0 - общий, 1 - блог, 2 - энциклопедия)',
|
||||
`link_status` int(6) NOT NULL DEFAULT 200 COMMENT 'Статус сайта (200, 403, 404)',
|
||||
`link_status_date` datetime NOT NULL DEFAULT current_timestamp() COMMENT 'Когда была проверка статуса',
|
||||
`link_cat_id` int(11) DEFAULT 0 COMMENT 'Категория сайта',
|
||||
`link_votes` int(6) NOT NULL DEFAULT 0,
|
||||
`link_is_deleted` tinyint(1) DEFAULT 0
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
`link_id` int(11) NOT NULL,
|
||||
`link_url` varchar(255) DEFAULT NULL,
|
||||
`link_url_domain` varchar(255) DEFAULT NULL,
|
||||
`link_title` varchar(250) NOT NULL,
|
||||
`link_content` text NOT NULL,
|
||||
`link_add_uid` int(11) NOT NULL DEFAULT 0 COMMENT 'Кто добавил',
|
||||
`link_date` datetime NOT NULL DEFAULT current_timestamp(),
|
||||
`link_type` int(6) NOT NULL DEFAULT 0 COMMENT 'Тип сайта (0 - общий, 1 - блог, 2 - энциклопедия)',
|
||||
`link_status` int(6) NOT NULL DEFAULT 200 COMMENT 'Статус сайта (200, 403, 404)',
|
||||
`link_status_date` datetime NOT NULL DEFAULT current_timestamp() COMMENT 'Когда была проверка статуса',
|
||||
`link_cat_id` int(11) DEFAULT 0 COMMENT 'Категория сайта',
|
||||
`link_votes` int(6) DEFAULT 0,
|
||||
`link_count` int(6) DEFAULT 0,
|
||||
`link_is_deleted` tinyint(1) DEFAULT 0
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||||
|
||||
ALTER TABLE `links`
|
||||
ADD PRIMARY KEY (`link_id`);
|
||||
|
|
|
@ -136,8 +136,9 @@
|
|||
<?php if (!empty($domains)) { ?>
|
||||
<div class="bar-title small"><?= lang('Domains'); ?></div>
|
||||
<?php foreach ($domains as $domain) { ?>
|
||||
<a class="space-u tag-u" href="/domain/<?= $domain['post_url_domain']; ?>">
|
||||
<i class="icon link"></i> <?= $domain['post_url_domain']; ?>
|
||||
<a class="space-u tag-u" href="/domain/<?= $domain['link_url_domain']; ?>">
|
||||
<i class="icon link"></i> <?= $domain['link_url_domain']; ?>
|
||||
<sup class="date small"><?= $domain['link_count']; ?></sup>
|
||||
</a><br>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
21
resources/views/default/link/index.php
Normal file
21
resources/views/default/link/index.php
Normal file
|
@ -0,0 +1,21 @@
|
|||
<?php include TEMPLATE_DIR . '/header.php'; ?>
|
||||
<div class="wrap">
|
||||
<main>
|
||||
<div class="white-box">
|
||||
<div class="inner-padding space-tags">
|
||||
<h1><?= $data['h1']; ?></h1>
|
||||
<br>
|
||||
<i>В стадии разработки...</i>
|
||||
<br><br>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<aside>
|
||||
<div class="white-box">
|
||||
<div class="inner-padding space-tags">
|
||||
<?= lang('domains-desc'); ?>.
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
</div>
|
||||
<?php include TEMPLATE_DIR . '/footer.php'; ?>
|
|
@ -177,7 +177,9 @@ Route::type('post')->get('/comments/addform')->controller('CommentController@add
|
|||
|
||||
// Поиск
|
||||
Route::type(['get','post'])->get('/search')->controller('SearchController');
|
||||
Route::get('/domain/{domain}')->controller('SearchController@domain')->where(['domain' => '[A-Za-z0-9-.]+']);
|
||||
// Домены
|
||||
Route::get('/domains')->controller('LinkController');
|
||||
Route::get('/domain/{domain}')->controller('LinkController@domain')->where(['domain' => '[A-Za-z0-9-.]+']);
|
||||
|
||||
Route::type(['get','post'])->get('/search/users')->controller('PostController@userSelect');
|
||||
Route::type(['get','post'])->get('/search/posts')->controller('PostController@postsSelect');
|
||||
|
|
Loading…
Reference in a new issue