/** * Add file for the image manager */ function imanager_addfile() { if (!empty($_POST)) foreach ($_POST as $k => $v) ${$k} = StopXSS($v); if (!icms::$security->check()) { redirect_header($_SERVER['SCRIPT_NAME'] . '?op=list&target=' . $target . '&type=' . $type, 3, implode('<br />', icms::$security->getErrors())); } $imgcat_handler = icms::handler('icms_image_category'); $imagecategory =& $imgcat_handler->get($imgcat_id); if (!is_object($imagecategory)) { redirect_header($_SERVER['SCRIPT_NAME'] . '?op=list&target=' . $target . '&type=' . $type, 1); } $categ_path = $imgcat_handler->getCategFolder($imagecategory); if ($imagecategory->getVar('imgcat_storetype') == 'db') { $updir = ICMS_IMANAGER_FOLDER_PATH; } else { $updir = $categ_path; } $uploader = new icms_file_MediaUploadHandler($updir, array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png', 'image/png', 'image/bmp'), $imagecategory->getVar('imgcat_maxsize'), $imagecategory->getVar('imgcat_maxwidth'), $imagecategory->getVar('imgcat_maxheight')); $uploader->setPrefix('img'); $err = array(); $ucount = count($_POST['xoops_upload_file']); for ($i = 0; $i < $ucount; $i++) { if ($uploader->fetchMedia($_POST['xoops_upload_file'][$i])) { if (!$uploader->upload()) { $err[] = $uploader->getErrors(); } else { $image_handler = icms::handler('icms_image'); $image =& $image_handler->create(); $image->setVar('image_name', $uploader->getSavedFileName()); $image->setVar('image_nicename', $image_nicename); $image->setVar('image_mimetype', $uploader->getMediaType()); $image->setVar('image_created', time()); $image_display = empty($image_display) ? 0 : 1; $image->setVar('image_display', $image_display); $image->setVar('image_weight', $image_weight); $image->setVar('imgcat_id', $imgcat_id); if ($imagecategory->getVar('imgcat_storetype') == 'db') { $fp = @fopen($uploader->getSavedDestination(), 'rb'); $fbinary = @fread($fp, filesize($uploader->getSavedDestination())); @fclose($fp); $image->setVar('image_body', $fbinary, TRUE); @unlink($uploader->getSavedDestination()); } if (!$image_handler->insert($image)) { $err[] = sprintf(_FAILSAVEIMG, $image->getVar('image_nicename')); } } } else { $err[] = sprintf(_FAILFETCHIMG, $i); $err = array_merge($err, $uploader->getErrors(FALSE)); } } if (count($err) > 0) { icmsPopupHeader(); icms_core_Message::error($err); icmsPopupFooter(); exit(); } if (isset($imgcat_id)) { $redir = '?op=listimg&imgcat_id=' . $imgcat_id . '&target=' . $target . '&type=' . $type; } else { $redir = '?op=list&target=' . $target . '&type=' . $type; } redirect_header($_SERVER['SCRIPT_NAME'] . $redir, 2, _ICMS_DBUPDATED); }
/** * Returns a value ready to be saved in the database * * @param mixed $value Value to format * @param mixed $oldvalue old value * * @return mixed */ public function getValueForSave($value, $oldvalue) { switch ($this->getVar('field_type')) { default: case "textbox": case "textarea": case "dhtml": case "yesno": case "timezone": case "theme": case "language": case "select": case "radio": case "select_multi": case "checkbox": case "group": case "group_multi": case "longdate": return $value; case "date": if ($value != "") { return strtotime($value); } return $value; break; case "datetime": if ($value != "") { return strtotime($value['date']) + $value['time']; } return $value; break; case "image": if (!isset($_FILES[$_POST['xoops_upload_file'][0]])) { return $oldvalue; } $options = unserialize($this->getVar('field_options', 'n')); $dirname = ICMS_UPLOAD_PATH . '/' . basename(dirname(dirname(__FILE__))); if (!is_dir($dirname)) { mkdir($dirname); } $uploader = new icms_file_MediaUploadHandler($dirname, array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png', 'image/png'), $options['maxsize'] * 1024, $options['maxwidth'], $options['maxheight']); if ($uploader->fetchMedia($_POST['xoops_upload_file'][0])) { $uploader->setPrefix('image'); if ($uploader->upload()) { @unlink($dirname . '/' . $oldvalue); return $uploader->getSavedFileName(); } else { echo $uploader->getErrors(); return $oldvalue; } } else { echo $uploader->getErrors(); return $oldvalue; } break; } }
echo 'preview_window.document.writeln("' . str_replace('"', '\"', $line) . '");'; } echo ' preview_window.focus(); preview_window.document.close(); //--> </script>'; } break; case 'update': if (!icms::$security->check()) { redirect_header('admin.php?fct=tplsets', 3, implode('<br />', icms::$security->getErrors())); } $uploader = new icms_file_MediaUploadHandler(ICMS_UPLOAD_PATH, array('text/html', 'application/x-cdf'), 200000); $uploader->setPrefix('tmp'); $msg = array(); foreach ($_POST['xoops_upload_file'] as $upload_file) { // '.' is converted to '_' when upload $upload_file2 = str_replace('.', '_', $upload_file); if ($uploader->fetchMedia($upload_file2)) { if (!$uploader->upload()) { $msg[] = $uploader->getErrors(); } else { $tpltpl_handler =& icms::handler('icms_view_template_file'); if (!isset($old_template[$upload_file])) { $tplfile =& $tpltpl_handler->find('default', NULL, NULL, $moddir, $upload_file); if (count($tplfile) > 0) { $tpl =& $tplfile[0]->xoopsClone(); $tpl->setVar('tpl_id', 0); $tpl->setVar('tpl_tplset', $tplset);
foreach ($error as $err) { echo $err . '<br />'; } icms_cp_footer(); exit(); } } redirect_header('admin.php?fct=avatars', 2, _MD_AM_DBUPDATED); } if ($op == 'addfile') { if (!icms::$security->check()) { redirect_header('admin.php?fct=avatars', 3, implode('<br />', icms::$security->getErrors())); } $uploader = new icms_file_MediaUploadHandler(ICMS_UPLOAD_PATH, array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png', 'image/png'), $icmsConfigUser['avatar_maxsize'], $icmsConfigUser['avatar_width'], $icmsConfigUser['avatar_height']); $uploader->setPrefix('savt'); $err = array(); if ($uploader->fetchMedia($_POST['xoops_upload_file'][0])) { if (!$uploader->upload()) { $err[] = $uploader->getErrors(); } else { $avt_handler = icms::handler('icms_data_avatar'); $avatar =& $avt_handler->create(); $avatar->setVar('avatar_file', $uploader->getSavedFileName()); $avatar->setVar('avatar_name', $avatar_name); $avatar->setVar('avatar_mimetype', $uploader->getMediaType()); $avatar_display = empty($avatar_display) ? 0 : 1; $avatar->setVar('avatar_display', $avatar_display); $avatar->setVar('avatar_weight', $avatar_weight); $avatar->setVar('avatar_type', 'S'); if (!$avt_handler->insert($avatar)) {
if ($id > 0) { SmilesEdit($id); } break; case "SmilesSave": $id = isset($_POST['id']) ? (int) $_POST['id'] : 0; if ($id <= 0 | !icms::$security->check()) { redirect_header('admin.php?fct=smilies', 3, implode('<br />', icms::$security->getErrors())); } $smile_code = icms_core_DataFilter::stripSlashesGPC($_POST['smile_code']); $smile_desc = icms_core_DataFilter::stripSlashesGPC($_POST['smile_desc']); $smile_display = (int) $_POST['smile_display'] > 0 ? 1 : 0; $db =& icms_db_Factory::instance(); if ($_FILES['smile_url']['name'] != "") { $uploader = new icms_file_MediaUploadHandler(ICMS_UPLOAD_PATH, array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/x-png'), 100000, 120, 120); $uploader->setPrefix('smil'); if ($uploader->fetchMedia($_POST['xoops_upload_file'][0])) { if (!$uploader->upload()) { $err = $uploader->getErrors(); } else { $smile_url = $uploader->getSavedFileName(); if (!$db->query(sprintf("UPDATE %s SET code = %s, smile_url = %s, emotion = %s, display = %d WHERE id = '%d'", $db->prefix('smiles'), $db->quoteString($smile_code), $db->quoteString($smile_url), $db->quoteString($smile_desc), $smile_display, $id))) { $err = 'Failed storing smiley data into the database'; } else { $oldsmile_path = str_replace("\\", "/", realpath(ICMS_UPLOAD_PATH . '/' . trim($_POST['old_smile']))); if (0 === strpos($oldsmile_path, ICMS_UPLOAD_PATH) && is_file($oldsmile_path)) { unlink($oldsmile_path); } } } } else {