当前位置: 首页>>代码示例>>PHP>>正文


PHP DocumentRevision类代码示例

本文整理汇总了PHP中DocumentRevision的典型用法代码示例。如果您正苦于以下问题:PHP DocumentRevision类的具体用法?PHP DocumentRevision怎么用?PHP DocumentRevision使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了DocumentRevision类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: saveFile

 function saveFile($document, $portal = false)
 {
     global $sugar_config;
     $focus = new Document();
     if (!empty($document['id'])) {
         $focus->retrieve($document['id']);
     } else {
         return '-1';
     }
     if (!empty($document['file'])) {
         $decodedFile = base64_decode($document['file']);
         $this->upload_file->set_for_soap($document['filename'], $decodedFile);
         $ext_pos = strrpos($this->upload_file->stored_file_name, ".");
         $this->upload_file->file_ext = substr($this->upload_file->stored_file_name, $ext_pos + 1);
         if (in_array($this->upload_file->file_ext, $sugar_config['upload_badext'])) {
             $this->upload_file->stored_file_name .= ".txt";
             $this->upload_file->file_ext = "txt";
         }
         $revision = new DocumentRevision();
         $revision->filename = $this->upload_file->get_stored_file_name();
         $revision->file_mime_type = $this->upload_file->getMimeSoap($revision->filename);
         $revision->file_ext = $this->upload_file->file_ext;
         //$revision->document_name = ;
         $revision->revision = $document['revision'];
         $revision->document_id = $document['id'];
         $revision->save();
         $focus->document_revision_id = $revision->id;
         $focus->save();
         $return_id = $revision->id;
         $this->upload_file->final_move($revision->id);
     } else {
         return '-1';
     }
     return $return_id;
 }
开发者ID:BackupTheBerlios,项目名称:livealphaprint,代码行数:35,代码来源:DocumentSoap.php

示例2: getTechnicalDescriptions

 function getTechnicalDescriptions()
 {
     $attachmentIds = explode(' ', trim($this->attachmentsequence));
     $attachments = array();
     foreach ($attachmentIds as $id) {
         $attachment_data = array();
         $revision = new DocumentRevision();
         if (!$revision->retrieve($id)) {
             $attachment = new Document();
             if ($attachment->retrieve($id)) {
                 if ($attachment->subcategory_id == 'Technical') {
                     //$attachment_data = array();
                     $attachment_data["id"] = $attachment->id;
                     $attachment_data["document_name"] = $attachment->document_name;
                     $attachment_data["document_revision_id"] = $attachment->document_revision_id;
                     //				$attachment_data["doc_status"] = 'new';
                     $attachments[] = $attachment_data;
                 }
             }
         } else {
             $attachment = new Document();
             if ($attachment->retrieve($revision->document_id)) {
                 if ($attachment->subcategory_id == 'Technical') {
                     //$attachment_data = array();
                     $attachment_data["id"] = $attachment->id;
                     $attachment_data["document_name"] = $attachment->document_name . '_rev.' . $revision->revision;
                     $attachment_data["document_revision_id"] = $revision->id;
                     //				$attachment_data["doc_status"] = 'new';
                     $attachments[] = $attachment_data;
                 }
             }
         }
     }
     return $attachments;
 }
开发者ID:santara12,项目名称:OpenQuotesAndContracts,代码行数:35,代码来源:oqc_Product.php

示例3: get_all_linked_attachment_revisions

function get_all_linked_attachment_revisions($attachmentsequence)
{
    $attachmentIds = explode(' ', trim($attachmentsequence));
    $attachments = array();
    foreach ($attachmentIds as $id) {
        $revision = new DocumentRevision();
        if (!$revision->retrieve($id)) {
            // if in old format try to recover by document id
            $attachment = new Document();
            if ($attachment->retrieve($id)) {
                $attachment->revision = '';
                $attachment->doc_rev_id = '';
                $attachments[] = $attachment;
            }
        } else {
            $attachment = new Document();
            if ($attachment->retrieve($revision->document_id)) {
                $attachment->revision = $revision->revision;
                $attachment->doc_rev_id = $revision->id;
                $attachments[] = $attachment;
            }
        }
    }
    return $attachments;
}
开发者ID:santara12,项目名称:OpenQuotesAndContracts,代码行数:25,代码来源:Attachments.php

