/**
  * Filter function called by the plugin hook `rewrite_rules`
  * Add a new rewrite rule to the database's rules.
  *
  * Call `AccountManager::act('host-meta')` when a request for the host-meta `/.well-known/host-meta` is received.
  * Call `AccountManager::act('amcd')` when a request for the Account Manager Control Document `/amcd` is received.
  *
  * @param array $db_rules Array of rewrite rules compiled so far
  * @return array Modified rewrite rules array, we added our custom rewrite rule
  */
 public function filter_rewrite_rules($db_rules)
 {
     $db_rules[] = RewriteRule::create_url_rule('"amcd"', 'AccountManager', 'amcd');
     // This could be used for when the extant forms require extra values to work than what client-side AM provides, otherwise remove:
     $db_rules[] = RewriteRule::create_url_rule('"amcd"/method', 'AccountManager', 'amcd_method');
     return $db_rules;
 }
 /**
  * Filter function called by the plugin hook `rewrite_rules`
  * Add a new rewrite rule to the database's rules.
  *
  * Call `Sitemaps::act('Sitemap')` when a request for `sitemap.xml` is received.
  *
  * @param array $db_rules Array of rewrite rules compiled so far
  * @return array Modified rewrite rules array, we added our custom rewrite rule
  */
 public function filter_rewrite_rules($db_rules)
 {
     $db_rules[] = RewriteRule::create_url_rule('"sitemap.xml"', 'Sitemaps', 'Sitemap');
     if (function_exists('gzencode')) {
         $db_rules[] = RewriteRule::create_url_rule('"sitemap.xml.gz"', 'Sitemaps', 'SitemapGz');
     }
     return $db_rules;
 }
 public function filter_rewrite_rules($rules)
 {
     if (Options::get('lilliputian__service') == 'internal') {
         $redirect = RewriteRule::create_url_rule('"r"/url', 'UserThemeHandler', 'redirect');
         $shorten = RewriteRule::create_url_rule('"s"/url', 'UserThemeHandler', 'shorten');
         $rules[] = $redirect;
         $rules[] = $shorten;
     }
     return $rules;
 }
 /**
  * On plugin activation
  */
 public function action_plugin_activation($file)
 {
     // Don't process other plugins
     if (Plugins::id_from_file($file) != Plugins::id_from_file(__FILE__)) {
         return;
     }
     // Insert new post content types
     Post::add_new_type('project', true);
     Post::add_new_type('client', true);
     Post::add_new_type('task', true);
     if (DB::exists(DB::table('rewrite_rules'), array('action' => 'display_projects', 'name' => 'display_projects'))) {
         return;
         // do not keep adding the same rules if user disabled then re-enabled plugin
     }
     // Create new rewrite rule for showing a project
     $rule = RewriteRule::create_url_rule('"project"/{$slug}', 'UserThemeHandler', 'display_project');
     $rule->parse_regex = '%project/(?P<slug>[^/]+)/?$%i';
     $rule->build_str = 'project/{$slug}';
     $rule->description = 'Project Management System - View Project';
     $rule->insert();
     // Create new rewrite rule for showing a client
     $rule = RewriteRule::create_url_rule('"client"/{$slug}', 'UserThemeHandler', 'display_client');
     $rule->parse_regex = '%client/(?P<slug>[^/]+)/?$%i';
     $rule->build_str = 'client/{$slug}';
     $rule->description = 'Project Management System - View Client';
     $rule->insert();
     // Create new rewrite rule for showing a task
     $rule = RewriteRule::create_url_rule('"task"/{$slug}', 'UserThemeHandler', 'display_task');
     $rule->parse_regex = '%task/(?P<slug>[^/]+)/?$%i';
     $rule->build_str = 'task/{$slug}';
     $rule->description = 'Project Management System - View Task';
     $rule->insert();
     // Create new rewrite rule for showing projects
     $rule = RewriteRule::create_url_rule('"project"/{$slug}', 'UserThemeHandler', 'display_projects');
     $rule->parse_regex = '%projects/?$%i';
     $rule->build_str = 'projects';
     $rule->description = 'Project Management System - Projects';
     $rule->insert();
     // Create new rewrite rule for showing clients
     $rule = RewriteRule::create_url_rule('"client"/{$slug}', 'UserThemeHandler', 'display_clients');
     $rule->parse_regex = '%clients/?$%i';
     $rule->build_str = 'clients';
     $rule->description = 'Project Management System - Clients';
     $rule->insert();
     // Create new rewrite rule for showing tasks
     $rule = RewriteRule::create_url_rule('"task"/{$slug}', 'UserThemeHandler', 'display_tasks');
     $rule->parse_regex = '%tasks/?$%i';
     $rule->build_str = 'task';
     $rule->description = 'Project Management System - Tasks';
     $rule->insert();
 }
 /**
  * Add rewrite rules to handle locations and eventtags
  **/
 public function filter_rewrite_rules($rules)
 {
     $rules[] = RewriteRule::create_url_rule('"location"/location_name', 'PluginHandler', 'location');
     $rules[] = RewriteRule::create_url_rule('"eventtag"/eventtag_value', 'PluginHandler', 'eventtag');
     return $rules;
 }
 function filter_rewrite_rules($rules)
 {
     $rules[] = RewriteRule::create_url_rule('"randompost"', 'PluginHandler', 'randompost');
     return $rules;
 }
	/**
	 * Add a rewrite rule that dispatches entirely to a plugin hook
	 *
	 * @param mixed $rule An old-style rewrite rule string, where quoted segments are literals and unquoted segments are variable names, OR a RewriteRule object
	 * @param string $hook The suffix of the hook function: action_plugin_act_{$suffix}
	 */
	public function add_rule( $rule, $hook )
	{
		if ( count( $this->_new_rules ) == 0 ) {
			Plugins::register( array( $this, '_filter_rewrite_rules' ), 'filter', 'rewrite_rules', 7 );
		}
		if ( $rule instanceof RewriteRule ) {
			$this->_new_rules[] = $rule;
		}
		else {
			$this->_new_rules[] = RewriteRule::create_url_rule( $rule, 'PluginHandler', $hook );
		}
	}
 public function filter_rewrite_rules($rules)
 {
     $rules['git_post_receive'] = RewriteRule::create_url_rule('"update"', 'PluginHandler', 'addon_update');
     return $rules;
 }
 /**
  * Filter function called by the plugin hook `rewrite_rules`
  * Add a new rewrite rule to the database's rules
  *
  * Call `OpenSearch::act('osDescription')` when a request for `content-search.xml` is received
  *
  * @param array $db_rules Array of rewrite rules filtered so far
  */
 public function filter_rewrite_rules($db_rules)
 {
     $db_rules[] = RewriteRule::create_url_rule('"opensearch.xml"', 'OpenSearch', 'osDescription');
     $db_rules[] = new RewriteRule(array('name' => 'opensearch', 'parse_regex' => '%^search(?:/(?P<criteria>[^/]+))?(?:/page/(?P<page>\\d+))?(?:/count/(?P<count>\\d+))?/atom/?$%i', 'build_str' => 'search(/{$criteria})(/page/{$page})/atom', 'handler' => 'OpenSearch', 'action' => 'search', 'priority' => 8, 'is_active' => 1, 'rule_class' => RewriteRule::RULE_CUSTOM, 'description' => 'Searches posts'));
     return $db_rules;
 }
 /**
  * Filter function called by the plugin hook `rewrite_rules`
  * Add a new rewrite rule to the database's rules.
  *
  *
  * @param array $db_rules Array of rewrite rules compiled so far
  * @return array Modified rewrite rules array, we added our custom rewrite rule
  */
 public function filter_rewrite_rules($db_rules)
 {
     $db_rules[] = RewriteRule::create_url_rule('"events"', 'partyTime', 'display_calendar');
     return $db_rules;
 }
 function filter_rewrite_rules($rules)
 {
     //		$rules[] = new RewriteRule( array(
     //			'name' => 'fruit',
     //			'parse_regex' => '%fruit/(?P<fruit>.+)/?$%i',
     //			'build_str' => 'fruit/{$fruit}',
     //			'handler' => 'PluginHandler',
     //			'action' => 'fruit',
     //			'priority' => 7,
     //			'is_active' => 1,
     //			'description' => 'Displays the fruit page',
     //		));
     $rules[] = RewriteRule::create_url_rule('"fruit"/fruit_name', 'PluginHandler', 'fruit');
     return $rules;
 }
Example #12
0
 function filter_rewrite_rules($rules)
 {
     $rules[] = RewriteRule::create_url_rule('"auth"/"twitter"/"go"', 'PluginHandler', 'auth_twitter_go');
     $rules[] = RewriteRule::create_url_rule('"auth"/"twitter"/"verify"', 'PluginHandler', 'auth_twitter_verify');
     return $rules;
 }
 public function filter_rewrite_rules($db_rules)
 {
     $db_rules[] = RewriteRule::create_url_rule('"tc_unsubscribe"', 'ThreadedComment', 'unsubscribe');
     return $db_rules;
 }