2013-08-14 3 views
2

Я пытаюсь добавить документ к объекту Sugar (клиент) из скрипта PHP. У меня есть каталог файлов (на том же сервере, где установлен sugarCRM), и xls с идентификатором и идентификатором сахара objec ID). PHP Script должен добавить правильное имя файла для конкретного объекта сахара (идентифицированного с идентификатором). Я могу читать XLS, это не проблема, я могу также получить экземпляр объекта сахара (получить по ID), но я не знаю, как я могу назначить файл для сахара. Я пытался с Document и upload_file.php, но, похоже, они могут быть загружены с одним файлом с html Form.sugarCRM добавить документ из сценария

Как я могу автоматизировать эту задачу, скопировать файлы с правильным именем файла в cache\upload и создать документ, связанный с моим клиентом из PHP Script? Я предпочел бы не использовать SOAP, если это не necesarry ...


Edit:

Я был в состоянии сохранить документ и пересмотра, но что-то не так, и файл не может быть загружен из браузера ("неправильный вызов в файл")

Мой код до сих пор:

require_once('include/upload_file.php'); 

    $upload_file = new UploadFile('uploadfile'); 
    $document->filename = 'robots.txt'; 
    $document->document_name = 'robots.txt'; 

    $document->save(); 
    $contents = file_get_contents ($document->filename); 

    $revision = new DocumentRevision; 
    $revision->document_id = $document->id; 
    $revision->file = base64_encode($contents); 
    $revision->filename = $document->filename; 
    $revision->revision = 1; 
    $revision->doc_type = 'Sugar'; 
    $revision->file_mime_type = 'text/plain'; 

    $revision->save(); 

    $document->revision_id = $revision->id; 
    $document->save(); 

    $destination = clean_path($upload_file->get_upload_path($document->id)); 

    $fp = sugar_fopen($destination, 'wb'); 

    if(!fwrite($fp, $contents)){ 
     die("ERROR: can't save file to $destination"); 
    } 

    fclose($fp); 

ответ

1

РАБОТУ! Я надеюсь, что это поможет кому-то Я исправил 3 строки из кода:

//$document->revision_id = $revision->id; 
    //$document->save(); 

    $destination = clean_path($upload_file->get_upload_path($revision->id)); 
Смежные вопросы