'LAN_UL_040']; e107::getLanguage()->bcDefs($bcLans); if (!isset($pref['upload_enabled']) ||( varset($pref['upload_class']) == 255)) { e107::redirect(); exit; } if (!defined("USER_WIDTH") && defset('BOOTSTRAP')==false){ define("USER_WIDTH","width:97%"); } require_once(e_HANDLER.'upload_handler.php'); class userUpload { function __construct() { /* e107::css('inline', " input[type=file] { } "); e107::js('inline', " function frmVerify() { var message = ''; var spacer = ''; var testObjects = new Array(\"download_category\", \"user_email\", \"file_name\", \"file_realpath\", \"file_description\"); var errorMessages = new Array('".LAN_UL_032."', '".LAN_UL_033."', '".LAN_UL_034."', '".LAN_UL_036."', '".LAN_UL_035."'); var temp; var i; for (i = 0; i < 5; i++) { temp = document.getElementById(testObjects[i]); if (temp && (temp.value == \"\")) { message = message + spacer + errorMessages[i]; spacer = '\\n'; } } if (message) { alert(message); return false; } } "); */ } public function init() { $ns = e107::getRender(); $uploadAccess = e107::pref('core','upload_class'); if(!check_class($uploadAccess)) { $text = "
".LAN_UL_002."
"; $ns->tablerender(LAN_UL_020, $text); return; } if (isset($_POST['upload'])) { $this->processUpload(); return; } $this->renderForm(); } function processUpload() { $ns = e107::getRender(); $sql = e107::getDb(); $mes = e107::getMessage(); $tp = e107::getParser(); $error = false; $postemail =''; $catID = null; $catOwner = null; $file = null; $image = ''; $filesize = 0; if ((!empty($_POST['file_email']) || USER == true) && !empty($_POST['file_name']) && !empty($_POST['file_description']) && !empty($_POST['category'])) { // $uploaded = file_upload(e_FILE."public/", "unique"); $fl = e107::getFile(); $uploaded = $fl->getUploaded(e_UPLOAD, "unique", array('max_file_count' => 2, 'extra_file_types' => TRUE)); // First, see what errors the upload handler picked up if ($uploaded === false) { $error = true; $mes->addError(LAN_UL_021); } // Now see if we have a code file if (count($uploaded) > 0) { if ($uploaded[0]['error'] == 0) { $file = $uploaded[0]['name']; $filesize = $uploaded[0]['size']; } else { $error = true; $mes->addError($uploaded[0]['message']); } } // Now see if we have an image file if (count($uploaded) > 1) { if ($uploaded[1]['error'] == 0) { $image = $uploaded[1]['name']; } else { $error = true; $mes->addError($uploaded[1]['message']); } } // The upload handler checks max file size if(!empty($_POST['category'])) { list($catOwner, $catID) = explode("__",$_POST['category'],2); } else { $error = true; $mes->addError(LAN_UL_037); } // an error - delete the files to keep things tidy if ($error) { @unlink($file); @unlink($image); } else { if (USER) { $poster = USERID; $row = e107::getUser()->toArray(); if ($row['user_hideemail']) { $postemail = '-witheld-'; } else { $postemail = USEREMAIL; } } else { $poster = "0";//.$tp -> toDB($_POST['file_poster']); $postemail = $tp->toDB($_POST['file_email']); } if (($postemail != '-witheld-') && !check_email($postemail)) { $error = true; $mes->addError(LAN_UL_001); } else { if ($postemail == '-witheld-') $postemail = ''; $_POST['file_description'] = $tp->toDB($_POST['file_description']); $file_time = time(); $insertQry = array( 'upload_id' => 0, 'upload_poster' => $poster, 'upload_email' => $postemail, 'upload_website' => $tp->toDB($_POST['file_website']), 'upload_datestamp' => $file_time, 'upload_name' => $tp->toDB($_POST['file_name']), 'upload_version' => $tp->toDB($_POST['file_version']), 'upload_file' => $file, 'upload_ss' => $image, 'upload_description' => $tp->toDB($_POST['file_description']), 'upload_demo' => $tp->toDB($_POST['file_demo']), 'upload_filesize' => $filesize, 'upload_active' => 0, 'upload_category' => intval($catID), 'upload_owner' => $catOwner ); $sql->insert("upload", $insertQry); $edata_fu = $insertQry; $edata_fu["upload_user"] = $poster; $edata_fu["upload_time"] = $file_time; e107::getEvent()->trigger("fileupload", $edata_fu); // BC e107::getEvent()->trigger("user_file_upload", $edata_fu); $mes->addSuccess(LAN_404); } } } else { // Error - missing data $mes->addError(LAN_REQUIRED_BLANK); } echo e107::getMessage()->render(); } function renderForm() { /* $template = "
"; */ $ns = e107::getRender(); $tp = e107::getParser(); $text = "
"; $frm = e107::getForm(); if (!USER) // Prompt for name, email { $text .= ""; } $text .= "
".LAN_CATEGORY.": "; // require_once(e_CORE."shortcodes/batch/download_shortcodes.php"); // $dlparm = (isset($download_category)) ? $download_category : ""; // $text .= $tp->parseTemplate("{DOWNLOAD_CATEGORY_SELECT={$dlparm}}",true,$download_shortcodes); $configs = e107::getAddonConfig('e_upload'); $optArray = e107::getAddonConfig('e_upload','','category'); $newArray = array(); foreach($optArray as $plug=>$opts) { $name = $configs[$plug]['name']; $newArray[$name] = $opts; } $text .= e107::getForm()->select('category', $newArray, $_POST['category'], array('default'=>'')); $text .= "
".LAN_419." "; // $text .= "".LAN_406."
".LAN_419.":"; $a_filetypes = get_filetypes(); if (count($a_filetypes) == 0) { $ns->tablerender(defset('LAN_UL_040', 'Upload File'), LAN_UL_025); return; } $max_upload_size = calc_max_upload_size(-1); // Find overriding maximum upload size $max_upload_size = set_max_size($a_filetypes, $max_upload_size); if (ADMIN) { $upper_limit = calc_max_upload_size(); $allowed_filetypes = ""; foreach ($a_filetypes as $type => $size) { $allowed_filetypes .= ""; } $allowed_filetypes .= "
".LAN_UL_023."  ".LAN_UL_024."
".$type."".eHelper::parseMemorySize($size,0)."
"; } else { $a_filetypes = array_keys($a_filetypes); $allowed_filetypes = implode(' | ', $a_filetypes); } $text .= " ".$allowed_filetypes; $text .= "
".LAN_407."
".LAN_418.eHelper::parseMemorySize($max_upload_size,0)." (".LAN_UL_022.")
"; $text .= "".LAN_408." ".LAN_420; $text .= "
"; $text .= "
".LAN_61." ".$frm->text('file_poster',$_POST['file_poster'],100, 'required=1')."
".LAN_112." ".$frm->text('file_email',$_POST['file_email'],100, 'required=1')."
".LAN_409." ".$frm->text('file_name', $_POST['file_name'], 100, 'required=1')."
".LAN_410." ".$frm->text('file_version',$_POST['file_version'],10)."
".LAN_411." ".$frm->file('file_userfile[]')."
".LAN_IMAGE."/".LAN_SCREENSHOT." ".$frm->file('file_userfile[]')."
".LAN_413." ".$frm->textarea('file_description', $_POST['file_description'], 6, 59, 'size=block-level&required=1')."
".LAN_144." ".$frm->text('file_website', $_POST['file_website'], 100)."
".LAN_414."
".LAN_415."
".$frm->text('file_demo', $_POST['file_demo'], 100)."
"; $ns->tablerender(defset('LAN_UL_040', 'Upload File'), $text); } //TODO Shortcodes for the form elements above. function sc_author() { $poster = ''; return ""; } } $up = new userUpload(); require_once(HEADERF); $up->init(); require_once(FOOTERF);