phpBB - mod in aanmaak, manueel topic maken.

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Tidius
Berichten: 7
Lid geworden op: 11 apr 2003, 09:58

phpBB - mod in aanmaak, manueel topic maken.

Bericht door Tidius » 11 apr 2003, 13:35

Ik heb voor mijn forum een topic dat nogal vrij populair is, het gedeelte héét daar: "FunkyBar".
Ik wil daar als er x aantal posts zijn (wanneer iemand iets nieuws gaat posten), dat hij automatisch het topic sluit en een nieuw aanmaakt met deel = deel + 1.
Alles werkt tot nu toe, alleen wil hij geen nieuw topic aanmaken, ik heb al gezocht in posting.php en in de map includes naar function_post.php

Hier een overzicht van de code die ik tot nu toe heb:

[php]
<?php

$db = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("test", $db);


$sql = "SELECT * FROM fbf_topics WHERE topic_id='$t'";
$query = mysql_query($sql) or die(mysql_error());

while($res = mysql_fetch_array($query)) {

$topic_title = $res['topic_title'];
$topic_type = $res['topic_type'];

if($topic_type == 2 && ereg("FunkyBar deel", "$topic_title")) { // als het een mededeling is

$post_sql = "SELECT * FROM fbf_posts WHERE topic_id='$t'";
$post_query = mysql_query($post_sql) or die(mysql_error());

$dentitel = substr($topic_title, 14, 4);

echo "dit klopt dus al so far!<br>"; // als dit gedeelte al blijkt te werken!

if(mysql_num_rows($post_query) >= 1) {

// we beginnen met de laatste reply te updaten O_o

$tijt = date("U");

$response_sql1 = "INSERT INTO fbf_posts (post_id, topic_id, forum_id, poster_id, post_time) VALUES ('', '$t', '1', '2', '$tijt')";
$response_query1 = mysql_query($response_sql1) or die(mysql_error());

$laatste = mysql_insert_id();
$denieuwetitel = $dentitel+=

$response_sql2 = "INSERT INTO fbf_posts_text (post_id, post_text) VALUES ('$laatste', 'Einde deel $dentitel!<br>Ga verder in deel $denieuwetitel')";
$response_query2 = mysql_query($response_sql2) or die(mysql_error());

$response_sql3 = "UPDATE fbf_users SET user_posts=user_posts+1 WHERE user_id=2";
$response_query3 = mysql_query($response_sql3) or die(mysql_error());

$response_sql4 = "UPDATE fbf_forums SET forum_posts=forum_posts+1, forum_last_post_id=forum_last_post_id+1 WHERE forum_id=1";
$response_query4 = mysql_query($response_sql4) or die(mysql_error());

$response_sql5 = "UPDATE fbf_topics SET topic_status=1, topic_type=0,topic_last_post_id=topic_last_post_id+1, topic_replies=topic_replies+1 WHERE topic_id='$t'";
$response_query5 = mysql_query($response_sql5) or die(mysql_error());

// nu beginnen we met een nieuw topicje te maken!

$sql = "SELECT post_id FROM fbf_posts WHERE topic_id='$t' LIMIT 0, 1";
$query = mysql_query($sql) or die(mysql_error());
$result = mysql_fetch_array($query);
$topic_post_id = $result['post_id']+=

$new_sql5 = "INSERT INTO fbf_topics (topic_id, forum_id, topic_title, topic_poster, topic_time, topic_type, topic_first_post_id, topic_last_post_id) VALUES ('', '1', 'FunkyBar deel $denieuwetitel', '2', '$tijt', '2', '$topic_post_id', '$topic_post_id')";
$new_query5 = mysql_query($new_sql5) or die(mysql_error());

$tn = $t+=

$new_sql2 = "INSERT INTO fbf_posts (post_id, topic_id, forum_id, poster_id, post_time) VALUES ('', '$tn', '1', '2', '$tijt')";
$new_query2 = mysql_query($new_sql2) or die(mysql_error());


$laatste = mysql_insert_id();

$new_sql3 = "INSERT INTO fbf_posts_text (post_id, post_text, post_subject) VALUES ('$laatste', 'Chat on guys!', 'FunkyBar deel $denieuwetitel')";
$new_query3 = mysql_query($new_sql3) or die(mysql_error());

$new_sql4 = "UPDATE fbf_users SET user_posts=user_posts+1 WHERE user_id=2";
$new_query4 = mysql_query($new_sql4) or die(mysql_error());

$new_sql1 = "UPDATE fbf_forums SET forum_posts=forum_posts+1, forum_last_post_id=forum_last_post_id+1, forum_topics=forum_topics+1 WHERE forum_id=1";
$response_query1 = mysql_query($new_sql1) or die(mysql_error());


// einde is geloof ik hier!


echo "Ja";

} else {

echo "Neen";

}


while($post_res = mysql_fetch_array($post_query)) {

// hier moet er nog iets gebeuren zenne!

}

} else {

echo "het is een normaal topic of het bevat geen FunkyBar!"; // anders is het een normaal topic


}

}

