<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>John Watson</title>
	
	<link>http://watson-net.com/blog</link>
	<description />
	<lastBuildDate>Tue, 03 Aug 2010 18:43:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/johnw" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="johnw" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Magento database model without an auto_increment primary key</title>
		<link>http://watson-net.com/blog/magento-database-model-primary-keys/</link>
		<comments>http://watson-net.com/blog/magento-database-model-primary-keys/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 18:42:25 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=347</guid>
		<description><![CDATA[When you create a model in Magento that reads and writes data ( $model-&#62;load() and $model-&#62;save() ) to a database table, by default, Magento expects the primary key of the table to be an auto_increment field called &#8216;id&#8217;. If you want to use a primary key that is not an auto_increment field then you need to [...]]]></description>
			<content:encoded><![CDATA[<p>When you create a model in Magento that reads and writes data ( $model-&gt;load() and $model-&gt;save() ) to a database table, by default, Magento expects the primary key of the table to be an auto_increment field called &#8216;id&#8217;.</p>
<p>If you want to use a primary key that is <em>not</em> an auto_increment field then you need to set the <em>_isPkAutoIncrement</em> flag on the MySql4 object to false. For example, I created a table that uses <em>customer_entity_id</em> as the primary key:</p>
<pre>class MyCompany_MyModule_Model_MySql_Subscription
    extends Mage_Core_Model_MySql4_Abstract {
  public function _construct() {
    // Table resource, primary key
    $this-&gt;_init('mymodule/mymodule', 'customer_entity_id');
    // The primary key is not an auto_increment field
    <strong>$this-&gt;_isPkAutoIncrement = false;</strong>
  }
}</pre>
<p>If the flag is <em>true</em> (the default), then the save() method will always do an update when you provide a value for the primary key and an insert otherwise. That&#8217;s just what you want when the primary key is an auto_increment. If the flag is <em>false</em>, then Magento checks for the existence of a row with that primary key value first. If it exists, it does an update and if it doesn&#8217;t exist then it does an insert.</p>
<img src="http://feeds.feedburner.com/~r/johnw/~4/XjQiJMHT598" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/magento-database-model-primary-keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento debugging tips</title>
		<link>http://watson-net.com/blog/magento-debugging-tips/</link>
		<comments>http://watson-net.com/blog/magento-debugging-tips/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 18:27:21 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=342</guid>
		<description><![CDATA[This helped debug some problems I was having with observers not doing what I was expecting. Login to your Magento admin and enable logging: Configuration &#124; Developer &#124; Log Settings &#124; Enabled = Yes Add Mage::log() statements to your code. For example, in your observer callback: Mage::log(&#8220;My special observer called&#8221;) Watch the log files. In Linux, [...]]]></description>
			<content:encoded><![CDATA[<p>This helped debug some problems I was having with observers not doing what I was expecting.</p>
<ol>
<li>Login to your Magento admin and enable logging: <em>Configuration | Developer | Log Settings | Enabled = Yes</em></li>
<li>Add <em>Mage::log()</em> statements to your code. For example, in your observer callback: <em>Mage::log(&#8220;My special observer called&#8221;)</em></li>
<li>Watch the log files. In Linux, the <em>tail</em> command is very helpful for this. From the /var/log folder: <em>tail -f system.log exception.log</em></li>
</ol>
<p>Some more tips:</p>
<ul>
<li>Include <em>print_r()</em> output in the log like this: <em>Mage::log(&#8220;myvar = &#8221; . print_r($myvar, true))</em></li>
<li>Add to the exception.log using <em>Mage::logException()</em></li>
<li>The Mage class has some useful helper functions (/app/Mage.php)</li>
<li>Get the actual class name of any object: <em>$name = get_class($object)</em></li>
<li>If you copy and paste this code, you&#8217;ll probably need to fix the fancy quotation marks.</li>
</ul>
<img src="http://feeds.feedburner.com/~r/johnw/~4/ZXh50d2bx9w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/magento-debugging-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teaching programming</title>
		<link>http://watson-net.com/blog/teaching-programming/</link>
		<comments>http://watson-net.com/blog/teaching-programming/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 18:33:05 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[alice]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[scratch]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=334</guid>
		<description><![CDATA[I just ran across another educational tool&#8212;Scratch&#8212;for teaching programming to kids. I love the idea behind these simplified programming environments because they make getting started very easy, show you results instantly, and remove all the frustration of setting up a programming environment. If you want to introduce your kids to programming, you might start with [...]]]></description>
			<content:encoded><![CDATA[<p>I just ran across another educational tool&#8212;Scratch&#8212;for teaching programming to kids. I love the idea behind these simplified programming environments because they make getting started very easy, show you results instantly, and remove all the frustration of setting up a programming environment. If you want to introduce your kids to programming, you might start with one of these. They&#8217;re all free and they all work on Linux, Mac, and Windows.</p>
<p><a href="http://scratch.mit.edu/">Scratch</a></p>
<p>Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art &#8212; and share your creations on the web.</p>
<p><object type="application/x-shockwave-flash" data="http://vimeo.com/moogaloop.swf" width="500" height="375"><param name="allowscriptaccess" value="always"/><param name="allowfullscreen" value="true"/><param name="movie" value="http://vimeo.com/moogaloop.swf"/><param name="flashvars" value="clip_id=4077929&amp;color=00adef&amp;fullscreen=1&amp;server=vimeo.com&amp;show_byline=1&amp;show_portrait=1&amp;show_title=1"/></object></p>
<p><a href="http://www.alice.org/">Alice</a></p>
<p>Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web.</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/Nm7bv4wduTI&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Nm7bv4wduTI&#038;fs=1" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://processing.org/">Processing</a></p>
<p>Processing is an open source programming language and environment for people who want to create images, animations, and interactions.</p>
<p>I couldn&#8217;t find a good introductory video for this one. But the documentation and <a href="http://processing.org/learning/">tutorial pages</a> are top notch.</p>
<img src="http://feeds.feedburner.com/~r/johnw/~4/aJXuSbag4iw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/teaching-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento 1.4.1.0 event hooks</title>
		<link>http://watson-net.com/blog/magento-1-4-1-0-event-hooks/</link>
		<comments>http://watson-net.com/blog/magento-1-4-1-0-event-hooks/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 20:01:10 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=331</guid>
		<description><![CDATA[This listing of Magento event hooks was generated automatically from the source code. Please let me know if you find any errors or omissions. File Line Event /cron.php 44 default /app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php 399 catalogrule_before_apply /app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php 534 catalogrule_after_apply /app/code/core/Mage/Rule/Model/Environment.php 40 rule_environment_collect /app/code/core/Mage/SalesRule/Model/Rule/Condition/Combine.php 54 salesrule_rule_condition_combine /app/code/core/Mage/SalesRule/Model/Quote/Discount.php 83 sales_quote_address_discount_item /app/code/core/Mage/SalesRule/Model/Quote/Discount.php 89 sales_quote_address_discount_item /app/code/core/Mage/SalesRule/Model/Rule.php 298 salesrule_rule_get_coupon_types /app/code/core/Mage/SalesRule/Model/Validator.php 345 salesrule_validator_process /app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php [...]]]></description>
			<content:encoded><![CDATA[<p>This listing of Magento event hooks was generated automatically from the source code. Please let me know if you find any errors or omissions.</p>
<table>
<thead>
<tr>
<td><strong>File</strong></td>
<td><strong>Line</strong></td>
<td><strong>Event</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td>/cron.php</td>
<td>44</td>
<td>default</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php</td>
<td>399</td>
<td>catalogrule_before_apply</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php</td>
<td>534</td>
<td>catalogrule_after_apply</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rule/Model/Environment.php</td>
<td>40</td>
<td>rule_environment_collect</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Rule/Condition/Combine.php</td>
<td>54</td>
<td>salesrule_rule_condition_combine</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Quote/Discount.php</td>
<td>83</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Quote/Discount.php</td>
<td>89</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Rule.php</td>
<td>298</td>
<td>salesrule_rule_get_coupon_types</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Validator.php</td>
<td>345</td>
<td>salesrule_validator_process</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>88</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>119</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>163</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>203</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Data/Abstract.php</td>
<td>204</td>
<td>catalogindex_get_minimal_price</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Indexer.php</td>
<td>353</td>
<td>catalogindex_plain_reindex_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Indexer.php</td>
<td>613</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Admin/Model/User.php</td>
<td>244</td>
<td>admin_user_authenticate_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Admin/Model/Session.php</td>
<td>101</td>
<td>admin_session_user_login_success</td>
</tr>
<tr>
<td>/app/code/core/Mage/Admin/Model/Session.php</td>
<td>111</td>
<td>admin_session_user_login_failed</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sendfriend/controllers/ProductController.php</td>
<td>131</td>
<td>sendfriend_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Helper/Data.php</td>
<td>268</td>
<td>customer_registration_is_allowed</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Customer.php</td>
<td>123</td>
<td>customer_customer_authenticated</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Session.php</td>
<td>68</td>
<td>customer_session_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Session.php</td>
<td>192</td>
<td>customer_login</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Session.php</td>
<td>220</td>
<td>customer_logout</td>
</tr>
<tr>
<td>/app/code/core/Mage/GoogleCheckout/Model/Api/Xml/Checkout.php</td>
<td>110</td>
<td>google_checkout_discount_item_price</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>217</td>
<td>core_block_abstract_prepare_layout_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>219</td>
<td>core_block_abstract_prepare_layout_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>740</td>
<td>core_block_abstract_to_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>777</td>
<td>core_block_abstract_to_html_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Response/Http.php</td>
<td>74</td>
<td>http_response_send_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>299</td>
<td>controller_action_layout_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>317</td>
<td>controller_action_layout_generate_xml_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>336</td>
<td>controller_action_layout_generate_blocks_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>348</td>
<td>controller_action_layout_generate_blocks_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>383</td>
<td>controller_action_layout_render_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>384</td>
<td>controller_action_layout_render_before_</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>497</td>
<td>controller_action_predispatch</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>499</td>
<td>&#8216;controller_action_predispatch_&#8217;.$this-&gt;getRequest()-&gt;getRouteName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>504</td>
<td>&#8216;controller_action_predispatch_&#8217;.$this-&gt;getFullActionName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>519</td>
<td>&#8216;controller_action_postdispatch_&#8217;.$this-&gt;getFullActionName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>523</td>
<td>&#8216;controller_action_postdispatch_&#8217;.$this-&gt;getRequest()-&gt;getRouteName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>526</td>
<td>controller_action_postdispatch</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>535</td>
<td>controller_action_noroute</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>555</td>
<td>controller_action_nocookies</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Front.php</td>
<td>128</td>
<td>controller_front_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Front.php</td>
<td>147</td>
<td>controller_front_init_routers</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Front.php</td>
<td>190</td>
<td>controller_front_send_response_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Mysql4/Collection/Abstract.php</td>
<td>443</td>
<td>core_collection_abstract_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Mysql4/Collection/Abstract.php</td>
<td>458</td>
<td>core_collection_abstract_load_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Resource.php</td>
<td>167</td>
<td>resource_get_tablename</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Locale.php</td>
<td>136</td>
<td>core_locale_set_locale</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/App.php</td>
<td>1089</td>
<td>application_clean_cache</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>253</td>
<td>model_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>255</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>266</td>
<td>model_load_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>267</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>331</td>
<td>model_save_commit_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>332</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_commit_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>378</td>
<td>model_save_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>379</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>453</td>
<td>model_save_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>454</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>488</td>
<td>model_delete_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>489</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>516</td>
<td>model_delete_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>517</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>528</td>
<td>model_delete_commit_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>529</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_commit_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Layout/Update.php</td>
<td>406</td>
<td>core_layout_update_updates_get_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Layout.php</td>
<td>433</td>
<td>core_layout_block_create_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Report/Grid.php</td>
<td>174</td>
<td>adminhtml_widget_grid_filter_collection</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Widget/Container.php</td>
<td>294</td>
<td>adminhtml_widget_container_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Template.php</td>
<td>80</td>
<td>adminhtml_block_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Promo/Quote/Edit/Tab/Main.php</td>
<td>255</td>
<td>adminhtml_promo_quote_edit_tab_main_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Promo/Quote/Edit/Tab/Actions.php</td>
<td>162</td>
<td>adminhtml_block_salesrule_actions_prepareform</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Main.php</td>
<td>117</td>
<td>adminhtml_cms_page_edit_tab_main_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Meta.php</td>
<td>76</td>
<td>adminhtml_cms_page_edit_tab_meta_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Design.php</td>
<td>125</td>
<td>adminhtml_cms_page_edit_tab_design_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php</td>
<td>98</td>
<td>adminhtml_cms_page_edit_tab_content_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tabs.php</td>
<td>149</td>
<td>adminhtml_catalog_category_tabs</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tree.php</td>
<td>284</td>
<td>adminhtml_catalog_category_tree_is_moveable</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tree.php</td>
<td>322</td>
<td>adminhtml_catalog_category_tree_can_add_root_category</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tree.php</td>
<td>342</td>
<td>adminhtml_catalog_category_tree_can_add_sub_category</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Action/Attribute/Tab/Attributes.php</td>
<td>48</td>
<td>adminhtml_catalog_product_form_prepare_excluded_field_list</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Price/Recurring.php</td>
<td>42</td>
<td>catalog_product_edit_form_render_recurring</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php</td>
<td>131</td>
<td>adminhtml_catalog_product_edit_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php</td>
<td>151</td>
<td>adminhtml_catalog_product_edit_element_types</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes/Create.php</td>
<td>85</td>
<td>adminhtml_catalog_product_edit_tab_attributes_create_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Edit/Tab/Main.php</td>
<td>71</td>
<td>adminhtml_product_attribute_types</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/New/Product/Attributes.php</td>
<td>64</td>
<td>adminhtml_catalog_product_edit_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/New/Product/Attributes.php</td>
<td>80</td>
<td>adminhtml_catalog_product_edit_element_types</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Set/Main.php</td>
<td>405</td>
<td>adminhtml_catalog_product_attribute_set_main_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/Main.php</td>
<td>68</td>
<td>adminhtml_catalog_product_attribute_set_toolbar_main_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Controller/Action.php</td>
<td>151</td>
<td>adminhtml_controller_action_predispatch_start</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/ReportController.php</td>
<td>82</td>
<td>on_view_report</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Permissions/RoleController.php</td>
<td>189</td>
<td>admin_permissions_role_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/ConfigController.php</td>
<td>137</td>
<td>array(&#8216;website&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/StoreController.php</td>
<td>200</td>
<td>store_group_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/StoreController.php</td>
<td>222</td>
<td>$eventName,array(&#8216;store&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/StoreController.php</td>
<td>431</td>
<td>store_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CustomerController.php</td>
<td>220</td>
<td>adminhtml_customer_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CustomerController.php</td>
<td>248</td>
<td>adminhtml_customer_save_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php</td>
<td>217</td>
<td>adminhtml_sales_order_create_process_data</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php</td>
<td>156</td>
<td>adminhtml_sales_order_creditmemo_register_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Promo/CatalogController.php</td>
<td>97</td>
<td>adminhtml_controller_catalogrule_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Promo/QuoteController.php</td>
<td>109</td>
<td>adminhtml_controller_salesrule_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Cms/PageController.php</td>
<td>134</td>
<td>cms_page_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Cms/PageController.php</td>
<td>185</td>
<td>adminhtml_cmspage_on_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Cms/PageController.php</td>
<td>190</td>
<td>adminhtml_cmspage_on_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CacheController.php</td>
<td>142</td>
<td>clean_media_cache_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CacheController.php</td>
<td>166</td>
<td>clean_catalog_images_cache_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController.php</td>
<td>311</td>
<td>catalog_category_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController.php</td>
<td>374</td>
<td>catalog_controller_category_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>182</td>
<td>catalog_product_new_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>227</td>
<td>catalog_product_edit_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>630</td>
<td>catalog_product_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>848</td>
<td>catalog_controller_product_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/Action/AttributeController.php</td>
<td>140</td>
<td>catalog_product_to_website_change</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php</td>
<td>217</td>
<td>sales_convert_order_to_quote</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php</td>
<td>306</td>
<td>sales_convert_order_item_to_quote_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Api/Model/User.php</td>
<td>174</td>
<td>api_user_authenticated</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle.php</td>
<td>101</td>
<td>bundle_product_view_config</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Mysql4/Price/Index.php</td>
<td>357</td>
<td>catalog_product_prepare_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Price.php</td>
<td>218</td>
<td>catalog_product_prepare_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Price.php</td>
<td>375</td>
<td>prepare_catalog_product_price_index_table</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Product/Price.php</td>
<td>78</td>
<td>catalog_product_get_final_price</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogSearch/Model/Mysql4/Advanced.php</td>
<td>71</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogSearch/Model/Mysql4/Advanced.php</td>
<td>76</td>
<td>catalog_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogSearch/Model/Mysql4/Fulltext.php</td>
<td>244</td>
<td>catalogsearch_reset_search_result</td>
</tr>
<tr>
<td>/app/code/core/Mage/GoogleBase/controllers/TypesController.php</td>
<td>46</td>
<td>controller_action_postdispatch_adminhtml</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>149</td>
<td>sales_order_payment_place_start</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>225</td>
<td>sales_order_payment_place_end</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>260</td>
<td>sales_order_payment_capture</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>388</td>
<td>sales_order_payment_pay</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>406</td>
<td>sales_order_payment_cancel_invoice</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>456</td>
<td>sales_order_payment_void</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>540</td>
<td>sales_order_payment_refund</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>606</td>
<td>sales_order_payment_cancel_creditmemo</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>634</td>
<td>sales_order_payment_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Item.php</td>
<td>311</td>
<td>sales_order_item_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment/Transaction.php</td>
<td>397</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_by_txn_id_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment/Transaction.php</td>
<td>423</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_by_txn_id_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Creditmemo.php</td>
<td>297</td>
<td>sales_order_creditmemo_refund</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Creditmemo.php</td>
<td>340</td>
<td>sales_order_creditmemo_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Invoice.php</td>
<td>275</td>
<td>sales_order_invoice_pay</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Invoice.php</td>
<td>345</td>
<td>sales_order_invoice_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Invoice.php</td>
<td>517</td>
<td>sales_order_invoice_register</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Address/Total/Discount.php</td>
<td>80</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Address/Total/Discount.php</td>
<td>111</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Payment.php</td>
<td>81</td>
<td>$this-&gt;_eventPrefix.&#8217;_import_data_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Item.php</td>
<td>177</td>
<td>sales_quote_item_qty_set_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Item.php</td>
<td>261</td>
<td>sales_quote_item_set_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Sale/Collection.php</td>
<td>166</td>
<td>sales_sale_collection_query_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Order/Abstract.php</td>
<td>138</td>
<td>$this-&gt;_eventPrefix.&#8217;_init_virtual_grid_columns&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Order/Abstract.php</td>
<td>163</td>
<td>$this-&gt;_eventPrefix.&#8217;_update_grid_records&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Order/Abstract.php</td>
<td>290</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_attribute_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Order/Abstract.php</td>
<td>309</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_attribute_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Order/Collection/Abstract.php</td>
<td>57</td>
<td>$this-&gt;_eventPrefix.&#8217;_set_sales_order&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Quote/Item/Collection.php</td>
<td>179</td>
<td>sales_quote_item_collection_products_after_load</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Order.php</td>
<td>53</td>
<td>sales_convert_order_to_quote</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>56</td>
<td>sales_convert_quote_to_order</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>74</td>
<td>sales_convert_quote_address_to_order</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>94</td>
<td>sales_convert_quote_address_to_order_address</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>113</td>
<td>sales_convert_quote_payment_to_order_payment</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>150</td>
<td>sales_convert_quote_item_to_order_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>172</td>
<td>checkout_type_onepage_save_order</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>173</td>
<td>sales_model_service_quote_submit_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>176</td>
<td>sales_model_service_quote_submit_success</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>178</td>
<td>sales_model_service_quote_submit_failure</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>181</td>
<td>sales_model_service_quote_submit_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order.php</td>
<td>708</td>
<td>sales_order_place_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order.php</td>
<td>710</td>
<td>sales_order_place_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>619</td>
<td>sales_quote_remove_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>647</td>
<td>sales_quote_add_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>725</td>
<td>sales_quote_product_add_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>912</td>
<td>$this-&gt;_eventPrefix.&#8217;_collect_totals_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>977</td>
<td>$this-&gt;_eventPrefix.&#8217;_collect_totals_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>1170</td>
<td>$this-&gt;_eventPrefix.&#8217;_merge_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>1213</td>
<td>$this-&gt;_eventPrefix.&#8217;_merge_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/controllers/ProductController.php</td>
<td>73</td>
<td>review_controller_product_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/controllers/ProductController.php</td>
<td>85</td>
<td>review_controller_product_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/controllers/ProductController.php</td>
<td>86</td>
<td>review_controller_product_init_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/Model/Mysql4/Review/Collection.php</td>
<td>188</td>
<td>review_review_collection_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation.php</td>
<td>189</td>
<td>tax_rate_data_fetch</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rate.php</td>
<td>90</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rate.php</td>
<td>102</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rate.php</td>
<td>146</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rule.php</td>
<td>62</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rule.php</td>
<td>74</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Log/Model/Mysql4/Visitor/Collection.php</td>
<td>299</td>
<td>log_visitor_collection_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Log/Model/Mysql4/Log.php</td>
<td>56</td>
<td>log_log_clean_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Log/Model/Mysql4/Log.php</td>
<td>64</td>
<td>log_log_clean_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Payment/Block/Info.php</td>
<td>166</td>
<td>payment_info_block_prepare_specific_information</td>
</tr>
<tr>
<td>/app/code/core/Mage/Payment/Block/Form/Cc.php</td>
<td>154</td>
<td>payment_form_block_to_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Payment/Model/Method/Abstract.php</td>
<td>600</td>
<td>payment_method_is_active</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Block/Adminhtml/Attribute/Edit/Main/Abstract.php</td>
<td>174</td>
<td>adminhtml_block_eav_attribute_edit_form_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Model/Entity/Attribute.php</td>
<td>180</td>
<td>eav_attribute_get_backend_type_by_input</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Model/Entity/Attribute.php</td>
<td>224</td>
<td>eav_attribute_get_default_value_by_input</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php</td>
<td>788</td>
<td>eav_collection_abstract_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Helper/Page.php</td>
<td>105</td>
<td>cms_page_render</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Helper/Wysiwyg/Images.php</td>
<td>157</td>
<td>cms_wysiwyg_images_static_urls_allowed</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Controller/Router.php</td>
<td>71</td>
<td>cms_controller_router_match_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Model/Page.php</td>
<td>115</td>
<td>cms_page_get_available_statuses</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Model/Wysiwyg/Config.php</td>
<td>88</td>
<td>cms_wysiwyg_config_prepare</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Block/Product/List/Upsell.php</td>
<td>70</td>
<td>catalog_product_upsell</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Block/Product/View.php</td>
<td>160</td>
<td>catalog_product_view_config</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Block/Product/List.php</td>
<td>150</td>
<td>catalog_block_product_list_collection</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Helper/Output.php</td>
<td>48</td>
<td>catalog_helper_output_construct</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/CategoryController.php</td>
<td>43</td>
<td>catalog_controller_category_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/CategoryController.php</td>
<td>59</td>
<td>catalog_controller_category_init_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>42</td>
<td>catalog_controller_product_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>80</td>
<td>catalog_controller_product_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>81</td>
<td>catalog_controller_product_init_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>139</td>
<td>catalog_controller_product_view</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/Product/CompareController.php</td>
<td>80</td>
<td>catalog_product_compare_add_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/Product/CompareController.php</td>
<td>114</td>
<td>catalog_product_compare_remove_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Convert/Adapter/Product.php</td>
<td>737</td>
<td>catalog_product_import_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php</td>
<td>127</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php</td>
<td>139</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php</td>
<td>301</td>
<td>$this-&gt;_eventPrefix.&#8217;_add_is_active_filter&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php</td>
<td>197</td>
<td>catalog_category_tree_init_inactive_category_ids</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php</td>
<td>354</td>
<td>catalog_category_tree_move_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php</td>
<td>389</td>
<td>catalog_category_tree_move_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat.php</td>
<td>155</td>
<td>catalog_category_tree_init_inactive_category_ids</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php</td>
<td>109</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php</td>
<td>121</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php</td>
<td>196</td>
<td>$this-&gt;_eventPrefix.&#8217;_add_is_active_filter&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php</td>
<td>104</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php</td>
<td>109</td>
<td>catalog_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category.php</td>
<td>352</td>
<td>catalog_category_change_products</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Compare/Item/Collection.php</td>
<td>316</td>
<td>catalog_product_compare_item_collection_clear</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Grouped.php</td>
<td>114</td>
<td>catalog_product_prepare_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php</td>
<td>252</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php</td>
<td>269</td>
<td>prepare_catalog_product_price_index_table</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Source.php</td>
<td>140</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Source.php</td>
<td>213</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Abstract.php</td>
<td>187</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Decimal.php</td>
<td>97</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>336</td>
<td>catalog_product_collection_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>359</td>
<td>catalog_product_collection_load_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>793</td>
<td>catalog_product_collection_before_add_count_to_categories</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>1566</td>
<td>catalog_product_collection_apply_limitations_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>335</td>
<td>catalog_product_flat_prepare_columns</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>396</td>
<td>catalog_product_flat_prepare_indexes</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>848</td>
<td>catalog_product_flat_rebuild</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>1097</td>
<td>catalog_product_flat_update_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>165</td>
<td>$this-&gt;_eventPrefix.&#8217;_validate_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>167</td>
<td>$this-&gt;_eventPrefix.&#8217;_validate_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>989</td>
<td>catalog_model_product_duplicate</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>1187</td>
<td>catalog_product_is_salable_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>1197</td>
<td>catalog_product_is_salable_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>1334</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_after_done&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>214</td>
<td>catalog_category_tree_move_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>215</td>
<td>$this-&gt;_eventPrefix.&#8217;_move_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>219</td>
<td>$this-&gt;_eventPrefix.&#8217;_move_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>220</td>
<td>catalog_category_tree_move_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>230</td>
<td>category_move</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Action.php</td>
<td>93</td>
<td>catalog_product_website_update_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Action.php</td>
<td>117</td>
<td>catalog_product_website_update</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Status.php</td>
<td>208</td>
<td>catalog_product_status_update</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Type/Price.php</td>
<td>68</td>
<td>catalog_product_get_final_price</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Type/Abstract.php</td>
<td>371</td>
<td>catalog_product_type_prepare_cart_options</td>
</tr>
<tr>
<td>/app/code/core/Mage/Wishlist/Helper/Data.php</td>
<td>334</td>
<td>wishlist_items_renewed</td>
</tr>
<tr>
<td>/app/code/core/Mage/Wishlist/controllers/IndexController.php</td>
<td>137</td>
<td>wishlist_add_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Wishlist/controllers/IndexController.php</td>
<td>383</td>
<td>wishlist_share</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Order/New.php</td>
<td>77</td>
<td>rss_order_new_collection_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Tag.php</td>
<td>87</td>
<td>rss_catalog_tagged_item_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Special.php</td>
<td>151</td>
<td>rss_catalog_special_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/NotifyStock.php</td>
<td>81</td>
<td>rss_catalog_notify_stock_collection_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Category.php</td>
<td>119</td>
<td>rss_catalog_category_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Review.php</td>
<td>74</td>
<td>rss_catalog_review_collection_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/New.php</td>
<td>105</td>
<td>rss_catalog_new_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Helper/Data.php</td>
<td>275</td>
<td>checkout_allow_guest</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/CartController.php</td>
<td>191</td>
<td>checkout_cart_add_product_complete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/OnepageController.php</td>
<td>223</td>
<td>checkout_onepage_controller_success_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/OnepageController.php</td>
<td>366</td>
<td>checkout_controller_onepage_save_shipping_method</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/MultishippingController.php</td>
<td>312</td>
<td>checkout_controller_multishipping_shipping_post</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/MultishippingController.php</td>
<td>503</td>
<td>checkout_multishipping_controller_success_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Type/Onepage.php</td>
<td>635</td>
<td>checkout_type_onepage_save_order_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Type/Multishipping.php</td>
<td>260</td>
<td>checkout_type_multishipping_set_shipping_items</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Type/Multishipping.php</td>
<td>480</td>
<td>checkout_type_multishipping_create_orders_single</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Session.php</td>
<td>93</td>
<td>checkout_quote_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Session.php</td>
<td>198</td>
<td>checkout_quote_destroy</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>254</td>
<td>checkout_cart_product_add_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>312</td>
<td>checkout_cart_update_items_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>331</td>
<td>checkout_cart_update_items_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>362</td>
<td>checkout_cart_save_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tag/Model/Mysql4/Indexer/Summary.php</td>
<td>208</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tag/Model/Mysql4/Product/Collection.php</td>
<td>395</td>
<td>tag_tag_product_collection_load_after</td>
</tr>
<tr>
<td>/app/Mage.php</td>
<td>610</td>
<td>mage_run_exception</td>
</tr>
</tbody>
</table>
<img src="http://feeds.feedburner.com/~r/johnw/~4/Wf2_ZRFUp1s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/magento-1-4-1-0-event-hooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Magento 1.4.0.1 Event hooks</title>
		<link>http://watson-net.com/blog/magento-1-4-0-1-event-hooks/</link>
		<comments>http://watson-net.com/blog/magento-1-4-0-1-event-hooks/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 20:00:10 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[magento]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=327</guid>
		<description><![CDATA[This listing of Magento event hooks was generated automatically from the source code. Please let me know if you find any errors or omissions. File Line Event /cron.php 44 default /app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php 399 catalogrule_before_apply /app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php 531 catalogrule_after_apply /app/code/core/Mage/Rule/Model/Environment.php 40 rule_environment_collect /app/code/core/Mage/SalesRule/Model/Rule/Condition/Combine.php 54 salesrule_rule_condition_combine /app/code/core/Mage/SalesRule/Model/Quote/Discount.php 83 sales_quote_address_discount_item /app/code/core/Mage/SalesRule/Model/Quote/Discount.php 89 sales_quote_address_discount_item /app/code/core/Mage/SalesRule/Model/Validator.php 326 salesrule_validator_process /app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php 88 catalogindex_prepare_price_select /app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php [...]]]></description>
			<content:encoded><![CDATA[<p>This listing of Magento event hooks was generated automatically from the source code. Please let me know if you find any errors or omissions.</p>
<table>
<thead>
<tr>
<td><strong>File</strong></td>
<td><strong>Line</strong></td>
<td><strong>Event</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td>/cron.php</td>
<td>44</td>
<td>default</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php</td>
<td>399</td>
<td>catalogrule_before_apply</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogRule/Model/Mysql4/Rule.php</td>
<td>531</td>
<td>catalogrule_after_apply</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rule/Model/Environment.php</td>
<td>40</td>
<td>rule_environment_collect</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Rule/Condition/Combine.php</td>
<td>54</td>
<td>salesrule_rule_condition_combine</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Quote/Discount.php</td>
<td>83</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Quote/Discount.php</td>
<td>89</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/SalesRule/Model/Validator.php</td>
<td>326</td>
<td>salesrule_validator_process</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>88</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>119</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>163</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Mysql4/Price.php</td>
<td>203</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Data/Abstract.php</td>
<td>204</td>
<td>catalogindex_get_minimal_price</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Indexer.php</td>
<td>353</td>
<td>catalogindex_plain_reindex_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogIndex/Model/Indexer.php</td>
<td>613</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Admin/Model/User.php</td>
<td>244</td>
<td>admin_user_authenticate_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Admin/Model/Session.php</td>
<td>101</td>
<td>admin_session_user_login_success</td>
</tr>
<tr>
<td>/app/code/core/Mage/Admin/Model/Session.php</td>
<td>111</td>
<td>admin_session_user_login_failed</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sendfriend/controllers/ProductController.php</td>
<td>131</td>
<td>sendfriend_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Helper/Data.php</td>
<td>268</td>
<td>customer_registration_is_allowed</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Customer.php</td>
<td>124</td>
<td>customer_customer_authenticated</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Session.php</td>
<td>68</td>
<td>customer_session_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Session.php</td>
<td>192</td>
<td>customer_login</td>
</tr>
<tr>
<td>/app/code/core/Mage/Customer/Model/Session.php</td>
<td>220</td>
<td>customer_logout</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>210</td>
<td>core_block_abstract_prepare_layout_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>212</td>
<td>core_block_abstract_prepare_layout_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>660</td>
<td>core_block_abstract_to_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Block/Abstract.php</td>
<td>682</td>
<td>core_block_abstract_to_html_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Response/Http.php</td>
<td>74</td>
<td>http_response_send_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>299</td>
<td>controller_action_layout_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>317</td>
<td>controller_action_layout_generate_xml_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>336</td>
<td>controller_action_layout_generate_blocks_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>348</td>
<td>controller_action_layout_generate_blocks_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>383</td>
<td>controller_action_layout_render_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>384</td>
<td>controller_action_layout_render_before_</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>497</td>
<td>controller_action_predispatch</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>499</td>
<td>&#8216;controller_action_predispatch_&#8217;.$this-&gt;getRequest()-&gt;getRouteName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>504</td>
<td>&#8216;controller_action_predispatch_&#8217;.$this-&gt;getFullActionName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>519</td>
<td>&#8216;controller_action_postdispatch_&#8217;.$this-&gt;getFullActionName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>523</td>
<td>&#8216;controller_action_postdispatch_&#8217;.$this-&gt;getRequest()-&gt;getRouteName(),</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>526</td>
<td>controller_action_postdispatch</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>535</td>
<td>controller_action_noroute</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Action.php</td>
<td>555</td>
<td>controller_action_nocookies</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Front.php</td>
<td>128</td>
<td>controller_front_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Front.php</td>
<td>147</td>
<td>controller_front_init_routers</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Controller/Varien/Front.php</td>
<td>190</td>
<td>controller_front_send_response_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Mysql4/Collection/Abstract.php</td>
<td>193</td>
<td>core_collection_abstract_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Mysql4/Collection/Abstract.php</td>
<td>210</td>
<td>core_collection_abstract_load_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Resource.php</td>
<td>167</td>
<td>resource_get_tablename</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Locale.php</td>
<td>136</td>
<td>core_locale_set_locale</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/App.php</td>
<td>1089</td>
<td>application_clean_cache</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>249</td>
<td>model_load_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>250</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>307</td>
<td>model_save_commit_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>308</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_commit_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>354</td>
<td>model_save_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>355</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>429</td>
<td>model_save_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>430</td>
<td>$this-&gt;_eventPrefix.&#8217;_save_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>464</td>
<td>model_delete_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>465</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>492</td>
<td>model_delete_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>493</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>504</td>
<td>model_delete_commit_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Abstract.php</td>
<td>505</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_commit_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Core/Model/Layout/Update.php</td>
<td>406</td>
<td>core_layout_update_updates_get_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Report/Grid.php</td>
<td>174</td>
<td>adminhtml_widget_grid_filter_collection</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Widget/Container.php</td>
<td>294</td>
<td>adminhtml_widget_container_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Template.php</td>
<td>80</td>
<td>adminhtml_block_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Promo/Quote/Edit/Tab/Actions.php</td>
<td>162</td>
<td>adminhtml_block_salesrule_actions_prepareform</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Main.php</td>
<td>117</td>
<td>adminhtml_cms_page_edit_tab_main_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Meta.php</td>
<td>76</td>
<td>adminhtml_cms_page_edit_tab_meta_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Design.php</td>
<td>125</td>
<td>adminhtml_cms_page_edit_tab_design_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php</td>
<td>98</td>
<td>adminhtml_cms_page_edit_tab_content_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tabs.php</td>
<td>149</td>
<td>adminhtml_catalog_category_tabs</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tree.php</td>
<td>284</td>
<td>adminhtml_catalog_category_tree_is_moveable</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tree.php</td>
<td>322</td>
<td>adminhtml_catalog_category_tree_can_add_root_category</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Category/Tree.php</td>
<td>342</td>
<td>adminhtml_catalog_category_tree_can_add_sub_category</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Action/Attribute/Tab/Attributes.php</td>
<td>48</td>
<td>adminhtml_catalog_product_form_prepare_excluded_field_list</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php</td>
<td>119</td>
<td>adminhtml_catalog_product_edit_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes.php</td>
<td>139</td>
<td>adminhtml_catalog_product_edit_element_types</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Attributes/Create.php</td>
<td>85</td>
<td>adminhtml_catalog_product_edit_tab_attributes_create_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Edit/Tab/Main.php</td>
<td>71</td>
<td>adminhtml_product_attribute_types</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/New/Product/Attributes.php</td>
<td>64</td>
<td>adminhtml_catalog_product_edit_prepare_form</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/New/Product/Attributes.php</td>
<td>80</td>
<td>adminhtml_catalog_product_edit_element_types</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Set/Main.php</td>
<td>405</td>
<td>adminhtml_catalog_product_attribute_set_main_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/Main.php</td>
<td>68</td>
<td>adminhtml_catalog_product_attribute_set_toolbar_main_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Controller/Action.php</td>
<td>151</td>
<td>adminhtml_controller_action_predispatch_start</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/ReportController.php</td>
<td>82</td>
<td>on_view_report</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Permissions/RoleController.php</td>
<td>189</td>
<td>admin_permissions_role_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/ConfigController.php</td>
<td>140</td>
<td>array(&#8216;website&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/StoreController.php</td>
<td>199</td>
<td>store_group_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/StoreController.php</td>
<td>221</td>
<td>$eventName,array(&#8216;store&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/System/StoreController.php</td>
<td>419</td>
<td>store_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CustomerController.php</td>
<td>220</td>
<td>adminhtml_customer_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CustomerController.php</td>
<td>248</td>
<td>adminhtml_customer_save_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreateController.php</td>
<td>217</td>
<td>adminhtml_sales_order_create_process_data</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Sales/Order/CreditmemoController.php</td>
<td>215</td>
<td>adminhtml_sales_order_creditmemo_register_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Promo/CatalogController.php</td>
<td>97</td>
<td>adminhtml_controller_catalogrule_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Promo/QuoteController.php</td>
<td>109</td>
<td>adminhtml_controller_salesrule_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Cms/PageController.php</td>
<td>140</td>
<td>cms_page_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Cms/PageController.php</td>
<td>199</td>
<td>adminhtml_cmspage_on_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Cms/PageController.php</td>
<td>204</td>
<td>adminhtml_cmspage_on_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CacheController.php</td>
<td>142</td>
<td>clean_media_cache_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/CacheController.php</td>
<td>166</td>
<td>clean_catalog_images_cache_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController.php</td>
<td>289</td>
<td>catalog_category_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController.php</td>
<td>352</td>
<td>catalog_controller_category_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>182</td>
<td>catalog_product_new_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>221</td>
<td>catalog_product_edit_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>593</td>
<td>catalog_product_prepare_save</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php</td>
<td>811</td>
<td>catalog_controller_product_delete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/controllers/Catalog/Product/Action/AttributeController.php</td>
<td>140</td>
<td>catalog_product_to_website_change</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php</td>
<td>217</td>
<td>sales_convert_order_to_quote</td>
</tr>
<tr>
<td>/app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php</td>
<td>306</td>
<td>sales_convert_order_item_to_quote_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Api/Model/User.php</td>
<td>174</td>
<td>api_user_authenticated</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Block/Catalog/Product/View/Type/Bundle.php</td>
<td>101</td>
<td>bundle_product_view_config</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Mysql4/Price/Index.php</td>
<td>357</td>
<td>catalog_product_prepare_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Price.php</td>
<td>272</td>
<td>catalog_product_prepare_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Mysql4/Indexer/Price.php</td>
<td>429</td>
<td>prepare_catalog_product_price_index_table</td>
</tr>
<tr>
<td>/app/code/core/Mage/Bundle/Model/Product/Price.php</td>
<td>78</td>
<td>catalog_product_get_final_price</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogSearch/Model/Mysql4/Advanced.php</td>
<td>71</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogSearch/Model/Mysql4/Advanced.php</td>
<td>76</td>
<td>catalog_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/CatalogSearch/Model/Mysql4/Fulltext.php</td>
<td>232</td>
<td>catalogsearch_reset_search_result</td>
</tr>
<tr>
<td>/app/code/core/Mage/GoogleBase/controllers/TypesController.php</td>
<td>46</td>
<td>controller_action_postdispatch_adminhtml</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>129</td>
<td>sales_order_payment_place_start</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>205</td>
<td>sales_order_payment_place_end</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>240</td>
<td>sales_order_payment_capture</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>344</td>
<td>sales_order_payment_pay</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>362</td>
<td>sales_order_payment_cancel_invoice</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>412</td>
<td>sales_order_payment_void</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>496</td>
<td>sales_order_payment_refund</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>559</td>
<td>sales_order_payment_cancel_creditmemo</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Payment.php</td>
<td>584</td>
<td>sales_order_payment_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Item.php</td>
<td>311</td>
<td>sales_order_item_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Creditmemo.php</td>
<td>324</td>
<td>sales_order_creditmemo_refund</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Creditmemo.php</td>
<td>367</td>
<td>sales_order_creditmemo_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Invoice.php</td>
<td>275</td>
<td>sales_order_invoice_pay</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order/Invoice.php</td>
<td>339</td>
<td>sales_order_invoice_cancel</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Address/Total/Discount.php</td>
<td>80</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Address/Total/Discount.php</td>
<td>111</td>
<td>sales_quote_address_discount_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Payment.php</td>
<td>81</td>
<td>$this-&gt;_eventPrefix.&#8217;_import_data_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Item.php</td>
<td>177</td>
<td>sales_quote_item_qty_set_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote/Item.php</td>
<td>258</td>
<td>sales_quote_item_set_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Sale/Collection.php</td>
<td>170</td>
<td>sales_sale_collection_query_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Mysql4/Quote/Item/Collection.php</td>
<td>173</td>
<td>sales_quote_item_collection_products_after_load</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Order.php</td>
<td>53</td>
<td>sales_convert_order_to_quote</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>56</td>
<td>sales_convert_quote_to_order</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>74</td>
<td>sales_convert_quote_address_to_order</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>94</td>
<td>sales_convert_quote_address_to_order_address</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>113</td>
<td>sales_convert_quote_payment_to_order_payment</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Convert/Quote.php</td>
<td>149</td>
<td>sales_convert_quote_item_to_order_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>147</td>
<td>checkout_type_onepage_save_order</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>148</td>
<td>sales_model_service_quote_submit_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Service/Quote.php</td>
<td>150</td>
<td>sales_model_service_quote_submit_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order.php</td>
<td>657</td>
<td>sales_order_place_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Order.php</td>
<td>659</td>
<td>sales_order_place_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>606</td>
<td>sales_quote_remove_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>622</td>
<td>sales_quote_add_item</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>700</td>
<td>sales_quote_product_add_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>886</td>
<td>$this-&gt;_eventPrefix.&#8217;_collect_totals_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>951</td>
<td>$this-&gt;_eventPrefix.&#8217;_collect_totals_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>1144</td>
<td>$this-&gt;_eventPrefix.&#8217;_merge_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Sales/Model/Quote.php</td>
<td>1187</td>
<td>$this-&gt;_eventPrefix.&#8217;_merge_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/controllers/ProductController.php</td>
<td>73</td>
<td>review_controller_product_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/controllers/ProductController.php</td>
<td>85</td>
<td>review_controller_product_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/controllers/ProductController.php</td>
<td>86</td>
<td>review_controller_product_init_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Review/Model/Mysql4/Review/Collection.php</td>
<td>188</td>
<td>review_review_collection_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation.php</td>
<td>189</td>
<td>tax_rate_data_fetch</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rate.php</td>
<td>89</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rate.php</td>
<td>101</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rate.php</td>
<td>145</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rule.php</td>
<td>62</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tax/Model/Calculation/Rule.php</td>
<td>74</td>
<td>tax_settings_change_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Log/Model/Mysql4/Visitor/Collection.php</td>
<td>299</td>
<td>log_visitor_collection_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Log/Model/Mysql4/Log.php</td>
<td>56</td>
<td>log_log_clean_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Log/Model/Mysql4/Log.php</td>
<td>64</td>
<td>log_log_clean_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Payment/Block/Info.php</td>
<td>166</td>
<td>payment_info_block_prepare_specific_information</td>
</tr>
<tr>
<td>/app/code/core/Mage/Payment/Block/Form/Cc.php</td>
<td>153</td>
<td>payment_form_block_to_html_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Payment/Model/Method/Abstract.php</td>
<td>495</td>
<td>payment_method_is_active</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Block/Adminhtml/Attribute/Edit/Main/Abstract.php</td>
<td>174</td>
<td>adminhtml_block_eav_attribute_edit_form_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Model/Entity/Attribute.php</td>
<td>180</td>
<td>eav_attribute_get_backend_type_by_input</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Model/Entity/Attribute.php</td>
<td>224</td>
<td>eav_attribute_get_default_value_by_input</td>
</tr>
<tr>
<td>/app/code/core/Mage/Eav/Model/Entity/Collection/Abstract.php</td>
<td>788</td>
<td>eav_collection_abstract_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Helper/Page.php</td>
<td>101</td>
<td>cms_page_render</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Controller/Router.php</td>
<td>71</td>
<td>cms_controller_router_match_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Model/Page.php</td>
<td>115</td>
<td>cms_page_get_available_statuses</td>
</tr>
<tr>
<td>/app/code/core/Mage/Cms/Model/Wysiwyg/Config.php</td>
<td>88</td>
<td>cms_wysiwyg_config_prepare</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Block/Product/List/Upsell.php</td>
<td>70</td>
<td>catalog_product_upsell</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Block/Product/View.php</td>
<td>160</td>
<td>catalog_product_view_config</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Block/Product/List.php</td>
<td>147</td>
<td>catalog_block_product_list_collection</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Helper/Output.php</td>
<td>38</td>
<td>catalog_helper_output_construct</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/CategoryController.php</td>
<td>43</td>
<td>catalog_controller_category_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/CategoryController.php</td>
<td>59</td>
<td>catalog_controller_category_init_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>42</td>
<td>catalog_controller_product_init_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>80</td>
<td>catalog_controller_product_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>81</td>
<td>catalog_controller_product_init_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/ProductController.php</td>
<td>139</td>
<td>catalog_controller_product_view</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/Product/CompareController.php</td>
<td>80</td>
<td>catalog_product_compare_add_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/controllers/Product/CompareController.php</td>
<td>114</td>
<td>catalog_product_compare_remove_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Convert/Adapter/Product.php</td>
<td>737</td>
<td>catalog_product_import_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php</td>
<td>127</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php</td>
<td>139</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Collection.php</td>
<td>301</td>
<td>$this-&gt;_eventPrefix.&#8217;_add_is_active_filter&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php</td>
<td>196</td>
<td>catalog_category_tree_init_inactive_category_ids</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php</td>
<td>353</td>
<td>catalog_category_tree_move_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Tree.php</td>
<td>388</td>
<td>catalog_category_tree_move_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat.php</td>
<td>155</td>
<td>catalog_category_tree_init_inactive_category_ids</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php</td>
<td>109</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php</td>
<td>121</td>
<td>$this-&gt;_eventPrefix.&#8217;_load_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category/Flat/Collection.php</td>
<td>196</td>
<td>$this-&gt;_eventPrefix.&#8217;_add_is_active_filter&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php</td>
<td>104</td>
<td>catalogindex_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Layer/Filter/Price.php</td>
<td>109</td>
<td>catalog_prepare_price_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Category.php</td>
<td>352</td>
<td>catalog_category_change_products</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Compare/Item/Collection.php</td>
<td>328</td>
<td>catalog_product_compare_item_collection_clear</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Grouped.php</td>
<td>113</td>
<td>catalog_product_prepare_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php</td>
<td>269</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price/Default.php</td>
<td>286</td>
<td>prepare_catalog_product_price_index_table</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Source.php</td>
<td>140</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Source.php</td>
<td>213</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Abstract.php</td>
<td>187</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Eav/Decimal.php</td>
<td>97</td>
<td>prepare_catalog_product_index_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>336</td>
<td>catalog_product_collection_load_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>359</td>
<td>catalog_product_collection_load_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>785</td>
<td>catalog_product_collection_before_add_count_to_categories</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Collection.php</td>
<td>1539</td>
<td>catalog_product_collection_apply_limitations_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>335</td>
<td>catalog_product_flat_prepare_columns</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>396</td>
<td>catalog_product_flat_prepare_indexes</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>848</td>
<td>catalog_product_flat_rebuild</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Product/Flat/Indexer.php</td>
<td>1097</td>
<td>catalog_product_flat_update_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>158</td>
<td>$this-&gt;_eventPrefix.&#8217;_validate_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>160</td>
<td>$this-&gt;_eventPrefix.&#8217;_validate_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>982</td>
<td>catalog_model_product_duplicate</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>1180</td>
<td>catalog_product_is_salable_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>1190</td>
<td>catalog_product_is_salable_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product.php</td>
<td>1317</td>
<td>$this-&gt;_eventPrefix.&#8217;_delete_after_done&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>214</td>
<td>catalog_category_tree_move_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>215</td>
<td>$this-&gt;_eventPrefix.&#8217;_move_before&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>219</td>
<td>$this-&gt;_eventPrefix.&#8217;_move_after&#8217;</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>220</td>
<td>catalog_category_tree_move_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Category.php</td>
<td>230</td>
<td>category_move</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Action.php</td>
<td>93</td>
<td>catalog_product_website_update_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Action.php</td>
<td>117</td>
<td>catalog_product_website_update</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Status.php</td>
<td>208</td>
<td>catalog_product_status_update</td>
</tr>
<tr>
<td>/app/code/core/Mage/Catalog/Model/Product/Type/Price.php</td>
<td>68</td>
<td>catalog_product_get_final_price</td>
</tr>
<tr>
<td>/app/code/core/Mage/Wishlist/Helper/Data.php</td>
<td>334</td>
<td>wishlist_items_renewed</td>
</tr>
<tr>
<td>/app/code/core/Mage/Wishlist/controllers/IndexController.php</td>
<td>135</td>
<td>wishlist_add_product</td>
</tr>
<tr>
<td>/app/code/core/Mage/Wishlist/controllers/IndexController.php</td>
<td>367</td>
<td>wishlist_share</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Order/New.php</td>
<td>77</td>
<td>rss_order_new_collection_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Tag.php</td>
<td>87</td>
<td>rss_catalog_tagged_item_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Special.php</td>
<td>151</td>
<td>rss_catalog_special_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/NotifyStock.php</td>
<td>81</td>
<td>rss_catalog_notify_stock_collection_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Category.php</td>
<td>118</td>
<td>rss_catalog_category_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/Review.php</td>
<td>74</td>
<td>rss_catalog_review_collection_select</td>
</tr>
<tr>
<td>/app/code/core/Mage/Rss/Block/Catalog/New.php</td>
<td>103</td>
<td>rss_catalog_new_xml_callback</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Helper/Data.php</td>
<td>274</td>
<td>checkout_allow_guest</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/CartController.php</td>
<td>184</td>
<td>checkout_cart_add_product_complete</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/OnepageController.php</td>
<td>222</td>
<td>checkout_onepage_controller_success_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/OnepageController.php</td>
<td>365</td>
<td>checkout_controller_onepage_save_shipping_method</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/MultishippingController.php</td>
<td>312</td>
<td>checkout_controller_multishipping_shipping_post</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/controllers/MultishippingController.php</td>
<td>503</td>
<td>checkout_multishipping_controller_success_action</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Type/Onepage.php</td>
<td>616</td>
<td>checkout_type_onepage_save_order_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Type/Multishipping.php</td>
<td>253</td>
<td>checkout_type_multishipping_set_shipping_items</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Type/Multishipping.php</td>
<td>473</td>
<td>checkout_type_multishipping_create_orders_single</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Session.php</td>
<td>87</td>
<td>checkout_quote_init</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Session.php</td>
<td>192</td>
<td>checkout_quote_destroy</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>253</td>
<td>checkout_cart_product_add_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>313</td>
<td>checkout_cart_update_items_before</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>332</td>
<td>checkout_cart_update_items_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Checkout/Model/Cart.php</td>
<td>363</td>
<td>checkout_cart_save_after</td>
</tr>
<tr>
<td>/app/code/core/Mage/Tag/Model/Mysql4/Product/Collection.php</td>
<td>395</td>
<td>tag_tag_product_collection_load_after</td>
</tr>
<tr>
<td>/app/Mage.php</td>
<td>610</td>
<td>mage_run_exception</td>
</tr>
</tbody>
</table>
<img src="http://feeds.feedburner.com/~r/johnw/~4/PjiIADh2DSw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/magento-1-4-0-1-event-hooks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Browser market share at BigHugeLabs.com</title>
		<link>http://watson-net.com/blog/bighugelabs-browser-share/</link>
		<comments>http://watson-net.com/blog/bighugelabs-browser-share/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 09:24:53 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=323</guid>
		<description><![CDATA[Ars Technica writes: As of April, fewer than 6 out of 10 people use Internet Explorer. The browser trends that we&#8217;ve noted over the past several months are continuing with no sign of alteration: IE continues to slip, Firefox and Opera are fairly static, Safari is very slowly moving forward, and Chrome is pushing ahead [...]]]></description>
			<content:encoded><![CDATA[<p>Ars Technica writes:</p>
<blockquote><p>As of April, fewer than 6 out of 10 people use Internet Explorer. The browser trends that we&#8217;ve noted over the past several months are continuing with no sign of alteration: IE continues to slip, Firefox and Opera are fairly static, Safari is very slowly moving forward, and Chrome is pushing ahead at breakneck speeds. If we take a closer look at IE, though, we see that version 8 of Microsoft&#8217;s browser is actually growing faster than Chrome, but it&#8217;s still not enough to counter the overall decaying of IE. &#8211;<a href="http://arstechnica.com/microsoft/news/2010/06/internet-explorer-best-at-losing-gaining-market-share.ars">Internet Explorer best at losing, gaining market share</a></p></blockquote>
<p>In that article, they point out that the browser share on their site is much different than the average. So I took a look at BigHugeLabs stats to see how it compares:</p>
<div id="attachment_324" class="wp-caption aligncenter" style="width: 530px"><img class="size-full wp-image-324" title="BigHugeLabs browser market share April vs May 2010" src="http://watson-net.com/blog/wp-content/uploads/2010/06/bhl_visits.jpg" alt="" width="520" height="404" /><p class="wp-caption-text">BigHugeLabs browser market share April vs May 2010</p></div>
<img src="http://feeds.feedburner.com/~r/johnw/~4/fqgcxyi070w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/bighugelabs-browser-share/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking the internet</title>
		<link>http://watson-net.com/blog/breaking-the-internet/</link>
		<comments>http://watson-net.com/blog/breaking-the-internet/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 03:56:50 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[paste]]></category>
		<category><![CDATA[snap]]></category>
		<category><![CDATA[tynt]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=313</guid>
		<description><![CDATA[Tynt.com is trying to enhance the internet by breaking copy and paste. Their Javascript silently modifies whatever you copy from a webpage so that they can &#8220;leverage this behavior into more traffic, higher search rank and more.&#8221; Good grief. Gruber does a good job of explaining why this is bad (&#8220;It’s a bunch of user-hostile [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://tynt.com">Tynt.com</a> is trying to enhance the internet by breaking copy and paste. Their Javascript silently modifies whatever you copy from a webpage so that they can &#8220;leverage this behavior into more traffic, higher search rank and more.&#8221; Good grief.</p>
<p>Gruber does a good job of explaining why this is bad (<a href="http://daringfireball.net/2010/05/tynt_copy_paste_jerks">&#8220;It’s a bunch of user-hostile SEO bullshit&#8221;</a>). I&#8217;ll just add that the Javascript from these companies slows down your web browser and then uses your computer to break basic internet functionality (copy/paste and hyperlinks) so that you can be &#8220;leveraged.&#8221; I <em>hate</em> it when business types say <em>leverage</em> when what they really mean is <em>exploit.</em></p>
<p>It reminds me a lot of what <a href="http://snap.com">Snap.com</a> and others like them <a href="http://flagrantdisregard.com/snap-preview-anywhere-scourge-of-the-internet/">were/are doing with hyperlinks.</a></p>
<p>Fortunately, it&#8217;s easy to get back control. Modify your hosts file (/etc/hosts on Mac/Linux; uh, someplace else on Windows) and include the following lines:</p>
<p>127.0.0.1 tcr.tynt.com<br />
127.0.0.1 spa.snap.com<br />
127.0.0.1 shots.snap.com</p>
<p>The first line kills Tynt and the next two kill Snap. Their Javascript won&#8217;t load, you&#8217;ll never even know it was there, and you can carry on using the internet and your computer the way it was intended to be used.</p>
<p>If you are using either of these services on your own blog or website&#8230; please stop. It&#8217;s obnoxious.</p>
<img src="http://feeds.feedburner.com/~r/johnw/~4/LZI2U4ERm5Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/breaking-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix for /javascript files not found in Apache</title>
		<link>http://watson-net.com/blog/fix-for-javascript-files-not-found-in-apache/</link>
		<comments>http://watson-net.com/blog/fix-for-javascript-files-not-found-in-apache/#comments</comments>
		<pubDate>Fri, 07 May 2010 17:08:08 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=311</guid>
		<description><![CDATA[Running an Apache server on Debian? Suddenly find you can&#8217;t access any files in /javascript? As part of a maintenance upgrade, somehow the javascript-common package was selected for me. It quietly installs a symlink javascript-common.conf in /etc/apache2/conf.d that globally aliases all /javascript URLs to /usr/share/javascript. Why? Who knows. I&#8217;m sure whoever did it meant well. [...]]]></description>
			<content:encoded><![CDATA[<p>Running an Apache server on Debian? Suddenly find you can&#8217;t access any files in /javascript? As part of a maintenance upgrade, somehow the <strong>javascript-common</strong> package was selected for me. It quietly installs a symlink <em>javascript-common.conf</em> in /etc/apache2/conf.d that <em>globally</em> aliases all /javascript URLs to /usr/share/javascript. Why? Who knows. I&#8217;m sure whoever did it meant well. The fix is to either remove javascript-common or just delete the conf.d symlink and restart Apache.</p>
<img src="http://feeds.feedburner.com/~r/johnw/~4/95X_QcmUbAw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/fix-for-javascript-files-not-found-in-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome application shortcuts and multiple identities</title>
		<link>http://watson-net.com/blog/google-chrome-application-shortcuts-and-multiple-identities/</link>
		<comments>http://watson-net.com/blog/google-chrome-application-shortcuts-and-multiple-identities/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 15:51:37 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[profiles]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=309</guid>
		<description><![CDATA[I keep flipping between Chrome and Firefox. I&#8217;m currently back on Chrome (the speed!). One of the things I love about Firefox is the ability to create application shortcuts (using the Prism plugin). The cool thing about those shortcuts is that each one had it&#8217;s own user profile. I have multiple Google accounts and it [...]]]></description>
			<content:encoded><![CDATA[<p>I keep flipping between Chrome and Firefox. I&#8217;m currently back on Chrome (the speed!). One of the things I love about Firefox is the ability to create application shortcuts (<a href="https://addons.mozilla.org/en-US/firefox/addon/6665">using the Prism plugin</a>). The cool thing about those shortcuts is that each one had it&#8217;s own user profile. I have multiple Google accounts and it was a pain to log out and log in to each one individually throughout the day. Having these applications with their own profiles solved that problem for me. Now I could stay in my primary account all day in my browser and use the application shortcuts to check stuff in my other accounts without having to login again.</p>
<p>Google Chrome has a similar feature but by default it uses your primary user profile. Here&#8217;s what you do to make application shortcuts use an alternate profile:</p>
<ol>
<li>Create your application shortcut</li>
<li>Edit it and add &#8211;user-data-dir=<em>custom_profile_directory</em> to the launch command</li>
</ol>
<p>Where <em>custom_profile_directory</em> is a path to where you want the profile saved. Now that application shortcut will have its own cookies, saved passwords, browsing history, the works. You can use this parameter with Chrome when its in browser mode too. Handy if you&#8217;re doing web development and you need to be logged into one app as two different people.</p>
<img src="http://feeds.feedburner.com/~r/johnw/~4/YK8MBmDyFj4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/google-chrome-application-shortcuts-and-multiple-identities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell script that does something only when status changes</title>
		<link>http://watson-net.com/blog/shell-script-state/</link>
		<comments>http://watson-net.com/blog/shell-script-state/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 18:03:57 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://watson-net.com/blog/?p=303</guid>
		<description><![CDATA[I needed a shell script that runs every 5 minutes but I only wanted it to do something when a status changes. In this case, I wanted it to log some information to the system log but I didn&#8217;t want it to fill up the log with redundant entries. Here&#8217;s the pattern I came up [...]]]></description>
			<content:encoded><![CDATA[<p>I needed a shell script that runs every 5 minutes but I only wanted it to do something when a status changes. In this case, I wanted it to log some information to the system log but I didn&#8217;t want it to fill up the log with redundant entries. Here&#8217;s the pattern I came up with.</p>
<p>My true condition was checking the exit code of a command (e.g. $? -eq 0) but it could be anything. The key is that a temporary file (LOCKFILE) is created for one status and is deleted for the other status. This allows the script to keep track of state between runs. This script only differentiates between two statuses but it wouldn&#8217;t be difficult to adapt this to track changes between multiple states (store the current state in LOCKFILE).</p>
<p>Note, the way this is written, the <i>true</i> action will always be executed once after the system is booted.</p>
<pre>
#!/bin/sh

LOCKFILE=/var/lock/mylockfile
TAG=mytag

if [ <i>some condition is true</i> ]
then
    echo Status 1
    if [ ! -e $LOCKFILE ]
    then
        logger -t $TAG "Message for status 1"
        touch $LOCKFILE
    fi
else
    echo Status 2
    if [ -e $LOCKFILE ]
    then
        logger -t $TAG "Message for status 2"
        rm $LOCKFILE
    fi
fi
</pre>
<img src="http://feeds.feedburner.com/~r/johnw/~4/J-8Cb1Dtv8I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://watson-net.com/blog/shell-script-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
