Skip to content

Instantly share code, notes, and snippets.

View proweb's full-sized avatar

Sergey Mochalov proweb

View GitHub Profile
@proweb
proweb / .htaccess
Last active August 29, 2015 14:17
Block Semalt.com and buttons-for-website.com
# block visitors referred from semalt.com
RewriteEngine on
RewriteCond %{HTTP_REFERER} semalt\.com [NC]
RewriteRule .* – [F]
# End semalt block
# block referer spam buttons for website
RewriteEngine On
RewriteCond %{HTTP_REFERER} buttons\-for\-website\.com
RewriteRule ^.* - [F,L]
# End buttons for website block
@proweb
proweb / index.php
Created November 20, 2013 19:40
Joomla plugin event triggers
Each plugin type has its own set of events that trigger these plugins to execute. Each plugin can use one or more event triggers but there is no need to use all the event triggers available, just pick out the ones you need. You also have the freedom to create your own custom plugin event triggers in your components, however, that is also outside the scope of this book. The following table summarizes the types of plugins available and their respective event triggers:
Plugin type Event trigger
Authentication onUserAuthenticate
onUserAuthorisationFailure
Captcha onCheckAnswer
onDisplay
onInit
@proweb
proweb / json.php
Created August 14, 2013 07:50
Best way for JSON output in Joomla controller
class MyController extends JController
{
function someTask()
{
// Get the application object.
$app = JFactory::getApplication();
// Get the model.
$model = $this->getModel('MyModel');
@proweb
proweb / image.php
Created August 1, 2013 14:06
Joomla 3 thumbnails function
/**
* Method to create thumbnails from the current image and save them to disk. It allows creation by resizing
* or croppping the original image.
*
* @param mixed $thumbSizes string or array of strings. Example: $thumbSizes = array('150x75','250x150');
* @param integer $creationMethod 1-3 resize $scaleMethod | 4 create croppping
* @param string $thumbsFolder destination thumbs folder. null generates a thumbs folder in the image folder
*
* @return array
*
@proweb
proweb / index.php
Created June 16, 2013 17:31
Easy PHP localhost landing page
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>localhost</title>
</head>
<body>
<h1>It Works!</h1>
<ul>
<?php
@proweb
proweb / new_gist_file
Created June 9, 2013 21:19
How to redirect using the Joomla API
// joomla 2.5
$app = JFactory::getApplication();
$link = 'http://www.domain.com/';
$msg = 'You have been redirected to domain.com';
$app->redirect($link, $msg, $msgType='message');
@proweb
proweb / gist:4985650
Created February 19, 2013 12:59
Remoove Mootools for Unregistered users in Joomla
//Removing Mootools
$head = $doc->getHeadData();
//Unset Mootools for unregistered users
if($user->guest){
$head=$this->getHeadData();
reset($head['scripts']);
unset($head['scripts'][$this->baseurl . '/media/system/js/core.js']);
unset($head['scripts'][$this->baseurl . '/media/system/js/mootools.js']);
unset($head['scripts'][$this->baseurl . '/plugins/system/mtupgrade/mootools.js']);
unset($head['scripts'][$this->baseurl . '/media/system/js/mootools-core.js']);
@proweb
proweb / router.php
Created February 2, 2013 08:58
K2 Router (without "item" in URL)
<?php
/**
* @version $Id: router.php 1618 2012-09-21 11:23:08Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2012 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
@proweb
proweb / index.php
Created January 25, 2013 14:00
HTML 5 Joomla head override - Переписываем вывод HEAD для Joomla 2.5 в соответствии со стандартами HTML5
<?php
// no direct access
defined('_JEXEC') or die;
// Variables
$doc = JFactory::getDocument();
$user = JFactory::getUser();
$template = 'templates/' . $this->template;
// get html head data
@proweb
proweb / blank-template-snippets.txt
Created April 11, 2012 16:52 — forked from cod3cow/template-snippets.txt
Blank Template Snippets for Joomla! 2.5
# index.php :: load the global joomla header
# between <head> and </head>
<jdoc:include type="head" />
# index.php :: output of the system messages
# between <body> and </body>
<jdoc:include type="message" />
# index.php :: article and component output
# between <body> and </body>