Spiga

‘ Open Source Aplications ’ category archive

Free online billing solution for freelancers

July 15, 08 by Gabi Solomon

i dont know about you guys but i am very disorganized and i tend to forget billing my clients, or i remember they have an unpaid bill but cant remember what was it for. So i was always searching for means to organize my billing, to add bills, to keep track of what bills have not been paid, and maybe even to automatically notify my clients of their bill. Well i know there are a lot of software that can do that, but i had 2 more requirements – online and free – that prove to narrow those solutions to just a few, witch for various reason were not to my liking. 

Today i managed to stumble upon curdbee.com that seems to do the trick for me. 

CurdBee is a safe and secure web-based billing application from Vesess. Use it to send clients invoices and then collect payments via PayPal or Google Checkout, all with just a few clicks of your mouse. It’s so simple, you won’t believe it till you see it.

cudbee front end

Allows Branding

CurdBee allows you to easily customise your invoices to include your logo and corporate colours. It evens allows you to have a custom URL for your application. something like : http://username.CurdBee.com
CurdBee branding

Easy user friendly interface

It is very easy to use and you can add clients and invoices in just a few clicks. And even allows to send invoices directly to your customers’ inboxes .
curdbee send incoices

Accept Payment online

And the most important part of your freelance work :) ) – payment.
It allows you to Accept secure payments online with Google Checkout and PayPal, or opt to be paid offline.
curdbee payment

In the words of Bugs Bunny – That is all folks.
Hope you enjoy this applications as much as i do and await to see your thoughts in the comment sections below :)

Cheers.

Oscommerce Quick Checkout

June 20, 08 by Gabi Solomon

Since you are here you probably want to make your oscommerce checkout process shorter and faster, right?

Well first lets look and the standard checkout procedure in oscommerce 2.2 Millstone:

Step 1. Login or create account choice page
Step 2. Create Account Page
Step 3. Account created confirmation page
Step 4. Shipping choice page
Step 5. Payment choice page
Step 6. Order overview and confirmation order page
Step 7. Thanks for order page.

To shorten this 7 steps procedure there are a few paths/modification you can make.

1. Combined Login and Checkout Page

Combined login and create account page reducing 2 steps.
Simple mod which gives you a login box on top of your create account page. Pre-modded files and screenshot included in the package.

2. Purchase without an account (PWA)

Allow your customers to choose the three following options at checkout time:
1)Proceed Directly to Checkout (no account creation)
2)Create a New Account
3)Login to Existing Account

3. Fast and easy checkout (FEC)

Fast and easy checkout combines the checkout shipping and payment pages in one
combines login and create account to one page and adds checkout without account capability to it.

4. Alternative Purchase System v2.0

Alternative Checkout System that able to change regular checkout process to something more easy and more short with this System your buyers will able to do purchase by couple clicks.

For test go:http://www.procreator.info and then Test Shop

5. More Logical Checkout v1.0

This mod streamline the checkout process with an aim to make it more logical it also removes 2 steps from the checkout procedure by skipping the login/create account page and going straight to create account info page and by removing the create account success page.

Hope you find what your looking for.

Cheers

Easiest Way to Secure your WordPress Admin

June 08, 08 by Gabi Solomon

Recently i have had my blog hacked.
Somebody broke in and change the admin user account password and email adress. So this let me completely out. Well not quite, i could still get in by modifying the admin details directly in the database.

This incident made me search for more details about securing your wordpress blog. Although there are lot of ways to secure your wordpress Administration Panel like .htaccess blocking, using SSL or Banning Ips, most of them are a little complicated and require some little knowledge to implement. But during my search i came across a small tip that is going to make your administration panel a little harder to hack.

The Trick is changing the administrator username. The default installation name is admin, this make the hacker jobs more easy since the already know the username, they just need to guess the password. So by simple changing the username from the default admin to something different you will make the hacker job a little harder.

To do this you need to login into your PhpMyAdmin and browse to the table wp_users and edit the entry of your username and change username from admin to any other username ( make sure it is not already used by another user ). It is recomended that the username is not a dictionary name, since that will make it easier to break.

Hope this information helped you, and i await your comments.

Cheers

Fatal error: Maximum execution time exceeded in /wp-includes/streams.php

May 25, 08 by Gabi Solomon

Recently i started to do some cleaning on my blog, and added and removed some plugins. At one point i starting getting the error:

Fatal error: Maximum execution time exceeded in /wp-includes/streams.php

At first i tought it has something to do with the plugins i just added, or the multi-language plugin ( wich i disabled later on, and moved my romanian posts to gabrielsolomon.ro ). So i started to do some googling and discovered it was not to do with the plugins but it was a bug in the version 2.5 of wordpress.
Which kind of made sense since i recently upgraded to it … and have not encountered this error before.

It seems it is caused by the WPLANG setting in the wordpress wp-config.php file.
So if you have setup the file like this :

// Change this to localize WordPress. A corresponding MO file for the
// chosen language must be installed to wp-content/languages.
// For example, install de.mo to wp-content/languages and set WPLANG to ‘de’
// to enable German language support.
define (‘WPLANG’, ‘ro’);

