phpcms 同步到发布站点,发布站点到远程FTP根目录

详细描述见 http://bbs.phpcms.cn/thread-283350-1-1.html  我这里只贴修改记录

第一步:修改 phpcms/modules/admin/templates/site_add.tpl.php 找到

  1. <legend><?php echo L('release_point_configuration')?></legend>
复制代码


大约在64行的位置
将他下面的整个table 替换成如下代码

  1. <table width="100%" class="table_form">
  2. <tr>
  3. <th width="80" valign="top"><?php echo L('release_point')?>:</th>
  4. <td> <select name="release_point[]" size="3" id="release_point" multiple title="<?php echo L('ctrl_more_selected')?>" οnchange="if($(this).val() > 0){$('#ftp_top').show();}else{$('#ftp_top').hide();}">
  5. <option value='' selected><?php echo L('not_use_the_publishers_some')?></option>
  6. <?php if(is_array($release_point_list) && !empty($release_point_list)): foreach($release_point_list as $v):?>
  7. <option value="<?php echo $v['id']?>"><?php echo $v['name']?></option>
  8. <?php endforeach;endif;?>
  9. </select> </td>

  10. </tr>
  11. <tr id="ftp_top" style="display:none" >
  12. <th width="120" valign="top">发布到FTP根目录:</th>
  13. <td><input type="radio" name="setting[ftp_top]" value="1" /> 是 <input type="radio" name="setting[ftp_top]" value="0" checked /> 否 <br />注:如果选择是 那么远程FTP将不会包含站点目录,适用于不能子目录绑定的FTP!!</td>
  14. </tr>

  15. </table>
复制代码


第二步 :修改 phpcms/modules/admin/templates/site_edit.tpl.php 找到

  1. <legend><?php echo L('release_point_configuration')?></legend>
复制代码


大约在61行的位置
将他下面的整个table 替换成如下代码
  1. <table width="100%" class="table_form">
  2. <tr>
  3. <th width="80" valign="top"><?php echo L('release_point')?>:</th>
  4. <td> <select name="release_point[]" size="3" id="release_point" multiple title="<?php echo L('ctrl_more_selected')?>" οnchange="if($(this).val() > 0){$('#ftp_top').show();}else{$('#ftp_top').hide();}">
  5. <option value='' <?php if(!$data['release_point']) echo 'selected';?>><?php echo L('not_use_the_publishers_some')?></option>
  6. <?php if(is_array($release_point_list) && !empty($release_point_list)): foreach($release_point_list as $v):?>
  7. <option value="<?php echo $v['id']?>"<?php if(in_array($v['id'], explode(',',$data['release_point']))){echo ' selected';}?>><?php echo $v['name']?></option>
  8. <?php endforeach;endif;?>
  9. </select></td>
  10. </tr>
  11. <tr id="ftp_top" <?php echo $data['release_point'] ? '' : 'style="display:none"'?> >
  12. <th width="120" valign="top">发布到FTP根目录:</th>
  13. <td><input type="radio" name="setting[ftp_top]" value="1" <?php echo $setting['ftp_top'] ? 'checked' : '';?> /> 是 <input type="radio" name="setting[ftp_top]" value="0" <?php echo $setting['ftp_top'] ? '' : 'checked';?> /> 否 <br />注:如果选择是 那么远程FTP将不会包含站点目录,适用于不能子目录绑定的FTP!!</td>
  14. </tr>

  15. </table>
复制代码


第三步: 修改  phpcms/modules/release/index.php

   找到
  1. foreach ($data as $v) {
复制代码

将整个foreach循环改成如下

  1. if(strpos($this->site['setting'], "'ftp_top' => '1'"))$ftp_top = pc_base::load_config('system','html_root');
  2.    foreach ($data as $v) {
  3.     $status = -1;
  4.     $n_path = isset($ftp_top) ? preg_replace(array('|^'.$ftp_top.'/'.$this->site['dirname'].'/|iUs', '|^/'.$this->site['dirname'].'/|iUs'), '', $v['path']) : $v['path'];
  5.     switch ($v['type']) {
  6.      case 'del':
  7.       if ($ftps->f_delete($release_point['path'].$n_path)) {
  8.        $status = 1;
  9.       }
  10.       break;
  11.      case 'add':
  12.      case 'edit':
  13.       if ($ftps->put($release_point['path'].$n_path, PHPCMS_PATH.$v['path'])) {
  14.        $status = 1;
  15.       }
  16.       break;
  17.     }
  18.     $queue->update(array('status'.($id+1)=>$status, 'times'=>SYS_TIME), array('id'=>$v['id']));
  19.    }
复制代码


好了代码修改完成 去配置一下站点吧 然后同步就OK了
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值