Ejemplo n.º 1
0
 private function postMenu($request)
 {
     $title = $request->getVar('title');
     $template = $request->getVar('template');
     $menu = new Menu_Item($request->getVar('menu_id'));
     if ($request->isVar('assoc_key')) {
         $assoc_key = $request->getVar('assoc_key');
     } elseif ($menu->assoc_key) {
         $assoc_key = $menu->assoc_key;
     } else {
         $assoc_key = 0;
     }
     if ($request->isVar('assoc_url')) {
         $assoc_url = trim(strip_tags($request->getVar('assoc_url')));
     }
     if ($request->isVar('carousel_slide')) {
         $carousel = trim(strip_tags($request->getVar('carousel_slide')));
     }
     $menu->setTitle($title);
     $menu->setTemplate($template);
     $menu->assoc_url = null;
     $menu->assoc_key = 0;
     if ($assoc_key) {
         $key = new \Key($assoc_key);
         if ($key->module == 'pagesmith') {
             $db = \Database::newDB();
             $t1 = $db->addTable('access_shortcuts');
             $t1->addFieldConditional('url', 'pagesmith:' . $key->item_id);
             $t1->addFieldConditional('active', '1');
             $access = $db->selectOneRow();
             if (!empty($access)) {
                 $menu->assoc_url = './' . $access['keyword'];
             }
         }
         $menu->setAssocKey($assoc_key);
     } elseif (!empty($assoc_url)) {
         $menu->setAssocUrl($assoc_url);
     }
     if ($request->isUploadedFile('assoc_image')) {
         $menu->deleteImage();
         $file = $request->getUploadedFileArray('assoc_image');
         $file_name = randomString(12) . '.' . str_replace('image/', '', $file['type']);
         \PHPWS_File::fileCopy($file['tmp_name'], 'images/menu/', $file_name, false, true);
         \PHPWS_File::makeThumbnail($file_name, 'images/menu/', 'images/menu/', 200);
         $menu->setAssocImage('images/menu/' . $file_name);
     } elseif (!empty($carousel)) {
         $menu->deleteImage();
         $ext = \PHPWS_File::getFileExtension($carousel);
         $file_name = randomString(12) . '.' . str_replace('image/', '', $ext);
         \PHPWS_File::fileCopy($carousel, 'images/menu/', $file_name, false, true);
         \PHPWS_File::makeThumbnail($file_name, 'images/menu/', 'images/menu/', 200);
         $menu->setAssocImage('images/menu/' . $file_name);
     }
     $menu->save();
 }