示例4: attachmentFromSugarBean

 /**
  * Constructs an attachment from the SugarBean that is passed in.
  *
  * @static
  * @access public
  * @param SugarBean $bean required
  * @return Attachment
  * @throws MailerException
  */
 public static function attachmentFromSugarBean(SugarBean $bean)
 {
     $filePath = null;
     $fileName = null;
     $mimeType = "";
     if ($bean instanceof Document) {
         if (empty($bean->id)) {
             throw new MailerException("Invalid Attachment: document not found", MailerException::InvalidAttachment);
         }
         $document_revision_id = $bean->document_revision_id;
         $documentRevision = new DocumentRevision();
         if (!empty($document_revision_id)) {
             $documentRevision->retrieve($bean->document_revision_id);
         }
         if (empty($document_revision_id) || $documentRevision->id != $document_revision_id) {
             throw new MailerException("Invalid Attachment: Document with Id (" . $bean->id . ")  contains an invalid or empty revision id: (" . $document_revision_id . ")", MailerException::InvalidAttachment);
         }
         $bean = $documentRevision;
     }
     $beanName = get_class($bean);
     switch ($beanName) {
         case "Note":
         case "DocumentRevision":
             $filePath = rtrim(SugarConfig::getInstance()->get('upload_dir', 'upload'), '/\\') . '/' . $bean->id;
             $fileName = empty($bean->filename) ? $bean->name : $bean->filename;
             $mimeType = empty($bean->file_mime_type) ? $mimeType : $bean->file_mime_type;
             break;
         default:
             throw new MailerException("Invalid Attachment: SugarBean '{$beanName}' not supported as an Email Attachment", MailerException::InvalidAttachment);
             break;
     }
     // Path must Exist and Must be a Regular File
     if (!is_file($filePath)) {
         throw new MailerException("Invalid Attachment: file not found: {$filePath}", MailerException::InvalidAttachment);
     }
     $attachment = new Attachment($filePath, $fileName, Encoding::Base64, $mimeType);
     return $attachment;
 }
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:47,代码来源:AttachmentPeer.php

示例5: display

 /**
  * @see SugarView::display()
  */
 public function display()
 {
     global $app_list_strings, $mod_strings;
     $load_signed = false;
     if (isset($_REQUEST['load_signed_id']) && !empty($_REQUEST['load_signed_id'])) {
         $load_signed = true;
         if (isset($_REQUEST['record'])) {
             $this->bean->related_doc_id = $_REQUEST['record'];
         }
         if (isset($_REQUEST['selected_revision_id'])) {
             $this->bean->related_doc_rev_id = $_REQUEST['selected_revision_id'];
         }
         $this->bean->id = null;
         $this->bean->document_name = null;
         $this->bean->filename = null;
         $this->bean->is_template = 0;
     }
     //if
     if (!empty($this->bean->id) || empty($this->bean->id) && !empty($_REQUEST['record']) && !empty($_REQUEST['action']) && strtolower($_REQUEST['action']) == 'quickedit') {
         $this->ss->assign("FILE_OR_HIDDEN", "hidden");
         if (!$this->ev->isDuplicate) {
             $this->ss->assign("DISABLED", "disabled");
         }
     } else {
         $this->bean->revision = 1;
         $this->ss->assign("FILE_OR_HIDDEN", "file");
     }
     $popup_request_data = array('call_back_function' => 'document_set_return', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'related_doc_id', 'document_name' => 'related_document_name'));
     $json = getJSONobj();
     $this->ss->assign('encoded_document_popup_request_data', $json->encode($popup_request_data));
     //get related document name.
     if (!empty($this->bean->related_doc_id)) {
         $this->ss->assign("RELATED_DOCUMENT_NAME", Document::get_document_name($this->bean->related_doc_id));
         $this->ss->assign("RELATED_DOCUMENT_ID", $this->bean->related_doc_id);
         if (!empty($this->bean->related_doc_rev_id)) {
             $this->ss->assign("RELATED_DOCUMENT_REVISION_OPTIONS", get_select_options_with_id(DocumentRevision::get_document_revisions($this->bean->related_doc_id), $this->bean->related_doc_rev_id));
         } else {
             $this->ss->assign("RELATED_DOCUMENT_REVISION_OPTIONS", get_select_options_with_id(DocumentRevision::get_document_revisions($this->bean->related_doc_id), ''));
         }
     } else {
         $this->ss->assign("RELATED_DOCUMENT_REVISION_DISABLED", "disabled");
     }
     //set parent information in the form.
     if (isset($_REQUEST['parent_id'])) {
         $this->ss->assign("PARENT_ID", $_REQUEST['parent_id']);
     }
     //if
     if (isset($_REQUEST['parent_name'])) {
         $this->ss->assign("PARENT_NAME", $_REQUEST['parent_name']);
         if (!empty($_REQUEST['parent_type'])) {
             switch (strtolower($_REQUEST['parent_type'])) {
                 case "contracts":
                     $this->ss->assign("LBL_PARENT_NAME", $mod_strings['LBL_CONTRACT_NAME']);
                     break;
                     //todo remove leads case.
                 //todo remove leads case.
                 case "leads":
                     $this->ss->assign("LBL_PARENT_NAME", $mod_strings['LBL_CONTRACT_NAME']);
                     break;
             }
             //switch
         }
         //if
     }
     //if
     if (isset($_REQUEST['parent_type'])) {
         $this->ss->assign("PARENT_TYPE", $_REQUEST['parent_type']);
     }
     if ($load_signed) {
         $this->ss->assign("RELATED_DOCUMENT_REVISION_DISABLED", "disabled");
         $this->ss->assign("RELATED_DOCUMENT_BUTTON_AVAILABILITY", "hidden");
         $this->ss->assign("LOAD_SIGNED_ID", $_REQUEST['load_signed_id']);
     } else {
         $this->ss->assign("RELATED_DOCUMENT_BUTTON_AVAILABILITY", "button");
     }
     //if-else
     parent::display();
 }
