public static function validateDocShare(&$docshare)
 {
     $definition = array('name' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'desc' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Active' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'));
     $form = new ezcInputForm(INPUT_POST, $definition);
     $Errors = array();
     if (!$form->hasValidData('name') || $form->name == '') {
         $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('faq/view', 'Please enter name!');
     } else {
         $docshare->name = $form->name;
     }
     if ($form->hasValidData('desc') && $form->desc != '') {
         $docshare->desc = $form->desc;
     } else {
         $docshare->desc = '';
     }
     if ($form->hasValidData('Active') && $form->Active == true) {
         $docshare->active = 1;
     } else {
         $docshare->active = 0;
     }
     if (empty($Errors)) {
         if (isset($_FILES["qqfile"]) && is_uploaded_file($_FILES["qqfile"]["tmp_name"]) && $_FILES["qqfile"]["error"] == 0) {
             $objectData = erLhcoreClassModelChatConfig::fetch('doc_sharer');
             $dataDocSharer = (array) $objectData->data;
             $allowedExtensions = explode(',', $dataDocSharer['supported_extension']);
             // max file size in bytes
             $sizeLimit = $dataDocSharer['max_file_size'] * 1024 * 1024;
             $uploader = new qqFileUploader($allowedExtensions, $sizeLimit);
             $result = $uploader->handleUpload('var/tmpfiles/');
             if (isset($result['success']) && $result['success'] == 'true') {
                 $result['filepath'] = $uploader->getFilePath();
                 $result['filename'] = $uploader->getFileName();
                 $result['filename_user'] = $uploader->getUserFileName();
                 $docshare->type = $uploader->getMimeType();
                 if ($docshare->id == null) {
                     $docshare->saveThis();
                 }
                 $docshare->removeFile();
                 $photoDir = 'var/storagedocshare/' . date('Y') . 'y/' . date('m') . '/' . date('d') . '/' . $docshare->id;
                 $photoDirPhoto = 'storagedocshare/' . date('Y') . 'y/' . date('m') . '/' . date('d') . '/' . $docshare->id . '/';
                 erLhcoreClassFileUpload::mkdirRecursive($photoDir);
                 $fileName = sha1(sha1($result['filepath']) . time()) . $uploader->getFileExtension();
                 $photoDir .= '/' . $fileName;
                 rename($result['filepath'], $photoDir);
                 $docshare->file_name = $fileName;
                 $docshare->file_path = $photoDirPhoto;
                 $docshare->file_name_upload = $result['filename_user'];
                 $docshare->file_size = $uploader->getFileSize();
                 $docshare->converted = 0;
                 $docshare->pdf_to_img_converted = 0;
                 $docshare->pages_pdf_count = 0;
                 $docshare->ext = $uploader->getFileExtension();
                 $docshare->saveThis();
             } elseif ($docshare->id == null) {
                 $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('faq/view', $result['error']);
             }
         } elseif ($docshare->id == null) {
             $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('faq/view', 'Please choose a file');
         }
     }
     return $Errors;
 }