'; $params = array( 'type'=>'file', 'name'=>'upload_item', ); $html .= '
'; $html .=utils::buildTag($params,'input'); $html .= '
'; $html .= '
_("上传").' />
'; $html.= ''; echo $html; } function save_upload(){ $image = $this->app->model('image'); $file_id = $image->store($_FILES['upload_item']['tmp_name']); if($_GET['domid']){ $content = $_FILES['upload_item']['name'].' ('.$_FILES['upload_item']['size'].')'; $content .=''; echo ''; }else{ echo 'ok'; } } function save_gpic(){ $image = $this->app->model('image'); $image_id = $image->store($_FILES['Filedata']['tmp_name']); $image_s = storager($image_id,'s'); $image_b = storager($image_id,'b'); $this->pagedata['gimage']['image_id'] = $image_id; echo $this->fetch('goods/detail/img/gimage.html'); } function imglib(){ $image_tags[] = array('tag_id'=>null,'tag_name'=>app::get('desktop')->_('所有图片'),'count'=>'12'); $this->pagedata['tags'] = &$image_tags; ob_start(); $this->_img_list(); $this->pagedata['image_list'] = ob_get_contents(); ob_end_clean(); $this->display('common/imglib.html'); } function _img_list(){ $img = $this->app->model('image'); $html=''; foreach($img->getList('url,s_url,l_url,m_url,image_id,width,height',$filter,0,20) as $item){ $url = $this->app->base_url().($item['s_url']?$item['s_url']:( $item['m_url']?$item['m_url']:( $item['l_url']?$item['l_url']:$item['url'] ) )); if( max($item['width'],$item['height'])>96){ $tag = (($item['width']>$item['height'])?'width=':'height=').'"96"'; }else{ $tag = ''; } $html.=<< EOF; } $pager = $this->ui()->pager(array( 'current'=>2, 'total'=>200, 'link'=>'javascript:'.$this->var_name.'.page(%d)', 'nobutton'=>false, )); echo $html.$pager; } function table(){ echo '
'.app::get('desktop')->_('行数:').'   '.app::get('desktop')->_('列数:').'  
'.app::get('desktop')->_('边框粗细:').'   '.app::get('desktop')->_('对齐标题:').'
'.app::get('desktop')->_('表格宽度:').' '.app::get('desktop')->_('表格宽度:').' '.app::get('desktop')->_('像素').'
'.app::get('desktop')->_('单元格边距').'   '.app::get('desktop')->_('单元格间距').'  
'; } function link(){ $html='
'; $html.=''; $html.='
'.app::get('desktop')->_('文本:').' *
'.app::get('desktop')->_('标题:').'
'.app::get('desktop')->_('当鼠标移至链接上时,会显示链接标题。').'
 _('在新窗口中打开链接').'
'.app::get('desktop')->_('链接到:').' _('链接').'_('商品').'_('页面').'
_('文章').'_('电子邮件').'
'; $html.=" "; echo $html; } function image(){ $__d=app::get('desktop')->_('选择上传图片的方式'); $__e=app::get('desktop')->_('上传图片'); $__f=app::get('desktop')->_('网络图片地址'); $__g=app::get('desktop')->_('使用图库'); $__h=app::get('desktop')->_('从您的电脑中挑选一张图片:'); $__j=app::get('desktop')->_('为图片设置标签'); $__k=app::get('desktop')->_('请输入标签名称:'); $__l=app::get('desktop')->_('请选择标签名称:'); $__z=app::get('desktop')->_('建议为图片设置标签,以方便管理图库'); $__x=app::get('desktop')->_('输入一张网络图片的网址:'); $__v=app::get('desktop')->_('复制网络上的一张图片路径到上面的输入框'); $__n=app::get('desktop')->_('例如:"http://www.example.com/images/pic.jpg"'); $__m=app::get('desktop')->_('从网店图库中挑选一张图片:'); $__q=app::get('desktop')->_('按标签过滤:'); $__W=app::get('desktop')->_('显示所有'); $__r=app::get('desktop')->_('请点击选择要使用的图片'); $__t=app::get('desktop')->_('读取图片库,请稍侯...'); $__y=app::get('desktop')->_('设置图片属性'); $__u=app::get('desktop')->_('位置:'); $__i=app::get('desktop')->_('默认'); $__o=app::get('desktop')->_('上对齐'); $__P=app::get('desktop')->_('底对齐'); $__aa=app::get('desktop')->_('文字环绕'); $__ab=app::get('desktop')->_('左对齐'); $__ac=app::get('desktop')->_('右对齐'); $__ad=app::get('desktop')->_('缩放:'); $__af=app::get('desktop')->_('最宽:'); $__ag=app::get('desktop')->_('最高:'); $__ah=app::get('desktop')->_('(等比例缩放图片的设置.)'); $__aj=app::get('desktop')->_('连接:'); $__ak=app::get('desktop')->_('点击图片链接到原图.'); $__al=app::get('desktop')->_('点击图片链接到指定地址:'); $__aq=app::get('desktop')->_('确定'); $__aw=app::get('desktop')->_('取消'); $___b=app::get('desktop')->_('正在上传...'); $___b1=app::get('desktop')->_('图片上传失败!'); $___b2=app::get('desktop')->_('正在校验这张图片...'); $___b3=app::get('desktop')->_('图片来源不正确!'); $___b4=app::get('desktop')->_('没有要使用的图片源.'); $html=<<

