Thursday, August 18, 2011

Prevent to download your website images

Sometimes some unknown persons download our precious images..
How do prevent to download your website images?


< img style="background-image:url(logo.jpg);" src="data:image/gif;base64, R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" width="261" height="71" >

Wednesday, August 17, 2011

PHP / Java Integration


Introduction

There are two possible ways to bridge PHP and Java: you can either integrate PHP into a Java Servlet environment, which is the more stable and efficient solution, or integrate Java support into PHP. The former is provided by a SAPI module that interfaces with the Servlet server, the latter by this Java extension.
The Java extension provides a simple and effective means for creating and invoking methods on Java objects from PHP. The JVM is created using JNI, and everything runs in-process.
Warning
This extension is EXPERIMENTAL. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.

Requirements

You need a Java VM installed on your machine to use this extension.

Installation

This PECL extension is not bundled with PHP.
In PHP 4 this PECL extensions source can be found in the ext/ directory within the PHP source or at the PECL link above. In order to use these functions you must compile PHP with Java support by using the --with-java[=DIR] where DIR points to the base install directory of your JDK. This extension can only be built as a shared extension. Additional build extensions can be found in php-src/ext/java/README.
Windows users will enable php_java.dll inside of php.ini in order to use these functions. In PHP 4 this DLLresides in the extensions/ directory within the PHP Windows binaries download. You may download this PECLextension DLL from the  PHP Downloads page or at  http://snaps.php.net/.
Note: In order to enable this module on a Windows environment with PHP <= 4.0.6, you must makejvm.dll available to your systems PATH. No additional DLL is needed for PHP versions > 4.0.6.

Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.
Table 1. Java configuration options
NameDefaultChangeableChangelog
java.class.pathNULLPHP_INI_ALL 
java.homeNULLPHP_INI_ALL 
java.library.pathNULLPHP_INI_ALL 
java.libraryJAVALIBPHP_INI_ALL 
For further details and definitions of the PHP_INI_* constants, see the Appendix G.

Resource Types

This extension has no resource types defined.

Predefined Constants

This extension has no constants defined.

Examples

Example 1. Java Example
getProperty('java.version') . '
';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '
';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
             $system->getProperty('os.version') . ' on ' .
             $system->getProperty('os.arch') . ' 
';

// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
                      "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
?>
Example 2. AWT Example
add('North', $button);
$frame->validate();
$frame->pack();
$frame->visible = True;

$thread = new Java('java.lang.Thread');
$thread->sleep(10000);

$frame->dispose();
?>
Notes:
  • new Java() will create an instance of a class if a suitable constructor is available. If no parameters are passed and the default constructor is useful as it provides access to classes like java.lang.System which expose most of their functionallity through static methods.
  • Accessing a member of an instance will first look for bean properties then public fields. In other words, print $date.time will first attempt to be resolved as $date.getTime(), then as $date.time.
  • Both static and instance members can be accessed on an object with the same syntax. Furthermore, if the java object is of type java.lang.Class, then static members of the class (fields and methods) can be accessed.
  • Exceptions raised result in PHP warnings, and NULL results. The warnings may be eliminated by prefixing the method call with an "@" sign. The following APIs may be used to retrieve and reset the last error:
  • Overload resolution is in general a hard problem given the differences in types between the two languages. The PHP Java extension employs a simple, but fairly effective, metric for determining which overload is the best match.
    Additionally, method names in PHP are not case sensitive, potentially increasing the number of overloads to select from.
    Once a method is selected, the parameters are coerced if necessary, possibly with a loss of data (example: double precision floating point numbers will be converted to boolean).
  • In the tradition of PHP, arrays and hashtables may pretty much be used interchangably. Note that hashtables in PHP may only be indexed by integers or strings; and that arrays of primitive types in Java can not be sparse. Also note that these constructs are passed by value, so may be expensive in terms of memory and time.

Java Servlet SAPI

The Java Servlet SAPI builds upon the mechanism defined by the Java extension to enable the entire PHP processor to be run as a servlet. The primary advantage of this from a PHP perspective is that web servers which support servlets typically take great care in pooling and reusing JVMs. Build instructions for the Servlet SAPI module can be found in php4/sapi/README. Notes:
  • While this code is intended to be able to run on any servlet engine, it has only been tested on Apache's Jakarta/tomcat to date. Bug reports, success stories and/or patches required to get this code to run on other engines would be appreciated.
  • PHP has a habit of changing the working directory. sapi/servlet will eventually change it back, but while PHP is running the servlet engine may not be able to load any classes from the CLASSPATH which are specified using a relative directory syntax, or find the work directory used for administration and JSP compilation tasks.

