vladimir6333

vladimir6333

+4
Репутация
8
Рейтинг
#1 Добавить в результаты поиска картинку и цену 28 марта 2024 в 22:17

В версии Instant 1.9 нет возможности настроить через админ-панель.

Полина Емелина

А что, обновиться не судьба?

#2 Уведомления Notice 21 марта 2024 в 13:16

Какие уведомления?

#3 [ЕСТЬ РЕШЕНИЕ] Сколько времени пользователь на сайте 14 марта 2024 в 22:26

Хорошее решение. Я не знал, что так можно.

#4 [ЕСТЬ РЕШЕНИЕ] Сколько времени пользователь на сайте 13 марта 2024 в 21:23

Нужно вносить изменения в экшен profile.php  в компоненте узерс

Добавлено спустя 6 минут

После строки:

        // Формируем метатеги
        $meta_profile = $this->prepareItemSeo($profile, $fields, ['name' => 'users']);

вставляешь приблизительно такое:

        if($this->cms_user->is_admin){$sys_fields['hostname'] =  ['title' => 'Домен', 'text' => gethostbyaddr($sys_fields['ip']['text']) ];}    

#5 [ЕСТЬ РЕШЕНИЕ] Разрешение писать на стене пользователя 12 марта 2024 в 14:57

Это пользователь решает при редактировании своего профиля.

#6 [ЗАКРЫТО] Загрузка изображений 11 марта 2024 в 08:42

Спасибо. Попробую.

Добавлено спустя 16 часов

Как я понял, вы собираетесь спарсенные данные сохранить в новости?

$src = $_SESSION['article']['img']['src']; тут у вас храниться полная ссылка на фото?

Далее вам надо

My-InstantCMS.Ru

Сохраняю спарсенные данные в новости, а на странице просмотра фото выводится 64*64. Почему не берется из папки для conten_item? https://my-addons.ru/news/37-podschitana-vygoda-rossii-ot-perenapravlenija-postavok-syrja.html

Добавлено спустя 1 минуту

Создаются такие пути: ---
content_item: 000/u1/3/c/3cd440af.webp
content_list: 000/u1/b/2/d61b4be7.webp
content_list_small: 000/u1/7/f/84add62f.webp
small: 000/u1/5/d/8cbb7312.jpg

Добавлено спустя 1 минуту

