Volgorde Datum / event in eventlist module

Moderator: pe7er

Forum rules
Forum Regels
Locked
User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Volgorde Datum / event in eventlist module

Post by nofarmer » Mon Sep 24, 2007 12:14 pm

Ik gebruik voor een kalender functie op een website het component eventlist, incl. modules, nu laat ik op de homepage een lijst zien met de 'upcoming events' alleen laat de module eerst de datum zien en dan de activiteit, Dit wil ik graag omgedraaid hebben dus eerst de activiteit en dan de datum, hoe en waar kan ik dit aanpassen?

User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Volgorde Datum / event in eventlist module

Post by dam-man » Sat Sep 29, 2007 3:37 pm

nofarmer wrote: Ik gebruik voor een kalender functie op een website het component eventlist, incl. modules, nu laat ik op de homepage een lijst zien met de 'upcoming events' alleen laat de module eerst de datum zien en dan de activiteit, Dit wil ik graag omgedraaid hebben dus eerst de activiteit en dan de datum, hoe en waar kan ik dit aanpassen?
Kan je hier de module plaatsen dan? Of in ieder geval de code die in de module staat?
Dan kunnen we even kijken
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Re: Volgorde Datum / event in eventlist module

Post by nofarmer » Sat Sep 29, 2007 9:13 pm

Hierbij de module. Alvast bedankt  ;)
You do not have the required permissions to view the files attached to this post.

User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Re: Volgorde Datum / event in eventlist module

Post by nofarmer » Fri Oct 12, 2007 12:09 pm

Dam-man is het nog gelukt?

User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Volgorde Datum / event in eventlist module

Post by dam-man » Sat Oct 20, 2007 9:30 am

Waar kan ik even een voorbeeld zien?
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Re: Volgorde Datum / event in eventlist module

Post by nofarmer » Sat Oct 20, 2007 10:22 am


User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Volgorde Datum / event in eventlist module

Post by dam-man » Sat Oct 20, 2007 11:30 am

Ondestaande kan je in je module plakken:

Hieronder vind je dus de gehele module, oude code verwijderen, nieuwe van hieronder er in zetten:

Code: Select all

<?php
/**
* @version 0.8.10 $Id: mod_eventlist.php 305 2007-08-20 16:29:11Z schlu $
* @package Eventlist Modul
* @copyright (C) 2005-2007 Christoph Lukes
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

global $database, $my;

$nulldate = '0000-00-00';

//delete events older than x days
if ($params->get('oldDeletemod', '0') == 1) {
	$delevents = 'DELETE FROM #__eventlist_dates WHERE DATE_SUB(NOW(), INTERVAL '.(int)$params->get( 'minus','2' ).' DAY) > (IF (enddates <> '.$nulldate.', enddates, dates))';
	$database->setQuery($delevents);
	$database->query();
}

//archive events older than x days
if ($params->get('oldDeletemod', '0') == 2) {
	$archevents = 'UPDATE #__eventlist_dates SET published = -1 WHERE DATE_SUB(NOW(), INTERVAL '.(int)$params->get( 'minus','2' ).' DAY) > (IF (enddates <> '.$nulldate.', enddates, dates))';
	$database->setQuery($archevents);
	$database->query();
}

//getItemid
$itemidquery = 'SELECT id FROM #__menu WHERE link = "index.php?option=com_eventlist" AND published > 0';

$database->setQuery($itemidquery);
$Itemid = $database->loadResult();

if ($params->get( 'type', '0' ) == 0) {
	$where = ' WHERE a.published = 1';
	$order = ' ORDER BY a.dates, a.times';
} else {
	$where = ' WHERE a.published = -1';
	$order = ' ORDER BY a.dates DESC, a.times DESC';
}

//get $params->get( 'count', '2' ) nr of datasets
$query = 'SELECT a.*, l.club, l.city, l.url'
		.' FROM #__eventlist_dates AS a'
		.' LEFT JOIN #__eventlist_locate AS l ON l.id = a.locid'
		.' LEFT JOIN #__eventlist_categories AS c ON c.id = a.catsid'
		. $where
		.' AND c.access <= '.(int)$my->gid
		. $order
		.' LIMIT '.(int)$params->get( 'count', '2' )
		;

$database->setQuery($query);
$rows = $database->loadObjectList();

//Two lines
function elmod_two_lines($rows, $Itemid, &$params)
{
	?>

	<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">

	<?php
	$k = 0;
	for($i=0; $i < count( $rows ); $i++) {
	$row = $rows[$i];

	?>

    	<span style="align:<?php echo $params->get('align', 'left'); ?>">
    			<?php echo format_date($row, $params, $Itemid); ?>
		</span>
		<br/>

		<span style="align:<?php echo $params->get('align', 'left'); ?>">
    		<?php
			if ($params->get('showtitloc', '0') == 0) {

				if ($row->url && $params->get('linkloc', '1') == 1) {
					?>
					<a href="<?php echo format_url($row->url); ?>" target="_blank"><?php echo $row->club; ?></a>
						<?php
				} else {
					echo $row->club;
				}

			} else {

				//cut titel
				$beschnitten = strlen($row->titel);

				if ($beschnitten > $params->get('cuttitle', '18')) {
					$row->titel = substr($row->titel, 0, $params->get('cuttitle', '18'));
					$row->titel = $row->titel.'...';
				}

				if ($params->get('linkdet', '1') == 2) {
					echo "<a href='".sefRelToAbs('index.php?option=com_eventlist&Itemid='.$Itemid.'&func=details&did='.$row->id)."'>$row->titel</a>";
				} else {
					echo $row->titel;
				}
			}
			?>

  		</span>

  		<br/>
  		<?php $k = 1 - $k; } ?>
  	</div>
<?php
}

//One line
function elmod_one_line($rows, $Itemid, &$params)
{
	?>
	<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">

	<?php
   	$k = 0;
	for($i=0; $i < count( $rows ); $i++) {
	$row = $rows[$i];
	?>

			<span style="align:<?php echo $params->get('align', 'left'); ?>"><?php
				if ($row->url && $params->get('linkloc', '1') == 1) {
					?>
					<a href="<?php echo format_url($row->url); ?>" target="_blank"><?php echo $row->club; ?></a>
					<?php
				} else {
					echo $row->club;
				}
				?> /			</span><span style="align:<?php echo $params->get('align', 'left'); ?>"><?php echo format_date($row, $params, $Itemid); ?></span><br/>

  		<?php $k = 1 - $k; } ?>
</div>
<?php
}

function format_url($url)
{
	if(strtolower(substr($url, 0, 7)) == 'http://') {
		$url = $url;
	} else {
		$url= 'http://'.$row->url;
	}
	return $url;
}

function format_date($row, &$params, $Itemid)
{
	//format date
	$datum = strftime($params->get('formatdate', '%d.%m.%Y'), strtotime( $row->dates ));

   	if ($row->enddates == '0000-00-00') {
		$datum = $datum;
	} else {
		$enddate 	= strftime($params->get('formatdate', '%d.%m.%Y'), strtotime( $row->enddates ));
		$datum = $datum.' - '.$enddate;
	}

	if ($params->get('linkdet', '1') == 1) {
		$datum = "<a href='".sefRelToAbs('index.php?option=com_eventlist&Itemid='.$Itemid.'&func=details&did='.$row->id)."'>$datum</a>";
	}

	if ($row->times != '00:00:00') {

		$zeit = strftime( $params->get('formattime', '%H:%M'), strtotime( $row->times ));
		$datum = $datum.' | '.$zeit;

	}

	return $datum;
}

//any events to display?
if (empty($rows)) {
?>
	<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">

		<span><?php echo $params->get('noevents', 'Sorry, no events to display'); ?></span>

	</div>
<?php
} else {
	if ($params->get('view', '1') == 1) {
		elmod_two_lines($rows, $Itemid, $params);
	} else {
		elmod_one_line($rows, $Itemid, $params);
	}
}
?>
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Re: Volgorde Datum / event in eventlist module

Post by nofarmer » Sun Oct 21, 2007 3:57 pm

Dank je, ik heb de code in het component vervangen door de aangepaste code. Alleen staat er nu 2x de datum en daarna de activiteit (ipv activiteit en daarna de datum) zou je er nogmaals naar kunnen kijken? alvast bedankt  ;)

User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Volgorde Datum / event in eventlist module

Post by dam-man » Mon Oct 22, 2007 6:51 am

Is onderstaande beter dan?

Code: Select all

<?php
/**
* @version 0.8.10 $Id: mod_eventlist.php 305 2007-08-20 16:29:11Z schlu $
* @package Eventlist Modul
* @copyright (C) 2005-2007 Christoph Lukes
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

global $database, $my;

$nulldate = '0000-00-00';

//delete events older than x days
if ($params->get('oldDeletemod', '0') == 1) {
	$delevents = 'DELETE FROM #__eventlist_dates WHERE DATE_SUB(NOW(), INTERVAL '.(int)$params->get( 'minus','2' ).' DAY) > (IF (enddates <> '.$nulldate.', enddates, dates))';
	$database->setQuery($delevents);
	$database->query();
}

//archive events older than x days
if ($params->get('oldDeletemod', '0') == 2) {
	$archevents = 'UPDATE #__eventlist_dates SET published = -1 WHERE DATE_SUB(NOW(), INTERVAL '.(int)$params->get( 'minus','2' ).' DAY) > (IF (enddates <> '.$nulldate.', enddates, dates))';
	$database->setQuery($archevents);
	$database->query();
}

//getItemid
$itemidquery = 'SELECT id FROM #__menu WHERE link = "index.php?option=com_eventlist" AND published > 0';

$database->setQuery($itemidquery);
$Itemid = $database->loadResult();

if ($params->get( 'type', '0' ) == 0) {
	$where = ' WHERE a.published = 1';
	$order = ' ORDER BY a.dates, a.times';
} else {
	$where = ' WHERE a.published = -1';
	$order = ' ORDER BY a.dates DESC, a.times DESC';
}

//get $params->get( 'count', '2' ) nr of datasets
$query = 'SELECT a.*, l.club, l.city, l.url'
		.' FROM #__eventlist_dates AS a'
		.' LEFT JOIN #__eventlist_locate AS l ON l.id = a.locid'
		.' LEFT JOIN #__eventlist_categories AS c ON c.id = a.catsid'
		. $where
		.' AND c.access <= '.(int)$my->gid
		. $order
		.' LIMIT '.(int)$params->get( 'count', '2' )
		;

$database->setQuery($query);
$rows = $database->loadObjectList();

//Two lines
function elmod_two_lines($rows, $Itemid, &$params)
{
	?>

	<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">

	<?php
	$k = 0;
	for($i=0; $i < count( $rows ); $i++) {
	$row = $rows[$i];

	?>
<!-- DELETED THIS ITEM - CHECK LINE 111 FOR COPIED CODE..

    	<span style="align:<?php // echo $params->get('align', 'left'); ?>">
    			<?php // echo format_date($row, $params, $Itemid); ?>
		</span>
		<br/>  

END OF DELETED ITEM - GO ON AT LINE 111 //-->

		<span style="align:<?php  echo $params->get('align', 'left'); ?>">
    		<?php
			if ($params->get('showtitloc', '0') == 0) {

				if ($row->url && $params->get('linkloc', '1') == 1) {
					?>
					<a href="<?php echo format_url($row->url); ?>" target="_blank"><?php echo $row->club; ?></a>
						<?php
				} else {
					echo $row->club;
				}

			} else {

				//cut titel
				$beschnitten = strlen($row->titel);

				if ($beschnitten > $params->get('cuttitle', '18')) {
					$row->titel = substr($row->titel, 0, $params->get('cuttitle', '18'));
					$row->titel = $row->titel.'...';
				}

				if ($params->get('linkdet', '1') == 2) {
					echo "<a href='".sefRelToAbs('index.php?option=com_eventlist&Itemid='.$Itemid.'&func=details&did='.$row->id)."'>$row->titel</a>";
				} else {
					echo $row->titel;
				}
			}
			?>

  		</span>
		<br> <!-- GO ON HERE WITH CORRECTED CODE //-->
    	<span style="align:<?php echo $params->get('align', 'left'); ?>">
    			<?php echo format_date($row, $params, $Itemid); ?>
		</span>

  		<br/>
  		<?php $k = 1 - $k; } ?>
  	</div>
<?php
}

//One line
function elmod_one_line($rows, $Itemid, &$params)
{
	?>
	<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">

	<?php
   	$k = 0;
	for($i=0; $i < count( $rows ); $i++) {
	$row = $rows[$i];
	?>

			<span style="align:<?php echo $params->get('align', 'left'); ?>"><?php
				if ($row->url && $params->get('linkloc', '1') == 1) {
					?>
					<a href="<?php echo format_url($row->url); ?>" target="_blank"><?php echo $row->club; ?></a>
					<?php
				} else {
					echo $row->club;
				}
				?> /			</span><span style="align:<?php echo $params->get('align', 'left'); ?>"><?php echo format_date($row, $params, $Itemid); ?></span><br/>

  		<?php $k = 1 - $k; } ?>
</div>
<?php
}

function format_url($url)
{
	if(strtolower(substr($url, 0, 7)) == 'http://') {
		$url = $url;
	} else {
		$url= 'http://'.$row->url;
	}
	return $url;
}

function format_date($row, &$params, $Itemid)
{
	//format date
	$datum = strftime($params->get('formatdate', '%d.%m.%Y'), strtotime( $row->dates ));

   	if ($row->enddates == '0000-00-00') {
		$datum = $datum;
	} else {
		$enddate 	= strftime($params->get('formatdate', '%d.%m.%Y'), strtotime( $row->enddates ));
		$datum = $datum.' - '.$enddate;
	}

	if ($params->get('linkdet', '1') == 1) {
		$datum = "<a href='".sefRelToAbs('index.php?option=com_eventlist&Itemid='.$Itemid.'&func=details&did='.$row->id)."'>$datum</a>";
	}

	if ($row->times != '00:00:00') {

		$zeit = strftime( $params->get('formattime', '%H:%M'), strtotime( $row->times ));
		$datum = $datum.' | '.$zeit;

	}

	return $datum;
}

//any events to display?
if (empty($rows)) {
?>
	<div class="moduletable<?php echo $params->get('moduleclass_sfx'); ?>">

		<span><?php echo $params->get('noevents', 'Sorry, no events to display'); ?></span>

	</div>
<?php
} else {
	if ($params->get('view', '1') == 1) {
		elmod_two_lines($rows, $Itemid, $params);
	} else {
		elmod_one_line($rows, $Itemid, $params);
	}
}
?>
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Re: Volgorde Datum / event in eventlist module

Post by nofarmer » Mon Oct 22, 2007 10:19 am

Owk thnx  :)

De volgorde staat nu goed, alleen staat er bij de datum nu:

zondag 21 oktober - maandag 22 oktober | 09:30 uur

Hij hoeft bij datum alleen maar de eerste datum te laten zien,  en is het ook mogelijk om de activiteit in 'bold' weer te geven?

Alvast bedankt.

User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Volgorde Datum / event in eventlist module

Post by dam-man » Mon Oct 22, 2007 10:35 am

De volgorde staat nu goed, alleen staat er bij de datum nu:
zondag 21 oktober - maandag 22 oktober | 09:30 uur
Dit komt omdat je een begin en een einddatum hebt in gegeven bij het Event.
Indien je alleen een startdatum kiest zal hij alleen de begin datum tonen.
Is het ook mogelijk om de activiteit in 'bold' weer te geven?
Pas het volgende aan op lijn 106:
echo $row->titel;
In de volgende php code:
echo "".$row->titel."";
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Re: Volgorde Datum / event in eventlist module

Post by nofarmer » Mon Oct 22, 2007 11:28 am

thnx, de activiviteit wordt bold weergeven.

Wat betreft de data, hij geeft en de datum van de activiteit aan en de huidige datum:

donderdag 25 oktober - maandag 22 oktober | 19:30 uur

je zei in je vorige reply dat ik bij einddatum niets in moest vullen, dit had ik ook niet gedaan, kan ik de tweede datum niet gewoon uit de php file halen.

User avatar
dam-man
Joomla! Exemplar
Joomla! Exemplar
Posts: 7961
Joined: Fri Sep 09, 2005 2:13 pm
Location: The Netherlands
Contact:

Re: Volgorde Datum / event in eventlist module

Post by dam-man » Mon Oct 22, 2007 1:46 pm

Ja hoor dat kan, bij mij doet hij dat namelijk niet...

Hier moet je het wijzigen:

function format_date($row, &$params, $Itemid)

en de rest hieronder....
Robert Dam - Joomla Forum Moderator
Dutch Boards | Joomla Coding Boards | English Support Boards

User avatar
nofarmer
Joomla! Intern
Joomla! Intern
Posts: 68
Joined: Mon Sep 19, 2005 8:35 pm
Location: Nijverdal

Re: Volgorde Datum / event in eventlist module

Post by nofarmer » Mon Oct 22, 2007 7:43 pm

Thnx het is opgelost  ;D

User avatar
sc00zy
Joomla! Exemplar
Joomla! Exemplar
Posts: 9529
Joined: Thu Aug 18, 2005 9:07 am
Location: Assen, Netherlands
Contact:

Re: Volgorde Datum / event in eventlist module

Post by sc00zy » Mon Oct 22, 2007 7:44 pm

Wil je je eerste bericht even aanpassen zodat iedereen kan zien dat het is opgelost?
Message icon (Bericht icoon): Solved Image

Bedankt!
Arjan Menger
https://welldotcom.nl - Puntgaaf Internetbureau


Locked

Return to “Modules 1.0.x”