CMS  Version 3.9
menu_move_form.inc File Reference

Go to the source code of this file.

Functions

 UpdateRolesToMatchNewParent ($form)
 
 getRoleDiff ($string1, $string2)
 
 updateChildRoles ($menuItem, $tobeRemovedRoles)
 
 getChildMenuItems ($menuItem, &$childPages)
 

Variables

 $menu_item_id = checkNumeric($_GET["menu_item_id"])
 
 $parent_id = checkNumeric($_GET["parent_id"])
 
 $menuItem = new MenuItem()
 
if($menu_item_id) else
 
 $form = new AutoForm($menuItem)
 
$form onSaveComplete = UpdateRolesToMatchNewParent
 
 $redirect = "/admin/menu_item_form?menu_item_id={$menu_item_id}&parent_id={$parent_id}"
 
 $menuItems
 
 $menuItemTree = new TreeControl("parent_id")
 
$menuItemTree width = 500
 
$menuItemTree height = 280
 
$menuItemTree selectMode = "single"
 
if($method=="POST") if(count($menuItems) > 0) $treeSelect = new TreeSelectFieldRenderer($form, "parent_id", $menuItemTree)
 
 $script = "<link type='text/css' rel='stylesheet' href='/css/tree.css'/>"
 

Function Documentation

◆ getChildMenuItems()

getChildMenuItems (   $menuItem,
$childPages 
)

Definition at line 207 of file menu_move_form.inc.

208 {
209  $children = $menuItem->Children();
210 
211  if($children)
212  {
213  foreach($children as $child)
214  {
215  array_push($childPages, $child);
216  getChildPages($child, $childPages);
217  }
218  }
219 
220  return $childPages;
221 }
$menuItem

◆ getRoleDiff()

getRoleDiff (   $string1,
  $string2 
)

Definition at line 164 of file menu_move_form.inc.

165 {
166  $in1Not2 = array();
167 
168  if($string1 != $string2)
169  {
170  $roles1 = ($string1) ? explode(",", $string1) : array();
171  $roles2 = ($string2) ? explode(",", $string2) : array();
172 
173  // get roles that are in roles1 but not in roles2
174  $in1Not2 = array_diff($roles1, $roles2);
175  }
176 
177  return $in1Not2;
178 }

◆ updateChildRoles()

updateChildRoles (   $menuItem,
  $tobeRemovedRoles 
)

Definition at line 181 of file menu_move_form.inc.

182 {
183  if(count($tobeRemovedRoles) > 0)
184  {
185  $childPages = array();
186  $childPages = getChildMenuItems($menuItem, $childPages);
187  foreach($tobeRemovedRoles as $oldRole)
188  {
189  foreach($childPages as $child)
190  {
191  $child->role = preg_replace("/$oldRole,*/", "", $child->role);
192  $child->filter = new InclusionFilter("role");
193 
194  // remove comma as first char, if it exists
195  $child->role = preg_replace("/^,*/", "", $child->role);
196  $child->save();
197  }
198  }
199  }
200 }
getChildMenuItems($menuItem, &$childPages)

◆ UpdateRolesToMatchNewParent()

UpdateRolesToMatchNewParent (   $form)

Definition at line 150 of file menu_move_form.inc.

151 {
152  $menuItem = $form->data;
153  $parent = $menuItem->Parent();
154 
155  $tobeRemoved = getRoleDiff($menuItem->role, $parent->role);
156 
157  updateChildRoles($menuItem, $tobeRemoved);
158 }
$parent
Definition: templates.inc:42
getRoleDiff($string1, $string2)
updateChildRoles($menuItem, $tobeRemovedRoles)

Variable Documentation

◆ $form

$form = new AutoForm($menuItem)

Definition at line 67 of file menu_move_form.inc.

◆ $menu_item_id

$menu_item_id = checkNumeric($_GET["menu_item_id"])

Definition at line 52 of file menu_move_form.inc.

◆ $menuItem

$menuItem = new MenuItem()

Definition at line 55 of file menu_move_form.inc.

◆ $menuItems

$menuItems
Initial value:
= Query::create(MenuItem, "WHERE menu_id=:m ORDER BY sort_order")
->bind(":m", $menuItem->menu_id)
->execute()

Definition at line 79 of file menu_move_form.inc.

◆ $menuItemTree

$menuItemTree = new TreeControl("parent_id")

Definition at line 83 of file menu_move_form.inc.

◆ $parent_id

$parent_id = checkNumeric($_GET["parent_id"])

Definition at line 53 of file menu_move_form.inc.

◆ $redirect

$redirect = "/admin/menu_item_form?menu_item_id={$menu_item_id}&parent_id={$parent_id}"

Definition at line 73 of file menu_move_form.inc.

◆ $script

$script = "<link type='text/css' rel='stylesheet' href='/css/tree.css'/>"

Definition at line 137 of file menu_move_form.inc.

◆ $treeSelect

if ( $method=="POST") if (count( $menuItems) > 0) $treeSelect = new TreeSelectFieldRenderer($form, "parent_id", $menuItemTree)

Definition at line 133 of file menu_move_form.inc.

◆ else

if ( $menu_item_id) else
Initial value:
{
redirect("menus")

Definition at line 62 of file menu_move_form.inc.

◆ height

$menuItemTree height = 280

Definition at line 85 of file menu_move_form.inc.

◆ onSaveComplete

$form onSaveComplete = UpdateRolesToMatchNewParent

Definition at line 71 of file menu_move_form.inc.

◆ selectMode

$menuItemTree selectMode = "single"

Definition at line 86 of file menu_move_form.inc.

◆ width

$menuItemTree width = 500

Definition at line 84 of file menu_move_form.inc.