开发者ID:omusico,项目名称:sugar_work,代码行数:81,代码来源:view.edit.php

示例6: fill_in_additional_detail_fields

 function fill_in_additional_detail_fields()
 {
     global $theme;
     global $current_language;
     global $timedate;
     global $locale;
     parent::fill_in_additional_detail_fields();
     $mod_strings = return_module_language($current_language, 'Documents');
     if (!empty($this->document_revision_id)) {
         $query = "SELECT users.first_name AS first_name, users.last_name AS last_name, document_revisions.date_entered AS rev_date,\n            \t document_revisions.filename AS filename, document_revisions.revision AS revision,\n            \t document_revisions.file_ext AS file_ext, document_revisions.file_mime_type AS file_mime_type\n            \t FROM users, document_revisions\n            \t WHERE users.id = document_revisions.created_by AND document_revisions.id = '{$this->document_revision_id}'";
         $result = $this->db->query($query);
         $row = $this->db->fetchByAssoc($result);
         //populate name
         if (isset($this->document_name)) {
             $this->name = $this->document_name;
         }
         if (isset($row['filename'])) {
             $this->filename = $row['filename'];
         }
         //$this->latest_revision = $row['revision'];
         if (isset($row['revision'])) {
             $this->revision = $row['revision'];
         }
         //image is selected based on the extension name <ext>_icon_inline, extension is stored in document_revisions.
         //if file is not found then default image file will be used.
         global $img_name;
         global $img_name_bare;
         if (!empty($row['file_ext'])) {
             $img_name = SugarThemeRegistry::current()->getImageURL(strtolower($row['file_ext']) . "_image_inline.gif");
             $img_name_bare = strtolower($row['file_ext']) . "_image_inline";
         }
     }
     //set default file name.
     if (!empty($img_name) && file_exists($img_name)) {
         $img_name = $img_name_bare;
     } else {
         $img_name = "def_image_inline";
         //todo change the default image.
     }
     if ($this->ACLAccess('DetailView')) {
         if (!empty($this->doc_type) && $this->doc_type != 'Sugar' && !empty($this->doc_url)) {
             $file_url = "<a href='" . $this->doc_url . "' target='_blank'>" . SugarThemeRegistry::current()->getImage($this->doc_type . '_image_inline', 'border="0"', null, null, '.png', $mod_strings['LBL_LIST_VIEW_DOCUMENT']) . "</a>";
         } else {
             $file_url = "<a href='index.php?entryPoint=download&id={$this->document_revision_id}&type=Documents' target='_blank'>" . SugarThemeRegistry::current()->getImage($img_name, 'border="0"', null, null, '.gif', $mod_strings['LBL_LIST_VIEW_DOCUMENT']) . "</a>";
         }
         $this->file_url = $file_url;
         $this->file_url_noimage = "index.php?entryPoint=download&type=Documents&id={$this->document_revision_id}";
     } else {
         $this->file_url = "";
         $this->file_url_noimage = "";
     }
     //get last_rev_by user name.
     if (!empty($row)) {
         $this->last_rev_created_name = $locale->getLocaleFormattedName($row['first_name'], $row['last_name']);
         $this->last_rev_create_date = $timedate->to_display_date_time($this->db->fromConvert($row['rev_date'], 'datetime'));
         $this->last_rev_mime_type = $row['file_mime_type'];
     }
     global $app_list_strings;
     if (!empty($this->status_id)) {
         //_pp($this->status_id);
         $this->status = $app_list_strings['document_status_dom'][$this->status_id];
     }
     if (!empty($this->related_doc_id)) {
         $this->related_doc_name = Document::get_document_name($this->related_doc_id);
         $this->related_doc_rev_number = DocumentRevision::get_document_revision_name($this->related_doc_rev_id);
     }
 }
开发者ID:omusico,项目名称:SelkirkCRM,代码行数:67,代码来源:Document.php

示例7: handleSave