Table of Contents
java_last_exception_clear -- Clear last Java exception
java_last_exception_get -- Get last Java exception

Wednesday, August 3, 2011

A Complete Solution for Software Industry

There is a huge variety of project management applications out there. Most are general purpose apps, not aimed at any one industry. But there is a growing number of project management apps aimed specifically at one industry or another. Applications geared to creative types are becoming more readily available, and some of the offerings are really quite good.

Many of these project management apps have built-in code repositories and subversion browsers (or are built around them). A few have built-in bug and issue tracking. Others include more than just basic project management. All of them can help you keep track of activities and team members. There are both free and paid options. Some have very slick interfaces, and some are modeled more after desktop applications. All are relatively easy to use and easy to set up.

Below are 15 useful project management applications, almost all of which are targeted directly at Web developers, designers (both Web and print) and other creative types. The last one is not geared specifically to creative types but is the most unique project management application I’ve found and is included on that basis as well as because of its potential usefulness for designers and developers.

Also consider our previous article:


1. Basic Project Management Apps


These applications are marketed specifically for project management. Most include things like task-, team-, and goal-management features. Some include additional features such as time tracking and invoicing.

Lighthouse


Lighthouse is a bug- and issue-tracking app that tracks timelines and milestones, integrates with your email client and more. You can update tickets through your inbox, manage your beta testing (by making tickets and milestones public), integrate it with subversion and manage and prioritize your tickets.

Lighthouse-home in 15 Useful Project Management Tools

Project creation is simple; only a project title and description is required. Once a project is created, tickets, messages and milestones can be entered. Ticket creation can be done by email (the email address to send tickets to is displayed on the “Tickets” page). You can show tickets based on a variety of criteria, including date, state (open or closed) and who is responsible for them. Message creation is easier than email, and you can attach files up to 50 MB in size. When you create a milestone you simply enter the title, the date it’s due and the goals or focus for that particular milestone. It doesn’t get much simpler than that.

Permissions are easy to set, and you can invite users by email. One of the best features of Lighthouse is its Beacon and API integration. With the API, you can customize tickets, projects, changesets, milestones, messages and more. Integrate it with other services (such as Google Calendar), or make desktop applications that use Lighthouse. The APIs make Lighthouse infinitely more useful, because you can really customize it to fit your current workflow.

Lighthouse-milestonecreation in 15 Useful Project Management Tools

Lighthouse is great for Web development teams (or individuals) and has a very easy-to-use interface. They have paid and free plans, all of which include unlimited open-source projects. The free plan lets you manage one private project with up to two people on the account. The paid plans range from $10 per month for the Personal plan (with up to 3 projects, 10 users and 100 MB of file upload storage space) to $120 per month for the Platinum plan (with unlimited projects, up to 50 public projects, unlimited users and 30 GB of file upload space).

When combined with a subversion app, Lighthouse provides a pretty complete project management app for developers. Subversion integration is pretty straightforward, and the help file provided gives complete step-by-step instructions for setup.

Springloops


Springloops is another subversion browser that integrates project management. It counts a unique AJAX code browser and Basecamp integration as among its features.

Springloops-dashboard in 15 Useful Project Management Tools

The Springloops interface is very intuitive and easy to use. Tabbed navigation provides access to the log, source and deployment information. Adding users is done via email, along with the ability to create usernames and passwords (making it easier and faster for them to get on board with a project). Creating new projects is simple, with a few different templates available (including a starter template). You can migrate an existing repository into Springloops as well (including plain text dumps). For added project management ability, Springloops can be integrated with Basecamp.

Springloops-source in 15 Useful Project Management Tools

Springloops has a number of plans available, both paid and free. The free plan includes 25 MB of space, 3 projects, 3 deployments per day (using FTP or SFTP connections), roll-back capabilities, Basecamp integration, subversion and an unlimited number of users. The paid plans range from the “Flowerpot” plan at $9 per month (including 1 GB of space and 10 projects) to the “Forest” plan at $96 per month (including 18 GB of storage, unlimited projects, automatic deployment and secure SSL encryption). All of the paid plans include a free 30-day trial.

CreativePro Office


CreativePro Office offers complete office management tools. CreativePro Office is completely free, setting it apart from the other apps here.

