$share_collection, "access_key" => $uploadkey, "share_type" => 1)); if (isset($shareinfo[0])) { $shareinfo = $shareinfo[0]; } else { error_alert($lang["error_invalid_key"], true); exit(); } $editable = can_edit_upload_share($share_collection, $uploadkey); if (!$editable) { error_alert($lang["error-permissiondenied"], true); exit(); } $editing = $uploadkey != "" && $editable; $exsharepwd = isset($shareinfo["password_hash"]) && $shareinfo["password_hash"] != "" ? "password_placeholder" : ""; $exshareusergroup = isset($shareinfo["usergroup"]) ? $shareinfo["usergroup"] : $usergroup; $exshareexpires = isset($shareinfo["expires"]) ? $shareinfo["expires"] : null; if (!isset($validsharegroups[$exshareusergroup])) { $cursharegroup = get_usergroup($exshareusergroup); $validsharegroups[$exshareusergroup] = $cursharegroup["name"]; } $sharepwd = getval("sharepassword", $exsharepwd); $shareusergroup = getval("usergroup", $exshareusergroup, true); $shareexpires = getval("shareexpires", $exshareexpires); } else { $sharepwd = getval("sharepassword", ""); $shareusergroup = getval("usergroup", $usergroup, true); $shareexpires = getval("shareexpires", ""); $share_emails = getval("share_emails", ""); $editing = false; } $collectiondata = get_collection($share_collection); // Get existing shares for this collection $cursharefltr = array( "share_user" => (checkperm('a') || checkperm('ex') ? '' : $userref), "share_type" => "1", "share_collection" => $share_collection, ); $curshares = get_external_shares($cursharefltr); $submitted = getval("submitted", "") != ""; if ($submitted) { if ($shareexpires == "") { $messages[] = $lang["error_invalid_date"]; } if (!isset($validsharegroups[$shareusergroup])) { $messages[] = $lang["error_invalid_usergroup"]; } enforceSharePassword($sharepwd); if (count($messages) == 0) { $shareoptions = array( "collection" => $share_collection, "usergroup" => $shareusergroup, "user" => $userref, "expires" => $shareexpires, "password" => $sharepwd, "upload" => 1, "message" => $emailmessage, ); if (isset($share_emails) && trim($share_emails) != "") { $shareoptions["emails"] = trim_array(explode(",", $share_emails)); } if ($uploadkey != "") { $shareoptions["group"] = $shareusergroup; $result = edit_collection_external_access($uploadkey, -1, $shareexpires, $shareusergroup, $sharepwd, $shareoptions); if ($result) { $messages[] = $lang["saved"]; $shareurl = $baseurl . "/?c=" . $share_collection . "&k=" . $uploadkey; $messages[] = "" . $shareurl . ""; } else { $messages[] = $lang["error"]; } } else { $result = create_upload_link($share_collection, $shareoptions); if (is_array($result)) { $keysgenerated = false; foreach ($result as $key => $sharekey) { if ($sharekey === "") { $messages[] = $lang["error_invalid_email"] . (isset($shareoptions["emails"][$key]) ? " (" . $shareoptions["emails"][$key] . ")" : ""); } else { $shareurl = $baseurl . "/?c=" . $share_collection . "&k=" . $sharekey; $messages[] = "" . $shareurl . "" . (isset($shareoptions["emails"][$key]) ? " (" . $shareoptions["emails"][$key] . ")" : ""); $keysgenerated = true; } } if ($keysgenerated) { array_unshift($messages, $lang["upload_shares_emailed"]); } } elseif (is_string($result)) { $messages[] = $result; // An error message was returned. } } } } $page_header = $editing ? $lang["title-upload-link-edit"] . ": " . $uploadkey : $lang["title-upload-link-create"]; include "../include/header.php"; ?>
" . escape($lang["warning-upload-link"]) . "
"; echo "" . escape($lang["warning-upload-instructions"]) . "
"; if (count($curshares) > 0) { echo "" . LINK_CARET . escape($lang["external_shares_view_existing"]) . "
"; } ?>