Jump to content

Recommended Posts

PLEASE HELP - PLEASE HELP HOW TO MAKE THIS RUN FOR PHP+

 

<?php

// This is our base class for publishing plugins!
if ( ! class_exists ( "Publish" )) {
  require "../includes/config.php";

  class Publish {
    var $sql;

    function Publish ( $sql ) {
      // get the database handle
      $this->sql = $sql;
    }

    function getInfo () {
      $details = array ();

      $details [ 'name' ] = $this->getName ();
      $details [ 'javascript' ] = $this->getJavaScript ();

      return $details;
    }

    /* return an array containing all property data */
    function getPropertyData ()
    {
      global $propertystatus_table;
      global $propertylocations_table;
      global $propertytypes_table;
      global $propertyfeatures_table;
      global $features_table;
      global $property_table;

      // firstly let's get the various info to make this job easier on MySQL<5
      $status = array ();

      $status_data = $this->sql->execute (
        "SELECT id, propertystatus FROM " . $propertystatus_table,
        SQL_RETURN_ASSOC );

      for ( $i = 0; $i < sizeof ( $status_data ); ++$i )
      {
        $status [ $status_data [ $i ] [ "id" ] ] =
          $status_data [ $i ] [ "propertystatus" ];
      }

      $location = array ();

      $loc_data = $this->sql->execute (
        "SELECT id, propertylocation FROM " . $propertylocations_table,
        SQL_RETURN_ASSOC );

      for ( $i = 0; $i < sizeof ( $loc_data ); ++$i )
      {
        $location [ $loc_data [ $i ] [ "id" ] ] =
          $loc_data [ $i ] [ "propertylocation" ];
      }

      $type = array ();

      $type_data = $this->sql->execute (
        "SELECT id, propertytype FROM " . $propertytypes_table,
        SQL_RETURN_ASSOC );

      for ( $i = 0; $i < sizeof ( $type_data ); ++$i )
      {
        $type [ $type_data [ $i ] [ "id" ] ] =
          $type_data [ $i ] [ "propertytype" ];
      }

      // get all property data
      $data = $this->sql->execute (
        "SELECT * FROM " . $property_table, SQL_RETURN_ASSOC );

      // now go through and fill in the status, type and location data
      for ( $i = 0; $i < sizeof ( $data ); ++$i )
      {
        // populate features information
        $data [ $i ] [ 'propertyfeatures' ] = array ();
        $features = $this->sql->execute (
            "SELECT description FROM " . $features_table .
            " INNER JOIN " . $propertyfeatures_table .
            " ON (id=feature_id) WHERE property_id=" . $data [ $i ] [ "id" ],
            SQL_RETURN_ASSOC );

        for ( $f = 0; $f < sizeof ( $features ); ++$f )
        {
          error_log ( "Adding " . $features [ $f ] [ "description" ] .
              " to the feature list for property." );
          $data [ $i ] [ 'propertyfeatures' ] [] = $features [ $f ] [ "description" ];
        }

        $data [ $i ] [ 'propertytype_text' ] =
          $type [ $data [ $i ] [ 'propertytype' ] ];

        $data [ $i ] [ 'propertylocation_text' ] =
          $location [ $data [ $i ] [ 'propertylocation' ] ];

        $data [ $i ] [ 'propertystatus_text' ] =
          $status [ $data [ $i ] [ 'propertystatus' ] ];
      }

      $fulldata [ 'data' ]    = $data;

      $fields = array (
          'id',
          'agentref',
          'propertyoption',
          'propertyref',
          'propertytype',
          'propertytype_text',
          'propertyprice',
          'propertybedrooms',
          'propertybathrooms',
          'propertyyearbuilt',
          'propertylivingarea',
          'propertyplotsize',
          'propertyaddress',
          'propertylocation',
          'propertylocation_text',
          'propertypostcode',
          'propertycountry',
          'shortdescription',
          'longdescription',
          'propertystatus',
          'propertystatus_text',
          'propertyphoto1',
          'propertyphoto2',
          'propertyphoto3',
          'propertyphoto4',
          'propertyphoto5',
          'propertyphoto6',
          'propertyphoto7',
          'propertyphoto8',
          'propertyphoto9',
          'propertyphoto10',
          'pdf',
          'propertyviews',
          'propertyshow',
          'featuredproperty',
          'propertyowner',
          'dateadded' );

      $fulldata [ 'fields' ]  = $fields;

      return $fulldata;
    }

    // these must be overridden
    function getName () {}
    function getJavaScript () {}
    function constructForm () {}
    function processForm ( $formdata, &$message )
    {
      $fulldata = $this->getPropertyData ();

      $data   = $fulldata [ 'data' ];
      $fields = $fulldata [ 'fields' ];

      header ( "Content-Type: text/tab-separated-values" );
      header ( "Content-Disposition: attachment;filename=export.tsv" );

      $rows = array ();

      for ( $i = 0; $i < sizeof ( $data ); ++$i )
      {
        $vals = array ();

        foreach ( $fields as $field )
        {
          array_push ( $vals,
            preg_replace ( "/[\t\n\r]/", " ", $data [ $i ] [ $field ] ) );
        }

        array_push ( $rows, implode ( "\t", $vals ) );
      }

      print implode ( "\n", $rows );

      exit ();
    }
  }
}

?>

Link to comment
https://forums.phpfreaks.com/topic/310956-php-depricated/
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.