webasyst позволяем определенному пользователю доступ только к определенной категорие
выполняем в БД подразумеваеться что всекто не состоят в первой группе
будут видеть только ту категорию в которой прописан его ИД
ALTER TABLE `SC_categories` ADD `cat_acces` TEXT NOT NULL
В файле /published/SC/html/scripts/templates/backend/category.html после блока
<tr>
<td>{lbl_catset_slug}</td>
<td><input name=»slug» value=»{$CategoryInfo.slug|escape:’html’}» type=»text» style=»width:350px;» /></td>
</tr>
добавляем окно назначени прав категориям поле показуем только 1 группе
{if in_array(1, $grupp_id)}
<tr>
<td>через запятую права доступа</td>
<td> {foreach from=$users_id item=_users_id}{$_users_id}, {/foreach} <input name=»cat_acces» value=»{$CategoryInfo.cat_acces|escape:’html’}» type=»text» style=»width:350px;» /></td>
</tr>
{/if}
в файл
/published/SC/html/scripts/classes/class.category.php
после
var $slug;
добавляем
var $cat_acces;
в файл
/published/SC/html/scripts/index.php
после
if(is_object($currencyEntry)){
$smarty->assign(‘current_currency_js’, $currencyEntry->getJSCurrencyInstance());
}
добавляем
(выводим ИДы всех пользователей по факту можнобыло поиграть с JS (но сейчас не охота), для того чтоб пользователь админ мог скопировать нужный ИД.)
$result=mysql_query(‘SELECT * FROM `WBS_USER`’);
$users_id=array();
while($row=mysql_fetch_array($result))
{
$users_id[]=$row[‘U_ID’];
}
$smarty->assign(‘users_id’, $users_id);
$smarty->assign(‘user_id’, $_SESSION[‘__WBS_SC_DATA’][«U_ID»]);
$smarty->assign(‘grupp_id’, $_SESSION[‘__WBS_SC_DATA’][UG_IDs]);
в файле
/published/SC/html/scripts/core_finctions/category_functions.php
меняем начало функции _recursiveGetCategoryCList
function _recursiveGetCategoryCList( $parent, $level, $expandedCategoryID_Array, $_indexType = ‘NUM’, $_countEnabledProducts = false )
{
$adm=(in_array (1, $_SESSION[‘__WBS_SC_DATA’][UG_IDs])?1:0);
$name = LanguagesManager::sql_prepareField(‘name’, true);//, `id_quickbooks`
$sql = <<<SQL
SELECT `categoryID`, {$name}, `products_count`, `cat_acces`,`products_count_admin`, `parent`, `id_1c`
FROM `?#CATEGORIES_TABLE`
WHERE `parent`=? AND( `cat_acces` like(‘%{$_SESSION[‘__WBS_SC_DATA’][«U_ID»]}%’) OR {$adm}=1 OR {$level}>0 )
ORDER BY `sort_order`, `name`
SQL;