?>
[/php]

Ik krijg uiteraard geen errors of wat dan ook.. het probleem zit hem er eigenlijk in dat als ik dan in phpBB2 kijk in viewforum.php of hij een nieuw topic wil aanmaken hij dat dan doet, maar hij doet het dus NIET!
Ik heb toch voldoende velden geupdate of geinsert?
Ik bedoel deze velden hierbij trouwens:

[php]
<?php

$new_sql5 = "INSERT INTO fbf_topics (topic_id, forum_id, topic_title, topic_poster, topic_time, topic_type, topic_first_post_id, topic_last_post_id) VALUES ('', '1', 'FunkyBar deel $denieuwetitel', '2', '$tijt', '2', '$topic_post_id', '$topic_post_id')";
$new_query5 = mysql_query($new_sql5) or die(mysql_error());

$tn = $t+=

$new_sql2 = "INSERT INTO fbf_posts (post_id, topic_id, forum_id, poster_id, post_time) VALUES ('', '$tn', '1', '2', '$tijt')";
$new_query2 = mysql_query($new_sql2) or die(mysql_error());


$laatste = mysql_insert_id();

$new_sql3 = "INSERT INTO fbf_posts_text (post_id, post_text, post_subject) VALUES ('$laatste', 'Chat on guys!', 'FunkyBar deel $denieuwetitel')";
$new_query3 = mysql_query($new_sql3) or die(mysql_error());

$new_sql4 = "UPDATE fbf_users SET user_posts=user_posts+1 WHERE user_id=2";
$new_query4 = mysql_query($new_sql4) or die(mysql_error());

$new_sql1 = "UPDATE fbf_forums SET forum_posts=forum_posts+1, forum_last_post_id=forum_last_post_id+1, forum_topics=forum_topics+1 WHERE forum_id=1";
$response_query1 = mysql_query($new_sql1) or die(mysql_error());
?>
[/php]

Hopelijk heeft één iemand van jullie hier toch wel ervaring mee, op phpbb.com willen ze me ook niet helpen.

Hartelijk bedankt, Kris. :confused:

Gebruikersavatar
DaMnNaTiOn
Berichten: 2555
Lid geworden op: 11 dec 2002, 18:29
Locatie: localhost
Contacteer:

Bericht door DaMnNaTiOn » 11 apr 2003, 19:23

Code: Selecteer alles

Verander [php] naar [code] en [/php] naar 
[/code]
lastmodified.net

Gebruikersavatar
DaMnNaTiOn
Berichten: 2555
Lid geworden op: 11 dec 2002, 18:29
Locatie: localhost
Contacteer:

Bericht door DaMnNaTiOn » 11 apr 2003, 19:25

Ik heb voor mijn forum een topic dat nogal vrij populair is, het gedeelte héét daar: "FunkyBar".
Ik wil daar als er x aantal posts zijn (wanneer iemand iets nieuws gaat posten), dat hij automatisch het topic sluit en een nieuw aanmaakt met deel = deel + 1.
Alles werkt tot nu toe, alleen wil hij geen nieuw topic aanmaken, ik heb al gezocht in posting.php en in de map includes naar function_post.php

Hier een overzicht van de code die ik tot nu toe heb:

Code: Selecteer alles

 
<?php 

$db = mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("test", $db); 


$sql = "SELECT * FROM fbf_topics WHERE topic_id='$t'"; 
$query = mysql_query($sql) or die(mysql_error()); 

