<?php $HTML = $API->get('HTML'); $Paging = $API->get('Paging'); $Paging->set_per_page(20); $Listings = new Listings($API); $Form = $API->get('Form'); if ($Form->posted() && $Form->validate()) { $listings = $Form->find_items('listing-', true); if (PerchUtil::count($listings)) { $status = $_POST['listingStatus']; foreach ($listings as $listingID) { $Listing = $Listings->find($listingID); $Listing->set_status($status); } } } $pending_listing_count = $Listings->get_count('PENDING'); $listings = array(); $status = 'pending'; if (isset($_GET['status']) && $_GET['status'] != '') { $status = $_GET['status']; } $listings = $Listings->get_by_status($status, $Paging); if ($listings == false) { $Listings->attempt_install(); }
public function receive_new_listing($SubmittedForm) { $API = new PerchAPI(1.0, 'perch_members'); $Session = PerchMembers_Session::fetch(); $input = $SubmittedForm->data; $data = array(); $data['listingDateTime'] = date('Y-m-d H:i:s'); $data['memberID'] = $Session->get('memberID'); $data['listingType'] = $input['listingType']; $data['listingTitle'] = $input['listingTitle']; $data['listingSlug'] = PerchUtil::urlify($input['listingTitle']); foreach ($this->static_fields as $field) { if (!isset($data[$field])) { if (isset($input[$field]) && $input[$field] != '') { $data[$field] = trim($input[$field]); } } } // dynamic fields $dynamic_fields = array(); foreach ($input as $field => $val) { if (!isset($data[$field])) { $dynamic_fields[$field] = trim($val); } } $data['listingDynamicFields'] = PerchUtil::json_safe_encode($dynamic_fields); foreach ($data as $key => $val) { switch ($key) { case 'listingHTML': if (!class_exists('\\Netcarver\\Textile\\Parser', false) && class_exists('Textile', true)) { // sneaky autoloading hack } if (PERCH_HTML5) { $Textile = new \Netcarver\Textile\Parser('html5'); } else { $Textile = new \Netcarver\Textile\Parser(); } if (PERCH_RWD) { $val = $Textile->setDimensionlessImages(true)->textileRestricted($val); } else { $val = $Textile->textileRestricted($val); } if (defined('PERCH_XHTML_MARKUP') && PERCH_XHTML_MARKUP == false) { $val = str_replace(' />', '>', $val); } break; } $data[$key] = $val; } // print_r($data); // die(); if (isset($data['listingID'])) { if ($this->check_title_exists($data['listingTitle'], $data['listingID'])) { $Listings = new Listings($API); $Listing = $Listings->find($data['listingID']); // Don't allow people to change their URL unset($data['listingSlug']); $r = $Listing->update($data); } else { $SubmittedForm->throw_error('duplicate', 'listingTitle'); return false; } } else { if ($this->check_title_exists($data['listingTitle'])) { $r = $this->create($data); } else { $SubmittedForm->throw_error('duplicate', 'listingTitle'); return false; } } return $r; PerchUtil::debug('this' . $SubmittedForm); }