Creativeprooffice-dashboard in 15 Useful Project Management Tools

CreativePro Office has the usual tabbed navigation, including tabs for clients, projects, time sheets, finances and team members. The dashboard presents a calendar with upcoming events, a list of your projects, outstanding invoices, notes and search functionality. Project creation is a bit more in-depth than with most other apps listed here, though only a client name and project name is required (you can also fill in a project URL, description or comments, category, date range, status, contacts and tags). Client tracking is integrated, making this handy for those who work with lots of different clients, and it could even serve as a simple CRM program, depending on your needs.

Creativeprooffice-financetab in 15 Useful Project Management Tools

Integrated invoices and financial information is handy, and the finances page gives you options for viewing and creating invoices, expenses and reports.

CreativePro Office is very robust for a completely free application and is definitely worth checking out before shelling out for an expensive paid solution.

Jumpchart


Jumpchart is a website planning application that allows you to plan the navigation of your website by creating, dragging and dropping pages into the plan. You can also add text and formatting to pages and then export your CSS files and site map when you’re finished.

Jumpchart-homepage in 15 Useful Project Management Tools

This is a great planning app for Web designers, though it’s not strictly a project management application. You can add comments to each page, which could serve to keep track of tasks related to specific pages. More traditional project management functions could be kept track of in the text of each mockup page or through the comments. The mockup and planning capabilities of Jumpchart make it worth using, even if hacks are needed to make it more conducive to full project management.

Jumpchart-addsubpage in 15 Useful Project Management Tools

The free Jumpchart plan offers 1 project with 1 MB of storage and a maximum of 10 pages and 2 users. The paid plans range from the Simple plan at $5 per month (including up to 5 projects, with 25 pages and 5 users per project, and 100 MB of storage) to the Deluxe plan at $50 per month (including up to 30 projects with unlimited pages and users and 5000 MB of storage).

No Kahuna


No Kahuna is a simple project management and issue-tracking platform. It’s very straightforward and easy to use, with an excellent user interface. Features include task and activity tracking and collaboration tools.

Nokahuna-activitytab in 15 Useful Project Management Tools

No Kahuna is excellent for basic project management and ticket tracking. There aren’t a ton of features, which can be a very good thing. It’s very quick to get started, also a big plus.

Nokahuna-projectinfopage in 15 Useful Project Management Tools

There are free accounts available that include unlimited projects and users. However, if your projects accumulate more than 30 open tasks, you will need to upgrade. Paid options are reasonably priced, ranging from 3 projects for $9 per month up to 100 projects for $99 per month. Open-source projects are always free, no matter how many open tasks you have.

Basecamp


Basecamp is often considered to be the best project management and collaboration platform out there. Its features are impressive: to-do lists, file sharing, message boards, milestones, time tracking, project overviews and commenting.

Basecamp-dashboard in 15 Useful Project Management Tools

The user interface is definitely one of the best out there, and because of its popularity, tons of other companies are making products that integrate with Basecamp, extending its capabilities.

Basecamp-timetracking in 15 Useful Project Management Tools

Pricing is reasonable, though it’s definitely not the cheapest solution out there. The Basic plan is only $24 per month and includes up to 15 active projects, 3 GB of file storage and unlimited clients and users. The Max plan is a hefty $149 per month, but includes unlimited projects, 50 GB of file storage, time tracking, SSL security and a free Campfire Premium account.

2. Wiki-Based Project Management


Wikis are another option for project management, whether you use one instead of a basic project management application or in addition to one. One of the solutions below is geared to complete project management and includes additional features, while the other is just a wiki and is suitable for project management and other uses.

Trac Project


Trac Project is a project management app that is based on wiki functionality. It also includes a subversion browser, a timeline, ticket tracking, a road map (showing milestones and the number of current open and closed tickets) and builds status tracking.

Trac-mainwikipage in 15 Useful Project Management Tools

One of Trac’s best features is the range of plug-ins available for it. There are plug-ins for Web administration, authentication, code documentation, file management, ticketing, testing, user management and version control.

Trac-ticketmanagement in 15 Useful Project Management Tools

Another big advantage: Trac is free and licensed under a modified BSD license.

PBwiki


PBwiki is one of the easiest free wikis out there to use. You can share files with other users, set access controls for individual pages and folders, add other users to your wiki, monitor and track version changes and more.

Pbwiki-mainpage in 15 Useful Project Management Tools

