Добавление иконки в категорию статей для 1.10.6 - есть ли решение?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 1.X
#1 15 октября 2018 в 10:35
Есть ли решение?
Нашел тему — /blogs/kak-to-tak/dobavlenie-ikonki-v-kategoriyu-statei.html Но не работает на последней версии.
Можно сделать конечно обычным способом, с помощью шаблона для каждой категории и туда прописать вывод фото. Но хотелось бы по удобному через админку)
#2 15 октября 2018 в 10:52
В начале заливал файл cats, сейчас взял его из последней версии и внес все рекомендуемые правки. В итоге заработало.
Сам файл -

  1.  
  2. <?php
  3. /******************************************************************************/
  4. // //
  5. // InstantCMS v1.10.6 //
  6. // / //
  7. // //
  8. // written by InstantCMS Team, 2007-2015 //
  9. // produced by InstantSoft, (www.instantsoft.ru) //
  10. // //
  11. // LICENSED BY GNU/GPL v2 //
  12. // //
  13. /******************************************************************************/
  14.  
  15. function createMenuItem($menu, $id, $title){
  16.  
  17. $inCore = cmsCore::getInstance();
  18. $inDB = cmsDatabase::getInstance();
  19.  
  20. $rootid = $inDB->getNsRootCatId('cms_menu');
  21.  
  22. $ns = $inCore->nestedSetsInit('cms_menu');
  23. $myid = $ns->AddNode($rootid);
  24.  
  25. $link = $inCore->getMenuLink('category', $id);
  26.  
  27. $sql = "UPDATE cms_menu
  28. SET menu='$menu',
  29. title='$title',
  30. link='$link',
  31. linktype='category',
  32. linkid='$id',
  33. target='_self',
  34. published='1',
  35. template='0',
  36. access_list='',
  37. iconurl=''
  38. WHERE id = '$myid'";
  39.  
  40. $inDB->query($sql);
  41. return true;
  42. }
  43.  
  44. function applet_cats(){
  45.  
  46. $inCore = cmsCore::getInstance();
  47. $inDB = cmsDatabase::getInstance();
  48.  
  49. global $_LANG;
  50.  
  51. $GLOBALS['cp_page_title'] = $_LANG['AD_ARTICLES'] ;
  52. cpAddPathway($_LANG['AD_ARTICLES'], 'index.php?view=tree');
  53.  
  54. cmsCore::loadModel('content');
  55. $model = new cms_model_content();
  56.  
  57. $do = cmsCore::request('do', 'str', 'add');
  58. $id = cmsCore::request('id', 'int', -1);
  59.  
  60. define('IS_BILLING', $inCore->isComponentInstalled('billing'));
  61. if (IS_BILLING) { cmsCore::loadClass('billing'); }
  62.  
  63. if ($do == 'delete'){
  64. $is_with_content = cmsCore::inRequest('content');
  65. $model->deleteCategory($id, $is_with_content);
  66. cmsCore::addSessionMessage(($is_with_content ? $_LANG['AD_CATEGORY_REMOVED'] : $_LANG['AD_CATEGORY_REMOVED_NOT_ARTICLE']), 'success');
  67. cmsCore::redirect('?view=tree');
  68. }
  69.  
  70. if ($do == 'update'){
  71.  
  72. if (!cmsUser::checkCsrfToken()) { cmsCore::error404(); }
  73.  
  74. $category['id'] = cmsCore::request('id', 'int', 0);
  75. $category['title'] = cmsCore::request('title', 'str', $_LANG['AD_SECTION_UNTITLED']);
  76. $category['parent_id'] = cmsCore::request('parent_id', 'int');
  77. $category['description'] = cmsCore::request('description', 'html');
  78. $category['description'] = $inDB->escape_string($category['description']);
  79. $category['published'] = cmsCore::request('published', 'int', 0);
  80. $category['showdate'] = cmsCore::request('showdate', 'int', 0);
  81. $category['showcomm'] = cmsCore::request('showcomm', 'int', 0);
  82. $category['orderby'] = cmsCore::request('orderby', 'str');
  83. $category['orderto'] = cmsCore::request('orderto', 'str');
  84. $category['modgrp_id'] = cmsCore::request('modgrp_id', 'int', 0);
  85. $category['maxcols'] = cmsCore::request('maxcols', 'int', 0);
  86. $category['showtags'] = cmsCore::request('showtags', 'int', 0);
  87. $category['showrss'] = cmsCore::request('showrss', 'int', 0);
  88. $category['showdesc'] = cmsCore::request('showdesc', 'int', 0);
  89. $category['is_public'] = cmsCore::request('is_public', 'int', 0);
  90. $category['url'] = cmsCore::request('url', 'str');
  91. $category['pagetitle'] = cmsCore::request('pagetitle', 'str', '');
  92. $category['meta_desc'] = cmsCore::request('meta_desc', 'str');
  93. $category['meta_keys'] = cmsCore::request('meta_keys', 'str');
  94.  
  95. if ($category['url']) { $category['url'] = cmsCore::strToURL($category['url'], $model->config['is_url_cyrillic']); }
  96. $category['tpl'] = cmsCore::request('tpl', 'str', 'com_content_view.tpl');
  97.  
  98. $category['cost'] = cmsCore::request('cost', 'str', '');
  99. if (!is_numeric($category['cost'])) { $category['cost'] = ''; }
  100. ////////////////////////////////////// /
  101. $category['delicon'] = $inCore->request('delicon', 'int');
  102. if ($category['delicon']) {$category['icon']='';}
  103.  
  104. if (isset($_FILES["imgfile"]["name"]) && @$_FILES["imgfile"]["name"]!=''){
  105.  
  106. $tmp_name = $_FILES["imgfile"]["tmp_name"];
  107. $file = $_FILES["imgfile"]["name"];
  108. $path_parts = pathinfo($file);
  109. $ext = $path_parts['extension'];
  110. if(mb_strstr($ext, 'php')) { die(); }
  111. $file = md5($file.time()).'.'.$ext;
  112.  
  113. if (@move_uploaded_file($tmp_name, PATH."/images/photos/icons/$file")){
  114.  
  115. $category['icon'] = $file;
  116.  
  117. } else { $msg = 'Ошибка загрузки изображения!'; }
  118. }
  119.  
  120.  
  121.  
  122. ////////////////////////////////////// /
  123. $album = array();
  124. $album['id'] = cmsCore::request('album_id', 'int', 0);
  125. $album['header'] = cmsCore::request('album_header', 'str', '');
  126. $album['orderby'] = cmsCore::request('album_orderby', 'str', '');
  127. $album['orderto'] = cmsCore::request('album_orderto', 'str', '');
  128. $album['maxcols'] = cmsCore::request('album_maxcols', 'int', 0);
  129. $album['max'] = cmsCore::request('album_max', 'int', 0);
  130.  
  131. if($album['id']){
  132. $category['photoalbum'] = serialize($album);
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.