It is about how Joomla! processes content plugins. Not a bug but a feature.Have you got a fix for .pdf yet?
The fix can be done through hacking of one the Joomla! core files. You will find kksou solution here.
Moderators: General Support Moderators, General Support Moderators
It is about how Joomla! processes content plugins. Not a bug but a feature.Have you got a fix for .pdf yet?
I am very sorry you have got problems like these ones...It takes the whole Apache server down...it crashes Apache after 4-8 hours...
...When ever their is a page reference, it's to one of my Jumi pages.
Hi!MarHaj wrote: But it will take you some time to get acquainted with a) MySQL queries, b) php and c) Joomla to develop appropriate php script. No professional level is required; your task is not too difficult.
I do not know what your tech background is but if you already have some programming knowledge it will take you some 1(queries)+2(php)+3(Joomla) days. If not then better find somebody. Professional can make the script like that in two to three hours at worst. And you can then concentrate on visible details only.
Yes, definitely.Is it possible to use JUMI ARGUMENTS to pass sql selection filter
Code: Select all
SELECT FROM `mos_downloads_log` WHERE `date` < '2008-11-04'
Code: Select all
eval('<?php'.$jumi[0].'?>');
Code: Select all
<?php
/****************************************************
// Dodo's Quiz Script
// Copyrighted by Ying Zhang
// http://regretless.com/scripts
// No redistribution without authorization
// Script released under linkware
// that means LINK ME if you use it for your website
/****************************************************/
/********************************************************************************
Remember if you name this file quiz_1.php it will be quiz no. 1!
You will have to call this script by using
quiz.php?n=1
*********************************************************************************/
// Would you like to get get an email when someone takes this particular quiz?
$email_notify = 0; // 1 = yes 0 = no
// if so
$admin_email = "you@domain.com";
// Your quiz question:
$quiz_question = "Are you the one for Dodo?";
// What you want your submit button to say?
$submit_button = "Are you the one?";
// Your quiz description:
$quiz_description = "This is a quiz that finds out your compatibility with Dodo ;) Have fun!";
// Do you want to make sure that all of your questions are answered before the results are calculated?
$all_questions_answer = 1; // 1 = yes 0 = no
// Now for each result, give it a description. Please make sure you put \ in front your quotations or you will get parse error!
// Put them as the result name => result description
// For example: "not_the_one" => "You are definitely not the one for Dodo. Too bad :(";
// WARNING: it's always possible to get the same two results so watch the order of these.
$results_array = array(
1 => "<div class=\"header\">Somewhat Close</div><div class=\"just\">You are somewhat close. You are probaby a very good friend. <br /><br />Add more your description here. blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah </div>",
2 => "<div class=\"header\">THE ONE</div><div class=\"just\">You are THE ONE! WOW.. you are my soulmate! <br /><br />Add more your description here. blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah </div>",
3 => "<div class=\"header\">EEK...</div><div class=\"just\">You are definitely not the one for me. Too bad :(<br /><br /> Add more your description here. blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah blah blab blah </div>",
);
// Now your questions
$questions_array = array(
1=> "What color does dodo like?",
2=> "What season does dodo like?",
);
// your answers. MAKE SURE it's the same order as the questions. also gives which of the results is the answer corresponding to separated by the symbol |. One unique answer per line!
$answers_array = array(
1=> "Blue|3
Red|3
Pink|1
Black|3
Rainbow|2",
// above will print as answers
// 1. Blue (this corresponds to not the one)
// 2. Red (not the one)
// 3. Pink (sorta)
// 4. Rainbow (the one)
2=> "Spring|1
Summer|3
Fall|2
Winter|3",
// above will print as answers
// 1. Spring (sorta)
// 2. Summer (not the one)
// 3. Fall (the one)
// 4. Winter (not the one)
/*******************************************
I hope you get the idea now.
Just add more if you have more questions.
Make sure to change the index numbers.
For example, the next one should begin with
3=> "blah|1
blah|2
blah|3",
always end with a quotation and a comma!
*******************************************/
);
######### END OF QUIZ 1 DATA ##################################################
?>
Hi,The quiz works if you call from the browser http://mysite/test/dodosquiz.php?n=1, but I have no idea as to insert it into JUMI for me to work. Any idea for a beginner ?....
Code: Select all
<?php
defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" );
function anyfunction() {
}
... rest of script
Code: Select all
<?php
defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" );
function myfunc()
{
echo "Hello world.";
}
myfunc();
?>
and not just quiz.php, as in the case of jumi_demo.php.quiz.php? n=1
Code: Select all
<?
/****************************************************
// Dodo's Quiz Script
// Copyrighted by Ying Zhang
// http://regretless.com/scripts
// No redistribution without authorization
// Script released under linkware
// that means LINK ME if you use it for your website
/****************************************************/
/***********************************************************
// With this script you should able to make multiple quizzes
// Just call your quiz with its number.
// For example: dodosquiz.php?n=1 will include your quiz_1.php
// No changes below this unless you REALLY KNOW what you are
// doing.
/***********************************************************/
/************************************************************
// Email function added Jan 30, 2003
// Made it compatible with PHP5 April 1, 2008
/************************************************************/
if(!$_GET['n'])
exit;
require("quiz_".$_GET['n'].".php");
include("header.php");
if($_GET['action'] == "results") {
$choices = $_POST['choices'];
$total_choices = count($choices);
if($total_choices == 0) {
echo "<div class=\"rings\">Error</div><div class=\"just\">None of the questions is answered! Please <a href=\"javascript:history.back(1)\">go back</a> and answer them!";
} else {
if($all_questions_answer && ($total_choices != count($questions_array))) {
echo "<div class=\"rings\">Error</div><div class=\"just\">You didn't answer all the questions. Please <a href=\"javascript:history.back(1)\">go back</a> and answer them!";
footer();
include("footer.php");
exit;
}
/*********************
MATH QUIZ RESULT
**********************/
if($math_quiz) {
// calculate the results
// declare an array the same size as choices with only 0
$total_results = count($results_array);
for($j=1; $j <= $total_results; $j++) {
$int_results_array[$j]=0;
}
for($i=1; $i <= $total_choices; $i++) {
$num = trim($choices[$i]);
// if the quiz taker has choosen the correct answer
if($num == $correct_result)
$int_results_array[$correct_result]=$int_results_array[$correct_result]+1;
}
$max_value = max($int_results_array);
// if max_value is the same as the total number of questoins
if($max_value == count($questions_array)) {
$right = 1;
}
if($right)
$final_result=$results_array[$correct_result];
else {
if($math_quiz_show_correct) {
$total = count($questions_array);
$final_result = $results_array[$math_quiz_show_correct_before]." It seems you have gotten <b>$max_value</b> out of $total correct.".$results_array[$math_quiz_show_correct_after];
} else {
$final_result=$results_array[$wrong_result];
}
}
echo $final_result;
email_admin($final_result);
footer();
include("footer.php");
exit;
}
/*********************
END OF THE MATH QUIZ
**********************/
/*********************
TYPE 2 QUIZ RESULT
**********************/
if($quiz_2) {
// test to make sure the level array is the same size as the result array
if(count($level_array) != count($results_array)) {
echo "<div class=\"rings\">Error</div><div class=\"just\">The quiz maker didn't provide valid info for this quiz. If you are the quiz maker, please make your level array the same size as your result array in order for the type 2 quiz to work!</div>";
footer();
include("footer.php");
exit;
}
// calculate the results
$total_num_correct = 0;
for($i=1; $i <= $total_choices; $i++) {
$num = trim($choices[$i]);
// if the quiz taker has choosen the correct answer
if($num == $correct_result)
$total_num_correct++;
}
// now $total_num_correct should contain how many problems did the quiz taker get right.
if($total_num_correct <= $level_array[1]) {
$final_result = $results_array[1];
echo $final_result;
footer();
email_admin($final_result);
include("footer.php");
exit;
}
$total_levels = count($level_array);
for($j=1; $j < ($total_levels-1); $j++) {
$k=$j+1;
if(($total_num_correct > $level_array[$j]) && ($total_num_correct <= $level_array[$k])) {
$final_result = $results_array[$k];
echo $final_result;
footer();
email_admin($final_result);
include("footer.php");
exit;
}
}
// else the final result must the be the last
$final_result = $results_array[count($results_array)];
echo $final_result;
footer();
email_admin($final_result);
include("footer.php");
exit;
}
/*********************
END OF THE QUIZ II
**********************/
// calculate the results
// results array
//print_r($results_array);
// declare an array the same size as choices with only 0
$total_results = count($results_array);
for($j=1; $j <= $total_results; $j++) {
$int_results_array[$j]=0;
}
//print_r($choices);
for($i=1; $i <= $total_choices; $i++) {
$num = trim($choices[$i]);
$int_results_array[$num]=$int_results_array[$num]+1;
}
//print_r($int_results_array);
$max_value = max($int_results_array);
$total_int_results_array = count($int_results_array);
for($i=1; $i<=$total_int_results_array; $i++) {
if($int_results_array[$i] == $max_value) {
$max_key = $i;
break;
}
}
//echo "the max key is $max_key";
//print_r($int_results_array);
//echo "max key is $max_key";
$final_result=$results_array[$max_key];
echo $final_result;
} // end of else
} // end of the result function
function email_admin($final_result) {
global $admin_email, $email_notify, $HTTP_USER_AGENT, $REMOTE_ADDR, $HTTP_REFERER, $quiz_question;
// email admin if it's enabled
if($email_notify) {
if($final_result != "") {
$final_email_result = str_replace("<div class=\"header\">", "", $final_result);
$final_email_result = str_replace("<div class=\"just\">", "", $final_email_result);
$final_email_result = str_replace("</div>", "\n\n", $final_email_result);
$final_email_result = str_replace("<br />", "\n", $final_email_result);
// get the quiz taker's info
$date = date("Y-m-d H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
$browser_info = $_SERVER['HTTP_USER_AGENT'];
$host = gethostbyaddr($ip);
$referer = $_SERVER['HTTP_REFERER'];
// from info
$from_info = "
This is the result of the test taker:
$final_email_result
------------------------------------------------------------------------------------------
IP: $ip
HOST: $host
Browser: $browser_info
Time: $date
Referred by: $referer
------------------------------------------------------------------------------------------";
$subject = "Someone has taken $quiz_question quiz";
//echo "in footer, trying to send mail: $admin_email, $final_result, $from_info, $subject";
mail($admin_email, $subject, $from_info, "From: Test_Taker");
} // end of if final result is not empty
} // end of if
}
function footer() {
echo "<div style=\"font-family: Verdana; font-size: 10px;\">Quiz made possible with <a href=\"http://regretless.com/scripts/\" target=\"_blank\">Dodo's Quiz Script</a></div>";
} // end of footer function
if(!$_GET['action']) {
echo "<div class=\"header\">".$quiz_question."</div>\n<div class=\"just\">".$quiz_description."</div>";
echo "<form action=\"dodosquiz.php?n=".$_GET['n']."&action=results\" method=\"post\">";
for($i = 1; $i <= count($questions_array); $i++) {
echo "<div class=\"rings\">".$questions_array[$i]."</div>\n";
// find the answers
$this_answers = explode("\n", $answers_array[$i]);
// print the answers and modify the results
echo "<div class=\"just\">\n";
for($k = 0; $k < count($this_answers); $k++) {
$this_particular_answer = explode("|", $this_answers[$k]);
echo "<label><input type=\"radio\" name=\"choices[".$i."]\" value=\"".trim($this_particular_answer[1])."\">".$this_particular_answer[0]."</label><br /> \n";
}
echo "</div><br />\n";
//print_r($this_answers);
} // end of for
echo "<input type=\"submit\" value=\"".$submit_button."\" class=\"form\"></form>";
} // end of if not action
footer();
email_admin($final_result);
include("footer.php");
?>
WOW! It runs!!!MarHaj wrote:Yes, definitely.Is it possible to use JUMI ARGUMENTS to pass sql selection filter
I understand.So when in the path i write only quiz_1.php, the application that runs the form not recognize the numbre of the form I'm ussing "n=1" and doesn't work....... and that's all.
Code: Select all
<?php
defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" );
echo '<iframe src ="http://mysite/test/dodosquiz.php?n=$jumi[0]" width="100%"></iframe>';
?>
You can.Can I pass these arguments "on the fly" using a combo box?
Code: Select all
if isset($_POST['element'])
{
process_query();
}
else
{
show_combo($_POST['element']);
}
I have a php script that is working fine, except when I try to put a user-defined function in. Then the script dies. If you take out the user-defined function, it works fine. (commenting out the call to the function in the main script)
I get a white page.
Code: Select all
<?php
defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" );
function myfunc()
{
echo "Hello world.";
}
myfunc();
?>
Calling i-th quiz from the article will be
{jumi [somepath/qqq.php] }
where i is the appropriate digit.
As I said. Not a programmer's gem. But simple enough. Will work immediately.
No error message, no joomla, no generated code, nothing.MarHaj wrote:I have a php script that is working fine, except when I try to put a user-defined function in. Then the script dies. If you take out the user-defined function, it works fine. (commenting out the call to the function in the main script)
I get a white page.Strange. It should work. It must work!Code: Select all
<?php defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" ); function myfunc() { echo "Hello world."; } myfunc(); ?>
Under dying you mean the whole white page? No error message, no Joomla?
Have you tried to check up generated white page source code?
Calling i-th quiz from the article will be
{jumi [somepath/qqq.php] }
where i is the appropriate digit.
As I said. Not a programmer's gem. But simple enough. Will work immediately.
Code: Select all
<?php
defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" );
echo '<iframe src ="http://mysite/test/dodosquiz.php?n=$jumi[0]" width="100%"></iframe>';
?>
Oh, I am sorry. Very sorry.Where is the error?
Why "$jumi[0]" generates these strange characters $jumi%5B0%5D?
Code: Select all
<?php
defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" );
echo '<iframe src ="http://mysite/test/dodosquiz.php?n='.$jumi[0].'" width="100%"></iframe>';
?>
SOLVEDdsands wrote:No error message, no joomla, no generated code, nothing.MarHaj wrote:I have a php script that is working fine, except when I try to put a user-defined function in. Then the script dies. If you take out the user-defined function, it works fine. (commenting out the call to the function in the main script)
I get a white page.Strange. It should work. It must work!Code: Select all
<?php defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" ); function myfunc() { echo "Hello world."; } myfunc(); ?>
Under dying you mean the whole white page? No error message, no Joomla?
Have you tried to check up generated white page source code?
Oh well, I solved it by adding window.onload = function function() to the JavaScript - hence getting rid of the <html>, <head> and <body> tags. :-)meeks wrote:Hi.
How do I include html files containing <html>, <head> and <body> tags? On your tips and tricks page it says it will be demonstrated in another article but I can't seem to find it. Basically, what I have is a JavaScript which needs to be included in Joomla content as a <body onload="function()">. How do I do that with Jumi?
Kind regards.
Meeks.
I am doing the same things daily. And do not feel stupid. Do the same (=no bad feelings or remorse)....No error message, no joomla, no generated code, nothing....
the remaining modules were trying to redefine the function....
...No error message, no joomla, no generated code, nothing....
Now, Everything is working!!New code:Code: Select all
<?php defined('_JEXEC') OR defined('_VALID_MOS') OR die( "Direct Access Is Not Allowed" ); echo '<iframe src ="http://mysite/test/dodosquiz.php?n='.$jumi[0].'" width="100%"></iframe>'; ?>
Code: Select all
{jumi [java.php] [*username*]} <a href="#" onclick="javaFunction()">Test</a>
Code: Select all
<SCRIPT language="JavaScript">
function javaFunction() {
alert("Bonjour " + *username*);
}
</script>
Code: Select all
{jumi [/java.php]}
Code: Select all
<?php
echo "Your username is {$_SESSION['username']}";
?>
Jumi, except other things, has access to All Joomla global variables. That means for user object too.can jumi access things like username when logged in to a Joomla site?
Code: Select all
global $my;
if ($my->id) {
if ( $name ) {
$name = $my->name;
} else {
$name = $my->username;
}
echo $name;
}
?>