Scriptlog Docs

Scriptlog Documentation

Code reference for the Scriptlog codebase

User Tools

Site Tools


scriptlog:lib:utility:downloadutility

This is an old revision of the document!


DownloadUtility

Layer: Utility · Source: lib/utility/download-handler.php:16 (lines 16–208)


class DownloadUtility

Core utility class for handling file downloads

Docblock Metadata

^ Tag ^ Value ^
| ''@category'' | Utility Class |
| ''@author'' | M.Noermoehammad |
| ''@license'' | MIT |
| ''@version'' | 1.0 |
| ''@since'' | Since Release 1.0 |

Inheritance

No parent, interface or trait. This is a root type.

Constants (2)

^ Visibility ^ Name ^ Value ^ Line ^
| ''-'' | ''CHUNK_SIZE'' | ''8192;'' | 18 |
| ''-'' | ''DEFAULT_EXPIRY'' | ''28800;'' | 19 |

Properties (0)

None declared.

Methods (9)

^ Visibility ^ Method ^ Summary ^ Line ^
| public static | ''setDownloadHeaders()'' | Set download headers for file delivery | 29 |
| public static | ''validateDownloadRequest()'' | Validate download request by identifier | 45 |
| public static | ''isHotlinkingAllowed()'' | Check if hotlinking is allowed based on referer | 57 |
| public static | ''isMimeTypeAllowed()'' | Check if MIME type is allowed based on settings | 77 |
| public static | ''deliverFile()'' | Deliver file to client with streaming | 91 |
| public static | ''getMimeType()'' | Get MIME type of a file | 117 |
| public static | ''sanitizeFilePath()'' | Sanitize file path to prevent traversal attacks | 143 |
| public static | ''isExpired()'' | Check if download link has expired | 164 |
| private static | ''getMimeTypeDictionary()'' | Get basic MIME type dictionary | 174 |

setDownloadHeaders()

public static function setDownloadHeaders($filename, $mimeType, $filesize)

lines 29–37 (9)

Set download headers for file delivery

^ Parameter ^ Type ^ Default ^ Description ^
| ''$filename'' | ''(untyped)'' | //required// | //none// |
| ''$mimeType'' | ''(untyped)'' | //required// | //none// |
| ''$filesize'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — void

validateDownloadRequest()

public static function validateDownloadRequest($identifier)

lines 45–48 (4)

Validate download request by identifier

^ Parameter ^ Type ^ Default ^ Description ^
| ''$identifier'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — bool

isHotlinkingAllowed()

public static function isHotlinkingAllowed($referer, $allowedDomains = [])

lines 57–69 (13)

Check if hotlinking is allowed based on referer

^ Parameter ^ Type ^ Default ^ Description ^
| ''$referer'' | ''(untyped)'' | //required// | //none// |
| ''$allowedDomains'' | ''(untyped)'' | ''[]'' | //none// |

Returns: (none declared) — bool

isMimeTypeAllowed()

public static function isMimeTypeAllowed($mimeType)

lines 77–81 (5)

Check if MIME type is allowed based on settings

^ Parameter ^ Type ^ Default ^ Description ^
| ''$mimeType'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — bool

deliverFile()

public static function deliverFile($filepath, $filename, $mimeType)

lines 91–109 (19)

Deliver file to client with streaming

^ Parameter ^ Type ^ Default ^ Description ^
| ''$filepath'' | ''(untyped)'' | //required// | //none// |
| ''$filename'' | ''(untyped)'' | //required// | //none// |
| ''$mimeType'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — void

getMimeType()

public static function getMimeType($filepath)

lines 117–135 (19)

Get MIME type of a file

^ Parameter ^ Type ^ Default ^ Description ^
| ''$filepath'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — string

sanitizeFilePath()

public static function sanitizeFilePath($filename)

lines 143–156 (14)

Sanitize file path to prevent traversal attacks

^ Parameter ^ Type ^ Default ^ Description ^
| ''$filename'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — string|false

isExpired()

public static function isExpired($beforeExpired)

lines 164–167 (4)

Check if download link has expired

^ Parameter ^ Type ^ Default ^ Description ^
| ''$beforeExpired'' | ''(untyped)'' | //required// | //none// |

Returns: (none declared) — bool

getMimeTypeDictionary()

private static function getMimeTypeDictionary()

lines 174–207 (34)

Get basic MIME type dictionary

Takes no parameters.

Returns: (none declared) — array


This page is generated from source by 'tools/gendoc'. Edits will be overwritten.

scriptlog/lib/utility/downloadutility.1790413763.txt.gz · Last modified: by admin