<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Umbrella Development &#187; Addon</title>
	<atom:link href="http://www.umbrella-development.com/tag/addon/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.umbrella-development.com</link>
	<description></description>
	<lastBuildDate>Sat, 03 Apr 2010 02:06:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Trouble shooting Plugins</title>
		<link>http://www.umbrella-development.com/2010/03/trouble-shooting-plugins/</link>
		<comments>http://www.umbrella-development.com/2010/03/trouble-shooting-plugins/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 02:03:51 +0000</pubDate>
		<dc:creator>Umbrella</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[iLance]]></category>
		<category><![CDATA[Addon]]></category>
		<category><![CDATA[ilance]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.umbrella-development.com/?p=206</guid>
		<description><![CDATA[Sometimes plugins go Rogue and need to be debugged. But if you don't know how to properly name your backup copy of the plugin file, you could find yourself going from bad to worse in a matter of seconds.]]></description>
			<content:encoded><![CDATA[<p>Plugins, we want em, we need em, we love em.<br />
<br/></p>
<p>But sometimes they have bugs. Unfortunately as with all software, even plugins will have their bugs. We try our hardest to test them, but inevitibilly we cannot account for every environment that they will be assimilated into. Sometimes plugins can push eachother around, other times it can be another customization that causes a Plugin to go rogue. While everyone loves a self starter I&#8217;ve found that sometimes self-starters shoot themselves in the foot due to a lack of understanding what it is they&#8217;re doing. So, I&#8217;m hoping this article will help some of you self starters avoid what I&#8217;ve found to be a common pitfall in debugging plugins when they act funny after you install them.<br />
<br/></p>
<p>Most ilance marketplace owners at least attempt to do some of their own debugging prior to waiting for a support response. I think everyone familiar with any modicum of programming knows to make backups of the files they plan on altering. If you don&#8217;t then shame on you. If you do, then there is something you need to know about your <em>plugin_xxxxx.xml</em> files.<br />
<br/></p>
<p>Making a backup is very important. So in backing up your plugin you will most likely make a copy of it. Good idea! However, what most marketplace owners fail to realize is how iLance loads those plugins. When making your backup copy make sure you rename your copy so that the first word in the title is not <strong><em>&#8220;plugin_&#8221;</em></strong>. This is exactly what iLance looks for when it&#8217;s loading your plugin files. Anything inside your /functions/xml/ Directory that starts with the string value of <strong><em>&#8220;plugin&#8221;</em></strong> will be loaded. What happens if you do? iLance will load that plugin twice, because it things that <strong><em>plugin_myplug.xml</em></strong> and <strong><em>plugin_myplug_old.xml</em></strong> are two separate plugins that need to be loaded. Which in turn will make it look like you have the plugin installed twice on your marketplace by duplicating everything the plugin does.<br />
<br/></p>
<p>I&#8217;ve personally been contacted numerous times by the self-starting marketplace owners who are taking their code into their own hands (kudos to you guys/gals!). Unfortunately for them they had and left the plugin_ at the beginning of the file name when making their backup copy. So remember to put some word or text in front of the term plugin in your file name.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.umbrella-development.com/2010/03/trouble-shooting-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding to Daily Auction Newsletters</title>
		<link>http://www.umbrella-development.com/2009/12/adding-to-daily-auction-newsletters/</link>
		<comments>http://www.umbrella-development.com/2009/12/adding-to-daily-auction-newsletters/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 01:44:22 +0000</pubDate>
		<dc:creator>Umbrella</dc:creator>
				<category><![CDATA[iLance]]></category>
		<category><![CDATA[Addon]]></category>
		<category><![CDATA[ilance]]></category>
		<category><![CDATA[Premiere]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.grimeygames.com/umdev/?p=76</guid>
		<description><![CDATA[I was recently asked by a client who purchased our Premiere addon how they could update their cron_daily_auction_newsletter email template so that the listing includes whether or not the New projects are premiere only or not. So I thought I would share that information here, incase anyone else has a similar request.
This tutorial is being [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently asked by a client who purchased our Premiere addon how they could update their cron_daily_auction_newsletter email template so that the listing includes whether or not the New projects are premiere only or not. So I thought I would share that information here, incase anyone else has a similar request.</p>
<p>This tutorial is being written for ilance version 3.1.9, while it should stand true for 3.1.8 and the upcoming 3.2.0, you should make sure you pay extra close attention to your files if you aren&#8217;t using a vanilla installation of iLance 3.1.9.</p>
<p>Now, we will want to open up our<strong> class.subscription.inc.php </strong>located in the <strong>root/functions/api</strong> directory of your site.</p>
<p>Next you will want to do a Find (cntrl+f) for <strong>cron_daily_auction_newsletter</strong>, your first location should be around line #1948. This is where the iLance system kicks off who get&#8217;s which daily service auction announcements from the site for their selected categories. Of course this spot in the code really just loads the template from the database and then replaces variable parameters with actual information which is created prior to this snippet of code.</p>
<p><strong>Step 1:</strong></p>
<pre class="brush: php; first-line: 1945; highlight: [1948];">
// email user
$ilance-&gt;email-&gt;mail = $seller['email'];
$ilance-&gt;email-&gt;slng = fetch_user_slng($seller['user_id']);
$ilance-&gt;email-&gt;get('cron_daily_auction_newsletter');
$ilance-&gt;email-&gt;set(array(
'{{newsletterbody}}' =&gt; $messagebody,
'{{total}}' =&gt; count($projectsToSend),
));

$ilance-&gt;email-&gt;send();
</pre>
<p><strong>Step 2:</strong><br />
So now that we have a starting point, we need to scroll back up in the file to around line #1894 <em>(your line numbers may very)</em> where you will find the following code:</p>
<pre class="brush: php; first-line: 1894; highlight: [1948];">
if ($ilance-&gt;db-&gt;num_rows($buyerinfo) &gt; 0)
{
     $res_buyer_name = $ilance-&gt;db-&gt;fetch_array($buyerinfo);&lt;/pre&gt;
$messagebody .= strip_vulgar_words(un_htmlspecialchars(stripslashes($project['project_title']))) . &quot;\n&quot;;

// todo: check for seo

$messagebody .= HTTP_SERVER . &quot;rfp.php?id=&quot; . $project['project_id'] . &quot;\n&quot;;

$messagebody .= $phrase['_category'] . &quot;: &quot; . $ilance-&gt;categories-&gt;title(fetch_user_slng($seller['user_id']), 'service', $project['cid']) . &quot;\n&quot;;

$messagebody .= $phrase['_buyer'] . &quot;: &quot; . $res_buyer_name['username'] . &quot;\n&quot;;

$messagebody .= $phrase['_time_left'] . &quot;: &quot; . $ilance-&gt;auction-&gt;auction_timeleft($project['project_id'], '', '', 0, 0, 1) . &quot;\n&quot;;

$messagebody .= &quot;************\n&quot;;

}
</pre>
<p><strong>Step 3:<br />
</strong>Now we need to edit the code from above. You can put it anywhere in there really, but we will put it after the category for our example. First we will check to see if this is a premiere only auction. Do do this we will write the following code.</p>
<pre class="brush: php;">

if($project['premiere_only'] == 1)
{

}
</pre>
<p>We will then create our additional text if the if statement is valid.</p>
<pre class="brush: php;">
if($project['premiere_only'] == 1)
{
$messagebody .= &quot;Project Type: Premiere Only\n&quot;;
}
</pre>
<p>If we want to keep our listings similar we could add an else statement as well like so&#8230;</p>
<pre class="brush: php;">
if($project['premiere_only'] == 1)
{
$messagebody .= &quot;Project Type: Premiere Only\n&quot;;
}else{
$messagebody .= &quot;Project Type: Standard\n&quot;;
}
</pre>
<p><strong>Putting it all together:</strong></p>
<pre class="brush: php; first-line: 1894;">
if ($ilance-&gt;db-&gt;num_rows($buyerinfo) &gt; 0)
{
$res_buyer_name = $ilance-&gt;db-&gt;fetch_array($buyerinfo);&lt;/pre&gt;
$messagebody .= strip_vulgar_words(un_htmlspecialchars(stripslashes($project['project_title']))) . &quot;\n&quot;;

// todo: check for seo

$messagebody .= HTTP_SERVER . &quot;rfp.php?id=&quot; . $project['project_id'] . &quot;\n&quot;;

$messagebody .= $phrase['_category'] . &quot;: &quot; . $ilance-&gt;categories-&gt;title(fetch_user_slng($seller['user_id']), 'service', $project['cid']) . &quot;\n&quot;;
if($project['premiere_only'] == 1)
{
$messagebody .= &quot;Project Type: Premiere Only\n&quot;;
}else{
$messagebody .= &quot;Project Type: Standard\n&quot;;
}

$messagebody .= $phrase['_buyer'] . &quot;: &quot; . $res_buyer_name['username'] . &quot;\n&quot;;

$messagebody .= $phrase['_time_left'] . &quot;: &quot; . $ilance-&gt;auction-&gt;auction_timeleft($project['project_id'], '', '', 0, 0, 1) . &quot;\n&quot;;

$messagebody .= &quot;************\n&quot;;

}
</pre>
<div id="authorbox">
<h3>About Premiere Only Addon</h3>
<p>Premiere Only Addon for iLance 3.1.9 allows you, the marketplace owner, to select various subscription plan types as Premiere Accounts. Once these are established your marketplace members will have the option to allow only Premiere members to bid on their Service Auctions, which in turn encourages non premiere members to upgrade their accounts.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.umbrella-development.com/2009/12/adding-to-daily-auction-newsletters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
