|
From: Greg M. <bli...@us...> - 2008-01-27 01:43:08
|
Update of /cvsroot/phpwebsite-comm/modules/featuredphoto/class In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1021/class Modified Files: block.php manager.php runtime.php Log Message: Can now pin a photo block to all pages. Index: manager.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/featuredphoto/class/manager.php,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** manager.php 26 Jan 2008 22:32:51 -0000 1.35 --- manager.php 27 Jan 2008 01:43:08 -0000 1.36 *************** *** 186,196 **** if (PHPWS_Error::logIfError($result)) { ! FeaturedPhoto_Manager::sendMessage(dgettext('featuredphoto', 'Photo block activation could not be changed'), ! 'manageBlocks'); } else { ! FeaturedPhoto_Manager::sendMessage(dgettext('featuredphoto', 'Photo block activation changed'), ! 'manageBlocks'); } break; --- 186,196 ---- if (PHPWS_Error::logIfError($result)) { ! FeaturedPhoto_Manager::sendMessage(dgettext('featuredphoto', ! 'Photo block activation could not be changed'), 'manageBlocks'); } else { ! FeaturedPhoto_Manager::sendMessage(dgettext('featuredphoto', ! 'Photo block activation changed'), 'manageBlocks'); } break; *************** *** 202,205 **** --- 202,210 ---- break; + case 'pinBlockAll': + FeaturedPhoto_Manager::pinBlockAll($block->getId()); + FeaturedPhoto_Manager::sendMessage(dgettext('featuredphoto', 'Photo block pinned'), 'manageBlocks'); + break; + case 'unpinBlock': unset($_SESSION['Pinned_Photo_Blocks'][$block->getId()]); *************** *** 220,224 **** case 'removeBlockPin': - FeaturedPhoto_Manager::checkPermission('pin_blocks'); FeaturedPhoto_Manager::removeBlockPin(); PHPWS_Core::goBack(); --- 225,228 ---- *************** *** 536,539 **** --- 540,559 ---- } + function pinBlockAll($block_id) + { + FeaturedPhoto_Manager::checkPermission('pin_blocks'); + + $values['block_id'] = $block_id; + $db = new PHPWS_DB('featuredphoto_pins'); + $db->addWhere($values); + PHPWS_Error::logIfError($db->delete()); + $db->resetWhere(); + + $values['key_id'] = -1; + $db->addValue($values); + + PHPWS_Error::logIfError($db->insert()); + } + function lockBlock($block_id, $key_id) { *************** *** 555,566 **** function removeBlockPin() { ! if (isset($_GET['key_id']) && isset($_GET['block_id'])) { $db = new PHPWS_DB('featuredphoto_pins'); $db->addWhere('block_id', $_GET['block_id']); ! $db->addWhere('key_id', $_GET['key_id']); ! $result = $db->delete(); ! PHPWS_Error::logIfError($result); } } --- 575,590 ---- function removeBlockPin() { ! FeaturedPhoto_Manager::checkPermission('pin_blocks'); ! ! if (isset($_GET['block_id'])) { $db = new PHPWS_DB('featuredphoto_pins'); $db->addWhere('block_id', $_GET['block_id']); ! if (isset($_GET['key_id'])) ! { ! $db->addWhere('key_id', $_GET['key_id']); ! } ! PHPWS_Error::logIfError($db->delete()); } } Index: block.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/featuredphoto/class/block.php,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** block.php 26 Jan 2008 22:32:51 -0000 1.22 --- block.php 27 Jan 2008 01:43:08 -0000 1.23 *************** *** 507,510 **** --- 507,541 ---- } + function allPinned() + { + static $all_pinned = null; + + if (empty($all_pinned)) + { + $db = new PHPWS_DB('featuredphoto_pins'); + $db->addWhere('key_id', -1); + $db->addColumn('block_id'); + $result = $db->select('col'); + if (!PHPWS_Error::logIfError($result)) + { + if ($result) + { + $all_pinned = $result; + } + else + { + $all_pinned = true; + } + } + } + + if (is_array($all_pinned)) + { + return in_array($this->id, $all_pinned); + } + + return false; + } + function getListTags() { *************** *** 531,538 **** --- 562,576 ---- $links[] = PHPWS_Text::secureLink(dgettext('featuredphoto', 'Unpin'), 'featuredphoto', $vars); } + else if ($this->allPinned()) + { + $vars['action'] = 'removeBlockPin'; + $links[] = PHPWS_Text::secureLink(dgettext('featuredphoto', 'Unpin all'), 'featuredphoto', $vars); + } else { $vars['action'] = 'pinBlock'; $links[] = PHPWS_Text::secureLink(dgettext('featuredphoto', 'Pin'), 'featuredphoto', $vars); + $vars['action'] = 'pinBlockAll'; + $links[] = PHPWS_Text::secureLink(dgettext('featuredphoto', 'Pin all'), 'featuredphoto', $vars); } } Index: runtime.php =================================================================== RCS file: /cvsroot/phpwebsite-comm/modules/featuredphoto/class/runtime.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** runtime.php 30 Sep 2007 22:48:46 -0000 1.4 --- runtime.php 27 Jan 2008 01:43:08 -0000 1.5 *************** *** 25,34 **** PHPWS_Core::initModClass('featuredphoto', 'block.php'); ! class FeaturedPhoto_Runtime { ! function show() { ! $key = Key::getCurrent(); if (!empty($key) && !$key->isDummy(true)) { --- 25,35 ---- PHPWS_Core::initModClass('featuredphoto', 'block.php'); ! class FeaturedPhoto_Runtime ! { function show() { ! FeaturedPhoto_Runtime::showAllBlocks(); + $key = Key::getCurrent(); if (!empty($key) && !$key->isDummy(true)) { *************** *** 38,66 **** } ! function viewPinnedBlocks($key) { ! if (!isset($_SESSION['Pinned_Photo_Blocks'])) ! { ! return FALSE; ! } ! $block_list = &$_SESSION['Pinned_Photo_Blocks']; ! if (!empty($block_list)) { ! foreach ($block_list as $block_id => $block) { ! if (isset($GLOBALS['Current_Photo_Blocks'][$block_id])) { ! continue; } ! $block->setPinKey($key); ! $content[] = $block->view(TRUE); ! } ! ! if (!empty($content)) ! { ! $complete = implode('', $content); ! Layout::add($complete, 'featuredphoto', 'Photo_Block_List'); } } --- 39,70 ---- } ! function showAllBlocks() { ! $key = new Key; ! $key->id = -1; ! FeaturedPhoto_Runtime::showBlocks($key); ! } ! function viewPinnedBlocks($key) ! { ! if (isset($_SESSION['Pinned_Photo_Blocks'])) { ! $block_list = &$_SESSION['Pinned_Photo_Blocks']; ! if (!empty($block_list)) { ! foreach ($block_list as $block_id => $block) { ! if (!isset($GLOBALS['Current_Photo_Blocks'][$block_id])) ! { ! $block->setPinKey($key); ! $content[] = $block->view(TRUE); ! } } ! if (!empty($content)) ! { ! $complete = implode('', $content); ! Layout::add($complete, 'featuredphoto', 'Photo_Block_List'); ! } } } |