Код экшена такой: 

  1. <?php
  2.  
  3. class actionParsingrssSaveNew extends cmsAction{
  4.  
  5. public function run(){
  6.  
  7. $h1 = $_SESSION['article']['h1'];
  8. $src = $_SESSION['article']['img']['src'];
  9. $text = $_SESSION['article']['p'];
  10. $h = explode('/', $src);
  11. $file_name = $h[count($h) - 1];
  12.  
  13. //=====================================================
  14. $_POST['photo'] = $src;
  15.  
  16. $this->cms_uploader->enableRemoteUpload()->setAllowedMime([
  17. 'image/jpeg',
  18. 'image/png',
  19. 'image/gif',
  20. 'image/webp'
  21. ]);
  22. $result = $this->cms_uploader->upload('photo');
  23. //print_r($result);
  24. //die();
  25.  
  26. if ($result['success']) {
  27. try {
  28. $image = new cmsImages($result['path']);
  29. } catch (Exception $exc) {
  30. $result['success'] = false;
  31. $result['error'] = LANG_UPLOAD_ERR_MIME;
  32. }
  33. }
  34. if (!$result['success']) {
  35. if (!empty($result['path'])) {
  36. files_delete_file($result['path'], 2);
  37. }
  38. $src = null;
  39. } else {
  40. $sizes = ['content_item', 'content_list', 'content_list_small', 'small'];
  41. $result['paths'] = [];
  42. $file_context = [
  43. 'target_controller' => 'content',
  44. 'target_subject' => 'news',
  45. 'target_id' => null
  46. ];
  47. $presets = $this->model_images->orderByList([
  48. ['by' => 'is_square', 'to' => 'asc'],
  49. ['by' => 'width', 'to' => 'desc']
  50. ])->getPresets();
  51. foreach ($presets as $p) {
  52.  
  53. if (!in_array($p['name'], $sizes, true)) {
  54. continue;
  55. }
  56.  
  57. $resized_path = $image->resizeByPreset($p);
  58.  
  59. if (!$resized_path) {
  60. continue;
  61. }
  62.  
  63. $result['paths'][$p['name']] = $resized_path;
  64. //print_r($resized_path);
  65. //die();
  66.  
  67. if ($file_context['target_controller']) {
  68. $this->controller_images->registerUploadFile($file_context);
  69. }
  70.  
  71. $this->controller_images->registerFile(['path' => $resized_path]);
  72. }
  73. //Удаляем или регистрируем оригинал
  74. if (!in_array('original', $sizes, true)) {
  75.  
  76. files_delete_file($result['path'], 2);
  77.  
  78. } else {
  79.  
  80. if ($file_context['target_controller']) {
  81. $this->registerUploadFile($file_context);
  82. }
  83.  
  84. $this->registerFile(['path' => $result['url']]);
  85. }
  86. $src = $result['paths'];
  87. }
  88. $content = cmsCore::getController('content');
  89. $content->request->set('csrf_token', cmsForm::getCSRFToken());
  90. $content->request->set('photo', $src);
  91. $content->request->set('category_id', 3);
  92. $content->request->set('is_private', 0);
  93. $content->request->set('date_pub', $today);
  94. $content->request->set('title', $h1);
  95. $content->request->set('teaser', $h1);
  96. $content->request->set('submit', 'Сохранить');
  97. $content->request->set('ctype_name', 'news');
  98. $content->request->set('is_comments_on', 1);
  99. $content->request->set('is_pub', 1);
  100. $content->request->set('content', $text);
  101. //$content->request->set('back', $_SERVER['HTTP_REFERER']);
  102. $content->runAction('item_add');
  103.  
#7 [ЗАКРЫТО] Загрузка изображений 10 марта 2024 в 13:20
  1. <?php
  2.  
  3. class actionParsingrssSaveNew extends cmsAction{
  4.  
  5. public function run(){
  6.  
  7. $h1 = $_SESSION['article']['h1'];
  8. $src = $_SESSION['article']['img']['src'];
  9. $text = $_SESSION['article']['p'];
  10. $h = explode('/', $src);
  11. $file_name = $h[count($h) - 1];
  12.  
  13. //Создаем дирректорию для сохранения файла
  14. $dest_dir = files_get_upload_dir($this->cms_user->id);
  15. //$presets = cmsCore::getModel('images')->getPresets();
  16.  
  17. //$dest_dir = $images->resizeByPreset($presets, $src, $this->cms_user->id);
  18. $h = explode('/', $dest_dir);
  19.  
  20. $dir2 = $h[count($h) - 2];
  21. $dir3 = $h[count($h) - 3];
  22. $dir4 = $h[count($h) - 4];
  23. $dir5 = $h[count($h) - 5];
  24.  
  25. //print_r('"'.$dir5.'/'.$dir4.'/'.$dir3.'/'.$dir2.'/'.$file_name.'"');
  26. //die();
  27. //Сохраняем удаленно расположенный файл в созданную дирректорию
  28. $success = file_save_from_url($src, $dest_dir . $file_name);
  29.  
#8 [ЗАКРЫТО] Загрузка изображений 10 марта 2024 в 12:55

Загрузки фото добился. Теперь не понятно, как нормализовать фото перед загрузкой. Какая функция за это отвечает. :(

Добавлено спустя 15 часов

На сервер, это куда? И как?

Lora

Это по адресу, который формирует эта функция :$dest_dir = files_get_upload_dir($this->cms_user->id);

Какую надо использовать функцию для создания пресетов перед загрузкой в папку?

#1 [ЗАКРЫТО] Загрузка изображений 9 марта 2024 в 16:40

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

---
content_item: >
  parsingrss/owl_detail_240_0454112eff6cad98b336c321e845148a.jpg
content_list: >
  parsingrss/owl_detail_240_0454112eff6cad98b336c321e845148a.jpg
content_list_small: >
  parsingrss/owl_detail_240_0454112eff6cad98b336c321e845148a.jpg
small: >
  parsingrss/owl_detail_240_0454112eff6cad98b336c321e845148a.jpg

чтобы записать в таблицу con_news ?

#10 Помогите расшифровать Fatal error: 26 сентября 2023 в 22:37

Пишет, что пытаются загрузить неподдерживаемый тип файла. В компоненте «Парсер контента» есть настройки по ограничению загружаемых типов?

#11 [ЗАКРЫТО] Дублирующаяся запись в таблице controllers при инсталляции пакета 24 сентября 2023 в 22:47

Так я перед вторичной установкой в базе все подчистил.

Добавлено спустя 29 минут

Обратите внимание, что в версиях InstantCMS выше 2.3.0 в этом файле нет необходимости писать sql запросы, добавляющие записи в таблицы cms_widgets и cms_controllers, достаточно указать в файле манифеста тип дополнения. При установке дополнения движок сам добавит нужные записи в эти таблицы на основе данных в файле манифеста и далее автоматически будет следить за версионностью при установке пакетов обновлений. 

Вот в чем проблема. Одну строку в таблице добавлял я, а вторую — система. Всем спасибо.

#12 [ЗАКРЫТО] Дублирующаяся запись в таблице controllers при инсталляции пакета 24 сентября 2023 в 21:40
  1. <?php
  2.  
  3. function install_package(){
  4. return true;
  5. }
  6.  
  7. ?>
Добавлено спустя Только что
  1. [info]
  2. title = "Агрегатор новостей"
  3. image = "agregatornew.gif"
  4.  
  5. [version]
  6. major = "1"
  7. minor = "0"
  8. build = "0"
  9. date = "20230719"
  10.  
  11. [author]
  12. name = "vladimir"
  13. url = "https://my-addons.ru/"
  14. email = vladimir6333@gmail.com
  15.  
  16. [install]
  17. type = "component"
  18. name = "parsingrss"
  19.  
  20.  
  21. [description]
  22. text[] = "Агрегатор новостей - компонент, с помощью которого можно"
  23. text[] = "просматривать новости различных медийных изданий,"
  24. text[] = "не переходя на сайт-источник."
  25.  
  26. [depends]
  27. core = "2.16.1"
#1 [ЗАКРЫТО] Дублирующаяся запись в таблице controllers при инсталляции пакета 24 сентября 2023 в 21:22

Всем привет. Кто-нибудь сталкивался с проблемой повторяющейся записи при установке компонента? Какие могут быть причины?

#14 "Фантомные" уведомления: как убрать? 22 сентября 2023 в 11:10

Смотрите таблицы: moderators_logs и moderators_tasks.

#15 Как в Биллинге разделить бонусные начисления и реальные деньги? 21 сентября 2023 в 18:33

Закрытость кода дает некоторое преимущество в этом плане

Loadырь

Вряд ли теперь кто-нибудь купит биллинг с закрытым кодом.

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.