Setup is quick and easy and can be done in less than a minute. The PBwiki interface is very intuitive, and there is virtually no learning curve. Creating folders and pages is straightforward, as is editing existing pages. You can also comment on each page, and get a printable version with a single click.

Pbwiki-createnewpage in 15 Useful Project Management Tools

There are multiple themes you can choose from for the design, as well as templates for individual page content (or you can start from scratch). There are a few different plans available, both paid and free. The free plan allows from 1 to 3 users. Paid plans range from $4 per month per user (if you have more than 10,000 users) to $8 per month per user (for 4 to 999 users).

3. Bug and Ticket Tracking


Any time you work on a Web application or website, there are going to be bugs and issues that crop up. While some basic project management applications have built-in ticket tracking, others don’t, and sometimes the built-in solution doesn’t quite meet your needs (either because it’s too robust or is missing key features).

16bugs


16bugs is a very simple bug-tracking system. Its main advantage is the color-coding system used for different types of information (like updates, comments and closed tickets).

16bugs-activitytab in 15 Useful Project Management Tools

Setup is quick and easy. The user interface is easy to figure out. Creating bugs is easy, and the color-coded labels on the activity tab make it easy to see what’s going on at a glance.

16bugs-submitnewbug in 15 Useful Project Management Tools

There are a variety of account types available. The free account allows 1 project, 1 MB of storage and Basecamp imports. Starting at $8 per month, paid plans include more projects (3 with the Basic plan), 150 MB to 10 GB of storage, RSS and email notifications, Campfire notifications and SSL (starting with the $15-per-month Big plan).

JIRA


JIRA is issue- and bug-tracking software that includes a lot of great features. It has advanced reporting features, workflow mapping as well as issue and project organizing; it is also customizable.

Jira-dashboard in 15 Useful Project Management Tools

JIRA also offers a number of plug-ins to extend its functionality, including Bamboo integration, charting, time tracking, project management, a calendar and more. By using plug-ins, you can customize JIRA to meet your exact project management and issue-tracking needs.

Jira-issuenavigator in 15 Useful Project Management Tools

JIRA’s biggest drawback is its pricing; it’s not cheap. A hosted account starts at $299 per month for up to 25 users and goes up from there (250 users costs $599 per month). If you want to download JIRA and host it on your own server, it starts at $1200 for a single project team, and goes as high as $4800 for an entire organization. If you need an academic license, solutions start at only $600.

4. Collaboration and Conferencing


If you’re working with a remote team on your project, you’re probably going to need some online space to collaborate and meet, whether it’s to work on general concepts or to work out specific bugs. Here are three solutions to help you collaborate with those on your team or with your clients.

activeCollab


activeCollab is a project management and collaboration tool that lets you set up a collaboration area right on your website. You can have unlimited projects, organized into groups for easy management.

Activecollab-dashboard in 15 Useful Project Management Tools

Collaboration features include file sharing, discussions (set up like an online forum), assignments, collaborative writing and reminders. Project management features include printing and exporting, time tracking, calendar and schedule functionality, ticket management and milestones. Plug-ins (modules) mean that activeCollab can be extended to suit your specific needs.

Activecollab-projectoverview in 15 Useful Project Management Tools

There are two pricing options available: Corporate and Small Business. The Small Business edition includes source-code browsing, plug-in support, themes, discussions, milestones, checklists, files, project templates, a mobile interface and localization support. It’s priced at $199, with support and upgrades being an additional $99 per year after the first year. The Corporate edition has all of the above features, plus the calendar, tickets, time tracking, pages (with collaborative writing and more), a project explorer, and status updates. Both packages include unlimited projects and users. You can also purchase a Copyright Removal license, which removes the “activeCollab Powered” graphic from the footer of each page, for an additional $199.

DimDim


DimDim is a Web-conferencing platform that provides collaboration tools for meeting online. It’s scalable, reliable and flexible, with both hosted and on-site versions available.

Dimdim-mainpage in 15 Useful Project Management Tools

DimDim allows you to share your desktop with those you’re meeting with, as well as share and present documents (both PowerPoint and PDFs). You can also share Whiteboards, and it has built-in voice-over-IP and teleconferencing capabilities. There are public and private chat capabilities as well as annotation and markup tools.

Dimdim-newmeeting in 15 Useful Project Management Tools

There are free and paid plans available. The free plan offers the complete feature set, with support for meetings of up to 20 people. DimDim Pro offers the complete feature set, plus custom branding and up to 100 people in a meeting for only $99 per year. There is also an Enterprise-level package that includes all of the above but also allows simultaneous meetings with up to 1000 attendees for $1998 per year.

