params= new JRegistry(); $this->params->loadString($plugin->params, 'JSON'); $this->_cacheEnabled = $this->params->get('cache_enabled'); if ($this->_cacheEnabled === null) $this->_cacheEnabled == 1; $this->_autoflush = $this->params->get('autoFlush'); if ($this->_autoflush === null) $this->_autoflush = 1; $this->_autoflush3rdParty = $this->params->get('autoFlush-ThirdParty'); if ($this->_autoflush3rdParty === null) $this->_autoflush3rdParty = 1; $this->_autoflushClientSide = $this->params->get('autoFlush-ClientSide'); if ($this->_autoflushClientSide === null) $this->_autoflushClientSide = 0; } /** * Heartbeat cache checking function. Will also monitor $_GET for the jSGCache parameter * (pressing the purge cache button in admin) * * * @access public * @return null */ public function onAfterInitialise() { if (!$this->_cacheEnabled || $this->_isBlacklisted($this->_applicationPath)) { JResponse::setHeader('X-Cache-Enabled','False',true); return; } if ($this->_cacheEnabled) { JResponse::setHeader('X-Cache-Enabled','True',true); } //Init the application url $this->_applicationPath = str_replace(array('administrator/index.php','index.php'),'',str_replace($_SERVER['DOCUMENT_ROOT'],'',$_SERVER['SCRIPT_FILENAME'])); //Check for any admin action and proceed to flushMonitor and 3rd party plugins if ( isset($_POST['task']) || isset($_GET['task']) || isset($_GET['cart_virtuemart_product_id'])) { $this->_flushMonitor(); if ($this->_autoflush3rdParty) $this->_monitorThirdPartyPlugins(); } //Check if we have a logged in user and enable cache bypass cookie 'task' => string 'user.login' $user = JFactory::getUser(); if (!$user->guest || (isset($_POST['task']) && preg_match('/login/i', $_POST['task']))) { $_POST[JSession::getFormToken()] = 1; //Force the correct token, since the login box on the page is cached with the 1st visitors' token //Enable the cache bypass for logged users by setting a cache bypass cookie setcookie('jSGCacheBypass',1,time() + 6000,'/'); } if ($user->guest || (isset($_POST['task']) && $_POST['task'] == 'user.logout')) { //Remove the bypass cookie if not a logged user if (isset($_COOKIE['jSGCacheBypass'])) setcookie('jSGCacheBypass',0, time() - 3600,'/'); } // Handle purge button press when get has jSGCache=purge, but only in admin with a logged user if(isset($_GET['jSGCache']) && $_GET['jSGCache'] == 'purge' && JFactory::getApplication()->isAdmin() && !$user->guest ) $this->_purgeCache(true); } /** * Admin panel icon display * * @access public * @param string $context * @return array */ public function onGetIcons( $context ) { return array(array( 'link'=>'?jSGCache=purge', 'image'=>'header/icon-48-purge.png', 'text'=>JText::_('Purge jSGCache'), 'id'=>'jSGCache' )); } /** * Calls the cache server to purge the cache * * @access public * @param string|bool $message Message to be displayed if purge is successful. If this param is false no output would be done * @return null */ private function _purgeCache( $message = true ) { $purgeRequest = $this->_applicationPath . '(.*)'; // Check if caching server is varnish or nginx. $sgcache_ip = '/etc/sgcache_ip'; $hostname = $_SERVER['SERVER_ADDR']; $purge_method = "PURGE"; if (file_exists($sgcache_ip)) { $hostname = trim( file_get_contents( $sgcache_ip, true ) ); $purge_method = "BAN"; } $cacheServerSocket = fsockopen($hostname, 80, $errno, $errstr, 2); if(!$cacheServerSocket) { JError::raise(E_ERROR,500,JText::_('Connection to cache server failed!')); JError::raise(E_ERROR,500,JText::_($errstr ($errno))); return; } $request = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: {$_SERVER['SERVER_NAME']}\r\nConnection: Close\r\n\r\n"; if (preg_match('/^www\./',$_SERVER['SERVER_NAME'])) { $domain_no_www = preg_replace('/^www\./', '', $_SERVER['SERVER_NAME']); $request2 = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: {$domain_no_www}\r\nConnection: Close\r\n\r\n"; } else $request2 = "$purge_method {$purgeRequest} HTTP/1.0\r\nHost: www.{$_SERVER['SERVER_NAME']}\r\nConnection: Close\r\n\r\n"; fwrite($cacheServerSocket, $request); $response = fgets($cacheServerSocket); fclose($cacheServerSocket); $cacheServerSocket = fsockopen($hostname, 80, $errno, $errstr, 2); fwrite($cacheServerSocket, $request2); fclose($cacheServerSocket); if($message !== false) { if(preg_match('/200/',$response)) { if ($message === true) JFactory::getApplication()->enqueueMessage(JText::_('SG Cache Successfully Purged!')); else JFactory::getApplication()->enqueueMessage(JText::_( $message )); } else { JError::raise(E_NOTICE,501, JText::_('SG Cache: Purge was not successful!')); JError::raise(E_NOTICE,501, jText::_('Error: ' . $response)); } } } /** * Check if url is in caching blacklist * * @param string $applicationPath * * @return bool */ private function _isBlacklisted($applicationPath) { $blacklistArray = explode("\n",$this->params->get('blacklist')); $blacklistRegexArray = array(); $indexIsBlacklisted = false; foreach($blacklistArray as $key=>$row) { $row = trim($row); if ($row != '/' && $quoted = preg_quote($row,'/')) $blacklistRegexArray[$key] = $quoted; if ($row == '/') $indexIsBlacklisted = true; } if ($indexIsBlacklisted && $_SERVER['REQUEST_URI'] == $applicationPath) return true; if (empty($blacklistRegexArray)) return false; $blacklistRegex = '/('.implode('|',$blacklistRegexArray) . ')/i'; return preg_match($blacklistRegex, $_SERVER['REQUEST_URI']); } /** * 3rd party plugin monitor * * @access private * @return null */ private function _monitorThirdPartyPlugins() { // Kunena & K2 if ($this->params->get('autoFlush-ThirdParty') == 1 && isset($_POST['option']) && ($_POST['option']=='com_k2' || $_POST['option' ]== 'com_kunena')) { $this->_purgeCache(false); } // VirtueMart if ( (isset($_POST['option']) && $_POST['option'] == 'com_virtuemart') || ( isset($_GET['option']) && $_GET['option'] == 'com_virtuemart' ) || isset($_GET['cart_virtuemart_product_id']) ) { if($this->params->get('autoFlush-ThirdParty') == 1) $this->_purgeCache(false); } } /** * Action monitor * * @access private * @return null */ private function _flushMonitor() { $user = JFactory::getUser(); if ((!JFactory::getApplication()->isAdmin() && !$this->_autoflushClientSide) || $user->guest) return; $autoflush = $this->params->get('autoFlush'); if ($autoflush === null) $autoflush = 1; if (isset($_POST['task']) && $_POST['task'] && !in_array($_POST['task'],self::$_ignoreTasks) && $autoflush == 1) $this->_purgeCache(false); } } Væntanlegt 2020

Hvað er annað hægt að gera í þessu veðri heldur en að hlakka til komandi sumars og því sem sumrinu fylgir. Ef allt gengur eftir fæðast okkur 11 folöld sumarið 2020. Eins og venjulega er spenningurinn mættur mjög snemma. Folöldin eru undan þremur hestum; 8 eru undan Skálmari frá Nýjabæ sem var í hólfi hjá okkur síðasta sumar, svo er eitt undan Kvisti frá Skagaströnd og tvö undan Strák frá Vatnsleysu


 

midja kvistur

Miðja fór undir Kvist frá Skagaströnd. Það eru 50% líkur á að afkvæmið beri hjálmskjótta litinn, en auk þess vonumst við auðvitað eftir faxprúðum gæðingi. Miðja er undan Strák frá Vatnsleysu og hryssu undan Orion frá Litla-Bergi. Hún átti eitt folald (Leift) þegar hún var yngri, svo þetta er hennar annað afkvæmi.


 

stjarna skalmar

Moladóttirin Stjarna frá Runnum fór undir Skálmar frá Nýjabæ. Þetta er hennar fyrsta folald og við erum mjög spennt. Folaldið mun hafa í sér töluvert hornfirskt blóð. Stjörnu er sárt saknað úr hesthúsinu, enda einstaklega skemmtileg hryssa. Vonandi erfir hún þann eiginleika áfram til afkvæma sinna.


 

hetja skalmar

Hetja fór undir Skálmar frá Nýjabæ. Hetja er hreinræktuð af gamla Hindisvíkurkyninu og á fyrir eina mjög skemmtilega dóttur (Hildi) undan föður Skálmars, Aðli frá Nýjabæ.


 

hanny skalmar

Hanný frá Þúfu fór undir Skálmar frá Nýjabæ. Þetta er hennar annað afkvæmi og mun hafa í sér töluvert hornfirskt blóð. Hanný er skyldleikaræktuð útaf Gusti frá Grund og föður hans Flosa frá Brunnum. Hennar aðalsmerki var mikill fótaburður og vilji.


 

hanna skalmar

Hanna fór undir Skálmar frá Nýjabæ og ef við erum mjög heppin fáum við í fyrsta skipti moldótt folald. Það væri samt bara bónus og býst ég við að afkvæmið verði alveg sérstaklega fallegt eins og það á kyn til. Þetta folald verður töluverður Hornfirðingur.


 

haera skalmar

Hin hornfirska Hæra fór undir Skálmar frá Nýjabæ. Þetta er þriðja afkvæmi Hæru, en hún hefur átt tvö falleg folöld undan Akki frá Vatnsleysu. Hæra er einn hreinræktaðasti núlifandi Hornfirðingurinn. Hún er fædd okkur, undan Skugga frá Dynjanda (einnig fæddur okkur) og Kolbrá frá Miðfelli sem var undan Flosa frá Brunnum og er sammæðra Dimmu frá Miðfelli (m.a. móðir Dívu frá Álfhólum sem hlaut 10 fyrir tölt). 


 

fimma skalmar

Fimma fór undir Skálmar frá Nýjabæ og verður þetta hennar annað folald + af hornfirskum ættum. Fimma er eins og Hæra undan Skugga frá Dynjanda og móðir hennar er undan Gusti frá Grund og Flosadóttur. Fimma er sammæðra Hanný frá Þúfu og Þrándi frá Brunnum.


 

edda skalmar

Edda fór undir Skálmar frá Nýjabæ og er þetta hennar fyrsta folald sem fæðist okkur. Edda er mikill Hornfirðingur. Faðir hennar er Byr frá Mykjunesi og móðir hennar er hreinræktuð af gamla Árnaneskyninu. 


 

2017 glenna

Glenna fór undir Strák frá Vatnsleysu. Þau hafa nú þegar átt þrjú afkvæmi saman sem okkur líst mjög vel á. Þar sem þau eru bæði hjálmskjótt er víst að afkvæmið verður það líka. 


 

2017 grima

Gríma fór aftur undir Strák frá Vatnsleysu. Þau eiga nú þegar saman sjö afkvæmi og hefur blandan reynst okkur mjög vel. Þetta verður þó þeirra síðasta þar sem Strákur fór utan í fyrra. Undan tveimur hjálmskjóttum kemur alltaf hjálmskjótt, svo það er víst um afkvæmið. Við vonumst eftir því að þessi tvö síðustu Stráksbörn verði hryssur, þar sem við eigum allt of fáar Stráksdætur. 


 

Það stefnir allt í að þetta verði gríðarlega spennandi sumar í hrossaræktinni hjá okkur og hvað þá eftir nokkur ár þegar þessi tryppi komast á tamningaraldur. Erfið bið !