Maison  >  Article  >  Tutoriel CMS  >  Que dois-je faire si phpcms ne peut pas supprimer une colonne ?

Que dois-je faire si phpcms ne peut pas supprimer une colonne ?

藏色散人
藏色散人original
2020-07-21 09:22:022294parcourir

phpcms ne peut pas supprimer la colonne car l'administrateur du site n'a pas l'autorisation de supprimer la colonne. La solution : recherchez et ouvrez d'abord le fichier "admin.class.php" puis ajoutez l'autorisation de suppression de l'administrateur du site. la colonne ; la modification finale du fichier "category.php" suffit.

Que dois-je faire si phpcms ne peut pas supprimer une colonne ?

phpcms ne peut pas supprimer les colonnes ? L'administrateur du site PHPCMS n'a pas l'autorisation de supprimer les colonnes

phpcms V9 sauf super administrateur , les autres administrateurs n'ont pas le pouvoir de supprimer ou de modifier des colonnes. Cela peut être un bug dans le système.

Analyse :

PHPCMS v9 juge uniquement les autorisations enregistrées dans la table admin_role_priv lors de l'évaluation des autorisations. C'est-à-dire les « paramètres d'autorisation » que nous effectuons lors de la configuration des rôles, quelles que soient les « autorisations de colonne » que nous définissons. Il ressort de admin:check_priv() que cette méthode ne prend pas en compte les autorisations de colonne. Ainsi, lorsque nous nous connectons en utilisant une gestion non super, si nous modifions ou supprimons une colonne, nous serons invités avec le message "Vous n'êtes pas autorisé à utiliser cet élément".

Emplacement : phpcms/modules/admin/classes/admin.class.php

Recommandé : "Tutoriel phpcms"

Solution :

1. Recherchez /phpcms/modules/admin/classes/admin.class.php, recherchez

$r =$privdb->get_one(array('m'=>ROUTE_M,'c'=>ROUTE_C,'a'=>$action,'roleid'=>$_SESSION['roleid'],'siteid'=>$siteid));

dedans, probablement à la ligne 177, puis ajoutez :

//添加站点管理员的删除栏目权限 by:醒木
if(ROUTE_C == 'category'){
$catid = $_GET['catid'] ? $_GET['catid'] : $_POST['catid'];
//获取角色当前权限设置
pc_base::load_app_class('role_cat', '', 0);
$priv = role_cat::get_roleid($_SESSION['roleid'], $siteid);
if($priv[$catid][$action]) $r = true;
}
sous la phrase

Que dois-je faire si phpcms ne peut pas supprimer une colonne ?

2. Recherchez

foreach ($arrchildid_arr as $arr_v) {
$this->update_priv($arr_v, $_POST['priv_groupid'], 0);
}

dans /phpcms/modules/admin/category.php et remplacez-le par :

foreach ($arrchildid_arr as $arr_v) {
$this->update_priv($arr_v, $_POST['priv_roleid']); //添加站点管理员的删除栏目权限 by:醒木
$this->update_priv($arr_v, $_POST['priv_groupid'], 0);
}

Que dois-je faire si phpcms ne peut pas supprimer une colonne ?

Astuce :

N'oubliez pas de vérifier l'autorisation correspondante de suppression des marchandises lors de l'ajout de la colonne de modification des marchandises.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn