Hulp nodig bij: Parse error: syntax error, unexpected $end in D:\Program Files\wamp\www\Sdoo\compone
op de hosting server van onze site.
Maar als ik dit lokaal wit uitvoeren op mijn windows pc krijg ik de fout melding
Alle haakjes {} en ? nagelopen maar niets gevonden.
Wie wil mij helpen?
Quote:
<table><td class="contentheading" width="100%"><span style="width: 50px;"></span>Ingezonden stukken</td></tr>
<tr><td>
<table>
<tr><td><b>Titel</b></td><td><b>Inzend datum</b></td><td><b>Section</b></td><td><b>Categorie</b></td></tr>
</table>
</td></tr>
</table>
<h2>Notificaties ingezonden stukken instellen</h2>
<h2>Notificaties reacties instellen</h2>
</select>
<input type="submit" value="Opslaan" />
<input type="submit" value="Verstuur naar SDOO" onclick="return confirm('Weet u zeker dat u dit stuk wilt insturen? Wanneer u op OK klikt kunt u dit niet meer bewerken.')" />
</td></tr></table>
</form>
<script>
var categories = new Array();
function categorie(catId,secId,name)
{
this.catId = catId;
this.name = name;
this.secId = secId;
}
function setCategories(dropDownObj)
{
var categoriesObj = document.getElementById("categorie");
// Leeg de dropdownbox
categoriesObj.innerHTML = "";
// Eerste item toevoegen
var opt = document.createElement("option");
opt.text = "--- Selecteer een categorie ---";
categoriesObj.options.add(opt);
// Voeg opties toe
for (i=0;i<categories.length;i++)
{
if (dropDownObj.value == categories.secId)
{
var opt = document.createElement("option");
opt.text = categories.name;
opt.value = categories.catId;
categoriesObj.options.add(opt);
}
}
}
</script>
<form method="post" action="index.php?option=com_sdoo&task=&Itemid=">
<h1>Stuk insturen</h1>
<table>
<tr><td>
<br />
<font style='color:red;font-weight:bold;'>Ingezonden artikelen op deze site zijn meer dan welkom.
Echter: artikelen die kwetsend, onnodig grof of beledigend zijn worden niet geplaatst. Verzocht wordt naam en eventueel e-mailadres te vermelden.
</font>
<p>
<b>Titel:</b><br />
Geef een titel voor uw stuk van maximaal 100 karakters.
</p>
<input type="text" name="title" maxlength="100" style="width:300px;" value="" />
<p>
<b>Sectie:</b><br />
Selecteer een sectie waaronder uw stuk valt.
<p />
<p>
<b>Categorie:</b><br />
Na het selecteren van een sectie kunt u een categorie kiezen waaronder uw stuk valt.
<p />
<select name="categorie" id="categorie" style="width:300px;">
</select>
<p>
<b>Intro tekst:</b><br />
Geef een korte into op uw stuk. Dit is niet verplicht.
<p />
<p>
<b>Tekst:</b><br />
U kunt hier uw stuk plaatsen voor op de website.
<p />
<p />
<b>Afbeeldingen:</b><br />
Wanneer u afbeeldingen aan uw stuk wilt toevoegen, kunt u deze insturen naar <a href="mailto:[email protected]">[email protected]</a> vermeld hierbij de titel van het stuk.
<p />
<table><td class="contentheading" width="100%"><span style="width: 50px;"></span>Stuk insturen</td></tr>
<tr><td>
Hartelijk dank voor het bijdragen aan de SDOO site. Voordat uw ingezonden stuk op de website geplaatst zal worden, moet dit eerst worden goed gekeurd door de beheerders.
</td></tr>
</table>
[/quote]
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
jimport('joomla.html.parameter');
jimport('joomla.html.editor');
// no direct access
defined('_JEXEC') or die;
// load the html drawing class
// require_once( $mainframe->getPath( 'front_html' ) );
$mainframe = JFactory::getApplication();
global $database, $my;
global $mosConfig_live_site, $mosConfig_frontend_login, $mosConfig_db;
$menu = $mainframe->get( 'menu' );
$params = new JParameter($ini);
$params->def( 'page_title', 1 );
$params->def( 'header_login', $menu->name );
$params->def( 'header_logout', $menu->name );
$params->def( 'pageclass_sfx', '' );
$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
$params->def( 'login', $mosConfig_live_site );
$params->def( 'logout', $mosConfig_live_site );
$params->def( 'login_message', 0 );
$params->def( 'logout_message', 0 );
$params->def( 'description_login', 1 );
$params->def( 'description_logout', 1 );
$params->def( 'description_login_text', _LOGIN_DESCRIPTION );
$params->def( 'description_logout_text', _LOGOUT_DESCRIPTION );
$params->def( 'image_login', 'key.jpg' );
$params->def( 'image_logout', 'key.jpg' );
$params->def( 'image_login_align', 'right' );
$params->def( 'image_logout_align', 'right' );
$params->def( 'registration', $mainframe->getCfg( 'allowUserRegistration' ) );
$option = "com_sdoo";
$user = &JFactory::getUser();
$id = $user->id;
/*
----------------
Bepaal de taak
----------------
*/
if ($_GET["task"] == "saveNew")
{
savePage();
}
else if ($_GET["task"] == "edit")
{
if ($id != 0)
editPage();
}
else if ($_GET["task"] == "delete")
{
if ($id != 0)
delete();
}
else if ($_GET["task"] == "saveEdited")
{
if ($id != 0)
saveEditedPage();
}
else if ($_GET["task"] == "overview")
{
// Alleen voor geregistreerde gebruikers
if ($id != 0){
overview();
}
}
else if ($_GET["task"] == "publish")
{
if ($id != 0){
publish();
}
}
else if ($_GET["task"] == "notifications")
{
if ($id != 0){
notificaties();
}
}
else
{
newPage();
}
function delete()
{
global $id, $my;
$database = &JFactory::getDbo();
// Verwijder stuk
$query = "DELETE FROM #__ingezonden WHERE id = '" . quote_smart($_GET["stukId"]) . "' ";
$database->setQuery( $query );
$database->query();
// Terug naar overzicht
header("Location: index.php?option=com_sdoo&task=overview&Itemid=" . quote_smart($_GET["Itemid"]) . "");
}
function overview()
{
global $id, $user;
$database = &JFactory::getDbo();
$query = "SELECT i.*, c.title as 'categorieName', (SELECT title from #__categories where id = c.parent_id limit 1) as 'sectionName' FROM #__ingezonden i LEFT JOIN #__categories c ON(c.id = i.catId) order by i.publish_up";
$database->setQuery( $query );
$stukken = $database->loadObjectList();
?>
jimport('joomla.html.parameter');
jimport('joomla.html.editor');
// no direct access
defined('_JEXEC') or die;
// load the html drawing class
// require_once( $mainframe->getPath( 'front_html' ) );
$mainframe = JFactory::getApplication();
global $database, $my;
global $mosConfig_live_site, $mosConfig_frontend_login, $mosConfig_db;
$menu = $mainframe->get( 'menu' );
$params = new JParameter($ini);
$params->def( 'page_title', 1 );
$params->def( 'header_login', $menu->name );
$params->def( 'header_logout', $menu->name );
$params->def( 'pageclass_sfx', '' );
$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
$params->def( 'login', $mosConfig_live_site );
$params->def( 'logout', $mosConfig_live_site );
$params->def( 'login_message', 0 );
$params->def( 'logout_message', 0 );
$params->def( 'description_login', 1 );
$params->def( 'description_logout', 1 );
$params->def( 'description_login_text', _LOGIN_DESCRIPTION );
$params->def( 'description_logout_text', _LOGOUT_DESCRIPTION );
$params->def( 'image_login', 'key.jpg' );
$params->def( 'image_logout', 'key.jpg' );
$params->def( 'image_login_align', 'right' );
$params->def( 'image_logout_align', 'right' );
$params->def( 'registration', $mainframe->getCfg( 'allowUserRegistration' ) );
$option = "com_sdoo";
$user = &JFactory::getUser();
$id = $user->id;
/*
----------------
Bepaal de taak
----------------
*/
if ($_GET["task"] == "saveNew")
{
savePage();
}
else if ($_GET["task"] == "edit")
{
if ($id != 0)
editPage();
}
else if ($_GET["task"] == "delete")
{
if ($id != 0)
delete();
}
else if ($_GET["task"] == "saveEdited")
{
if ($id != 0)
saveEditedPage();
}
else if ($_GET["task"] == "overview")
{
// Alleen voor geregistreerde gebruikers
if ($id != 0){
overview();
}
}
else if ($_GET["task"] == "publish")
{
if ($id != 0){
publish();
}
}
else if ($_GET["task"] == "notifications")
{
if ($id != 0){
notificaties();
}
}
else
{
newPage();
}
function delete()
{
global $id, $my;
$database = &JFactory::getDbo();
// Verwijder stuk
$query = "DELETE FROM #__ingezonden WHERE id = '" . quote_smart($_GET["stukId"]) . "' ";
$database->setQuery( $query );
$database->query();
// Terug naar overzicht
header("Location: index.php?option=com_sdoo&task=overview&Itemid=" . quote_smart($_GET["Itemid"]) . "");
}
function overview()
{
global $id, $user;
$database = &JFactory::getDbo();
$query = "SELECT i.*, c.title as 'categorieName', (SELECT title from #__categories where id = c.parent_id limit 1) as 'sectionName' FROM #__ingezonden i LEFT JOIN #__categories c ON(c.id = i.catId) order by i.publish_up";
$database->setQuery( $query );
$stukken = $database->loadObjectList();
?>
<table><td class="contentheading" width="100%"><span style="width: 50px;"></span>Ingezonden stukken</td></tr>
<tr><td>
<table>
<tr><td><b>Titel</b></td><td><b>Inzend datum</b></td><td><b>Section</b></td><td><b>Categorie</b></td></tr>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
for ($i=0;$i<sizeOf($stukken);$i++)
{
echo "<tr><td>" . $stukken[$i]->title . "</td><td>" . date("d-m-Y H:i:s",$stukken[$i]->publish_up) . "</td><td>" . $stukken[$i]->sectionName . "</td><td>" . $stukken[$i]->categorieName . "</td><td><a href=\"index.php?option=com_sdoo&task=edit&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/edit.png\"></a></td><td><a onclick=\"return confirm('Weet u zeker dat u dit stuk wilt publiceren')\" href=\"index.php?option=com_sdoo&task=publish&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/publish.png\"></a></td><td><a onclick=\"return confirm('Weet u zeker dat u dit stuk wilt verwijderen')\" href=\"index.php?option=com_sdoo&task=delete&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/delete.png\"></a></td></tr>";
}
?>
for ($i=0;$i<sizeOf($stukken);$i++)
{
echo "<tr><td>" . $stukken[$i]->title . "</td><td>" . date("d-m-Y H:i:s",$stukken[$i]->publish_up) . "</td><td>" . $stukken[$i]->sectionName . "</td><td>" . $stukken[$i]->categorieName . "</td><td><a href=\"index.php?option=com_sdoo&task=edit&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/edit.png\"></a></td><td><a onclick=\"return confirm('Weet u zeker dat u dit stuk wilt publiceren')\" href=\"index.php?option=com_sdoo&task=publish&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/publish.png\"></a></td><td><a onclick=\"return confirm('Weet u zeker dat u dit stuk wilt verwijderen')\" href=\"index.php?option=com_sdoo&task=delete&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/delete.png\"></a></td></tr>";
}
?>
</table>
Code (php)
</td></tr>
</table>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
}
function notificaties()
{
global $id;
$database = &JFactory::getDbo();
$secId = quote_smart($_GET["secId"]);
// Contoleer acties
// verwijderen
$delUserId = quote_smart($_GET["delUserId"]);
if ($delUserId != "")
{
$query = "DELETE FROM #__notificatie WHERE userId = '$delUserId' and secId = '$secId'";
$database->setQuery( $query );
$database->query();
}
// Toevoegen
$addUserId = quote_smart($_GET["addUserId"]);
if ($addUserId != "")
{
$query = "INSERT INTO #__notificatie (secId,userId) VALUES ('$secId','$addUserId') ";
$database->setQuery( $query );
$database->query();
}
?>
}
function notificaties()
{
global $id;
$database = &JFactory::getDbo();
$secId = quote_smart($_GET["secId"]);
// Contoleer acties
// verwijderen
$delUserId = quote_smart($_GET["delUserId"]);
if ($delUserId != "")
{
$query = "DELETE FROM #__notificatie WHERE userId = '$delUserId' and secId = '$secId'";
$database->setQuery( $query );
$database->query();
}
// Toevoegen
$addUserId = quote_smart($_GET["addUserId"]);
if ($addUserId != "")
{
$query = "INSERT INTO #__notificatie (secId,userId) VALUES ('$secId','$addUserId') ";
$database->setQuery( $query );
$database->query();
}
?>
<h2>Notificaties ingezonden stukken instellen</h2>
<h2>Notificaties reacties instellen</h2>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?
notificationTable("1");
}
function notificationTable($secId){
$database = &JFactory::getDbo();
echo "<p /><table><tr><td valign=\"top\" width=\"50%\">";
// Toon box voor adressen
$query = "SELECT id, name, email FROM #__users WHERE id in (select userId from #__notificatie where secId = '$secId')";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<table><tr><td><b>Notificatie adressen</b></td></tr>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<tr><td><a href='index.php?option=com_sdoo&task=notifications&secId=" . $secId . "&delUserId=" . $items[$i]->id . "'> <img src=\"./components/com_sdoo/delete_small.png\"></a> " . email($items[$i]->name,$items[$i]->email) . "</td></tr>";
}
echo "</table>";
echo "</td><td valign=\"top\" width=\"50%\">";
// Toon box voor nieuwe adressen
$query = "SELECT id, name, email FROM #__users u WHERE id not in (select userId from #__notificatie where secId = '$secId')";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<table><tr><td><b>Adressenboek</b></td></tr>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<tr><td><a href='index.php?option=com_sdoo&task=notifications&secId=" . $secId . "&addUserId=" . $items[$i]->id . "'> <img src=\"./components/com_sdoo/OK_small.png\"></a> " . email($items[$i]->name,$items[$i]->email) . "</td></tr>";
}
echo "</table>";
echo "</td></tr></table>";
}
function email($name,$email)
{
return htmlspecialchars("$name<$email>");
}
function sections($secId)
{
global $id, $my;
$database = &JFactory::getDbo();
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 1 order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<select name=\"section\" id=\"section\" style=\"width:300px;\" onchange=\"setCategories(this)\">";
echo "<option value=\"\">--- Selecteer een sectie ---</option>";
for ($i=0;$i<sizeOf($items);$i++)
{
if ($items[$i]->title != "Uncategorised"){
echo "<option value=\"" . $items[$i]->id . "\"";
if ($items[$i]->id == $secId)
echo " selected";
echo ">" . $items[$i]->title . "</option>";
}
}
?>
notificationTable("1");
}
function notificationTable($secId){
$database = &JFactory::getDbo();
echo "<p /><table><tr><td valign=\"top\" width=\"50%\">";
// Toon box voor adressen
$query = "SELECT id, name, email FROM #__users WHERE id in (select userId from #__notificatie where secId = '$secId')";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<table><tr><td><b>Notificatie adressen</b></td></tr>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<tr><td><a href='index.php?option=com_sdoo&task=notifications&secId=" . $secId . "&delUserId=" . $items[$i]->id . "'> <img src=\"./components/com_sdoo/delete_small.png\"></a> " . email($items[$i]->name,$items[$i]->email) . "</td></tr>";
}
echo "</table>";
echo "</td><td valign=\"top\" width=\"50%\">";
// Toon box voor nieuwe adressen
$query = "SELECT id, name, email FROM #__users u WHERE id not in (select userId from #__notificatie where secId = '$secId')";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<table><tr><td><b>Adressenboek</b></td></tr>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<tr><td><a href='index.php?option=com_sdoo&task=notifications&secId=" . $secId . "&addUserId=" . $items[$i]->id . "'> <img src=\"./components/com_sdoo/OK_small.png\"></a> " . email($items[$i]->name,$items[$i]->email) . "</td></tr>";
}
echo "</table>";
echo "</td></tr></table>";
}
function email($name,$email)
{
return htmlspecialchars("$name<$email>");
}
function sections($secId)
{
global $id, $my;
$database = &JFactory::getDbo();
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 1 order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<select name=\"section\" id=\"section\" style=\"width:300px;\" onchange=\"setCategories(this)\">";
echo "<option value=\"\">--- Selecteer een sectie ---</option>";
for ($i=0;$i<sizeOf($items);$i++)
{
if ($items[$i]->title != "Uncategorised"){
echo "<option value=\"" . $items[$i]->id . "\"";
if ($items[$i]->id == $secId)
echo " selected";
echo ">" . $items[$i]->title . "</option>";
}
}
?>
</select>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
}
function editPage()
{
global $id, $my;
$database = &JFactory::getDbo();
$stukId = quote_smart($_GET["stukId"]);
// Haal pagina gegevens op
$query = "SELECT * FROM #__ingezonden WHERE id = $stukId ";
$database->setQuery( $query );
$items = $database->loadObjectList();
for ($i=0;$i<sizeOf($items);$i++)
{
page($items[$i]->title,$items[$i]->secId,$items[$i]->catId,$items[$i]->introtext,$items[$i]->full_text,"saveEdited&stukId=" . $items[$i]->id);
}
?>
}
function editPage()
{
global $id, $my;
$database = &JFactory::getDbo();
$stukId = quote_smart($_GET["stukId"]);
// Haal pagina gegevens op
$query = "SELECT * FROM #__ingezonden WHERE id = $stukId ";
$database->setQuery( $query );
$items = $database->loadObjectList();
for ($i=0;$i<sizeOf($items);$i++)
{
page($items[$i]->title,$items[$i]->secId,$items[$i]->catId,$items[$i]->introtext,$items[$i]->full_text,"saveEdited&stukId=" . $items[$i]->id);
}
?>
<input type="submit" value="Opslaan" />
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
// Pagina einde
echo "</td></tr></table></form>";
}
function newPage()
{
page("",0,0,"","","saveNew");
?>
// Pagina einde
echo "</td></tr></table></form>";
}
function newPage()
{
page("",0,0,"","","saveNew");
?>
<input type="submit" value="Verstuur naar SDOO" onclick="return confirm('Weet u zeker dat u dit stuk wilt insturen? Wanneer u op OK klikt kunt u dit niet meer bewerken.')" />
</td></tr></table>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
}
function page($titel,$secId,$catId,$introtext,$fulltext,$task)
{
global $id, $my;
$database = &JFactory::getDbo();
// Haal categorien op en zet ze in een array
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 2 order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
?>
}
function page($titel,$secId,$catId,$introtext,$fulltext,$task)
{
global $id, $my;
$database = &JFactory::getDbo();
// Haal categorien op en zet ze in een array
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 2 order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
?>
<script>
var categories = new Array();
Code (php)
function categorie(catId,secId,name)
{
this.catId = catId;
this.name = name;
this.secId = secId;
}
function setCategories(dropDownObj)
{
var categoriesObj = document.getElementById("categorie");
// Leeg de dropdownbox
categoriesObj.innerHTML = "";
// Eerste item toevoegen
var opt = document.createElement("option");
opt.text = "--- Selecteer een categorie ---";
categoriesObj.options.add(opt);
// Voeg opties toe
for (i=0;i<categories.length;i++)
{
if (dropDownObj.value == categories.secId)
{
var opt = document.createElement("option");
opt.text = categories.name;
opt.value = categories.catId;
categoriesObj.options.add(opt);
}
}
}
</script>
<form method="post" action="index.php?option=com_sdoo&task=&Itemid=">
<h1>Stuk insturen</h1>
<table>
<tr><td>
<br />
<font style='color:red;font-weight:bold;'>Ingezonden artikelen op deze site zijn meer dan welkom.
Echter: artikelen die kwetsend, onnodig grof of beledigend zijn worden niet geplaatst. Verzocht wordt naam en eventueel e-mailadres te vermelden.
</font>
<p>
<b>Titel:</b><br />
Geef een titel voor uw stuk van maximaal 100 karakters.
</p>
<input type="text" name="title" maxlength="100" style="width:300px;" value="" />
<p>
<b>Sectie:</b><br />
Selecteer een sectie waaronder uw stuk valt.
<p />
<p>
<b>Categorie:</b><br />
Na het selecteren van een sectie kunt u een categorie kiezen waaronder uw stuk valt.
<p />
<select name="categorie" id="categorie" style="width:300px;">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 2 AND parent_id = '$secId' order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<option value=\"\">--- Selecteer een categorie ---</option>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<option value=\"" . $items[$i]->id . "\"";
if ($items[$i]->id == $catId)
echo " selected";
echo ">" . $items[$i]->title . "</option>";
}
?>
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 2 AND parent_id = '$secId' order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<option value=\"\">--- Selecteer een categorie ---</option>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<option value=\"" . $items[$i]->id . "\"";
if ($items[$i]->id == $catId)
echo " selected";
echo ">" . $items[$i]->title . "</option>";
}
?>
</select>
<p>
<b>Intro tekst:</b><br />
Geef een korte into op uw stuk. Dit is niet verplicht.
<p />
Code (php)
1
2
3
4
2
3
4
<?
$editor = &JFactory::getEditor();
echo $editor->display("introtext", $introtext, 600, 150, 0, 0);
?>
$editor = &JFactory::getEditor();
echo $editor->display("introtext", $introtext, 600, 150, 0, 0);
?>
<p>
<b>Tekst:</b><br />
U kunt hier uw stuk plaatsen voor op de website.
<p />
<p />
<b>Afbeeldingen:</b><br />
Wanneer u afbeeldingen aan uw stuk wilt toevoegen, kunt u deze insturen naar <a href="mailto:[email protected]">[email protected]</a> vermeld hierbij de titel van het stuk.
<p />
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?
}
function saveEditedPage()
{
$user = &JFactory::getUser();
$id = $user->id;
$database = &JFactory::getDbo();
$id = quote_smart($_GET["stukId"]);
$title = quote_smart($_POST["title"]);
$introtext = quote_smart($_POST["introtext"]);
$fulltext = quote_smart($_POST["fulltext"]);
$catId = quote_smart($_POST["categorie"]);
$secId = quote_smart($_POST["section"]);
$query = "UPDATE #__ingezonden SET title = '$title', introtext = '$introtext', full_text = '$fulltext', catId = '$catId', secId = '$secId' WHERE id = '$id' ";
$database->setQuery( $query );
$database->query();
// Terug naar overzicht
header("Location: index.php?option=com_sdoo&task=overview&Itemid=" . quote_smart($_GET["Itemid"]) . "");
}
function publish()
{
$user = &JFactory::getUser();
$id = $user->id;
$database = &JFactory::getDbo();
$stukId = quote_smart($_GET["stukId"]);
// Haal pagina gegevens op
$query = "SELECT * FROM #__ingezonden WHERE id = $stukId ";
$database->setQuery($query);
$items = $database->loadObjectList();
$date = date("Y-m-d H:i:s",time() - 60 - 3600);
for ($i=0;$i<sizeOf($items);$i++)
{
// Publiseer eerst
$pub_date = date("Y-m-d H:i:s",$items[$i]->publish_up);
$insertQuery = "INSERT INTO #__content (title, introtext, `fulltext`, state, catid, created, created_by, publish_up, publish_down) VALUES ('" . $items[$i]->title . "', '" . quote_smart($items[$i]->introtext) . "', '" . quote_smart($items[$i]->full_text) . "', 1, '" . $items[$i]->catId . "', '" . $pub_date . "', $id, '" . $date . "', '" . date("Y-m-d H:i:s",time() + 30758340) . "') ";
$database->setQuery($insertQuery);
$database->query();
// verwijder oude gegevens
if ($database->getErrorNum() == 0)
{
//file_get_contents("http://sdoo.kevinverhoef.nl/?headline=" . urlencode($items[$i]->title) . "&url=" . urlencode($database->insertid()));
echo "Succesvol toegevoegd!, verwijder handmatig het stuk.";
//delete();
}
else
{
echo "Fout bij het toevoegen van het stuk! Neem contact op met Kevin ([email protected])<br><br>";
echo $database->getErrorMsg();
echo "<br><br>";
echo $insertQuery;
}
echo "end";
}
}
function savePage()
{
// Sla de pagina op
global $my, $id;
$database = &JFactory::getDbo();
$title = quote_smart($_POST["title"]);
$introtext = quote_smart($_POST["introtext"]);
$fulltext = quote_smart($_POST["fulltext"]);
$catId = quote_smart($_POST["categorie"]);
$secId = quote_smart($_POST["section"]);
$date = time();
$query = "INSERT INTO #__ingezonden (title,introtext,full_text,publish_up,catId,secId) VALUES ('$title','$introtext','$fulltext',$date,'$catId','$secId') ";
$database->setQuery( $query );
$database->query();
// Stel beheerders op de hoogte via mail
$query = "SELECT u.email, u.name FROM #__notificatie n INNER JOIN #__users u ON (n.userId = u.id) where secId = '0' ";
$database->setQuery( $query );
$items = $database->loadObjectList();
for ($i=0;$i<sizeOf($items);$i++)
{
$naarwie = $items[$i]->email;
$titel = "SDOO.NL Er is een nieuw ingezonden stuk";
$bericht = "Hallo " . $items[$i]->name . ",\n\n"
. "Er is een nieuw stuk ingezonden op http://www.sdoo.nl.\n\n"
. "Om dit stuk te muteren/publiceren dient u in te loggen en vervolgens naar ingezonden stukken te gaan.";
$headers="From:sdoo<[email protected]>";
mail($naarwie, $titel, $bericht, $headers);
}
// Bedank de gebruiker
?>
}
function saveEditedPage()
{
$user = &JFactory::getUser();
$id = $user->id;
$database = &JFactory::getDbo();
$id = quote_smart($_GET["stukId"]);
$title = quote_smart($_POST["title"]);
$introtext = quote_smart($_POST["introtext"]);
$fulltext = quote_smart($_POST["fulltext"]);
$catId = quote_smart($_POST["categorie"]);
$secId = quote_smart($_POST["section"]);
$query = "UPDATE #__ingezonden SET title = '$title', introtext = '$introtext', full_text = '$fulltext', catId = '$catId', secId = '$secId' WHERE id = '$id' ";
$database->setQuery( $query );
$database->query();
// Terug naar overzicht
header("Location: index.php?option=com_sdoo&task=overview&Itemid=" . quote_smart($_GET["Itemid"]) . "");
}
function publish()
{
$user = &JFactory::getUser();
$id = $user->id;
$database = &JFactory::getDbo();
$stukId = quote_smart($_GET["stukId"]);
// Haal pagina gegevens op
$query = "SELECT * FROM #__ingezonden WHERE id = $stukId ";
$database->setQuery($query);
$items = $database->loadObjectList();
$date = date("Y-m-d H:i:s",time() - 60 - 3600);
for ($i=0;$i<sizeOf($items);$i++)
{
// Publiseer eerst
$pub_date = date("Y-m-d H:i:s",$items[$i]->publish_up);
$insertQuery = "INSERT INTO #__content (title, introtext, `fulltext`, state, catid, created, created_by, publish_up, publish_down) VALUES ('" . $items[$i]->title . "', '" . quote_smart($items[$i]->introtext) . "', '" . quote_smart($items[$i]->full_text) . "', 1, '" . $items[$i]->catId . "', '" . $pub_date . "', $id, '" . $date . "', '" . date("Y-m-d H:i:s",time() + 30758340) . "') ";
$database->setQuery($insertQuery);
$database->query();
// verwijder oude gegevens
if ($database->getErrorNum() == 0)
{
//file_get_contents("http://sdoo.kevinverhoef.nl/?headline=" . urlencode($items[$i]->title) . "&url=" . urlencode($database->insertid()));
echo "Succesvol toegevoegd!, verwijder handmatig het stuk.";
//delete();
}
else
{
echo "Fout bij het toevoegen van het stuk! Neem contact op met Kevin ([email protected])<br><br>";
echo $database->getErrorMsg();
echo "<br><br>";
echo $insertQuery;
}
echo "end";
}
}
function savePage()
{
// Sla de pagina op
global $my, $id;
$database = &JFactory::getDbo();
$title = quote_smart($_POST["title"]);
$introtext = quote_smart($_POST["introtext"]);
$fulltext = quote_smart($_POST["fulltext"]);
$catId = quote_smart($_POST["categorie"]);
$secId = quote_smart($_POST["section"]);
$date = time();
$query = "INSERT INTO #__ingezonden (title,introtext,full_text,publish_up,catId,secId) VALUES ('$title','$introtext','$fulltext',$date,'$catId','$secId') ";
$database->setQuery( $query );
$database->query();
// Stel beheerders op de hoogte via mail
$query = "SELECT u.email, u.name FROM #__notificatie n INNER JOIN #__users u ON (n.userId = u.id) where secId = '0' ";
$database->setQuery( $query );
$items = $database->loadObjectList();
for ($i=0;$i<sizeOf($items);$i++)
{
$naarwie = $items[$i]->email;
$titel = "SDOO.NL Er is een nieuw ingezonden stuk";
$bericht = "Hallo " . $items[$i]->name . ",\n\n"
. "Er is een nieuw stuk ingezonden op http://www.sdoo.nl.\n\n"
. "Om dit stuk te muteren/publiceren dient u in te loggen en vervolgens naar ingezonden stukken te gaan.";
$headers="From:sdoo<[email protected]>";
mail($naarwie, $titel, $bericht, $headers);
}
// Bedank de gebruiker
?>
<table><td class="contentheading" width="100%"><span style="width: 50px;"></span>Stuk insturen</td></tr>
<tr><td>
Hartelijk dank voor het bijdragen aan de SDOO site. Voordat uw ingezonden stuk op de website geplaatst zal worden, moet dit eerst worden goed gekeurd door de beheerders.
</td></tr>
</table>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
}
function quote_smart($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($value);
} else {
return mysql_real_escape_string($value);
}
}
?>
}
function quote_smart($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($value);
} else {
return mysql_real_escape_string($value);
}
}
?>
kun je de code even tussen [ c o d e ] en [ / c o d e ] zetten maar dan zonder spaties? Tevens geef je de foutmelding niet die jij krijgt.
Parse error: syntax error, unexpected $end in C:\wamp\www\Sdoo\components\com_sdoo\sdoo.php on line 562
en dan nu nogmaals de code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
<?php
jimport('joomla.html.parameter');
jimport('joomla.html.editor');
// no direct access
defined('_JEXEC') or die;
// load the html drawing class
// require_once( $mainframe->getPath( 'front_html' ) );
$mainframe = JFactory::getApplication();
global $database, $my;
global $mosConfig_live_site, $mosConfig_frontend_login, $mosConfig_db;
$menu = $mainframe->get( 'menu' );
$params = new JParameter($ini);
$params->def( 'page_title', 1 );
$params->def( 'header_login', $menu->name );
$params->def( 'header_logout', $menu->name );
$params->def( 'pageclass_sfx', '' );
$params->def( 'back_button', $mainframe->getCfg( 'back_button' ) );
$params->def( 'login', $mosConfig_live_site );
$params->def( 'logout', $mosConfig_live_site );
$params->def( 'login_message', 0 );
$params->def( 'logout_message', 0 );
$params->def( 'description_login', 1 );
$params->def( 'description_logout', 1 );
$params->def( 'description_login_text', _LOGIN_DESCRIPTION );
$params->def( 'description_logout_text', _LOGOUT_DESCRIPTION );
$params->def( 'image_login', 'key.jpg' );
$params->def( 'image_logout', 'key.jpg' );
$params->def( 'image_login_align', 'right' );
$params->def( 'image_logout_align', 'right' );
$params->def( 'registration', $mainframe->getCfg( 'allowUserRegistration' ) );
$option = "com_sdoo";
$user = &JFactory::getUser();
$id = $user->id;
/*
----------------
Bepaal de taak
----------------
*/
if ($_GET["task"] == "saveNew")
{
savePage();
}
else if ($_GET["task"] == "edit")
{
if ($id != 0)
editPage();
}
else if ($_GET["task"] == "delete")
{
if ($id != 0)
delete();
}
else if ($_GET["task"] == "saveEdited")
{
if ($id != 0)
saveEditedPage();
}
else if ($_GET["task"] == "overview")
{
// Alleen voor geregistreerde gebruikers
if ($id != 0){
overview();
}
}
else if ($_GET["task"] == "publish")
{
if ($id != 0){
publish();
}
}
else if ($_GET["task"] == "notifications")
{
if ($id != 0){
notificaties();
}
}
else
{
newPage();
}
function delete()
{
global $id, $my;
$database = &JFactory::getDbo();
// Verwijder stuk
$query = "DELETE FROM #__ingezonden WHERE id = '" . quote_smart($_GET["stukId"]) . "' ";
$database->setQuery( $query );
$database->query();
// Terug naar overzicht
header("Location: index.php?option=com_sdoo&task=overview&Itemid=" . quote_smart($_GET["Itemid"]) . "");
}
function overview()
{
global $id, $user;
$database = &JFactory::getDbo();
$query = "SELECT i.*, c.title as 'categorieName', (SELECT title from #__categories where id = c.parent_id limit 1) as 'sectionName' FROM #__ingezonden i LEFT JOIN #__categories c ON(c.id = i.catId) order by i.publish_up";
$database->setQuery( $query );
$stukken = $database->loadObjectList();
?>
<table><td class="contentheading" width="100%"><span style="width: 50px;"></span>Ingezonden stukken</td></tr>
<tr><td>
<?
?>
<table>
<tr><td><b>Titel</b></td><td><b>Inzend datum</b></td><td><b>Section</b></td><td><b>Categorie</b></td></tr>
<?
for ($i=0;$i<sizeOf($stukken);$i++)
{
echo "<tr><td>" . $stukken[$i]->title . "</td><td>" . date("d-m-Y H:i:s",$stukken[$i]->publish_up) . "</td><td>" . $stukken[$i]->sectionName . "</td><td>" . $stukken[$i]->categorieName . "</td><td><a href=\"index.php?option=com_sdoo&task=edit&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/edit.png\"></a></td><td><a onclick=\"return confirm('Weet u zeker dat u dit stuk wilt publiceren')\" href=\"index.php?option=com_sdoo&task=publish&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/publish.png\"></a></td><td><a onclick=\"return confirm('Weet u zeker dat u dit stuk wilt verwijderen')\" href=\"index.php?option=com_sdoo&task=delete&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "\"><img src=\"./components/com_sdoo/delete.png\"></a></td></tr>";
}
?>
</table>
<?
// Toon link naar notificaties voor admin
if ($user->id != 0)
{
echo "<p><b>Administratie:</b><br />";
echo "<a href='index.php?option=com_sdoo&task=notifications&stukId=" . $stukken[$i]->id . "&Itemid=" . $_GET["Itemid"] . "'>Notificaties instellen</a></p>";
}
?>
</td></tr>
</table>
<?
}
function notificaties()
{
global $id;
$database = &JFactory::getDbo();
$secId = quote_smart($_GET["secId"]);
// Contoleer acties
// verwijderen
$delUserId = quote_smart($_GET["delUserId"]);
if ($delUserId != "")
{
$query = "DELETE FROM #__notificatie WHERE userId = '$delUserId' and secId = '$secId'";
$database->setQuery( $query );
$database->query();
}
// Toevoegen
$addUserId = quote_smart($_GET["addUserId"]);
if ($addUserId != "")
{
$query = "INSERT INTO #__notificatie (secId,userId) VALUES ('$secId','$addUserId') ";
$database->setQuery( $query );
$database->query();
}
?>
<h2>Notificaties ingezonden stukken instellen</h2>
<?
notificationTable("0");
?>
<h2>Notificaties reacties instellen</h2>
<?
notificationTable("1");
}
function notificationTable($secId){
$database = &JFactory::getDbo();
echo "<p /><table><tr><td valign=\"top\" width=\"50%\">";
// Toon box voor adressen
$query = "SELECT id, name, email FROM #__users WHERE id in (select userId from #__notificatie where secId = '$secId')";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<table><tr><td><b>Notificatie adressen</b></td></tr>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<tr><td><a href='index.php?option=com_sdoo&task=notifications&secId=" . $secId . "&delUserId=" . $items[$i]->id . "'> <img src=\"./components/com_sdoo/delete_small.png\"></a> " . email($items[$i]->name,$items[$i]->email) . "</td></tr>";
}
echo "</table>";
echo "</td><td valign=\"top\" width=\"50%\">";
// Toon box voor nieuwe adressen
$query = "SELECT id, name, email FROM #__users u WHERE id not in (select userId from #__notificatie where secId = '$secId')";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<table><tr><td><b>Adressenboek</b></td></tr>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<tr><td><a href='index.php?option=com_sdoo&task=notifications&secId=" . $secId . "&addUserId=" . $items[$i]->id . "'> <img src=\"./components/com_sdoo/OK_small.png\"></a> " . email($items[$i]->name,$items[$i]->email) . "</td></tr>";
}
echo "</table>";
echo "</td></tr></table>";
}
function email($name,$email)
{
return htmlspecialchars("$name<$email>");
}
function sections($secId)
{
global $id, $my;
$database = &JFactory::getDbo();
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 1 order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<select name=\"section\" id=\"section\" style=\"width:300px;\" onchange=\"setCategories(this)\">";
echo "<option value=\"\">--- Selecteer een sectie ---</option>";
for ($i=0;$i<sizeOf($items);$i++)
{
if ($items[$i]->title != "Uncategorised"){
echo "<option value=\"" . $items[$i]->id . "\"";
if ($items[$i]->id == $secId)
echo " selected";
echo ">" . $items[$i]->title . "</option>";
}
}
?>
</select>
<?
}
function editPage()
{
global $id, $my;
$database = &JFactory::getDbo();
$stukId = quote_smart($_GET["stukId"]);
// Haal pagina gegevens op
$query = "SELECT * FROM #__ingezonden WHERE id = $stukId ";
$database->setQuery( $query );
$items = $database->loadObjectList();
for ($i=0;$i<sizeOf($items);$i++)
{
page($items[$i]->title,$items[$i]->secId,$items[$i]->catId,$items[$i]->introtext,$items[$i]->full_text,"saveEdited&stukId=" . $items[$i]->id);
}
?>
<input type="submit" value="Opslaan" />
<?
// Pagina einde
echo "</td></tr></table></form>";
}
function newPage()
{
page("",0,0,"","","saveNew");
?>
<input type="submit" value="Verstuur naar SDOO" onclick="return confirm('Weet u zeker dat u dit stuk wilt insturen? Wanneer u op OK klikt kunt u dit niet meer bewerken.')" />
</td></tr></table>
</form>
<?
}
function page($titel,$secId,$catId,$introtext,$fulltext,$task)
{
global $id, $my;
$database = &JFactory::getDbo();
// Haal categorien op en zet ze in een array
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 2 order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
?>
<script>
var categories = new Array();
<?
for ($i=0;$i<sizeOf($items);$i++)
{
echo "categories[$i] = new categorie(" . $items[$i]->id . ",'" . $items[$i]->parent_id . "', '" . $items[$i]->title . "');\n";
}
function categorie(catId,secId,name)
{
this.catId = catId;
this.name = name;
this.secId = secId;
}
function setCategories(dropDownObj)
{
var categoriesObj = document.getElementById("categorie");
// Leeg de dropdownbox
categoriesObj.innerHTML = "";
// Eerste item toevoegen
var opt = document.createElement("option");
opt.text = "--- Selecteer een categorie ---";
categoriesObj.options.add(opt);
// Voeg opties toe
for (i=0;i<categories.length;i++)
{
if (dropDownObj.value == categories[i].secId)
{
var opt = document.createElement("option");
opt.text = categories[i].name;
opt.value = categories[i].catId;
categoriesObj.options.add(opt);
}
}
}
?>
</script>
<form method="post" action="index.php?option=com_sdoo&task=<? echo $task; ?>&Itemid=<? echo $_GET["Itemid"]; ?>">
<h1>Stuk insturen</h1>
<table>
<tr><td>
<br />
<font style='color:red;font-weight:bold;'>Ingezonden artikelen op deze site zijn meer dan welkom.
Echter: artikelen die kwetsend, onnodig grof of beledigend zijn worden niet geplaatst. Verzocht wordt naam en eventueel e-mailadres te vermelden.
</font>
<p>
<b>Titel:</b><br />
Geef een titel voor uw stuk van maximaal 100 karakters.
</p>
<input type="text" name="title" maxlength="100" style="width:300px;" value="<? echo $titel; ?>" />
<p>
<b>Sectie:</b><br />
Selecteer een sectie waaronder uw stuk valt.
<p />
<? sections($secId); ?>
<p>
<b>Categorie:</b><br />
Na het selecteren van een sectie kunt u een categorie kiezen waaronder uw stuk valt.
<p />
<select name="categorie" id="categorie" style="width:300px;">
<?
$query = "SELECT #__categories.* FROM #__categories WHERE published = 1 AND level = 2 AND parent_id = '$secId' order by title";
$database->setQuery( $query );
$items = $database->loadObjectList();
echo "<option value=\"\">--- Selecteer een categorie ---</option>";
for ($i=0;$i<sizeOf($items);$i++)
{
echo "<option value=\"" . $items[$i]->id . "\"";
if ($items[$i]->id == $catId)
echo " selected";
echo ">" . $items[$i]->title . "</option>";
}
?>
</select>
<p>
<b>Intro tekst:</b><br />
Geef een korte into op uw stuk. Dit is niet verplicht.
<p />
<?
$editor = &JFactory::getEditor();
echo $editor->display("introtext", $introtext, 600, 150, 0, 0);
?>
<p>
<b>Tekst:</b><br />
U kunt hier uw stuk plaatsen voor op de website.
<p />
<?
echo $editor->display("fulltext", $fulltext, 600, 150, 0, 0);
?>
<p />
<b>Afbeeldingen:</b><br />
Wanneer u afbeeldingen aan uw stuk wilt toevoegen, kunt u deze insturen naar <a href="mailto:[email protected]">[email protected]</a> vermeld hierbij de titel van het stuk.
<p />
<?
}
function saveEditedPage()
{
$user = &JFactory::getUser();
$id = $user->id;
$database = &JFactory::getDbo();
$id = quote_smart($_GET["stukId"]);
$title = quote_smart($_POST["title"]);
$introtext = quote_smart($_POST["introtext"]);
$fulltext = quote_smart($_POST["fulltext"]);
$catId = quote_smart($_POST["categorie"]);
$secId = quote_smart($_POST["section"]);
$query = "UPDATE #__ingezonden SET title = '$title', introtext = '$introtext', full_text = '$fulltext', catId = '$catId', secId = '$secId' WHERE id = '$id' ";
$database->setQuery( $query );
$database->query();
// Terug naar overzicht
header("Location: index.php?option=com_sdoo&task=overview&Itemid=" . quote_smart($_GET["Itemid"]) . "");
}
function publish()
{
$user = &JFactory::getUser();
$id = $user->id;
$database = &JFactory::getDbo();
$stukId = quote_smart($_GET["stukId"]);
// Haal pagina gegevens op
$query = "SELECT * FROM #__ingezonden WHERE id = $stukId ";
$database->setQuery($query);
$items = $database->loadObjectList();
$date = date("Y-m-d H:i:s",time() - 60 - 3600);
for ($i=0;$i<sizeOf($items);$i++)
{
// Publiseer eerst
$pub_date = date("Y-m-d H:i:s",$items[$i]->publish_up);
$insertQuery = "INSERT INTO #__content (title, introtext, `fulltext`, state, catid, created, created_by, publish_up, publish_down) VALUES ('" . $items[$i]->title . "', '" . quote_smart($items[$i]->introtext) . "', '" . quote_smart($items[$i]->full_text) . "', 1, '" . $items[$i]->catId . "', '" . $pub_date . "', $id, '" . $date . "', '" . date("Y-m-d H:i:s",time() + 30758340) . "') ";
$database->setQuery($insertQuery);
$database->query();
// verwijder oude gegevens
if ($database->getErrorNum() == 0)
{
//file_get_contents("http://sdoo.kevinverhoef.nl/?headline=" . urlencode($items[$i]->title) . "&url=" . urlencode($database->insertid()));
echo "Succesvol toegevoegd!, verwijder handmatig het stuk.";
//delete();
}
else
{
echo "Fout bij het toevoegen van het stuk! Neem contact op met Kevin ([email protected])<br><br>";
echo $database->getErrorMsg();
echo "<br><br>";
echo $insertQuery;
}
echo "end";
}
}
function savePage()
{
// Sla de pagina op
global $my, $id;
$database = &JFactory::getDbo();
$title = quote_smart($_POST["title"]);
$introtext = quote_smart($_POST["introtext"]);
$fulltext = quote_smart($_POST["fulltext"]);
$catId = quote_smart($_POST["categorie"]);
$secId = quote_smart($_POST["section"]);
$date = time();
$query = "INSERT INTO #__ingezonden (title,introtext,full_text,publish_up,catId,secId) VALUES ('$title','$introtext','$fulltext',$date,'$catId','$secId') ";
$database->setQuery( $query );
$database->query();
// Stel beheerders op de hoogte via mail
$query = "SELECT u.email, u.name FROM #__notificatie n INNER JOIN #__users u ON (n.userId = u.id) where secId = '0' ";
$database->setQuery( $query );
$items = $database->loadObjectList();
for ($i=0;$i<sizeOf($items);$i++)
{
$naarwie = $items[$i]->email;
$titel = "SDOO.NL Er is een nieuw ingezonden stuk";
$bericht = "Hallo " . $items[$i]->name . ",\n\n"
. "Er is een nieuw stuk ingezonden op http://www.sdoo.nl.\n\n"
. "Om dit stuk te muteren/publiceren dient u in te loggen en vervolgens naar ingezonden stukken te gaan.";
$headers="From:sdoo<[email protected]>";
mail($naarwie, $titel, $bericht, $headers);
}
// Bedank de gebruiker
?>
<table><td class="contentheading" width="100%"><span style="width: 50px;"></span>Stuk insturen</td></tr>
<tr><td>
Hartelijk dank voor het bijdragen aan de SDOO site. Voordat uw ingezonden stuk op de website geplaatst zal worden, moet dit eerst worden goed gekeurd door de beheerders.
</td></tr>
</table>
<?
}
function quote_smart($value) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
if(version_compare(phpversion(),"4.3.0") == "-1") {
return mysql_escape_string($value);
} else {
return mysql_real_escape_string($value);
}
}
?>
Ik zou het volgende doen. Open het bestand in een fatsoenlijke editor. Grote kans dat die aangeeft dat je ergens een syntax-fout hebt gemaakt.
Andere optie, ga telkens bij elkaar horende stukken (functies) uit het bestand verwijderen en kijk dan of de fout verdwijnt, of andersom... gooi het bestand leeg en bouw het opnieuw op (knippen/plakken) en kijk wanneer de fout zich voordoet. (wel eerst een back-up maken van je bestand)
Toevoeging op 17/02/2013 14:33:30:
Ik denk dat ik de fout zie...
Zoek dit stuk eens op:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
function categorie(catId,secId,name)
{
this.catId = catId;
this.name = name;
this.secId = secId;
}
{
this.catId = catId;
this.name = name;
this.secId = secId;
}
en zet op de regel daarna:
Daarna krijg je dit stuk:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function setCategories(dropDownObj)
{
var categoriesObj = document.getElementById("categorie");
// Leeg de dropdownbox
categoriesObj.innerHTML = "";
// Eerste item toevoegen
var opt = document.createElement("option");
opt.text = "--- Selecteer een categorie ---";
categoriesObj.options.add(opt);
// Voeg opties toe
for (i=0;i<categories.length;i++)
{
if (dropDownObj.value == categories[i].secId)
{
var opt = document.createElement("option");
opt.text = categories[i].name;
opt.value = categories[i].catId;
categoriesObj.options.add(opt);
}
}
}
?>
{
var categoriesObj = document.getElementById("categorie");
// Leeg de dropdownbox
categoriesObj.innerHTML = "";
// Eerste item toevoegen
var opt = document.createElement("option");
opt.text = "--- Selecteer een categorie ---";
categoriesObj.options.add(opt);
// Voeg opties toe
for (i=0;i<categories.length;i++)
{
if (dropDownObj.value == categories[i].secId)
{
var opt = document.createElement("option");
opt.text = categories[i].name;
opt.value = categories[i].catId;
categoriesObj.options.add(opt);
}
}
}
?>
</script>
Haal daar dit weg:
Ik ben wel een beginneling op dit gebied en de code is ook niet van mij, maar ik heb in de die 2 dagen wel het een en ander uitgeprobeerd alvorens ik dit forum benaderde.
Heb 2 versies van een PHP designer gebruikt
heb ook wat jij aangaf een heleboel functions verwijderd en het geprobeerd met hetgeen nodig was voor de overview function
Ik heb alleen nog niet geprobeerd om de stukjes over te plaatsen naar een nieuw bestand
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function overview()
{
global $id, $user;
$database = &JFactory::getDbo();
$query = "SELECT i.*, c.title as 'categorieName', (SELECT title from #__categories where id = c.parent_id limit 1) as 'sectionName' FROM #__ingezonden i LEFT JOIN #__categories c ON(c.id = i.catId) order by i.publish_up";
$database->setQuery( $query );
$stukken = $database->loadObjectList();
} // deze dus...
?>
function overview()
{
global $id, $user;
$database = &JFactory::getDbo();
$query = "SELECT i.*, c.title as 'categorieName', (SELECT title from #__categories where id = c.parent_id limit 1) as 'sectionName' FROM #__ingezonden i LEFT JOIN #__categories c ON(c.id = i.catId) order by i.publish_up";
$database->setQuery( $query );
$stukken = $database->loadObjectList();
} // deze dus...
?>
Waarschijnlijk is de instelling van short_open_tag in de PHP.ini verschillend. In je code gebruik je de gewone start tag "<?php" aan het begin, maar verder op komt meermalen de verkorte start tag "<?" voor.
Ik adviseer om die verkorte start tag overal te vervangen door de gewone start tag.
Dit is inderdaad de oplossing.
Getest met ongewijzigd programma en parameter in php.ini aangepast en het werkt
Parameter ongewijzigd gelaten in php.ini en in programma alle
Code (php)
1
2
3
4
2
3
4
<? Vervangen door [code]<?php en dit werkt ook
Mag ik iedereen die gereageerd heeft bedanken voor zijn bijdrage
Ik kan verder
Mag ik iedereen die gereageerd heeft bedanken voor zijn bijdrage
Ik kan verder