Пример #1
0
 public static function create($class_name, $element_id = null, $cache = false, $require_only = false)
 {
     $object = null;
     switch ($class_name) {
         case 'search':
             require_once 'search.php';
             if (!$require_only) {
                 $object = new searcher();
             }
             break;
         case 'leaflet_search':
             require_once 'leaflet_search.php';
             if (!$require_only) {
                 $object = new leaflet_search();
             }
             break;
         case 'application':
             require_once 'application.php';
             if (!$require_only) {
                 $object = new application();
             }
             break;
         case 'australian_postcode':
             require_once 'table_classes/config.php';
             require_once 'table_classes/australian_postcode.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'election':
             require_once 'table_classes/config.php';
             require_once 'table_classes/election.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'category':
             require_once 'table_classes/config.php';
             require_once 'table_classes/category.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'category_election':
             require_once 'table_classes/config.php';
             require_once 'table_classes/category_election.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'rate_type':
             require_once 'table_classes/config.php';
             require_once 'table_classes/rate_type.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'rate_value':
             require_once 'table_classes/config.php';
             require_once 'table_classes/rate_value.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'rate_interesting':
             require_once 'table_classes/config.php';
             require_once 'table_classes/rate_interesting.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'image_que':
             require_once 'table_classes/config.php';
             require_once 'table_classes/image_que.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'email_alert':
             require_once 'table_classes/config.php';
             require_once 'table_classes/email_alert.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'constituency':
             require_once 'table_classes/config.php';
             require_once 'table_classes/constituency.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'constituency_election':
             require_once 'table_classes/config.php';
             require_once 'table_classes/constituency_election.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'country':
             require_once 'table_classes/config.php';
             require_once 'table_classes/country.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'constituency':
             require_once 'table_classes/config.php';
             require_once 'table_classes/constituency.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'constituency_type':
             require_once 'table_classes/config.php';
             require_once 'table_classes/constituency_type.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'leaflet':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
         case 'leaflet_category':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet_category.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'leaflet_image':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet_image.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'leaflet_constituency':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet_constituency.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'leaflet_party_attack':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet_party_attack.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'leaflet_tag':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet_tag.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'leaflet_category':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet_category.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'leaflet_election':
             require_once 'table_classes/config.php';
             require_once 'table_classes/leaflet_election.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'party':
             require_once 'table_classes/config.php';
             require_once 'table_classes/party.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'party_election':
             require_once 'table_classes/config.php';
             require_once 'table_classes/party_election.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'promise':
             require_once 'table_classes/config.php';
             require_once 'table_classes/promise.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'tag':
             require_once 'table_classes/config.php';
             require_once 'table_classes/tag.php';
             if (!$require_only) {
                 $object = DB_DataObject::factory($class_name);
             }
             break;
         case 'json':
             require_once 'json.php';
             if (!$require_only) {
                 $object = new Services_JSON();
             }
             break;
         case 'geocoder':
             require_once 'geocoder.php';
             if (!$require_only) {
                 $object = new geocoder();
             }
             break;
         case 'image':
             require_once 'image.php';
             if (!$require_only) {
                 $object = new image();
             }
             break;
         case 'geograph':
             require_once 'apis/geograph.php';
             if (!$require_only) {
                 $object = new geograph();
             }
         case 'twfy':
             require_once 'apis/theyworkforyou.php';
             if (!$require_only) {
                 $object = new TWFYAPI(THEYWORKFORYOU_API_KEY);
             }
             break;
         case 's3':
             require_once 'apis/s3/S3.php';
             if (!$require_only) {
                 $object = new S3();
             }
             break;
         case 'pdfer':
             require_once 'pdfer.php';
             if (!$require_only) {
                 $object = new pdfer();
             }
             break;
             // Catch all
         // Catch all
         default:
             if (!$require_only) {
                 trigger_error('Unknown class: ' . $class_name, 'The class that was thrown at this factory method is unknown. Check that you\'re passing the right data or that you haven\'t forgotten to define the class here!');
             } else {
                 // We'll mention something in the error log as this is an
                 // error
                 error_log('Could not load class ' . $class_name . ' via require_only in teh factory');
             }
             break;
     }
     // And if we're here, we should have an object that we can now apply
     // the loading rules to
     return factory::load($object, $element_id, $cache);
 }