public static function get_file_leightbox($row, & $view_link = '') { static $th; if(!isset($th)) $th = Base_ThemeCommon::init_smarty(); if($row['original']==='') return ''; $links = array(); $lid = 'get_file_'.md5(serialize($row)); if(isset($_GET['save_google_docs']) && $_GET['save_google_docs']==$lid) { self::save_google_docs($row['id']); } if(isset($_GET['discard_google_docs']) && $_GET['discard_google_docs']==$lid) { self::discard_google_docs($row['id']); } $close_leightbox_js = 'leightbox_deactivate(\''.$lid.'\');'; if (Variable::get('utils_attachments_google_user',false) && preg_match('/\.(xlsx?|docx?|txt|odt|ods|csv)$/i',$row['original'])) { $label = __('Open with Google Docs'); $label = explode(' ', $label); $mid = floor(count($label) / 2); $label = implode(' ', array_slice($label, 0, $mid)).' '.implode(' ', array_slice($label, $mid)); $script = 'get_google_docs'; $onclick = '$(\'attachment_save_options_'.$row['id'].'\').style.display=\'\';$(\'attachment_download_options_'.$row['id'].'\').hide();'; $th->assign('save_options_id','attachment_save_options_'.$row['id']); $links['save'] = '<a href="javascript:void(0);" onclick="'.$close_leightbox_js.Module::create_href_js(array('save_google_docs'=>$lid)).'">'.__('Save Changes').'</a><br>'; $links['discard'] ='<a href="javascript:void(0);" onclick="'.$close_leightbox_js.Module::create_href_js(array('discard_google_docs'=>$lid)).'">'.__('Discard Changes').'</a><br>'; } else { $label = __('View'); $th->assign('save_options_id',''); $script = 'get'; $onclick = $close_leightbox_js; } $th->assign('download_options_id','attachment_download_options_'.$row['id']); $view_link = 'modules/Utils/Attachment/'.$script.'.php?'.http_build_query(array('id'=>$row['id'],'cid'=>CID,'view'=>1)); $links['view'] = '<a href="'.$view_link.'" target="_blank" onClick="'.$onclick.'">'.$label.'</a><br>'; $links['download'] = '<a href="modules/Utils/Attachment/get.php?'.http_build_query(array('id'=>$row['id'],'cid'=>CID)).'" onClick="leightbox_deactivate(\''.$lid.'\')">'.__('Download').'</a><br>'; load_js('modules/Utils/Attachment/remote.js'); if(!$row['crypted']) { $links['link'] = '<a href="javascript:void(0)" onClick="utils_attachment_get_link('.$row['id'].', '.CID.',\'get link\');leightbox_deactivate(\''.$lid.'\')">'.__('Get link').'</a><br>'; } $th->assign('filename',$row['original']); $f_filename = DATA_DIR.'/Utils_Attachment/'.$row['aid'].'/'.$row['id']; if(!file_exists($f_filename)) return 'missing file: '.$f_filename; $th->assign('file_size',__('File size: %s',array(filesize_hr($f_filename)))); $th->assign('labels',array( 'filename'=>__('Filename'), 'file_size'=>__('File size') )); foreach($links as $key=>&$l) { $th->assign($key,$l); $l = Base_ThemeCommon::parse_links($key, $l); } $th->assign('__link',$links); $custom_getters = array(); if(!$row['crypted']) { $getters = ModuleManager::call_common_methods('attachment_getters'); foreach($getters as $mod=>$arr) { if (is_array($arr)) foreach($arr as $caption=>$func) { $cus_id = md5($mod.$caption.serialize($func)); if(isset($_GET['utils_attachment_custom_getter']) && $_GET['utils_attachment_custom_getter']==$cus_id) call_user_func_array(array($mod.'Common',$func['func']),array($f_filename,$row['original'],$row['id'])); $custom_getters[] = array('open'=>'<a href="javascript:void(0)" onClick="'.Epesi::escapeJS(Module::create_href_js(array('utils_attachment_custom_getter'=>$cus_id)),true,false).';leightbox_deactivate(\''.$lid.'\')">','close'=>'</a>','text'=>$caption,'icon'=>$func['icon']); } } } $th->assign('custom_getters',$custom_getters); ob_start(); Base_ThemeCommon::display_smarty($th,'Utils_Attachment','download'); $c = ob_get_clean(); Libs_LeightboxCommon::display($lid,$c,__('Attachment')); return Libs_LeightboxCommon::get_open_href($lid); }
public static function get_file_leightbox($row, &$view_link = '') { static $th; if (!isset($th)) { $th = Base_ThemeCommon::init_smarty(); } if ($row['original'] === '') { return ''; } $links = array(); $lid = 'get_file_' . md5(serialize($row)); $close_leightbox_js = 'leightbox_deactivate(\'' . $lid . '\');'; $label = __('View'); $th->assign('save_options_id', ''); $script = 'get'; $onclick = $close_leightbox_js; $th->assign('download_options_id', 'attachment_download_options_' . $row['id']); $view_link = 'modules/Utils/Attachment/' . $script . '.php?' . http_build_query(array('id' => $row['id'], 'cid' => CID, 'view' => 1)); $links['view'] = '<a href="' . $view_link . '" target="_blank" onClick="' . $onclick . '">' . $label . '</a><br>'; $links['download'] = '<a href="modules/Utils/Attachment/get.php?' . http_build_query(array('id' => $row['id'], 'cid' => CID)) . '" onClick="leightbox_deactivate(\'' . $lid . '\')">' . __('Download') . '</a><br>'; load_js('modules/Utils/Attachment/remote.js'); if (!$row['crypted']) { $links['link'] = '<a href="javascript:void(0)" onClick="utils_attachment_get_link(' . $row['id'] . ', ' . CID . ',\'get link\');leightbox_deactivate(\'' . $lid . '\')">' . __('Get link') . '</a><br>'; } $th->assign('filename', $row['original']); $meta = Utils_FileStorageCommon::meta($row['filestorage_id']); $f_filename = $meta['file']; if (!file_exists($f_filename)) { return 'missing file: ' . $f_filename; } $th->assign('file_size', __('File size: %s', array(filesize_hr($f_filename)))); $th->assign('labels', array('filename' => __('Filename'), 'file_size' => __('File size'))); foreach ($links as $key => &$l) { $th->assign($key, $l); $l = Base_ThemeCommon::parse_links($key, $l); } $th->assign('__link', $links); $custom_getters = array(); if (!$row['crypted']) { $getters = ModuleManager::call_common_methods('attachment_getters'); foreach ($getters as $mod => $arr) { if (is_array($arr)) { foreach ($arr as $caption => $func) { $cus_id = md5($mod . $caption . serialize($func)); if (isset($_GET['utils_attachment_custom_getter']) && $_GET['utils_attachment_custom_getter'] == $cus_id) { call_user_func_array(array($mod . 'Common', $func['func']), array($f_filename, $row['original'], $row['id'])); } $custom_getters[] = array('open' => '<a href="javascript:void(0)" onClick="' . Epesi::escapeJS(Module::create_href_js(array('utils_attachment_custom_getter' => $cus_id)), true, false) . ';leightbox_deactivate(\'' . $lid . '\')">', 'close' => '</a>', 'text' => $caption, 'icon' => $func['icon']); } } } } $th->assign('custom_getters', $custom_getters); ob_start(); Base_ThemeCommon::display_smarty($th, 'Utils_Attachment', 'download'); $c = ob_get_clean(); Libs_LeightboxCommon::display($lid, $c, __('Attachment')); return Libs_LeightboxCommon::get_open_href($lid); }