//.........这里部分代码省略.........
         $i = preg_replace("/email_attachment(.+)/", '$1', $key);
         $upload_file = new UploadFile($key);
         if (isset($_FILES[$key]) && $upload_file->confirm_upload() && preg_match("/^email_attachment/", $key)) {
             $note->filename = $upload_file->get_stored_file_name();
             $note->file = $upload_file;
             $note->name = $mod_strings['LBL_EMAIL_ATTACHMENT'] . ': ' . $note->file->original_file_name;
             if (isset($_REQUEST['embedded' . $i]) && !empty($_REQUEST['embedded' . $i])) {
                 if ($_REQUEST['embedded' . $i] == 'true') {
                     $note->embed_flag = true;
                 } else {
                     $note->embed_flag = false;
                 }
             }
             array_push($focus->attachments, $note);
         }
     }
     $focus->saved_attachments = array();
     foreach ($focus->attachments as $note) {
         if (!empty($note->id) && $note->new_with_id === FALSE) {
             if (empty($_REQUEST['old_id'])) {
                 array_push($focus->saved_attachments, $note);
             } else {
                 // we're duplicating a template with attachments
                 // dupe the file, create a new note, assign the note to the new template
                 $newNote = new Note();
                 $newNote->retrieve($note->id);
                 $newNote->id = create_guid();
                 $newNote->parent_id = $focus->id;
                 $newNote->new_with_id = true;
                 $newNote->date_modified = '';
                 $newNote->date_entered = '';
                 $newNoteId = $newNote->save();
                 UploadFile::duplicate_file($note->id, $newNoteId, $note->filename);
             }
             continue;
         }
         $note->parent_id = $focus->id;
         $note->parent_type = 'Emails';
         $note->file_mime_type = $note->file->mime_type;
         $note_id = $note->save();
         array_push($focus->saved_attachments, $note);
         $note->id = $note_id;
         if ($note->new_with_id === FALSE) {
             $note->file->final_move($note->id);
         } else {
             $GLOBALS['log']->debug("Not performing final move for note id {$note->id} as it has already been processed");
         }
     }
     ////	END NEW ATTACHMENTS
     ///////////////////////////////////////////////////////////////////////////
     ///////////////////////////////////////////////////////////////////////////
     ////	ATTACHMENTS FROM DOCUMENTS
     $count = '';
     //_pp($_REQUEST);
     //_ppd(count($_REQUEST['document']));
     if (!empty($_REQUEST['document'])) {
         $count = count($_REQUEST['document']);
     } else {
         $count = 10;
     }
     for ($i = 0; $i < $count; $i++) {
         if (isset($_REQUEST['documentId' . $i]) && !empty($_REQUEST['documentId' . $i])) {
             $doc = new Document();
             $docRev = new DocumentRevision();
             $docNote = new Note();
             $doc->retrieve($_REQUEST['documentId' . $i]);
             $docRev->retrieve($doc->document_revision_id);
             array_push($focus->saved_attachments, $docRev);
             $docNote->name = $doc->document_name;
             $docNote->filename = $docRev->filename;
             $docNote->description = $doc->description;
             $docNote->parent_id = $focus->id;
             $docNote->parent_type = 'Emails';
             $docNote->file_mime_type = $docRev->file_mime_type;
             $docId = $docNote = $docNote->save();
             UploadFile::duplicate_file($docRev->id, $docId, $docRev->filename);
         }
     }
     ////	END ATTACHMENTS FROM DOCUMENTS
     ///////////////////////////////////////////////////////////////////////////
     ///////////////////////////////////////////////////////////////////////////
     ////	REMOVE ATTACHMENTS
     if (isset($_REQUEST['remove_attachment']) && !empty($_REQUEST['remove_attachment'])) {
         foreach ($_REQUEST['remove_attachment'] as $noteId) {
             $q = 'UPDATE notes SET deleted = 1 WHERE id = \'' . $noteId . '\'';
             $focus->db->query($q);
         }
     }
     ////	END REMOVE ATTACHMENTS
     ///////////////////////////////////////////////////////////////////////////
     ////	END ATTACHMENT HANDLING
     ///////////////////////////////////////////////////////////////////////////////
     clear_register_value('select_array', $focus->object_name);
     if ($redirect) {
         $GLOBALS['log']->debug("Saved record with id of " . $return_id);
         handleRedirect($return_id, "EmailTemplates");
     } else {
         return $focus;
     }
 }
开发者ID:netconstructor,项目名称:sugarcrm_dev,代码行数:101,代码来源:EmailTemplateFormBase.php

