Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ruskat

Актив
  • Регистрация

  • В сети

Posts posted by Ruskat

  1. Posted

    Иногда бывает, что появляется ошибка: Table '.\db_name\core_sessions' is marked as crashed and should be repaired.

    Нужно лезть в май админ и ручками её восстанавливать.
    Можно ли в страницу ошибки внедрить код, который будет следить за совпадениями по описанию ошибки.
    И если найдётся совпадение "marked as crashed", значит задействовать процедуру, которая будет с выводом соответствующего сообщения, самостоятельно запускать процедуру ремонта или восстановления проблемной таблицы.

  2. 8 минут назад, by_ix сказал:

    Ruskat может тогда лучше обновиться на актуальную версию? чтоб в будущем проблем очередных не было.

    Я немного привязан. В основном к приложению видео. Обновив систему, надо обновить приложение, ясно что не купленное, до актуальной версии.

    Потому, благодарен за совет, но на всё своё время.

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

    Ruskat можно было просто нажать на "восстановление" и в шаблон ввелись бы актуальные данные от последнего обновления.

    А вот тут то и прикол...
    Ни в сравнениях ничего небыло, ни в востановлении ничего не менялось.

  4. Posted

    Имеется Wowbook jQuery plugin.  Хорошая листалка PDF. Хочу подмять под себя именно просмотр PDF.

    Создал базу - библиотека. Ковыряю шаблон под базу. Сделал выгрузку PDF, путь есть. Но нужно, чтобы при переходе на страницу книги в  PDF сразу открывалась книга в развёрнутом виде, как в примере. Не могу JS-ом сымитировать нажатие на элемент book2-trigger, чтобы книга автоматом раскрылась на весь экран при загрузке страницы.

  5. 3 часа назад, by_ix сказал:

    Ruskat шаблоны mobileNavBar и mobileNavigation не редактировались?
    и ссылку на сайт лучше.

    Спасибо. Решил сам разобраться.

    Оказывается, почему то в шаблоне mobileNavBar версии 4.5.4.2 отсутствовала секция, отвечающая за показ кнопки меню в мобильной версии:

      	<li data-ipsDrawer data-ipsDrawer-drawerElem='#elMobileDrawer'>
    		<a href='#'>
    			{{$total = \IPS\Member::loggedIn()->notification_cnt;}}
    			{{if !\IPS\Member::loggedIn()->members_disable_pm and \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'messaging' ) )}}
    				{{$total += \IPS\Member::loggedIn()->msg_count_new;}}
    			{{endif}}
    			{{if \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'modcp' ) ) and \IPS\Member::loggedIn()->modPermission('can_view_reports')}}
    				{{$total += \IPS\Member::loggedIn()->reportCount();}}
    			{{endif}}
    			{{if $total}}
    				<span class='ipsNotificationCount' data-notificationType='total'>{$total}</span>
    			{{endif}}
    			<i class='fa fa-navicon'></i>
    		</a>
    	</li>

    Решением было одолжить недостающий фрагмент кода у версии 4.4.10.

    Работает.

  6. aknight Спасибо. Таки ковырнул шаблы и погнул под себя. Думал, может есть какое дополнение, чтобы это по-проще настроить можно было для каждой базы данных.

    Может кто в курсе, где можно поискать шаблоны для баз даных, или сами базы ?

  7. Posted

    Хочу убрать информацию об авторе сообщения -  Аватар и ник в списке статей и самой статье, чтобы нигде информации об авторе небыло.

    Интересует, есть ли какое-то расшитение, чтобы не ковырять стиль базы данных.

    Заранее благодарен.

    Автор публікації_02.PNG

  8. ·

    Edited by Ruskat

    SuperBlocks версии 1.0.3 и IPS v4.5.4.2.

    Ошибка выскакивает при попытке просмотреть статью. В "Изменение базы данных ---  - Детали  - Шаблоны - (Группа шаблонов отображения записи)".

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

    Шаблон стандартный.

    Подробности:

    Спойлер

    Error: Call to a member function url() on bool (0)
    #0 ---\www\applications\cms\modules\front\database\record.php(321): IPS\Theme\class_cms_database_supergrid_recorddisplay->record(Object(IPS\cms\Records1), '\n<div data-cont...', NULL, true)
    #1 ---\www\system\Dispatcher\Controller.php(101): IPS\cms\modules\front\database\_record->manage()
    #2 ---\www\system\Content\Controller.php(50): IPS\Dispatcher\_Controller->execute()
    #3 ---\www\applications\cms\sources\Databases\Dispatcher.php(327): IPS\Content\_Controller->execute()
    #4 ---\www\applications\cms\widgets\Database.php(128): IPS\cms\Databases\_Dispatcher->run()
    #5 ---\www\applications\cms\sources\Pages\Page.php(1300): IPS\cms\widgets\_Database->render()
    #6 ---\www\applications\cms\sources\Pages\Page.php(2259): IPS\cms\Pages\_Page->getWidgets()
    #7 ---\www\applications\cms\modules\front\pages\page.php(116): IPS\cms\Pages\_Page->output()
    #8 ---\www\applications\cms\modules\front\pages\page.php(43): IPS\cms\modules\front\pages\_page->view()
    #9 ---\www\system\Dispatcher\Controller.php(101): IPS\cms\modules\front\pages\_page->manage()
    #10 --\www\applications\cms\modules\front\pages\page.php(33): IPS\Dispatcher\_Controller->execute()
    #11 --\www\system\Dispatcher\Dispatcher.php(152): IPS\cms\modules\front\pages\_page->execute()
    #12 --\www\index.php(13): IPS\_Dispatcher->run()
    #13 {main}

     

  9. v4.5.4.2 - исправил.

    Была проблема, когда вручную нужно было одобрять регистрацию пользователя.

    Таблица: core_statisticsid_00 - По умолчанию выставил NULL, и всё наладилось.

     

    Таблица: core_statistТаблица: core_statisticsics

  10. ·

    Edited by Ruskat

    Respected Сейчас его содержание такое:

    define( 'TEMP_DIRECTORY', dirname( __FILE__ ) . '/uploads' ); //Файл constants.php

    Физическое размещение папки uploads в папке, где стоит скрипт: S:\host\usr\site005\www-(папка со скриптом)\uploads

    Zero108 ВСЕ папки доступны для записи.

    О системе:

    Спойлер
    • PHP версия 7.1.10.
    •  cURL расширение загружено
    •  Multibyte String расширение загружено
    •  DOM расширение загружено
    •  GD расширение загружено
    •  MySQLi расширение загружено
    •  OpenSSL расширение загружено
    •  Session расширение загружено
    •  SimpleXML расширение загружено
    •  XML расширение загружено
    •  XMLReader расширение загружено
    •  XMLWriter расширение загружено
    •  Phar расширение загружено
    •  Zip расширение загружено
    •  Exif расширение загружено
    •  Лимит памяти 128 МБ.
    • MySQL версия 5.7.19-log.

    Путь кэша шаблонов на диске (F:\storage\site005\uploads - виртуальная папка в IIS): F:\storage\site005\uploads\tpl_cache

    Хранение данных:

    -Файловая система

    --Директория (со скриптом): S:\host\usr\site005\www/datastore

  11. Posted

    Собственно, имеется сайт версии 4.3.3.

    В Настройках хранения задал свои пути для хранения файлов статей и стилей.

    Спустя некоторое время и непонятно, почему всё сбрасывается на пути по умолчанию в файле, находящемся по пути datastore/settings.4e52a1ea3c.php.

    Почему так происходит и как это предотвратить не могу понять. Прошу помощи. Заранее благодарю.

  12. Posted

    Есть один интересный ресурс, называющийся 

    Цитата

    scribblemaps.com

    Его фишка в том,  что там можно рисовать на картах, устанавливать маркеры и много чего еще...

    В году 2015 как-то спарсил этот сервис под свои нужды, но в процессе переезда в другой дом диск, на котором всё это лежало просто перестал работать.

    Повторил труды снова....

    API:

    Цитата

    Карты пользователей ресурса:

    Цитата

    Можно спокойно встроить в IPS.  У меня сам скрипт лежит по пути (в папке) //сайт/scr/umaps/1.551f/

    В будущем реализую публикование в базе данных. 

    Из проблем сейчас - возможность группировать маркеры по группам... Как у них:

    Цитата

    Краткое описание основных файлов:

    cnf.php - Для задания/автоматизации настроек скрипта

    embed.php -  страница вставки карты на другой странице. Например в view.php. Пример: embed.php?ol&d&s&z&mc&l&gc&sc&width=100%&dfe&mt=true&height=100%&id=001 или просто embed.php?id=001

    view.php - страница вставки карты. Например view.php?id=001

    index.php - Главная страница со всем этим безобразием 🙂

    Кто может помочь в дальнейшем развитии - пожалуйста.

    Ни на что не претендую, никому не впариваю. Просто поделился.

    1.551f_27052020_3-11.7z

  13. 12 часов назад, Zero108 сказал:

    Есть два принципиально разных способа копания в настоящее время. Они приобрели чёткие границы, принципиальную разницу и значительное расстояние между собой, чтобы говорить, что ситуация не такая, как 10-15 лет назад. 

    1. Вам все настраивают, панели у вас нет. Чтобы настроить что-то еще вы платите еще раз.
    2. У вас есть панель ISP Lite (другие не рекомендую), которую просто установить (или немного заплатить за первичную настройку сервера - в пределах 80-100 USD). Далее вы просто ничего не ломаете, донастраиваете всё с минимальными знаниями в панели, так как панель сама подсказывает, какие настройки необходимы, много чего автоматизировано, например, получение и установка бесплатных сертификатов на домен от Let's Encrypt.

    Цитата

    ISPmanager работает с серверами:

    • Nginx версии не ниже 1.1.15,
    • Apache 2.2 и apache 2.4.

    Виндовые серванты в пролёте...

  14. 9 часов назад, Zero108 сказал:

    Ага, буду как негр копаться в синтаксисе всяких *.ini, *.conf и т.д. 

    Чисто ИМХО, но есть же "негры", которые в этом всём копаются.

    Даже купив готовый продукт (скрипт) иногда приходится стыкаться  с ошибками во время установки или эксплуатации. Потому, или сами копаетесь или платите тем, кто покопается за вас.

    shystrik 

     unexpected '?'...

    Вы может выложите файл init.php, или весь код с него, чтобы понять, в чём там проблема.

    Так же,  создайте файл с именем, например, phpinfo.php , или как-то ещё, и содержимым

    Цитата
    
    <?php
    // Показать всю информацию, по умолчанию INFO_ALL
    phpinfo();
    ?>

    чтобы сведения о PHP посмотреть.

  15. Posted

    Все наверное знают, что внутри системы IPS, при вставке ссылки на другую статью, будь то ссылка на тот же сайт или форум со ссылкой  с окончанием ?do=embed ссылка преобразуется в краткое содержимое.

    Где и как можно отредактировать параметры, чтобы при вставке ссылки, к примеру, на видео, сразу "iframeилась" отдельно назначенная страничка с плеером того же видео? 

  16. WaNted 

    1. Да, он говорит,что не может прочитать видео. Я полагаю, что этот код предназначен для последующей обработки в РНР или в местах, где нужны обратные слеши и где мультибайтовая кодировка нужна.
    2. Cинтаксис не тот получается.

    Примеры по формовке плейлистов JSON или XML есть здесь:

     

  17. WaNted Спасибо за ответ, но по ходу я что-то делаю не так...

    Файл  pls.php:

    Спойлер
    
    <?php
    /**
     * @package		Videos
     * @author		<a href='http://www.devfuse.com'>DevFuse</a>
     * @copyright	(c) 2015 DevFuse
     */
    namespace IPS\videos\modules\front\videos;
    /* To prevent PHP errors (extending class does not exist) revealing path */
    if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
    {
    	header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
    	exit;
    }
    /*** view*/
    class _pls extends \IPS\Content\Controller
    {
    	protected static $contentModel = 'IPS\videos\Video';       
    	/**
    	 * View Video Page	http://.../v/pls/53
    	 */
    	protected function manage()
    	{
    		$document = \IPS\Xml\Rss::newDocument( \IPS\Http\Url::internal( 'app=videos&module=videos&controller=pls', 'front', 'videos' ), \IPS\Member::loggedIn()->language()->get('latest_videos_main'), \IPS\Member::loggedIn()->language()->get('latest_videos_main') );
    		$video = \IPS\videos\Video::loadAndCheckPerms( \IPS\Request::i()->id ); 
    		$description = $video->description;
    		$title = $video->title;
    		$date = $video->date;
    		//$description = strip_tags($description); //	Чистимо опис від тегів
    		$description = str_replace(array("\r\n", "\r", "\n"), '',  strip_tags($description));
    		//$description = mb_strimwidth($description, 0, 10, "");
    		$description = preg_replace( '/"([^"]*)"/', "«$1»", $description );
    		//$title = mb_strimwidth($title, 0, 10, "");
    		//$title = trim($title, "\x00..\x1F");
    		$title = str_replace(array("\r\n", "\r", "\n", "\n"), '',  strip_tags($title));
    		$title = preg_replace( '/"([^"]*)"/', "«$1»", $title );
    		$vid = "http://сайт/путь к видео/video/files/".$video->video_data;
    		$img = "http://сайт/путь к видео/video/preview/".$video->thumbnail;
            \IPS\Output::i()->json( array(
            	'title'		    	=> $title,
            	'description'		=> $description,
            	'playlist' => array(
            		'title'			=> $title,
            		'mediaid'		=> $video->tid,
            		'link'			=> $video->url(),
            		'image'			=> $img,
            		'description'	=> $description,
            		'file'          => $vid
            	)
            ));
    	} 
    }

     

    Выхлоп:
     

    {"title":"\u0420\u0435\u0444\u043e\u0440\u043c\u0430 \u0432 \u043d\u0456\u043a\u0443\u0434\u0438 - 24.04.2020","description":"\t\u041c\u0435\u0434\u0438\u0447\u043d\u0430 \u00ab\u0440\u0435\u0444\u043e\u0440\u043c\u0430\u00bb \u043d\u0430 \u0432\u0435\u0441\u043d\u0456 2020 \u0440\u043e\u043a, \u0442\u0430 \u0449\u0435 \u0439 \u0432 \u043f\u0435\u0440\u0456\u043e\u0434 \u043f\u0430\u043d\u0434\u0435\u043c\u0456\u0457 COVID2019 \u043c\u043e\u0436\u043b\u0438\u0432\u043e \u0439 \u043f\u0440\u0438\u0437\u0432\u0430\u043d\u0430 \u043f\u043e\u043a\u0440\u0430\u0449\u0438\u0442\u0438 \u0434\u043e\u0431\u0440\u043e\u0431\u0443\u0442 \u043c\u0435\u0434\u0438\u043a\u0456\u0432 \u0442\u0430 \u0437\u0430\u043e\u0445\u043e\u0447\u0443\u0432\u0430\u0442\u0438 \u0457\u0445 \u0434\u043e \u0440\u043e\u0431\u043e\u0442\u0438 \u0442\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0456, \u0430\u043b\u0435 \u043f\u043e \u0444\u0430\u043a\u0442\u0443 - \u0432\u0456\u0434\u0431\u0438\u0432\u0430\u0454 \u043d\u0430\u0432\u0456\u0442\u044c \u0431\u0430\u0436\u0430\u043d\u043d\u044f \u00ab\u0441\u0432\u0456\u0442\u0438\u0442\u0438 \u0456\u043d\u0448\u0438\u043c\u00bb \u0447\u0435\u0440\u0435\u0437 \u0444\u0456\u043d\u0430\u043d\u0441\u043e\u0432\u0456 \u0432\u0438\u0440\u0430\u0445\u0443\u0432\u0430\u043d\u043d\u044f.","playlist":{"title":"\u0420\u0435\u0444\u043e\u0440\u043c\u0430 \u0432 \u043d\u0456\u043a\u0443\u0434\u0438 - 24.04.2020","mediaid":"45","link":"http:\/\/bsemd.in.ua\/videos\/v\/view\/45\/","image":"http:\/\/сайт\/путь\/video\/preview\/monthly_2020_04\/Krokus_24_04.2020_Reforma_v_nikudy.mp4_snapshot_01_44_946.jpg.9cb070a47af496bd5a4cbdf78f7acbe9.jpg","description":"\t\u041c\u0435\u0434\u0438\u0447\u043d\u0430 \u00ab\u0440\u0435\u0444\u043e\u0440\u043c\u0430\u00bb \u043d\u0430 \u0432\u0435\u0441\u043d\u0456 2020 \u0440\u043e\u043a, \u0442\u0430 \u0449\u0435 \u0439 \u0432 \u043f\u0435\u0440\u0456\u043e\u0434 \u043f\u0430\u043d\u0434\u0435\u043c\u0456\u0457 COVID2019 \u043c\u043e\u0436\u043b\u0438\u0432\u043e \u0439 \u043f\u0440\u0438\u0437\u0432\u0430\u043d\u0430 \u043f\u043e\u043a\u0440\u0430\u0449\u0438\u0442\u0438 \u0434\u043e\u0431\u0440\u043e\u0431\u0443\u0442 \u043c\u0435\u0434\u0438\u043a\u0456\u0432 \u0442\u0430 \u0437\u0430\u043e\u0445\u043e\u0447\u0443\u0432\u0430\u0442\u0438 \u0457\u0445 \u0434\u043e \u0440\u043e\u0431\u043e\u0442\u0438 \u0442\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0456, \u0430\u043b\u0435 \u043f\u043e \u0444\u0430\u043a\u0442\u0443 - \u0432\u0456\u0434\u0431\u0438\u0432\u0430\u0454 \u043d\u0430\u0432\u0456\u0442\u044c \u0431\u0430\u0436\u0430\u043d\u043d\u044f \u00ab\u0441\u0432\u0456\u0442\u0438\u0442\u0438 \u0456\u043d\u0448\u0438\u043c\u00bb \u0447\u0435\u0440\u0435\u0437 \u0444\u0456\u043d\u0430\u043d\u0441\u043e\u0432\u0456 \u0432\u0438\u0440\u0430\u0445\u0443\u0432\u0430\u043d\u043d\u044f.","file":"http:\/\/сайт\/путь\/video\/files\/monthly_2020_04\/Krokus_24_04.2020_Reforma_v_nikudy_900.webm.467c125080bed5ac030aaaba286004bb.webm"}}

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

  18. В общем, файл pls.php оставил при таком мнениии:

    <?php
    /**
     * @package		Videos
     * @author		<a href='http://www.devfuse.com'>DevFuse</a>
     * @copyright	(c) 2015 DevFuse
     */
    namespace IPS\videos\modules\front\videos;
    /* To prevent PHP errors (extending class does not exist) revealing path */
    if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
    {
    	header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0' ) . ' 403 Forbidden' );
    	exit;
    }
    /*** view*/
    class _pls extends \IPS\Content\Controller
    {
    	/**
    	 * [Content\Controller]	Class
    	 */
    	protected static $contentModel = 'IPS\videos\Video';       
    	/**
    	 * View Video Page	http://.../v/pls/53
    	 *
    	 * @return	void
    	 */
    	protected function manage()
    	{
    		$document = \IPS\Xml\Rss::newDocument( \IPS\Http\Url::internal( 'app=videos&module=videos&controller=pls', 'front', 'videos' ), \IPS\Member::loggedIn()->language()->get('latest_videos_main'), \IPS\Member::loggedIn()->language()->get('latest_videos_main') );
    		$video = \IPS\videos\Video::loadAndCheckPerms( \IPS\Request::i()->id ); 
    		$description = $video->description;
    		$title = $video->title;
    		$date = $video->date;
    		//$description = strip_tags($description); //	Чистимо опис від тегів
    		$description = str_replace(array("\r\n", "\r", "\n"), '',  strip_tags($description));
    		//$description = mb_strimwidth($description, 0, 10, "");
    		$description = preg_replace( '/"([^"]*)"/', "«$1»", $description );
    		$title = str_replace(array("\r\n", "\r", "\n", "\n"), '',  strip_tags($title));
    		$title = preg_replace( '/"([^"]*)"/', "«$1»", $title );
    		
    		$document = '[{"file":"'.$video->video_data.'","image":"'.$video->thumbnail.'","title":"'.$title.'","description":"'.$description.'","mediaid":"'.$video->tid.'"}]'; // http://json.parser.online.fr/
    		\IPS\Output::i()->sendOutput( $document, 200, 'text/json' ); 
    	} 
    }

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

  19. 26 минут назад, WaNted сказал:
    
    \IPS\Output::i()->json( array() );

    Заполните массив значениями. У Вас невалидный json.

    Сделал по вашему примеру: \IPS\Output::i()->json( array($document) ); - окантовалось квдратными скобками. Вот тут уже я не знаю, как правильно организовать по подобию оригинального плейлиста, но под свои нужды.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.