while($res = mysql_fetch_array($query)) { 

$topic_title = $res['topic_title']; 
$topic_type = $res['topic_type']; 

if($topic_type == 2 && ereg("FunkyBar deel", "$topic_title")) { // als het een mededeling is 

$post_sql = "SELECT * FROM fbf_posts WHERE topic_id='$t'"; 
$post_query = mysql_query($post_sql) or die(mysql_error()); 

$dentitel = substr($topic_title, 14, 4); 

echo "dit klopt dus al so far!<br>"; // als dit gedeelte al blijkt te werken! 

if(mysql_num_rows($post_query) >= 1) { 

// we beginnen met de laatste reply te updaten O_o 

$tijt = date("U"); 

$response_sql1 = "INSERT INTO fbf_posts (post_id, topic_id, forum_id, poster_id, post_time) VALUES ('', '$t', '1', '2', '$tijt')"; 
$response_query1 = mysql_query($response_sql1) or die(mysql_error()); 

$laatste = mysql_insert_id(); 
$denieuwetitel = $dentitel+= 

$response_sql2 = "INSERT INTO fbf_posts_text (post_id, post_text) VALUES ('$laatste', 'Einde deel $dentitel!<br>Ga verder in deel $denieuwetitel')"; 
$response_query2 = mysql_query($response_sql2) or die(mysql_error()); 

$response_sql3 = "UPDATE fbf_users SET user_posts=user_posts+1 WHERE user_id=2"; 
$response_query3 = mysql_query($response_sql3) or die(mysql_error()); 

$response_sql4 = "UPDATE fbf_forums SET forum_posts=forum_posts+1, forum_last_post_id=forum_last_post_id+1 WHERE forum_id=1"; 
$response_query4 = mysql_query($response_sql4) or die(mysql_error()); 

$response_sql5 = "UPDATE fbf_topics SET topic_status=1, topic_type=0,topic_last_post_id=topic_last_post_id+1, topic_replies=topic_replies+1 WHERE topic_id='$t'"; 
$response_query5 = mysql_query($response_sql5) or die(mysql_error()); 

// nu beginnen we met een nieuw topicje te maken! 

$sql = "SELECT post_id FROM fbf_posts WHERE topic_id='$t' LIMIT 0, 1"; 
$query = mysql_query($sql) or die(mysql_error()); 
$result = mysql_fetch_array($query); 
$topic_post_id = $result['post_id']+= 

$new_sql5 = "INSERT INTO fbf_topics (topic_id, forum_id, topic_title, topic_poster, topic_time, topic_type, topic_first_post_id, topic_last_post_id) VALUES ('', '1', 'FunkyBar deel $denieuwetitel', '2', '$tijt', '2', '$topic_post_id', '$topic_post_id')"; 
$new_query5 = mysql_query($new_sql5) or die(mysql_error()); 

$tn = $t+= 

$new_sql2 = "INSERT INTO fbf_posts (post_id, topic_id, forum_id, poster_id, post_time) VALUES ('', '$tn', '1', '2', '$tijt')"; 
$new_query2 = mysql_query($new_sql2) or die(mysql_error()); 


$laatste = mysql_insert_id(); 

$new_sql3 = "INSERT INTO fbf_posts_text (post_id, post_text, post_subject) VALUES ('$laatste', 'Chat on guys!', 'FunkyBar deel $denieuwetitel')"; 
$new_query3 = mysql_query($new_sql3) or die(mysql_error()); 

$new_sql4 = "UPDATE fbf_users SET user_posts=user_posts+1 WHERE user_id=2"; 
$new_query4 = mysql_query($new_sql4) or die(mysql_error()); 

$new_sql1 = "UPDATE fbf_forums SET forum_posts=forum_posts+1, forum_last_post_id=forum_last_post_id+1, forum_topics=forum_topics+1 WHERE forum_id=1"; 
$response_query1 = mysql_query($new_sql1) or die(mysql_error()); 


// einde is geloof ik hier! 


echo "Ja"; 

} else { 

echo "Neen"; 

} 


while($post_res = mysql_fetch_array($post_query)) { 

// hier moet er nog iets gebeuren zenne! 

} 

} else { 

echo "het is een normaal topic of het bevat geen FunkyBar!"; // anders is het een normaal topic 


} 

} 

?> 


Ik krijg uiteraard geen errors of wat dan ook.. het probleem zit hem er eigenlijk in dat als ik dan in phpBB2 kijk in viewforum.php of hij een nieuw topic wil aanmaken hij dat dan doet, maar hij doet het dus NIET!
Ik heb toch voldoende velden geupdate of geinsert?
Ik bedoel deze velden hierbij trouwens:

Code: Selecteer alles

 
<?php 

$new_sql5 = "INSERT INTO fbf_topics (topic_id, forum_id, topic_title, topic_poster, topic_time, topic_type, topic_first_post_id, topic_last_post_id) VALUES ('', '1', 'FunkyBar deel $denieuwetitel', '2', '$tijt', '2', '$topic_post_id', '$topic_post_id')"; 
$new_query5 = mysql_query($new_sql5) or die(mysql_error()); 

$tn = $t+= 

$new_sql2 = "INSERT INTO fbf_posts (post_id, topic_id, forum_id, poster_id, post_time) VALUES ('', '$tn', '1', '2', '$tijt')"; 
$new_query2 = mysql_query($new_sql2) or die(mysql_error()); 


$laatste = mysql_insert_id(); 

$new_sql3 = "INSERT INTO fbf_posts_text (post_id, post_text, post_subject) VALUES ('$laatste', 'Chat on guys!', 'FunkyBar deel $denieuwetitel')"; 
$new_query3 = mysql_query($new_sql3) or die(mysql_error()); 

$new_sql4 = "UPDATE fbf_users SET user_posts=user_posts+1 WHERE user_id=2"; 
$new_query4 = mysql_query($new_sql4) or die(mysql_error()); 

$new_sql1 = "UPDATE fbf_forums SET forum_posts=forum_posts+1, forum_last_post_id=forum_last_post_id+1, forum_topics=forum_topics+1 WHERE forum_id=1"; 
$response_query1 = mysql_query($new_sql1) or die(mysql_error()); 
?> 
Hopelijk heeft één iemand van jullie hier toch wel ervaring mee, op phpbb.com willen ze me ook niet helpen.

Hartelijk bedankt, Kris. 8)
lastmodified.net

Gesloten