/**
  * Сохранение пункта меню
  */
 public function actionSaveItem()
 {
     if (!CSession::isAuth()) {
         $this->redirectNoAccess();
     }
     $item = new CMenuItem();
     $item->setAttributes(CRequest::getArray(CMenuItem::getClassName()));
     if ($item->validate()) {
         $item->save();
         // сохранение ролей. удаляем старые, записываем новые
         foreach (CActiveRecordProvider::getWithCondition(TABLE_MENU_ITEMS_ACCESS, "item_id = " . $item->id)->getItems() as $val) {
             $val->remove();
         }
         // делаем новые и сохраняем их
         $items = CRequest::getArray(CMenuItem::getClassName());
         if (array_key_exists("roles", $items)) {
             foreach ($items["roles"] as $role) {
                 $r = new CMenuItemRole();
                 $r->item_id = $item->id;
                 $r->role_id = $role;
                 $r->save();
             }
         }
         $this->redirect("?action=view&id=" . $item->getMenu()->getId());
     }
     $this->setData("item", $item);
     $this->setData("menu", CMenuManager::getMenu(CRequest::getInt("menu_id", CMenuItem::getClassName())));
     $this->renderView("_menumanager/editItem.tpl");
 }