$__d

         

$__h

$__j
$__z.
$__y $__u

$__ad$__af $__ag$__ah

$__aj $__ak $__al
EOF; $html.=<< (function(){ var imgFormDialog=$('imgFrom').getParent('.dialog'); var submitcallback=imgFormDialog.retrieve('callback'); var imgSERI,linkIMG; var insertImage=function(v,i){ var i=i||v; if(submitcallback)return submitcallback(v,imageHtml(v,i),i); window.curEditor.exec.call(window.curEditor,'insertHTML',imageHtml(v,i)); var img=window.curEditor.inc.win.$(imgSERI); img.src=img.get('turl'); img.removeProperties('turl','id'); if(linkIMG){ var a=window.curEditor.inc.win.$(imgSERI+"lnk"); a.href=a.get('turl'); a.removeProperties('turl','id'); } } var imageHtml=function(url,storager){ var img=new Element('img',{src:url}); var h=\$E('input[name=height]','imgOptionsHide').value.toInt(), w=\$E('input[name=width]','imgOptionsHide').value.toInt(), align=\$E('select','imgOptionsHide').getValue(); linkIMG=$$('#imgOptionsHide input[name=linkimg]').filter(function(ipt){return !!ipt.checked})[0]; if(h||w){ img.zoomImg(w,h); } if(align&&align.trim()!==""){img.set('align',align)} if(SHOPBASE&&url.contains(SHOPBASE)){ url=url.replace(SHOPBASE,''); } img.set('src',url); var d; if(!submitcallback){ img.set('id',imgSERI='img'+Native.UID++).set('turl',url); } if(linkIMG){ var imglink = linkIMG.hasClass('mdf')?linkIMG.getNext('input').value.trim():url; var a=new Element('a',{ href:imglink, target:'_blank' }); if(window.gecko&&!submitcallback){a.set('id',imgSERI+"lnk").set('turl',imglink);} d=new Element('div').adopt(a.adopt(img)); }else{ d=new Element('div').adopt(img); } return d.get('html'); } var imgInject=function(Imageurl){ return window.curEditor.exec.bind(window.curEditor)('insertimage',Imageurl); } $('imgFromLocal').addEvent('click',function(){ $('imgViewLocal').setStyle('display',''); $('imgViewNet').setStyle('display','none'); $('imgViewLib').setStyle('display','none'); }); $('imgFromNet').addEvent('click',function(){ $('imgViewNet').setStyle('display',''); $('imgViewLocal').setStyle('display','none'); $('imgViewLib').setStyle('display','none'); }); $('imgFromLib').addEvent('click',function(){ if(!this.initLib){ this.initLib=true; showResLib(); } $('imgViewNet').setStyle('display','none'); $('imgViewLocal').setStyle('display','none'); $('imgViewLib').setStyle('display',''); }); var upForm=$('imgFromSomeWhere'); var upView=\$E('.upload_view',upForm); upForm.addEvent('submit',function(){ upView.setHTML('$___b'); }); window.uploadCallback = function(value){ if(!value)return upView.empty(); if(!value.url)return upView.empty().setHTML("
"+value+"
"); new Asset.image(value.url,{onload:function(){ insertImage(value.url,value.ident); },onerror:function(){ upView.setText($___b1) }}); }; $('imgViewUrl').addEvent('change',function(){ var ivup=$('imgViewUrlPreivew'); var imgsrc=$('imgViewUrl').value; ivup.setText($___b2); new Asset.image(imgsrc,{onload:function(img){ if(ivup) ivup.empty().adopt(img.zoomImg(200,200)); },onerror:function(){ ivup.setText($___b3); }}); }); $('mce_dlg_ok').addEvent('click',function(e){ e.stop(); if($('imgFromLocal').checked){ $('imgFromSomeWhere').submit(); }else if($('imgFromNet').checked){ if(img=$('imgViewUrlPreivew').getElement('img')){ insertImage(img.src,img.get('ident')); } }else{ if(!\$E('.image-item-selected','imgViewLibBox'))return alert($___b4); var img=\$E('.image-item-selected','imgViewLibBox').getElement('img'); if(!img)return alert(a$___b4); insertImage(img.src,img.get('ident')); } }); })(); function showResLib(tag_id,page_id){ tag_id = tag_id?tag_id:0; page_id = page_id?page_id:1; W.page('index.php?ctl=editor&act=gallery&p[0]={0}&p[1]={1}'.format(tag_id,page_id),{method:'get',update:$('imgViewLibBox')}); } EOF; echo $html; } function find($type,$keywords){ if(!$keywords){ echo app::get('desktop')->_('请输入关键字。'); return; } if($type=='goods'){ $mod = app::get('b2c')->model('goods'); foreach($mod->getList('goods_id,name',array('name'=>$keywords)) as $k=>$r){ $list[] = array( 'url'=>app::get('site')->router()->gen_url(array('app'=>'b2c','ctl'=>'site_product','full'=>1,'act'=>'index','arg'=>$r['goods_id'])) ,'label'=>$r['name']); } $this->pagedata['list'] = $list; }elseif($type=='article'){ $mod = app::get('content')->model('article_indexs'); foreach($mod->getList('article_id,title',array('title'=>$keywords)) as $k=>$r){ var_dump($r); $list[] = array( 'url'=>app::get('site')->router()->gen_url(array('app'=>'content','ctl'=>'site_article','full'=>1,'act'=>'index','arg'=>$r['article_id'] ) ), 'label'=>$r['title']); } $this->pagedata['list'] = $list; } if(count($list)>0){ $this->pagedata['type'] = $type; $this->display('editor/dlg_result.html'); }else{ echo app::get('desktop')->_('没有符合条件"')."".$keywords."".app::get('desktop')->_('"的记录。'); } } function lista(){ $_filter = unserialize($_GET['filter']); foreach($_POST as $k=>$v){ if( ( $k[0]!='_' && $v ) || $v === false ){ if($_POST['_'.$k.'_search']){ $filter['_'.$k.'_search']=$_POST['_'.$k.'_search']; } $filter[$k]=$v; } } $filter = array_merge((array)$filter,(array)$_filter); $this->_select_obj($filter); $this->display('editor/object_items.html'); } function object_rows(){ if($_POST['data']){ if($_POST['app_id']) $app = app::get($_POST['app_id']); else $app = $this->app; $obj = $app->model($_POST['object']); $schema = $obj->get_schema(); $textColumn = $_POST['textcol']?$_POST['textcol']:$schema['textColumn']; $textColumn = explode(',',$textColumn); $_textcol = $textColumn; $textColumn = $textColumn[0]; $keycol = $_POST['key']?$_POST['key']:$schema['idColumn']; //统一做掉了。 if( $_POST['data'][0]==='_ALL_' ) { $filter = !empty($obj->__all_filter) ? $obj->__all_filter : array(); if(!empty($_POST['filter']['advance'])) { $filter = array(); $filterStrArr = explode(',', $_POST['filter']['advance']); foreach ($filterStrArr as $fsa) { $tmpArr = explode('=', $fsa); $filter[$tmpArr[0]] = $tmpArr[1]; } } $arr_list = $obj->getList( $keycol,$filter ); $_POST['data'] = array_map('current',$arr_list); } $items = $obj->getList($keycol . ',' . implode(',', $_textcol), array($keycol=>$_POST['data'])); $name = $items[0][$textColumn]; if($_POST['type']=='radio'){ if(strpos($textColumn,'@')!==false){ list($field,$table,$app_) = explode('@',$textColumn); if($app_){ $app = app::get($app_); } $mdl = $app->model($table); $schema = $mdl->get_schema(); $row = $mdl->getList('*',array($schema['idColumn']=>$items[0][$keycol])); $name = $row[0][$field]; } echo json_encode(array('id'=>$items[0][$keycol],'name'=>$name)); exit; } $this->pagedata['_input'] = array('items'=>$items, 'idcol' => $schema['idColumn'], 'keycol' => $keycol, 'textcol' => $textColumn, '_textcol' => $_textcol, 'name'=>$_POST['name'] ); $this->pagedata['_input']['view_app'] = 'desktop'; $this->pagedata['_input']['view'] = $_POST['view']; if($_POST['view_app']){ $this->pagedata['_input']['view_app'] = $_POST['view_app']; } if(strpos($_POST['view'],':')!==false){ list($view_app,$view) = explode(':',$_POST['view']); $this->pagedata['_input']['view_app'] = $view_app; $this->pagedata['_input']['view'] = $view; } $this->display('finder/input-row.html'); } } function finder_common(){ $params = array( 'title'=>app::get('desktop')->_('列表'), 'use_buildin_new_dialog' => false, 'use_buildin_set_tag'=>false, 'use_buildin_recycle'=>false, 'use_buildin_export'=>false, 'use_buildin_import'=>false, 'use_buildin_filter'=>true, 'use_buildin_setcol'=>true, 'use_buildin_refresh'=>true, 'finder_aliasname'=>'finder_common', 'alertpage_finder'=>true, 'use_buildin_tagedit'=>false, ); if(substr($_GET['name'],0,7) == 'adjunct') $params['orderBy'] = 'goods_id desc'; $this->finder($_GET['app_id'].'_mdl_'.$_GET['object'],$params); } function selectobj(){ $filter = $_GET['filter']; $_GET['_finder']['finder_id'] = $_GET['obj_id'] = substr(md5($_GET['object']),0,6); $this->_select_obj($filter); if($this->pagedata['data']){ $this->pagedata['filter'] = true; } $render = kernel::single('desktop_finder_builder_filter_render'); ob_start(); $filterbody = $render->main($_GET['object'],app::get($_GET['app_id'])); $filterbody = ob_get_clean(); $this->pagedata['filterbody'] = $filterbody; $this->display('editor/object_selector.html'); } function _select_obj($filter){ if(strpos($_GET['object'],'@')!==false){ $tmp = explode('@',$_GET['object']); $app = app::get($tmp[1]); $object = $tmp[0]; }else{ $object = $_GET['object']; $app = app::get($_GET['app_id']); } if($_GET['cols']){ list($textColumn) = explode(',',$_GET['cols']); $select_cols = ','.$_GET['cols']; } $o = $app->model($object); $limit = 10; if(!$_GET['page']){ $_GET['page'] = 1; } $start = ($_GET['page']-1) * $limit; $this->dbschema = $o->get_schema(); $this->pagedata['data'] = $this->dbschema['columns']; if($_COOKIE['LOCALGOODS']){ $this->pagedata['items'] = $o->getBindList($start,$limit,$count,$filter); }else{ $this->pagedata['items'] = $o->getList($this->dbschema['idColumn'].','.$this->dbschema['textColumn'].$select_cols,$filter,$start,$limit); $count = $o->count($filter); } $this->pagedata['textColumn'] = $textColumn?$textColumn:$this->dbschema['textColumn']; $this->pagedata['idColumn'] = $this->dbschema['idColumn']; $this->pagedata['ipt_type'] = $_GET['select']=='checkbox'?'checkbox':'radio'; $this->pagedata['pager'] = array( 'current'=> $_GET['page'], 'total'=> ceil($count/$limit), 'link'=> 'javascript:update_'.$_GET['obj_id'].'(_PPP_)', 'token'=> '_PPP_' ); $this->_filter(); } function _filter(){ if(strpos($_GET['object'],'@')!==false){ $tmp = explode('@',$_GET['object']); $app = app::get($tmp[1]); $object = $tmp[0]; }else{ $object = $_GET['object']; $app = app::get($_GET['app_id']); } $obj = $app->model($object); $from = 'from'; $this->dbschema = $obj->get_schema(); $data = $this->dbschema['columns']; $filter_items = array(); include(APP_DIR."/base/datatypes.php"); foreach($data as $k=>$v){ if($v['filtertype']){ $data[$k]['searchparams'] = $datatypes[$v['filtertype']]['searchparams']; if($v['filtertype']=='normal'){ $data[$k]['searchparams'] = $datatypes['email']['searchparams']; } if(is_array($v['type'])){ $data[$k]['options'] = $v['type']; $data[$k]['type'] = 'select'; } if($v['filtertype']=='custom'){ $data[$k]['searchparams'] = $v['filtercustom']; } $filter_items[$k] = $data[$k]; } } $this->pagedata['data'] = $filter_items; } }