Перейти к содержанию

deeverbs

Пользователи
  • Постов

    144
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные deeverbs

  1. 38 минут назад, ZIKURIK сказал:

     

    <script type='text/javascript'>
    $('#ipsLayout_contentArea').find('div[data-role="commentContent"]').find('p:last').each( function () {
    	if( $(this).next().length == 0 ){
    		$(this).html(function (i, html) {
    			return html.replace(/&nbsp;/g, '');
    		});
    	}
    });
    </script>

     

    Огонь! всё работает! Спасибо!

  2. 1 час назад, betastarz сказал:

    А эта тема только для ютуба? Меня больше всего бесит пустые абзацы в конце поста, даже появилась дебильная ОКР-на привычка редактировать сообщения за пользователями)

    Да, в скрипте есть функция

    find('.ipsEmbeddedVideo')

    Наверно было бы хорошо сделать универсальную?)

  3. 1 минуту назад, ZIKURIK сказал:

    Я посчитал что в редакторе он все же нужен, мало ли захочется ввести текст или еще что под видео. Скрипт циклом проверяет все сообщения на странице и удаляет этот nbsp если дальше нету других тегов.

    Круто! Спасибо огромное!!! 🙂

  4. 3 минуты назад, ZIKURIK сказал:

    он удалять должен в постах которые уже отправлены

    блин, сорри.. 🙂 перезагрузил страницу, и всё ок стало)

    Интересно скрипт работает, По факту его нет в публикации, но если начать редактировать он почему-то там висит?) Как это работает?))

  5. 56 минут назад, ZIKURIK сказал:

    в шаблонах вбей просто, он найдет

    блин, там куча условий 🙂 (в самом файле в смысле) где он должен быть?))

    {{if !\IPS\Request::i()->isAjax()}}
    	{{$maxImageDims = \IPS\Settings::i()->attachment_image_size ? explode( 'x', \IPS\Settings::i()->attachment_image_size ) : array( 1000, 750 );}}
    	<script type='text/javascript'>
    		var ipsDebug = {{if ( \IPS\IN_DEV and \IPS\DEV_DEBUG_JS ) or \IPS\DEBUG_JS}}true{{else}}false{{endif}};		
    	{{if \IPS\IN_DEV}}
    		var CKEDITOR_BASEPATH = '{url="applications/core/dev/ckeditor" base="none" protocol="\IPS\Http\Url::PROTOCOL_RELATIVE"}/';
    	{{else}}
    		var CKEDITOR_BASEPATH = '{url="applications/core/interface/ckeditor/ckeditor" base="none" protocol="\IPS\Http\Url::PROTOCOL_RELATIVE"}/';
    	{{endif}}
    		var ipsSettings = {
    			{{if \IPS\Dispatcher::hasInstance() and \IPS\Dispatcher::i()->controllerLocation == 'admin'}}
    			isAcp: true,
    			{{endif}}
    			{{if \IPS\COOKIE_DOMAIN !== NULL}}
    			cookie_domain: "{expression="\IPS\COOKIE_DOMAIN"}",
    			{{endif}}
    			cookie_path: "{expression="\IPS\Request::getCookiePath()"}",
    			{{if \IPS\COOKIE_PREFIX !== NULL}}
    			cookie_prefix: "{expression="\IPS\COOKIE_PREFIX"}",
    			{{endif}}
    			{{if mb_substr( \IPS\Settings::i()->base_url, 0, 5 ) == 'https' AND \IPS\COOKIE_BYPASS_SSLONLY !== TRUE}}
    			cookie_ssl: true,
    			{{else}}
    			cookie_ssl: false,
    			{{endif}}
    			upload_imgURL: "{resource="notifyIcons/upload.png" location="front"}",
    			message_imgURL: "{resource="notifyIcons/message.png" location="front"}",
    			notification_imgURL: "{resource="notifyIcons/notification.png" location="front"}",
    			baseURL: "{expression="\IPS\Http\Url::baseUrl( \IPS\Http\Url::PROTOCOL_RELATIVE )"}",
    			jsURL: "{expression="rtrim( \IPS\Http\Url::baseUrl( \IPS\Http\Url::PROTOCOL_RELATIVE ), '/' )"}/applications/core/interface/js/js.php",
    			csrfKey: "{expression="\IPS\Session::i()->csrfKey"}",
    			antiCache: "{expression="\IPS\Theme::i()->cssCacheBustKey()"}",
    			jsAntiCache: "{expression="\IPS\Output\Javascript::javascriptCacheBustKey()"}",
    			disableNotificationSounds: true,
    			useCompiledFiles: {{if \IPS\IN_DEV}}false{{else}}true{{endif}},
    			links_external: {{if \IPS\Settings::i()->links_external }}true{{else}}false{{endif}},
    			memberID: {expression="( \IPS\Member::loggedIn()->member_id ) ? \IPS\Member::loggedIn()->member_id : 0"},
    			lazyLoadEnabled: {{if \IPS\Settings::i()->lazy_load_enabled}}true{{else}}false{{endif}},
    			blankImg: "{expression="\IPS\Text\Parser::blankImage()"}",
    			analyticsProvider: "{expression="\IPS\Settings::i()->ipbseo_ga_provider"}",
    			viewProfiles: {{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members' ) )}}true{{else}}false{{endif}},
    			mapProvider: {{if \IPS\Settings::i()->googlemaps and \IPS\Settings::i()->google_maps_api_key}}'google'{{elseif \IPS\Settings::i()->mapbox and \IPS\Settings::i()->mapbox_api_key}}'mapbox'{{else}}'none'{{endif}},
    			mapApiKey: {{if \IPS\Settings::i()->googlemaps and \IPS\Settings::i()->google_maps_api_key}}"{expression="\IPS\Settings::i()->google_maps_api_key"}"{{elseif \IPS\Settings::i()->mapbox and \IPS\Settings::i()->mapbox_api_key}}"{expression="\IPS\Settings::i()->mapbox_api_key"}"{{else}}''{{endif}},
    			pushPublicKey: {{if \IPS\Notification::webPushEnabled()}}"{expression="\IPS\Settings::i()->vapid_public_key"}"{{else}}null{{endif}},
    			relativeDates: {{if \IPS\Settings::i()->relative_dates_enable}}true{{else}}false{{endif}}
    		};
    		
    		{{if \IPS\Settings::i()->ipbseo_ga_provider == 'custom' && \IPS\Settings::i()->ipbseo_ga_paginatecode && \IPS\Dispatcher::hasInstance() && \IPS\Dispatcher::i()->controllerLocation == 'front'}}
    			ipsSettings['paginateCode'] = {setting="ipbseo_ga_paginatecode"};
    		{{endif}}
    		
    		{{if !empty( $maxImageDims[0] ) AND !empty( $maxImageDims[1] ) AND ( \intval( $maxImageDims[0] ) !== 0 || \intval( $maxImageDims[1] ) !== 0 ) }}
    			ipsSettings['maxImageDimensions'] = {
    				width: {$maxImageDims[0]},
    				height: {$maxImageDims[1]}
    			};
    		{{endif}}
    		
    	</script>
    {{endif}}
    {{if !\IPS\Request::i()->isAjax() and \IPS\Dispatcher::hasInstance() and \IPS\Dispatcher::i()->controllerLocation == 'front' and \IPS\Settings::i()->fb_pixel_enabled and \IPS\Settings::i()->fb_pixel_id}}
    {{$pixelId = \IPS\Settings::i()->fb_pixel_id;}}
    <!-- Facebook Pixel Code -->
    <script>
    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
    document,'script','https://connect.facebook.net/en_US/fbevents.js');
    setTimeout( function() {
    	fbq('init', '{$pixelId}');
    	{{if $pixels = \IPS\core\Facebook\Pixel::i()->output()}}
    	{$pixels|raw}
    	{{endif}}
    }, {expression="\intval( \IPS\Settings::i()->fb_pixel_delay * 1000 )"} );
    </script>
    <!-- End Facebook Pixel Code -->
    {{endif}}
    
    {{foreach array_unique( array_filter( \IPS\Output::i()->jsFiles ), SORT_STRING ) as $js}}
    {{$js = \IPS\Http\Url::external( $js );}}
    <script type='text/javascript' src='{{if $js->data['host'] == parse_url( \IPS\Settings::i()->base_url, PHP_URL_HOST )}}{expression="$js->setQueryString( 'v', \IPS\Output\Javascript::javascriptCacheBustKey() )"}{{else}}{expression="$js"}{{endif}}' data-ips></script>
    {{endforeach}}
    {{foreach array_unique( \IPS\Output::i()->jsFilesAsync, SORT_STRING ) as $js}}
    <script type="text/javascript" src="{expression="\IPS\Http\Url::external( $js )->setQueryString( 'v', \IPS\Output\Javascript::javascriptCacheBustKey() )"}" async></script>
    {{endforeach}}
    {{if !\IPS\Request::i()->isAjax() and ( \count( \IPS\Output::i()->jsVars ) || \IPS\Output::i()->headJs)}}
    	<script type='text/javascript'>
    		{{foreach \IPS\Output::i()->jsVars as $k => $v}}
    			ips.setSetting( '{$k}', {{if ! \is_array( $v )}}jQuery.parseJSON('{expression="json_encode( $v, JSON_HEX_APOS )" raw="true"}'){{else}}{expression="json_encode( $v, JSON_HEX_APOS )" raw="true"}{{endif}} );
    		{{endforeach}}
    		{expression="\IPS\Output::i()->headJs" raw="true"}
    	</script>
    {{endif}}
    {{if \count( \IPS\Output::i()->jsonLd )}}
    {{foreach \IPS\Output::i()->jsonLd as $object}}
    <script type='application/ld+json'>
    {expression="json_encode( $object, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS )" raw="true"}	
    </script>
    {{endforeach}}
    {{endif}}

     

  6. 15 минут назад, ZIKURIK сказал:

    его удалить можно при добавлении

    Я знаю, но пользователи этого не будут делать) им все равно, что там вставляется) 

    1 минуту назад, ZIKURIK сказал:

    или можно так, вставь это в includeJS

    Это в какой папке этот скрипт? 

  7. @ZIKURIK работает! Спасибо огромное! 🙂

    Пользуясь случаем, хочу ещё спросить, когда в редактор вставляется ссылка на видео, например с YouTube, автоматом добавляется &nbsp, из-за этого пост выглядит немного не эстетично.

    Можно как-то побороть это? 

    IMG_20211017_174006.jpg

  8. 8 часов назад, by_ix сказал:

    да и на скринах, судя по всему, какой-то газетный форум из нулевых. такое тоже читать не особо приятно, когда весь текст слипается.

    Я сделал перенос строки и текст слипся в местах где цитаты, картинки и видео.. Я добавил в custom.css и добился нужно результата, но с видео так не прокатило..

    .ipsQuote {
        margin-bottom: 10px;
        margin-top: 10px;
    }
    
    .ipsImage {
        margin-bottom: 10px;
        margin-top: 10px;
    }

    Подскажите, пожалуйста, как сделать подобные отступы, на видео...

    adfadfv.png

    sdsdcs.png

  9. 1 час назад, by_ix сказал:

    на скрине пользователь зашёл 24 минуты назад, к чему скрин? 

    Так я подумал, что плагин делает так, чтобы в виждете были только те пользователи, которые по факту онлайн, без тех кто был 10-15-20 минут назад..)

  10. 11 часов назад, SINILIAN сказал:

    the.bunin Спасибо.

    Кстати, как можно это разблокировать? Я чет не пойму, по какой логике оно блокирует разные файлы. Одни можно редачить, другие нет.

    Screenshot_19.png.53989fd629267b5e1f01fd9bdc9cf9c4.png

    На сервачке глянь доступны эти файлы для записи или только для чтения... 

  11. Форум не СМИ, обычное городское комьюнити. Жесткую премодерацию вести особо некому. Для меня (создателя ресурса) это по большей части фан.

    Сейчас такие правила на сайте.. Они имеют эту подоплёку, которую я описал выше?

    Цитата

    На форуме принято:

    • корректное отношение к другим участникам форума;
    • отвечать на вопросы;
    • разговаривать/общаться на русском языке;
    • пользоваться поиском при создании тем, чтобы не дублировать.

    На форуме запрещено:

    • оскорбления и угрозы в адрес пользователей форума;
    • пропаганда расовой, национальной и религиозной вражды, а также прочие действия, которые противоречат действующему законодательству РФ;
    • несанкционированная реклама и самореклама в темах;
    • ненормативная лексика (кроме разделов, где это разрешено специально);
    • злостный флуд;
    • создание бессмысленных тем и сообщений;
    • различного рода провокации.

    Регистрируясь и общаясь на форуме, вы соглашаетесь с правилами форума и даете согласие на сохранение и обработку ваших данных, которые вы сами укажете в своем профиле, а также понимаете, что форум - общественное место, ваши сообщения в темах форума будут видны и использованы его участниками. Форум является постмодерируемым, т.е. публикация сообщений пользователей происходит сразу же, а их модерирование – позже. Таким образом, на сайте временно могут присутствовать сообщения, которые не являются допустимыми с точки зрения администрации, правил форума и законодательства РФ.

     

  12. Привет всем! :) Интересует такой вопрос, может даже немного юридический. Если к примеру на форуме было опубликовано сообщение такого характера, которое противоречит законодательству РФ, но администрация его не сразу увидела, прежде чем удалить..

    Как прописать это в правилах так, чтобы ресурс не был привлечён законом?

  13. 1 час назад, the.bunin сказал:

    Если размещать кодом, то в любой момент можно без проблем поменять любой цвет в лого прям в коде) Мне кажется, практичнее и удобнее) имхо

    А как его теперь центровать, делать больше-меньше?

×
×
  • Создать...