Vyew


Vyew is a browser-based Web presentation service that allows for custom branding and PowerPoint-like authoring. With Vyew, you can give a live presentation or just post a document for your colleagues to review at their convenience.

Vyew-vyewbookcreation in 15 Useful Project Management Tools

Features include real-time desktop sharing, whiteboarding and drawing tools, embedded comments, built-in voice over IP, free teleconferencing, built-in webcam video support, text chat, dedicated rooms and direct URLs and more. It’s a complete solution for Web conferencing.

Vyew-documentexplorer in 15 Useful Project Management Tools

Vyew has a number of plans available, including a free plan, which includes unlimited meetings, SSL secure log-in, up to 20 participants (all seeing ads) and up to 5 VyewBooks (presentations) with up to 50 pages each. There are two paid plans: Plus at $6.95 per month, which includes everything the free plan has plus up to 25 participants (or 5 with no ads), and up to 25 VyewBooks with up to 100 pages each, and Professional at $13.95 per month, which includes everything the Plus plan has, but with up to 45 participants (or 15 with no ads), and up to 100 VyewBooks with up to 300 pages each.

5. Invoicing


Unless you’re working on an internal project, chances are you’ll need to send out invoices. Having an invoice program that also does proposals is helpful, as is having one that integrates directly with your project management app.

Simply Invoices


Simply Invoices integrates with Basecamp, More Honey, Tick and Harvest to invoice based on time that you track with those programs. Features include invoice templates, unlimited invoices, the ability to save invoices as PDFs and invoice tracking.

Simplyinvoices-dashboard in 15 Useful Project Management Tools

There are a few different plans available, including a free plan that includes up to five invoice templates and SSL support. Paid plans start at $9 per month (which includes up to ten invoice templates, plus a custom logo and link-free invoices) and go up to $25 per month (which includes an unlimited number of templates).

Less Accounting


Less Accounting is a simple online accounting and invoicing program that is incredibly easy to use. Less Accounting has a variety of features, including proposal creation and tracking, mileage tracking, sales-lead management and expense tracking. You can import your existing Wesabe.com account, and you can even invite your CPA to look at your books. Less Accounting also sends a weekly email with an update on the status of your accounts.

Lessaccounting-newproposal in 15 Useful Project Management Tools

There are a variety of account plans available, including a free plan. The free plan includes up to 5 invoices, expenses, sales notes, deposits, proposals, mileage logs each month, SSL encryption, reports and bank-account integration. The paid plans range from the Even Less plan at $12 per month (including invoicing, expenses, contacts, SSL encryption, technical support, deposits and reports) to the More plan at $24 per month (including everything in the Even Less plan, plus sales notes, bank accounts, proposals, mileage logs, bank reconciliation, support for multiple types of sales tax and more). A 30-day free trial is available for all plans.

6. Time Tracking


Whether you need to keep track of your time for billing purposes, for your boss, or just to measure your own productivity, chances are you’ll need a time-tracking application.

LiveTimer


LiveTimer is an easy-to-use time-tracking program that works on both your computer and iPhone. It can be used for billing purposes or simply to improve your productivity and accountability.

Livetimer-summaryreport in 15 Useful Project Management Tools

Features include a daily ledger, bulk time entry (by day or week), customizable classifications, multiple currencies, custom billing rates, intelligent report filters and a developer API. The iPhone integration makes it easy to track your time even if you’re not at your desk, making it more useful than many other Web-based time-tracking applications.

Livetimer-timeledger in 15 Useful Project Management Tools

Pricing is cheap, at only $5 per active user per month. Qualifying non-profits get a 50% discount. There is a 30-day free trial available.

fourteenDayz


fourteenDayz is a time-tracking program specifically for teams. It features day-by-day time sheets, exportable reports (in both PDF and Excel formats), drag-and-drop categories and no user limit.

14dayz-timesheetentry in 15 Useful Project Management Tools

There are 6 different plans offered, including a free account (which includes up to 4 active projects/clients, 10 project categories, an unlimited number of users and reporting functions). The paid plans range from the Personal at $5 per month (which includes the free account features plus up to 7 active projects/clients, 15 project categories, 30 project subcategories and PDF reports) to the Platinum at $99 per month (which includes all the Personal features plus unlimited active projects/clients, unlimited project categories and subcategories, XLS/CSV exportability and SSL connections).