Exemplo n.º 1
0
     $props['str_value'] = $me_value;
     $new_me = new me_setting();
     $new_me->get_from_hashrange($props['id_me'], $props['name']);
     if ($new_me->id_me == 'undefined') {
         //echo "CREATE";
         $new_me->create($props);
     } else {
         //echo "EDIT";
         if ($APP['fs']->connect()) {
             $keyname = $GLOBALS['settings'][$APP['fs']->kind]['paths']['job-output']['@attributes']['value'] . "/" . sha1(microtime() . $new_me->str_value) . ".txt";
             $bucket_name = $GLOBALS['settings'][$APP['fs']->kind][$APP['fs']->bucket_syntax()]['@attributes']['value'];
             $file_upload_success = $fs->create_object(false, $bucket_name, $keyname, $props['str_value'], "text/plain");
             if ($file_upload_success) {
                 $FILE_LOCATION = $APP['fs']->key_url($bucket_name, $keyname);
                 $new_string = new strings();
                 $new_string->get_from_hashrange($new_me->str_value);
                 if ($new_string->id != "undefined") {
                     $props = array();
                     $props["val"] = $FILE_LOCATION;
                     $new_string->update_raw($props);
                 }
             }
         }
         // end if (able to connect to file storage
         // update latest cache
         //$JOB->obj_hf->update_raw(array("str_cache_latest"=>$sha1_string));
         // existing entry for this setting
         //$new_me->update(array('str_value'=>$props['str_value']));
     }
 }
 // end if (a non-standard me field)
Exemplo n.º 2
0
         logger("\t\t\t" . "THERE ARE STILL OTHER JOBS THAT NEED TO BE COMPLETED\n");
         break;
     }
 } else {
     $THIS_JOB = new job_id_user();
     $THIS_JOB->get_from_hashrange($JOB->id_user, $JID_MERGE_CHECK);
     // THIS JOB WAS *NOT* RUN TO FILL A PLACEHOLDER IN AN OUTPUT ENTRY FROM ANOTHER JOB
     logger("\t\t" . "THIS JOB WAS *NOT* RUN TO FILL A PLACEHOLDER IN AN OUTPUT ENTRY FROM ANOTHER JOB\n");
     if ($THIS_JOB) {
         if ($THIS_JOB->id_status == 'done') {
             // this will be the case on direct runs
             // and also this will be the ending point on nested subjobs after having
             // traced up to the completed root of the job tree
             // $STDOUT = is the value that is posted to the output expression url
             $OUTPUT_STRING = new strings();
             $OUTPUT_STRING->get_from_hashrange($THIS_JOB->str_output);
             $OUTPUT_STRING->build();
             if (isset($OUTPUT_STRING->body)) {
                 if (strlen($OUTPUT_STRING->body) > 0) {
                     // in edit mode, this won't get hit
                     $STDOUT = $OUTPUT_STRING->body;
                     logger("\t\t" . "POST-MERGE OUTPUT:\n" . substr($STDOUT, 0, 200) . "\n");
                     // CHILD JOB MERGING _MIGHT_ HAVE CHANGED THE RAW OUTPUT OF THE JOBS...UPDATE IT JUST IN CASE SO THAT ADJACENT DICTIONARY GETS THE UPDATED INFO
                     $adjacent_dictionary["[RAW_OUTPUT]"] = $STDOUT;
                     logger("\tSAVING ADJACENT DICTIONARY TO JOB\n");
                     $ad_data = array('ad' => $adjacent_dictionary);
                     $ad_encoded = base64_encode(serialize($ad_data));
                     $JOB->update(array('str_ad' => $ad_encoded));
                     /*
                     										$output_expression_jid=$JID_MERGE_CHECK;
                     										if ( strlen(trim($STDOUT))>0 )