| Server IP : 146.59.209.152 / Your IP : 216.73.216.46 Web Server : Apache System : Linux webm005.cluster131.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 User : infrafs ( 43850) PHP Version : 8.2.29 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/infrafs/www/wp-content/themes/trackstore/framework/modules/header/lib/ |
Upload File : |
<?php
namespace TrackStoreElated\Modules\Header\Lib;
/**
* Class that acts like interface for all header types
*
* Class HeaderType
*/
abstract class HeaderType {
/**
* Value of option in database.
* For example, if your header type has value in select field of 'header-type1'
* that would be the value of this field
*
* @var
*/
protected $slug;
/**
* Name of module so we don't repeat it where we need it
*
* @var string
*/
protected $moduleName = 'header';
/**
* Loads template for header type
*
* @param array $parameters associative array of variables to pass to template
*/
public abstract function loadTemplate( $parameters = array() );
/**
* Set header height properties
*
* @return mixed
*/
public abstract function setHeaderHeightProps();
/**
* Returns total height of transparent parts of header
*
* @return mixed
*/
public abstract function calculateHeightOfTransparency();
/**
* Returns height of header parts that are totaly transparent
*
* @return mixed
*/
public abstract function calculateHeightOfCompleteTransparency();
/**
* Returns header height
*
* @return mixed
*/
public abstract function calculateHeaderHeight();
/**
* Returns global variables that are used in JS
*
* @param $globalVariables
*
* @return mixed
*/
public abstract function getGlobalJSVariables( $globalVariables );
/**
* Returns per page variables that are used in JS
*
* @param $perPafeVars
*
* @return mixed
*/
public abstract function getPerPageJSVariables( $perPafeVars );
/**
* Returns configuration array for connecting header with other modules
*
* @return array
*/
public function getConnectConfig() {
return array(
'affect_content' => true,
'affect_title' => true,
'affect_slider' => true
);
}
/**
* Getter for height of transparency property
*
* @return mixed
*/
public function getHeightOfTransparency() {
if ( isset( $this->heightOfTransparency ) ) {
return $this->heightOfTransparency;
}
return $this->calculateHeightOfTransparency();
}
/**
* Getter for height of complete transparency property
*
* @return mixed
*/
public function getHeightOfCompleteTransparency() {
if ( isset( $this->heightOfCompleteTransparency ) ) {
return $this->heightOfCompleteTransparency;
}
return $this->calculateHeightOfCompleteTransparency();
}
/**
* Getter for header height property
*
* @return mixed
*/
public function getHeaderHeight() {
if ( isset( $this->headerHeight ) ) {
return $this->headerHeight;
}
return $this->calculateHeaderHeight();
}
}