diff --git a/include/notifier.php b/include/notifier.php
index 0beb72cd0..391b711ba 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -1,223 +1,26 @@
+require_once("session.php");
+require_once("datetime.php");
+
+if(($argc != 2) || (! intval($argv[1])))
+ exit;
-If you want to execute some code after your php page has been returned to the user. Try something like this -
-
-
-
-while(count($this->currentJobs) >= $this->maxProcesses){
- echo "Maximum children allowed, waiting...\n";
- sleep(1);
-}
-duerra at yahoo dot com
-02-Jul-2010 02:06
-Using pcntl_fork() can be a little tricky in some situations. For fast jobs, a child can finish processing before the parent process has executed some code related to the launching of the process. The parent can receive a signal before it's ready to handle the child process' status. To handle this scenario, I add an id to a "queue" of processes in the signal handler that need to be cleaned up if the parent process is not yet ready to handle them.
-
-I am including a stripped down version of a job daemon that should get a person on the right track.
-
-parentPID = getmypid();
- pcntl_signal(SIGCHLD, array($this, "childSignalHandler"));
- }
-
- /**
- * Run the Daemon
- */
- public function run(){
- echo "Running \n";
- for($i=0; $i<10000; $i++){
- $jobID = rand(0,10000000000000);
- $launched = $this->launchJob($jobID);
- }
-
- //Wait for child processes to finish before exiting here
- while(count($this->currentJobs)){
- echo "Waiting for current jobs to finish... \n";
- sleep(1);
- }
- }
-
- /**
- * Launch a job from the job queue
- */
- protected function launchJob($jobID){
- $pid = pcntl_fork();
- if($pid == -1){
- //Problem launching the job
- error_log('Could not launch new job, exiting');
- return false;
- }
- else if ($pid){
- // Parent process
- // Sometimes you can receive a signal to the childSignalHandler function before this code executes if
- // the child script executes quickly enough!
- //
- $this->currentJobs[$pid] = $jobID;
-
- // In the event that a signal for this pid was caught before we get here, it will be in our signalQueue array
- // So let's go ahead and process it now as if we'd just received the signal
- if(isset($this->signalQueue[$pid])){
- echo "found $pid in the signal queue, processing it now \n";
- $this->childSignalHandler(SIGCHLD, $pid, $this->signalQueue[$pid]);
- unset($this->signalQueue[$pid]);
- }
- }
- else{
- //Forked child, do your deeds....
- $exitStatus = 0; //Error code if you need to or whatever
- echo "Doing something fun in pid ".getmypid()."\n";
- exit($exitStatus);
- }
- return true;
- }
-
- public function childSignalHandler($signo, $pid=null, $status=null){
-
- //If no pid is provided, that means we're getting the signal from the system. Let's figure out
- //which child process ended
- if(!$pid){
- $pid = pcntl_waitpid(-1, $status, WNOHANG);
- }
-
- //Make sure we get all of the exited children
- while($pid > 0){
- if($pid && isset($this->currentJobs[$pid])){
- $exitCode = pcntl_wexitstatus($status);
- if($exitCode != 0){
- echo "$pid exited with status ".$exitCode."\n";
- }
- unset($this->currentJobs[$pid]);
- }
- else if($pid){
- //Oh no, our job has finished before this parent process could even note that it had been launched!
- //Let's make note of it and handle it when the parent process is ready for it
- echo "..... Adding $pid to the signal queue ..... \n";
- $this->signalQueue[$pid] = $status;
- }
- $pid = pcntl_waitpid(-1, $status, WNOHANG);
- }
- return true;
- }
-}
-
-
-
-*/
-
-
-
-function notifier(&$a,$item_id,$parent_id) {
-
- $pid = pcntl_fork();
-
- if ($pid == (-1)) {
- notice("Failed to launch background notifier." . EOL );
- return;
- }
-
- if ($pid > 0) {
- // parent process - regenerate our connections in case the kid kills them
-
- @include(".htconfig.php");
- $db = new dba($db_host, $db_user, $db_pass, $db_data, $install);
- unset($db_host, $db_user, $db_pass, $db_data);
- session_write_close();
- session_start();
-
- // go back and finish the page
- return;
- }
- else {
- // We are the child
// fetch item
- // if not parent, fetch it
+ // if not parent, fetch it too
// atomify
@@ -238,5 +41,4 @@ function notifier(&$a,$item_id,$parent_id) {
// continue
killme();
- }
-}
+
diff --git a/mod/item.php b/mod/item.php
index 2b03ecaa2..23917161b 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -58,8 +58,9 @@ function item_post(&$a) {
intval($post_id));
}
-// require('notifier.php');
+ proc_close(proc_open("php include/notifier.php $post_id > notify.log &",
+ array(),$foo));
// notifier($a,$post_id,$parent);
diff --git a/mod/profile.php b/mod/profile.php
index 957d67be3..1caa3478f 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -149,12 +149,15 @@ function profile_content(&$a) {
if(count($r)) {
foreach($r as $rr) {
- $comment = replace_macros($template,array(
- '$id' => $rr['item_id'],
- '$profile_uid' => $a->profile['profile_uid']
- ));
-
-
+ if(can_write_wall($a,$a->profile['profile_uid'])) {
+ $comment = replace_macros($template,array(
+ '$id' => $rr['item_id'],
+ '$profile_uid' => $a->profile['profile_uid']
+ ));
+ }
+ else {
+ $comment = '';
+ }
$o .= item_display($a,$rr,$tpl,$comment);
}
diff --git a/view/head.tpl b/view/head.tpl
index 3a7bcc604..d520e45f0 100644
--- a/view/head.tpl
+++ b/view/head.tpl
@@ -3,6 +3,6 @@
-
+
diff --git a/view/jot-header.tpl b/view/jot-header.tpl
index 23e798ecd..7c17196ce 100644
--- a/view/jot-header.tpl
+++ b/view/jot-header.tpl
@@ -24,18 +24,6 @@ tinyMCE.init({
});
- function openClose(theID) {
- if(document.getElementById(theID).style.display == "block") {
- document.getElementById(theID).style.display = "none"
- }
- else {
- document.getElementById(theID).style.display = "block"
- }
- }
- function openMenu(theID) {
- document.getElementById(theID).style.display = "block"
- }
-