示例8: handleSave

 function handleSave($prefix, $redirect = true, $useRequired = false)
 {
     require_once 'modules/EmailTemplates/EmailTemplate.php';
     require_once 'modules/Documents/Document.php';
     require_once 'modules/DocumentRevisions/DocumentRevision.php';
     require_once 'modules/Notes/Note.php';
     require_once 'include/formbase.php';
     require_once 'include/upload_file.php';
     global $upload_maxsize, $upload_dir;
     global $mod_strings;
     $focus = new EmailTemplate();
     if ($useRequired && !checkRequired($prefix, array_keys($focus->required_fields))) {
         return null;
     }
     $focus = populateFromPost($prefix, $focus);
     if (!$focus->ACLAccess('Save')) {
         ACLController::displayNoAccess(true);
         sugar_cleanup(true);
     }
     if (!isset($_REQUEST['published'])) {
         $focus->published = 'off';
     }
     $return_id = $focus->save();
     ///////////////////////////////////////////////////////////////////////////////
     ////	ATTACHMENT HANDLING
     ///////////////////////////////////////////////////////////////////////////
     ////	ADDING NEW ATTACHMENTS
     $max_files_upload = 10;
     if (!empty($focus->id)) {
         $note = new Note();
         $where = "notes.parent_id='{$focus->id}'";
         if (!empty($_REQUEST['old_id'])) {
             // to support duplication of email templates
             $where .= " OR notes.parent_id='" . $_REQUEST['old_id'] . "'";
         }
         $notes_list = $note->get_full_list("", $where, true);
     }
     if (!isset($notes_list)) {
         $notes_list = array();
     }
     if (!is_array($focus->attachments)) {
         // PHP5 does not auto-create arrays(). Need to initialize it here.
         $focus->attachments = array();
     }
     $focus->attachments = array_merge($focus->attachments, $notes_list);
     for ($i = 0; $i < $max_files_upload; $i++) {
         $note = new Note();
         $upload_file = new UploadFile('email_attachment' . $i);
         if ($upload_file == -1) {
             continue;
         }
         if (isset($_FILES['email_attachment' . $i]) && $upload_file->confirm_upload()) {
             $note->filename = $upload_file->get_stored_file_name();
             $note->file = $upload_file;
             $note->name = $mod_strings['LBL_EMAIL_ATTACHMENT'] . ': ' . $note->file->original_file_name;
             array_push($focus->attachments, $note);
         }
     }
     $focus->saved_attachments = array();
     foreach ($focus->attachments as $note) {
         if (!empty($note->id)) {
             if (empty($_REQUEST['old_id'])) {
                 // to support duplication of email templates
                 array_push($focus->saved_attachments, $note);
             } else {
                 // we're duplicating a template with attachments
                 // dupe the file, create a new note, assign the note to the new template
                 $newNote = new Note();
                 $newNote->retrieve($note->id);
                 $newNote->id = create_guid();
                 $newNote->parent_id = $focus->id;
                 $newNote->new_with_id = true;
                 $newNoteId = $newNote->save();
                 $dupeFile = new UploadFile('duplicate');
                 $dupeFile->duplicate_file($note->id, $newNoteId, $note->filename);
             }
             continue;
         }
         $note->parent_id = $focus->id;
         $note->parent_type = 'Emails';
         $note->file_mime_type = $note->file->mime_type;
         $note_id = $note->save();
         array_push($focus->saved_attachments, $note);
         $note->id = $note_id;
         $note->file->final_move($note->id);
     }
     ////	END NEW ATTACHMENTS
     ///////////////////////////////////////////////////////////////////////////
     ///////////////////////////////////////////////////////////////////////////
     ////	ATTACHMENTS FROM DOCUMENTS
     for ($i = 0; $i < 10; $i++) {
         if (isset($_REQUEST['documentId' . $i]) && !empty($_REQUEST['documentId' . $i])) {
             $doc = new Document();
             $docRev = new DocumentRevision();
             $docNote = new Note();
             $noteFile = new UploadFile('none');
             $doc->retrieve($_REQUEST['documentId' . $i]);
             $docRev->retrieve($doc->document_revision_id);
             array_push($focus->saved_attachments, $docRev);
             $docNote->name = $doc->document_name;
//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:livealphaprint,代码行数:101,代码来源:EmailTemplateFormBase.php

示例9: get_document_revision

/**
 * This method is used as a result of the .htaccess lock down on the cache directory. It will allow a
 * properly authenticated user to download a document that they have proper rights to download.
 *
 * @param String $session -- Session ID returned by a previous call to login.
 * @param String $id      -- ID of the document revision to obtain
 * @return return_document_revision - this is a complex type as defined in SoapTypes.php
 */
function get_document_revision($session, $id)
{
    global $sugar_config;
    $error = new SoapError();
    if (!validate_authenticated($session)) {
        $error->set_error('invalid_login');
        return array('id' => -1, 'error' => $error->get_soap_array());
    }
    $dr = new DocumentRevision();
    $dr->retrieve($id);
    if (!empty($dr->filename)) {
        $filename = "upload://{$dr->id}";
        $contents = base64_encode(sugar_file_get_contents($filename));
        return array('document_revision' => array('id' => $dr->id, 'document_name' => $dr->document_name, 'revision' => $dr->revision, 'filename' => $dr->filename, 'file' => $contents), 'error' => $error->get_soap_array());
    } else {
        $error->set_error('no_records');
        return array('id' => -1, 'error' => $error->get_soap_array());
    }
}
开发者ID:sunmo,项目名称:snowlotus,代码行数:27,代码来源:SoapSugarUsers.php

示例10: get_select_options_with_id

if (isset($focus->template_type)) {
    $xtpl->assign("TEMPLATE_TYPE_OPTIONS", get_select_options_with_id($app_list_strings['document_template_type_dom'], $focus->template_type));
} else {
    $xtpl->assign("TEMPLATE_TYPE_OPTIONS", get_select_options_with_id($app_list_strings['document_template_type_dom'], ''));
}
$popup_request_data = array('call_back_function' => 'document_set_return', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'related_doc_id', 'document_name' => 'related_document_name'));
$json = getJSONobj();
$xtpl->assign('encoded_document_popup_request_data', $json->encode($popup_request_data));
//get related document name.
if (!empty($focus->related_doc_id)) {
    $xtpl->assign("RELATED_DOCUMENT_NAME", Document::get_document_name($focus->related_doc_id));
    $xtpl->assign("RELATED_DOCUMENT_ID", $focus->related_doc_id);
    if (!empty($focus->related_doc_rev_id)) {
        $xtpl->assign("RELATED_DOCUMENT_REVISION_OPTIONS", get_select_options_with_id(DocumentRevision::get_document_revisions($focus->related_doc_id), $focus->related_doc_rev_id));
    } else {
        $xtpl->assign("RELATED_DOCUMENT_REVISION_OPTIONS", get_select_options_with_id(DocumentRevision::get_document_revisions($focus->related_doc_id), ''));
    }
} else {
    $xtpl->assign("RELATED_DOCUMENT_REVISION_DISABLED", "disabled");
}
//set parent information in the form.
if (isset($_REQUEST['parent_id'])) {
    $xtpl->assign("PARENT_ID", $_REQUEST['parent_id']);
}
if (isset($_REQUEST['parent_name'])) {
    $xtpl->assign("PARENT_NAME", $_REQUEST['parent_name']);
    if (!empty($_REQUEST['parent_type'])) {
        switch (strtolower($_REQUEST['parent_type'])) {
            case "contracts":
                $xtpl->assign("LBL_PARENT_NAME", $mod_strings['LBL_CONTRACT_NAME']);
                break;
开发者ID:BackupTheBerlios,项目名称:livealphaprint,代码行数:31,代码来源:EditView.php

示例11: get_document_revision

 /**
  * This method is used as a result of the .htaccess lock down on the cache directory. It will allow a
  * properly authenticated user to download a document that they have proper rights to download.
  *
  * @param String $session -- Session ID returned by a previous call to login.
  * @param String $id      -- ID of the document revision to obtain
  * @return new_return_document_revision - Array String 'id' -- The ID of the document revision containing the attachment
  * 												String document_name - The name of the document
  * 												String revision - The revision value for this revision
  *                                         		String 'filename' -- The file name of the attachment
  *                                          	Binary 'file' -- The binary contents of the file.
  * @exception 'SoapFault' -- The SOAP error, if any
  */
 function get_document_revision($session, $id)
 {
     $GLOBALS['log']->info('Begin: SugarWebServiceImpl->get_document_revision');
     global $sugar_config;
     $error = new SoapError();
     if (!self::$helperObject->checkSessionAndModuleAccess($session, 'invalid_session', '', '', '', $error)) {
         $GLOBALS['log']->info('End: SugarWebServiceImpl->get_document_revision');
         return;
     }
     // if
     require_once 'modules/DocumentRevisions/DocumentRevision.php';
     $dr = new DocumentRevision();
     $dr->retrieve($id);
     if (!empty($dr->filename)) {
         $filename = $sugar_config['upload_dir'] . "/" . $dr->id;
         if (filesize($filename) > 0) {
             $contents = sugar_file_get_contents($filename);
         } else {
             $contents = '';
         }
         $contents = base64_encode($contents);
         $GLOBALS['log']->info('End: SugarWebServiceImpl->get_document_revision');
         return array('document_revision' => array('id' => $dr->id, 'document_name' => $dr->document_name, 'revision' => $dr->revision, 'filename' => $dr->filename, 'file' => $contents));
     } else {
         $error->set_error('no_records');
         self::$helperObject->setFaultObject($error);
         $GLOBALS['log']->info('End: SugarWebServiceImpl->get_document_revision');
     }
 }
开发者ID:rgauss,项目名称:sugarcrm_dev,代码行数:42,代码来源:SugarWebServiceImpl.php

示例12: fill_in_additional_detail_fields

 function fill_in_additional_detail_fields()
 {
     global $theme;
     global $current_language;
     global $timedate;
     global $locale;
     parent::fill_in_additional_detail_fields();
     $mod_strings = return_module_language($current_language, 'Documents');
     $query = "SELECT filename,revision,file_ext FROM document_revisions WHERE id='{$this->document_revision_id}'";
     $result = $this->db->query($query);
     $row = $this->db->fetchByAssoc($result);
     //popuplate filename
     if (isset($row['filename'])) {
         $this->filename = $row['filename'];
     }
     //$this->latest_revision = $row['revision'];
     if (isset($row['revision'])) {
         $this->revision = $row['revision'];
     }
     //populate the file url.
     //image is selected based on the extension name <ext>_icon_inline, extension is stored in document_revisions.
     //if file is not found then default image file will be used.
     global $img_name;
     global $img_name_bare;
     if (!empty($row['file_ext'])) {
         $img_name = SugarThemeRegistry::current()->getImageURL(strtolower($row['file_ext']) . "_image_inline.gif");
         $img_name_bare = strtolower($row['file_ext']) . "_image_inline";
     }
     //set default file name.
     if (!empty($img_name) && file_exists($img_name)) {
         $img_name = $img_name_bare;
     } else {
         $img_name = "def_image_inline";
         //todo change the default image.
     }
     if ($this->ACLAccess('DetailView')) {
         $this->file_url = "<a href='index.php?entryPoint=download&id=" . basename(UploadFile::get_url($this->filename, $this->document_revision_id)) . "&type=Documents' target='_blank'>" . SugarThemeRegistry::current()->getImage($img_name, 'alt="' . $mod_strings['LBL_LIST_VIEW_DOCUMENT'] . '"  border="0"') . "</a>";
         $this->file_url_noimage = basename(UploadFile::get_url($this->filename, $this->document_revision_id));
     } else {
         $this->file_url = "";
         $this->file_url_noimage = "";
     }
     //get last_rev_by user name.
     $query = "SELECT first_name,last_name, document_revisions.date_entered as rev_date FROM users, document_revisions WHERE users.id = document_revisions.created_by and document_revisions.id = '{$this->document_revision_id}'";
     $result = $this->db->query($query, true, "Eror fetching user name: ");
     $row = $this->db->fetchByAssoc($result);
     if (!empty($row)) {
         $this->last_rev_created_name = $locale->getLocaleFormattedName($row['first_name'], $row['last_name']);
         $this->last_rev_create_date = $timedate->to_display_date_time($row['rev_date']);
     }
     global $app_list_strings;
     if (!empty($this->status_id)) {
         //_pp($this->status_id);
         $this->status = $app_list_strings['document_status_dom'][$this->status_id];
     }
     $this->related_doc_name = Document::get_document_name($this->related_doc_id);
     $this->related_doc_rev_number = DocumentRevision::get_document_revision_name($this->related_doc_rev_id);
     $this->save_file = basename($this->file_url_noimage);
 }
开发者ID:aldridged,项目名称:gtg-sugar,代码行数:59,代码来源:Document.php

示例13: getDocumentRevisionNameForDisplay

 /**
  * Returns a filename based off of the logical (Sugar-side) Document name and combined with the revision. Tailor
  * this to needs created by email RFCs, filesystem name conventions, charset conventions etc.
  * @param string revId Revision ID if not latest
  * @return string formatted name
  */
 function getDocumentRevisionNameForDisplay($revId = '')
 {
     global $sugar_config;
     global $current_language;
     $localLabels = return_module_language($current_language, 'DocumentRevisions');
     // prep - get source Document
     $document = new Document();
     // use passed revision ID
     if (!empty($revId)) {
         $tempDoc = new DocumentRevision();
         $tempDoc->retrieve($revId);
     } else {
         $tempDoc = $this;
     }
     // get logical name
     $document->retrieve($tempDoc->document_id);
     $logicalName = $document->document_name;
     // get revision string
     $revString = '';
     if (!empty($tempDoc->revision)) {
         $revString = "-{$localLabels['LBL_REVISION']}_{$tempDoc->revision}";
     }
     // get extension
     $realFilename = $tempDoc->filename;
     $fileExtension_beg = strrpos($realFilename, ".");
     $fileExtension = "";
     if ($fileExtension_beg > 0) {
         $fileExtension = substr($realFilename, $fileExtension_beg + 1);
     }
     //check to see if this is a file with extension located in "badext"
     foreach ($sugar_config['upload_badext'] as $badExt) {
         if (strtolower($fileExtension) == strtolower($badExt)) {
             //if found, then append with .txt to filename and break out of lookup
             //this will make sure that the file goes out with right extension, but is stored
             //as a text in db.
             $fileExtension .= ".txt";
             break;
             // no need to look for more
         }
     }
     $fileExtension = "." . $fileExtension;
     $return = $logicalName . $revString . $fileExtension;
     // apply RFC limitations here
     if (mb_strlen($return) > 1024) {
         // do something if we find a real RFC issue
     }
     return $return;
 }
开发者ID:NALSS,项目名称:SuiteCRM,代码行数:54,代码来源:DocumentRevision.php

示例14: KBDocument

 $kbdoc = new KBDocument();
 $kbdoc->kbdocument_name = $v['name'];
 $kbdoc->status_id = 'Published';
 $kbdoc->team_id = 1;
 $kbdoc->assigned_user_id = 'seed_will_id';
 $kbdoc->active_date = $v['start_date'];
 $kbdoc->exp_date = $v['exp_date'];
 $kbdoc->is_external_article = 1;
 $kbdoc->save();
 $kbdocRevision = new KBDocumentRevision();
 $kbdocRevision->change_log = translate('DEF_CREATE_LOG', 'KBDocuments');
 $kbdocRevision->revision = '1';
 $kbdocRevision->kbdocument_id = $kbdoc->id;
 $kbdocRevision->latest = true;
 $kbdocRevision->save();
 $docRevision = new DocumentRevision();
 $docRevision->filename = $kbdoc->kbdocument_name;
 $docRevision->save();
 $kbdocContent = new KBContent();
 $kbdocContent->document_revision_id = $docRevision->id;
 $kbdocContent->team_id = $kbdoc->team_id;
 $kbdocContent->kbdocument_body = $v['body'];
 $kbdocContent->save();
 $kbdocRevision->kbcontent_id = $kbdocContent->id;
 $kbdocRevision->document_revision_id = $docRevision->id;
 $kbdocRevision->save();
 $kbdoc->kbdocument_revision_id = $kbdocRevision->id;
 $kbdoc->save();
 foreach ($v['tags'] as $tag) {
     $kbdocKBTag = new KBDocumentKBTag();
     $kbdocKBTag->kbtag_id = array_search($tag, $kbtags_hash);
开发者ID:jglaine,项目名称:sugar761-ent,代码行数:31,代码来源:populateSeedData.php

示例15: handleSave


//.........这里部分代码省略.........
         $upload_file = new UploadFile($key);
         if ($upload_file == -1) {
             continue;
         }
         if (isset($_FILES[$key]) && $upload_file->confirm_upload() && preg_match("/^email_attachment/", $key)) {
             $note->filename = $upload_file->get_stored_file_name();
             $note->file = $upload_file;
             $note->name = $mod_strings['LBL_EMAIL_ATTACHMENT'] . ': ' . $note->file->original_file_name;
             if (isset($_REQUEST['embedded' . $i]) && !empty($_REQUEST['embedded' . $i])) {
                 if ($_REQUEST['embedded' . $i] == 'true') {
                     $note->embed_flag = true;
                 } else {
                     $note->embed_flag = false;
                 }
             }
             array_push($focus->attachments, $note);
         }
     }
     $focus->saved_attachments = array();
     foreach ($focus->attachments as $note) {
         if (!empty($note->id)) {
             if (empty($_REQUEST['old_id'])) {
                 // to support duplication of email templates
                 array_push($focus->saved_attachments, $note);
             } else {
                 // we're duplicating a template with attachments
                 // dupe the file, create a new note, assign the note to the new template
                 $newNote = new Note();
                 $newNote->retrieve($note->id);
                 $newNote->id = create_guid();
                 $newNote->parent_id = $focus->id;
                 $newNote->new_with_id = true;
                 $newNote->date_modified = '';
                 $newNote->date_entered = '';
                 $newNoteId = $newNote->save();
                 $dupeFile = new UploadFile('duplicate');
                 $dupeFile->duplicate_file($note->id, $newNoteId, $note->filename);
             }
             continue;
         }
         $note->parent_id = $focus->id;
         $note->parent_type = 'Emails';
         $note->file_mime_type = $note->file->mime_type;
         $note_id = $note->save();
         array_push($focus->saved_attachments, $note);
         $note->id = $note_id;
         $note->file->final_move($note->id);
     }
     ////	END NEW ATTACHMENTS
     ///////////////////////////////////////////////////////////////////////////
     ///////////////////////////////////////////////////////////////////////////
     ////	ATTACHMENTS FROM DOCUMENTS
     $count = '';
     //_pp($_REQUEST);
     //_ppd(count($_REQUEST['document']));
     if (!empty($_REQUEST['document'])) {
         $count = count($_REQUEST['document']);
     } else {
         $count = 10;
     }
     for ($i = 0; $i < $count; $i++) {
         if (isset($_REQUEST['documentId' . $i]) && !empty($_REQUEST['documentId' . $i])) {
             $doc = new Document();
             $docRev = new DocumentRevision();
             $docNote = new Note();
             $noteFile = new UploadFile('none');
             $doc->retrieve($_REQUEST['documentId' . $i]);
             $docRev->retrieve($doc->document_revision_id);
             array_push($focus->saved_attachments, $docRev);
             $docNote->name = $doc->document_name;
             $docNote->filename = $docRev->filename;
             $docNote->description = $doc->description;
             $docNote->parent_id = $focus->id;
             $docNote->parent_type = 'Emails';
             $docNote->file_mime_type = $docRev->file_mime_type;
             $docId = $docNote = $docNote->save();
             $noteFile->duplicate_file($docRev->id, $docId, $docRev->filename);
         }
     }
     ////	END ATTACHMENTS FROM DOCUMENTS
     ///////////////////////////////////////////////////////////////////////////
     ///////////////////////////////////////////////////////////////////////////
     ////	REMOVE ATTACHMENTS
     if (isset($_REQUEST['remove_attachment']) && !empty($_REQUEST['remove_attachment'])) {
         foreach ($_REQUEST['remove_attachment'] as $noteId) {
             $q = 'UPDATE notes SET deleted = 1 WHERE id = \'' . $noteId . '\'';
             $focus->db->query($q);
         }
     }
     ////	END REMOVE ATTACHMENTS
     ///////////////////////////////////////////////////////////////////////////
     ////	END ATTACHMENT HANDLING
     ///////////////////////////////////////////////////////////////////////////////
     if ($redirect) {
         $GLOBALS['log']->debug("Saved record with id of " . $return_id);
         handleRedirect($return_id, "EmailTemplates");
     } else {
         return $focus;
     }
 }
开发者ID:nerdystudmuffin,项目名称:dashlet-subpanels,代码行数:101,代码来源:EmailTemplateFormBase.php


注:本文中的DocumentRevision类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。