|
From: Greg M. <bli...@us...> - 2008-08-16 20:19:39
|
Update of /cvsroot/phpwebsite-comm/modules/ads/class In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4340/class Modified Files: ad.php admin.php advertiser.php campaign.php my_page.php Log Message: Now use demographics module to store business name for advertisers. Index: campaign.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/ads/class/campaign.php,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** campaign.php 22 Jun 2008 20:04:19 -0000 1.12 --- campaign.php 16 Aug 2008 20:19:15 -0000 1.13 *************** *** 103,112 **** function save() { ! $db = new PHPWS_DB('ads_advertisers'); ! $db->addWhere('ads_advertisers.id', $this->advertiser_id); ! $db->addWhere('users.id', 'ads_advertisers.user_id'); ! $db->addColumn('users.username'); ! $result = $db->select('col'); ! if (($result[0] != Current_User::getUsername()) && !Current_User::authorized('ads')) { Current_User::disallow(); --- 103,107 ---- function save() { ! if ((Current_User::getId() != $this->advertiser_id) && !Current_User::authorized('ads')) { Current_User::disallow(); *************** *** 115,123 **** $db = new PHPWS_DB('ads_campaigns'); ! $result = $db->saveObject($this); ! if (PEAR::isError($result)) ! { ! return $result; ! } } --- 110,114 ---- $db = new PHPWS_DB('ads_campaigns'); ! return $db->saveObject($this); } *************** *** 151,166 **** function kill($override=false) { ! if (!$override) { ! $db = new PHPWS_DB('ads_advertisers'); ! $db->addWhere('ads_advertisers.id', $this->advertiser_id); ! $db->addWhere('users.id', 'ads_advertisers.user_id'); ! $db->addColumn('users.username'); ! $result = $db->select('col'); ! if (($result[0] != Current_User::getUsername()) && !Current_User::authorized('ads')) ! { ! Current_User::disallow(); ! return; ! } } --- 142,149 ---- function kill($override=false) { ! if ((!$override) && (Current_User::getId() != $this->advertiser_id) && !Current_User::authorized('ads')) { ! Current_User::disallow(); ! return; } Index: admin.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/ads/class/admin.php,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** admin.php 22 Jun 2008 20:04:19 -0000 1.21 --- admin.php 16 Aug 2008 20:19:15 -0000 1.22 *************** *** 236,241 **** case 'newAdvertiser': ! $title = dgettext('ads', 'New Advertiser'); ! $content = Ads_Admin::addAdvertiser(); break; --- 236,246 ---- case 'newAdvertiser': ! $title = dgettext('ads', 'New Advertiser - Step 1'); ! $content = Ads_Admin::selectAdvertiser(); ! break; ! ! case 'addAdvertiser': ! $title = dgettext('ads', 'New Advertiser - Step 2'); ! $content = Ads_Admin::addAdvertiser($advertiser); break; *************** *** 249,253 **** Ads_Admin::sendMessage(dgettext('ads', 'Advertiser saved'), 'manageAdvertisers'); } ! Ads_Admin::sendMessage(dgettext('ads', 'User not found or already advertiser'), 'manageAdvertisers'); break; --- 254,258 ---- Ads_Admin::sendMessage(dgettext('ads', 'Advertiser saved'), 'manageAdvertisers'); } ! Ads_Admin::sendMessage(dgettext('ads', 'Business name must be specified'), 'manageAdvertisers'); break; *************** *** 716,720 **** } ! function addAdvertiser() { if (!Current_User::allow('ads', 'edit_advertisers')) --- 721,725 ---- } ! function selectAdvertiser() { if (!Current_User::allow('ads', 'edit_advertisers')) *************** *** 724,774 **** } $form = new PHPWS_Form; $form->addHidden('module', 'ads'); ! $form->addHidden('action', 'postAdvertiser'); ! $form->addText('username'); ! $form->setLabel('username', dgettext('ads', 'Username')); ! $form->setSize('username', 30, 255); ! $form->addText('business'); ! $form->setLabel('business', dgettext('ads', 'Business Name')); ! $form->setSize('business', 50, 100); $form->addSubmit('submit', dgettext('ads', 'Save New Advertiser')); ! $template = $form->getTemplate(); ! return PHPWS_Template::process($template, 'ads', 'advertiser/add.tpl'); } function postAdvertiser(&$advertiser) { ! if (!empty($_POST['username']) && !empty($_POST['business'])) { ! // Check if user exists ! $db = new PHPWS_DB('users'); ! $db->addWhere('username', $_POST['username']); ! $db->addColumn('id'); ! $result = $db->select('col'); ! if (!PHPWS_Error::logIfError($result) && ($result != NULL)) ! { ! // Check that user is not already an advertiser ! $db->setTable('ads_advertisers'); ! $db->resetWhere(); ! $db->columns = NULL; ! $db->addWhere('user_id', $result[0]); ! $result2 = $db->select(); ! if (!PHPWS_Error::logIfError($result2) && ($result2 == NULL)) ! { ! $advertiser->setUserId($result[0]); ! $advertiser->setBusiness($_POST['business']); ! $advertiser->setCreated(mktime()); ! return TRUE; ! } ! } } ! return FALSE; } --- 729,802 ---- } + PHPWS_Core::initModClass('user', 'Users.php'); + $form = new PHPWS_Form; $form->addHidden('module', 'ads'); ! $form->addHidden('action', 'addAdvertiser'); ! $db = new PHPWS_DB('users'); ! $db->addColumn('id'); ! $db->addColumn('username'); ! $db->addColumn('display_name'); ! $db->addJoin('left', 'users', 'ads_advertisers', 'id', 'user_id'); ! $db->addWhere('ads_advertisers.user_id', null, 'is'); ! $result = $db->getObjects('PHPWS_User'); ! if ($result) ! { ! foreach ($result as $user) ! { ! $choices[$user->id] = $user->display_name; ! } ! $form->addSelect('advertiser_id', $choices); ! $form->setLabel('advertiser_id', dgettext('ads', 'Available users')); ! $form->addSubmit('submit', dgettext('ads', 'Continue')); ! } ! else ! { ! $form->addTplTag('NO_USERS_NOTE', dgettext('ads', 'Sorry, there are no users available. You will have to create a user account first.')); ! } ! ! return PHPWS_Template::process($form->getTemplate(), 'ads', 'advertiser/select.tpl'); ! } ! ! function addAdvertiser(&$advertiser) ! { ! if (!Current_User::allow('ads', 'edit_advertisers')) ! { ! Current_User::disallow(); ! return; ! } ! ! $form = new PHPWS_Form; ! $form->addHidden('module', 'ads'); ! $form->addHidden('action', 'postAdvertiser'); ! $form->addHidden('advertiser_id', $advertiser->user_id); ! ! $form->addText('business_name', $advertiser->business_name); ! $form->setLabel('business_name', dgettext('ads', 'Business/Organization')); ! $form->setSize('business_name', 50, 255); $form->addSubmit('submit', dgettext('ads', 'Save New Advertiser')); ! return PHPWS_Template::process($form->getTemplate(), 'ads', 'advertiser/add.tpl'); } function postAdvertiser(&$advertiser) { ! if (!Current_User::allow('ads', 'edit_advertisers')) { ! Current_User::disallow(); ! return; ! } ! if (!empty($_POST['advertiser_id']) && !empty($_POST['business_name'])) ! { ! $advertiser->setBusinessName($_POST['business_name']); ! $advertiser->setCreated(mktime()); ! return true; } ! return false; } *************** *** 778,782 **** $pageTags['DISPLAY_NAME'] = dgettext('ads', 'Username'); ! $pageTags['BUSINESS'] = dgettext('ads', 'Business Name'); $pageTags['CREATED'] = dgettext('ads', 'Advertising Since'); $pageTags['ACTION'] = dgettext('ads', 'Action'); --- 806,810 ---- $pageTags['DISPLAY_NAME'] = dgettext('ads', 'Username'); ! $pageTags['BUSINESS_NAME'] = dgettext('ads', 'Business Name'); $pageTags['CREATED'] = dgettext('ads', 'Advertising Since'); $pageTags['ACTION'] = dgettext('ads', 'Action'); *************** *** 787,794 **** $pager->addPageTags($pageTags); $pager->addRowTags('getTpl'); ! $pager->setSearch('business'); ! $pager->setDefaultOrder('business', 'asc'); ! $pager->setEmptyMessage(dgettext('ads', 'No advertisers found.')); $pager->joinResult('user_id', 'users', 'id', 'display_name', 'display_name'); $pager->cacheQueries(); --- 815,823 ---- $pager->addPageTags($pageTags); $pager->addRowTags('getTpl'); ! $pager->joinResult('user_id', 'demographics', 'user_id', 'business_name', 'business_name'); $pager->joinResult('user_id', 'users', 'id', 'display_name', 'display_name'); + $pager->setSearch('demographics.business_name'); + $pager->setDefaultOrder('demographics.business_name', 'asc'); + $pager->setEmptyMessage(dgettext('ads', 'No advertisers found.')); $pager->cacheQueries(); Index: advertiser.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/ads/class/advertiser.php,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** advertiser.php 22 Jun 2008 20:04:19 -0000 1.9 --- advertiser.php 16 Aug 2008 20:19:15 -0000 1.10 *************** *** 23,76 **** */ ! class Ads_Advertiser ! { ! var $id = 0; ! var $user_id = 0; ! var $business = NULL; ! var $created = 0; ! ! /* Joined variables. */ ! var $display_name = NULL; ! ! function Ads_Advertiser($id=NULL) ! { ! if (!empty($id)) ! { ! $this->setId($id); ! $db = new PHPWS_DB('ads_advertisers'); ! $db->loadObject($this); ! } ! } ! function setId($id) ! { ! $this->id = (int)$id; ! } ! function getId() ! { ! return $this->id; ! } - function setUserId($user_id) - { - $this->user_id = (int)$user_id; - } ! function getUserId() { ! return $this->user_id; } ! function setBusiness($business) { ! $this->business = PHPWS_Text::parseInput($business); } ! function getBusiness() { ! return PHPWS_Text::parseOutput($this->business); } --- 23,60 ---- */ ! PHPWS_Core::initModClass('demographics', 'Demographics.php'); ! class Ads_Advertiser extends Demographics_User ! { ! /* new demographics field */ ! var $business_name = null; ! /* ads field */ ! var $created = 0; ! /* using a second table with demographics */ ! var $_table = 'ads_advertisers'; ! /* advanced join fields */ ! var $display_name = null; ! function Ads_Advertiser($user_id=null) { ! if (!empty($user_id)) ! { ! $this->user_id = (int)$user_id; ! $this->load(); ! } } ! function setBusinessName($business_name) { ! $this->business_name = PHPWS_Text::parseInput($business_name); } ! function getBusinessName() { ! return PHPWS_Text::parseOutput($this->business_name); } *************** *** 98,104 **** } ! function save() { ! if (!Current_User::authorized('ads', 'edit_advertisers')) { Current_User::disallow(); --- 82,93 ---- } ! /** ! * Removes advertiser and associated campaigns from the database. ! * ! * @param override Should ONLY be used when user being deleted (see remove_user.php). ! */ ! function kill($override=false) { ! if (!Current_User::authorized('ads', 'delete_advertisers') && !$override) { Current_User::disallow(); *************** *** 106,121 **** } - $db = new PHPWS_DB('ads_advertisers'); - $result = $db->saveObject($this); - if (PEAR::isError($result)) - { - return $result; - } - } - - function clearCampaigns($override) - { $db = new PHPWS_DB('ads_campaigns'); ! $db->addWhere('advertiser_id', $this->id); $campaigns = $db->getObjects('Ads_Campaign'); --- 95,100 ---- } $db = new PHPWS_DB('ads_campaigns'); ! $db->addWhere('advertiser_id', $this->user_id); $campaigns = $db->getObjects('Ads_Campaign'); *************** *** 127,155 **** } } - } ! /** ! * Removes advertiser and associated campaigns from the database. ! * ! * @param override Should ONLY be used when user being deleted (see remove_user.php). ! */ ! function kill($override=false) ! { ! if (!Current_User::authorized('ads', 'delete_advertisers', $this->id) && !$override) ! { ! Current_User::disallow(); ! return; ! } ! ! $this->clearCampaigns($override); ! $db = new PHPWS_DB('ads_advertisers'); ! $db->addWhere('id', $this->id); ! ! return !PHPWS_Error::logIfError($db->delete()); } function getTpl() { ! $vars['advertiser_id'] = $this->getId(); $vars['action'] = 'manageCampaigns'; --- 106,116 ---- } } ! return $this->delete(); } function getTpl() { ! $vars['advertiser_id'] = $this->user_id; $vars['action'] = 'manageCampaigns'; *************** *** 167,171 **** $template['ACTION'] = implode(' | ', $links); $template['DISPLAY_NAME'] = $this->getDisplayName(); ! $template['BUSINESS'] = $this->getBusiness(); $template['CREATED'] = $this->getCreated(); --- 128,132 ---- $template['ACTION'] = implode(' | ', $links); $template['DISPLAY_NAME'] = $this->getDisplayName(); ! $template['BUSINESS_NAME'] = $this->getBusinessName(); $template['CREATED'] = $this->getCreated(); Index: my_page.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/ads/class/my_page.php,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** my_page.php 16 Aug 2008 14:23:37 -0000 1.8 --- my_page.php 16 Aug 2008 20:19:15 -0000 1.9 *************** *** 30,50 **** $db = new PHPWS_DB('ads_advertisers'); $db->addWhere('user_id', Current_User::getId()); $result = $db->getObjects('Ads_Advertiser'); ! if (PEAR::isError($result)) { - PHPWS_Error::log($result); $content = dgettext('ads', 'Currently unavailable. Please try again later.'); } else { ! if (empty($result)) ! { ! $content = dgettext('ads', 'You are currently not an advertiser on this site.'); ! } ! else ! { ! $content = Ads_My_Page::showReport($result[0]->getId()); ! $box['BUSINESS'] = $result[0]->getBusiness(); ! } } --- 30,49 ---- $db = new PHPWS_DB('ads_advertisers'); $db->addWhere('user_id', Current_User::getId()); + $db->addColumn('ads_advertisers.*'); + $db->addColumn('demographics.business_name'); $result = $db->getObjects('Ads_Advertiser'); ! ! if (PHPWS_Error::logIfError($result)) { $content = dgettext('ads', 'Currently unavailable. Please try again later.'); } + else if (empty($result)) + { + $content = dgettext('ads', 'You are currently not an advertiser on this site.'); + } else { ! $content = Ads_My_Page::showReport($result[0]->user_id); ! $box['BUSINESS'] = $result[0]->getBusinessName(); } *************** *** 59,107 **** $db->addWhere('advertiser_id', $advertiser_id); $result = $db->getObjects('Ads_Campaign'); ! if (PEAR::isError($result)) { - PHPWS_Error::log($result); $content = dgettext('ads', 'Currently unavailable. Please try again later.'); } else { ! if (empty($result)) ! { ! $content = dgettext('ads', 'You currently do not have any active ad campaigns.'); ! } ! else ! { ! PHPWS_Core::initCoreClass('DBPager.php'); ! $pageTags['NAME'] = dgettext('ads', 'Ad Name'); ! $pageTags['TYPE'] = dgettext('ads', 'Type'); ! $pageTags['ACTIVE'] = dgettext('ads', 'Active'); ! $pageTags['APPROVED'] = dgettext('ads', 'Approved'); ! $pageTags['VIEWS'] = dgettext('ads', 'Views'); ! $pageTags['HITS'] = dgettext('ads', 'Hits'); ! $pageTags['CTR'] = dgettext('ads', 'CTR'); ! foreach($result as $campaign) { ! $pageTags['CAMPAIGN'] = $campaign->getName(); ! $pager = new DBPager('ads', 'Ads_Ad'); ! $pager->setModule('ads'); ! $pager->setTemplate('campaign/report.tpl'); ! $pager->addToggle(' class="bgcolor1"'); ! $pager->addPageTags($pageTags); ! $pager->addRowTags('getTpl'); ! $pager->setDefaultOrder('title', 'asc'); ! if (($num_ads = $campaign->getNumberOfAds()) > 0) ! { ! $pager->setLimitList(array($num_ads)); ! $pager->setDefaultLimit($num_ads); ! } ! $pager->setEmptyMessage(dgettext('ads', 'No ads found for this campaign.')); ! $pager->addWhere('campaign_id', $campaign->getId()); ! ! $report[] = $pager->get(); } ! $content = implode('', $report); } } --- 58,102 ---- $db->addWhere('advertiser_id', $advertiser_id); $result = $db->getObjects('Ads_Campaign'); ! if (PHPWS_Error::logIfError($result)) { $content = dgettext('ads', 'Currently unavailable. Please try again later.'); } + else if (empty($result)) + { + $content = dgettext('ads', 'You currently do not have any active ad campaigns.'); + } else { ! PHPWS_Core::initCoreClass('DBPager.php'); ! $pageTags['NAME'] = dgettext('ads', 'Ad Name'); ! $pageTags['TYPE'] = dgettext('ads', 'Type'); ! $pageTags['ACTIVE'] = dgettext('ads', 'Active'); ! $pageTags['APPROVED'] = dgettext('ads', 'Approved'); ! $pageTags['VIEWS'] = dgettext('ads', 'Views'); ! $pageTags['HITS'] = dgettext('ads', 'Hits'); ! $pageTags['CTR'] = dgettext('ads', 'CTR'); ! foreach($result as $campaign) ! { ! $pageTags['CAMPAIGN'] = $campaign->getName(); ! $pager = new DBPager('ads', 'Ads_Ad'); ! $pager->setModule('ads'); ! $pager->setTemplate('campaign/report.tpl'); ! $pager->addToggle(PHPWS_LIST_TOGGLE_CLASS); ! $pager->addPageTags($pageTags); ! $pager->addRowTags('getTpl'); ! $pager->setDefaultOrder('title', 'asc'); ! if (($num_ads = $campaign->getNumberOfAds()) > 0) { ! $pager->setLimitList(array($num_ads)); ! $pager->setDefaultLimit($num_ads); } ! $pager->setEmptyMessage(dgettext('ads', 'No ads found for this campaign.')); ! $pager->addWhere('campaign_id', $campaign->getId()); ! ! $report[] = $pager->get(); } + $content = implode('', $report); } Index: ad.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/ads/class/ad.php,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** ad.php 22 Jun 2008 20:04:19 -0000 1.15 --- ad.php 16 Aug 2008 20:19:15 -0000 1.16 *************** *** 258,266 **** $db = new PHPWS_DB('ads_campaigns'); $db->addWhere('ads_campaigns.id', $this->campaign_id); ! $db->addWhere('ads_advertisers.id', 'ads_campaigns.advertiser_id'); ! $db->addWhere('users.id', 'ads_advertisers.user_id'); ! $db->addColumn('users.username'); ! $result = $db->select('col'); ! if (($result[0] != Current_User::getUsername()) && !Current_User::authorized('ads')) { Current_User::disallow(); --- 258,265 ---- $db = new PHPWS_DB('ads_campaigns'); $db->addWhere('ads_campaigns.id', $this->campaign_id); ! $db->addWhere('users.id', 'ads_campaigns.advertiser_id'); ! $db->addColumn('users.id'); ! $result = $db->select('one'); ! if ((PEAR::isError($result) || ($result != Current_User::getId())) && !Current_User::authorized('ads')) { Current_User::disallow(); *************** *** 309,321 **** PHPWS_Core::initModClass('version', 'Version.php'); ! if (!$override) { $db = new PHPWS_DB('ads_campaigns'); $db->addWhere('ads_campaigns.id', $this->campaign_id); ! $db->addWhere('ads_advertisers.id', 'ads_campaigns.advertiser_id'); ! $db->addWhere('users.id', 'ads_advertisers.user_id'); ! $db->addColumn('users.username'); ! $result = $db->select('col'); ! if (($result[0] != Current_User::getUsername()) && !Current_User::authorized('ads')) { Current_User::disallow(); --- 308,319 ---- PHPWS_Core::initModClass('version', 'Version.php'); ! if (!$override && !Current_User::authorized('ads')) { $db = new PHPWS_DB('ads_campaigns'); $db->addWhere('ads_campaigns.id', $this->campaign_id); ! $db->addWhere('users.id', 'ads_campaigns.advertiser_id'); ! $db->addColumn('users.id'); ! $result = $db->select('one'); ! if (PEAR::isError($result) || ($result != Current_User::getId())) { Current_User::disallow(); |