Then you need to remove the language like so :

define (‘WPLANG’, ”);

That seem to do the trick for me, and the error stop showing up.

Hope this article saved you some googling time and invite you to comment if you encountered a similar problem or have a better solution.

How to Add JavaScript to Joomla Content

May 20, 08 by Gabi Solomon

Sometimes you need to add some javascript to your joomla content, being either some type of ad ( google adsense or yahoo ) or maybe just a code to display a widget from another site.
I bet you have tried to add it to the content, but as you will see the editor will replace the code with the HTML coresponding code. Ex: < will become >.
This will make all the javascript code display on the page and nothing will happen.

The solution is quite simple, or at least the one i found :)
Login in as admin
Go to Site
Global Configuration
Default WYSIWYG Editor
Change it to No WYSIWYG Editor
Click Save.

Now go to Content:
Just add your Javascript in the Content Area
Click Save

Pretty basic solution. Sorry you need to do this each time you want to add javascript to you’re articles. havent found any other method. If you do please tell me in a comment to this article.

Cheers

How to duplicate the SmartSection Module for XOOPS CMS.

October 04, 07 by Gabi Solomon

A client gaved me a small task of creating 2 new sections for his website. The website is powered by the well-known CMS XOOPS. After looking at it i decided that the easy way out would be to duplicate one of the websites existing sections, and settled on the smart section. And because that gave a good run-a-round i thought i will post my solution on my blog, maybe others will benefit from it and save some time ( although others might think this is so obvious ).

First start by downloading SmartSection from http://smartfactory.ca/
Decide on a name for the new section. For this example we will consider GSD Section as the name.

Next we must do a few find & replaces in the files. To do that i used ReplaceEm wich you can download from http://www.orbit.org/replace/. This program let’s you do multiple find&replace on multiple files at once, so you’re time alocated to this task should decrease dramaticly. The replacement you must do are :

‘smartsection’ => ‘gsdsection’
‘SMARTSECTION’ => ‘GSDSECTION’
‘SmartSection’ => ‘GsdSection’
‘Smart Section’ => ‘Gsd Section’
‘SSECTION’ => ‘GSECTION’
‘Smartsection’ => ‘Gsdsection’

Now you must also replace the folder name to gsdsection, and also all the template files that have smartsection in there file name. For example smartsection.css will become gsdsection.css.

Also we must replace the names of the mysql tables. So we will open the file /sql/mysql.sql and replace all the of: smartsection_ with the name of your module. In my case I would replace it with gsdsection_.

Once you have completed these steps, upload the duplicated folder (now your cloned module) and install it though the XOOPS Admin panel.

[later_edit]

After completing all this steps i have found an even easyer way :)
I found an already made script to duplicate smart section ( a little bit too late for me , but who knows … maybe not for others ).
Make a file named clone.php and put in the root folder of you’re xoops powered website, also make sure there is a folder of the smartsection in the modules folder of the website.

Put the folowing code in the clone.php :


// ##########################################################
//	Define your mapping here
// ##########################################################
$patterns = array(
// first one must be module directory name
'smartsection'  => 'mysection',
'SMARTSECTION'  => 'MYSECTION',
'SmartSection'  => 'MySection',
'Smart Section' => 'My Section',
'SSECTION'      => 'MSECTION',
'Smartsection'  => 'Mysection'
);

$patKeys = array_keys($patterns);
$patValues = array_values($patterns);

// work around for PHP < 5.0.x
if(!function_exists('file_put_contents')) {
  function file_put_contents($filename, $data, $file_append = false) {
    $fp = fopen($filename, (!$file_append ? 'w+' : 'a+'));
    if(!$fp) {
      trigger_error('file_put_contents cannot write in file.', E_USER_ERROR);
      return;
    }
    fputs($fp, $data);
    fclose($fp);
  }
}

// recursive clonning script
function cloneFileFolder($path)
{
  global $patKeys;
  global $patValues;

  $newPath = str_replace($patKeys[0], $patValues[0], $path);

  if (is_dir($path))
  {
    // create new dir
    mkdir($newPath);

    // check all files in dir, and process it
    if ($handle = opendir($path))
    {
      while ($file = readdir($handle))
      {
        if ($file != '.' && $file != '..')
        {
          cloneFileFolder("$path/$file");
        }
      }
      closedir($handle);
    }
  }
  else
  {
    if(preg_match('/(.jpg|.gif|.png|.zip)$/i', $path))
    {
      copy($path, $newPath);
    }
    else
    {
      // file, read it
      $content = file_get_contents($path);
      $content = str_replace($patKeys, $patValues, $content);
      file_put_contents($newPath, $content);
    }
  }
}

cloneFileFolder('modules/news');

echo "Happy cloning...\n";
echo "check directory modules/" . $patterns['smartsection'] . " for cloned module \n";
echo "Consider modifying new module by editing language/english/modinfo.php and images/news_slogo.png manually (if you care)\n";

?>

Normaly change mysection with the desired name.

Cheers.

Awayting questions and comments :)