Add view and hsset link parameters
Signed-off-by: Justin Georgi <justin.georgi@gmail.com>
This commit is contained in:
@@ -59,9 +59,6 @@ class GlModelHandler extends ImageHandler {
|
||||
* @return bool
|
||||
*/
|
||||
public function validateParam( $name, $value ) {
|
||||
echo '<script>';
|
||||
self::console_log('Param: ' . $name . " = " . $value);
|
||||
echo '</script>';
|
||||
if (in_array($name, ['width', 'height'])) {
|
||||
return $value > 0;
|
||||
} else if (in_array($name, ['view', 'hsset'])) {
|
||||
@@ -71,6 +68,68 @@ class GlModelHandler extends ImageHandler {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge a parameter array into a string appropriate for inclusion in filenames.
|
||||
*
|
||||
* @param array $params array of parameters that have been through normaliseParams.
|
||||
* @return string concatenated, formatted string of parameter values
|
||||
*/
|
||||
public function makeParamString( $params ) {
|
||||
$res = parent::makeParamString( $params );
|
||||
if ( $res && isset( $params['hsset'] ) ) {
|
||||
$res = "hs{$params['hsset']}-$res";
|
||||
}
|
||||
if ( $res && isset( $params['view'] ) ) {
|
||||
$res = "v{$params['view']}-$res";
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse a param string made with makeParamString back into an array.
|
||||
*
|
||||
* @param string $str the parameter string without file name
|
||||
* @return array|false Array of parameters or false on failure
|
||||
*/
|
||||
public function parseParamString( $str ) {
|
||||
preg_match( '/v([^-]*?)-/', $str, $view );
|
||||
preg_match( '/hs([^-]*?)-/', $str, $hsset );
|
||||
$otherParams = preg_replace('/(?:(?:hs[^-]*?-)|(?:v[^-]*?-))*(.*)$/', '/$1/', $str);
|
||||
$parsedParams = parent::parseParamString( $otherParams );
|
||||
$parsedParams['view'] = $view;
|
||||
$parsedParams['hsset'] = $hsset;
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* ?
|
||||
*
|
||||
* @param array $params input parameters
|
||||
* @return array same array as input?
|
||||
*/
|
||||
protected function getScriptParams( $params ) {
|
||||
$res = parent::getScriptParams( $params );
|
||||
if ( isset( $params['view'] ) ) {
|
||||
$res['view'] = $params['view'];
|
||||
}
|
||||
if ( isset( $params['hsset'] ) ) {
|
||||
$res['hsset'] = $params['hsset'];
|
||||
}
|
||||
return $res;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get an associative array mapping magic word IDs to parameter names.
|
||||
* @return string[]
|
||||
*/
|
||||
public function getParamMap() {
|
||||
return [
|
||||
'img_width' => 'width',
|
||||
'glmv_view' => 'view',
|
||||
'glmv_hsset' => 'hsset'
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Small helper function to display information on the browser console
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user