发新话题
打印

[新鲜发布] PAILA V0.1.7大头贴网站程序正式发布!

主题管理操作: Yuan 于 2008-1-21 11:28 置顶

PAILA V0.1.7大头贴网站程序正式发布!

查看数: 1207 回复数: 9 最新回复

与好友共享:

内容简介:点击关闭


  V0.1.7 开发演示服务 ...



12月预定发布的PAILA! V0.1.7是一个全新的版本。大头贴部分简化成为底层平台,用户可以在这个基础上构建自己的图片/视频/交友类网站。为了方便部分对程序修改感兴趣的用户,V0.1.7的开发手册将在论坛进行不定期更新,保证与最新进度匹配。

V0.1.7 开发演示服务器服务器关机
V0.1.7 预定初始化安装模块:大头贴基础平台、个人日志模块、视频(FLV)发布系统、MTV模块。


一、基本结构

1.目录说明
include - 程序公用包含文件,如函数库、数据驱动等的保存目录
function - 全站Javascript驱动程序保存目录
modules - 核心模块包,内部以文件夹的形式保存模块,每个文件夹为一个独立的模块
admin - 后台管理
UserData - 用户数据专用
templates - 系统模版(HTML)
templates/system - 后台管理等模版(不展示给普通用户的)

2.文件说明(./表示程序根目录)
./index.php - 全站接入点
./admin.php - 全站管理接入点
./_home.php - 首页显示模块内容配置文件

./include/config.php - 配置文件
./include/global.php - 全局包含文件,在任何文件运行前,都会包含此文件。SESSION初始化、分页初始化、欢迎信息等均在该文件内

二、模块概要

1.模块结构
每个模块分为驱动程序和显示模版。驱动程序放在modules/下以模块名命名的文件夹中。而显示模版则放置的templates下的风格文件夹中,命名习惯为“模块名_驱动名.html”,比如camera模块(官方大头贴模块)中输入大头贴信息的驱动为input_info.php,那么对应的显示模版则为camera_input_info.html

2.文件约定
模块内专用的函数、参数设置等均写在模块内部,以防止和主程序引起冲突。配置文件约定命名为_config.php,函数文件命名为_function.php。另外,一般会编写一个_global.php来做包含和公共数据处理。在_global.php中需要将以上两个文件包含,代码

require_once("modules/{$module}/_config.php");
require_once("modules/{$module}/_function.php");

而在每个驱动程序的开始,只要包含_global.php就可以了,这样一些统一处理的程序都可以写到_global.php里,则在整个模块均可生效(比如您要开发一个VIP会员模块,就可以在_global.php中增加会员级别判断,低等级的用户不能进入)

模块的数据处理程序,约定为submit.php,本模块所有的数据都提交到改页处理,然后再返回操作结果。您可以在您的表单中增加mode变量,来标识处理类型

<form action='index.php?module=camera&action=submit' method='post'>
<input type='hidden' name='mode' value='new_photo'/>

以上表单在提交的时候,即可在submit中通过switch语句,查找$_POST[’mode’]为new_photo的程序段来处理数据。

3.目录约定

模块的AJAX驱动,建议放到ajax目录下,对进行数据提交。而该模块对首页的调用文件,则放置在_home目录下

三、模块开发与配置

四、全站AJAX

为了方便用户进行开发,DIGG功能、评论功能、评分功能全部以公共AJAX的形式调用,用户只需要提供相应接口后,把对应文件包含进来即可。

1. DIGG功能

必要HTML对象:

任意,比如您想让某按钮实现DIGG功能,则只要给改按钮写如onclick属性为settop()即可,例如

<input type='button' value='顶它一下' onclick='settop()'/>

实现变量:

var module='{$module}';
var digg_ok='{$lang['video']['video_settop_ok']}';
var digg_mode="settop";

其中module是当前模块名,系统会自动生成,digg_ok为用户成功操作后的提示(上例中是显示video模块语言包中video_settop_ok这个语句),如果不成功,则会弹出对应的错误信息。digg_mode是对应submit.php中的处理标识。

实现以上两个变量后,只要在后面写入以下代码:

<script language='javascript' type='text/javascript' src='function/js/digg.js'></script>

而相关的处理程序则写在该模块的submit.php中对应mode块完善即可。

2.评分功能

必要HTML对象

<span style='display:block;float:left;width:auto;margin-top:5px'>
    <img id='star_0' class='rating_star' onMouseOver='showStar(this);' onClick='startRating(this);' src='{$template}/images/star.gif'>
    <img id='star_1' class='rating_star' onMouseOver='showStar(this);' onClick='startRating(this);' src='{$template}/images/star.gif'>
    <img id='star_2' class='rating_star' onMouseOver='showStar(this);' onClick='startRating(this);' src='{$template}/images/star.gif'>
    <img id='star_3' class='rating_star' onMouseOver='showStar(this);' onClick='startRating(this);' src='{$template}/images/star.gif'>
    <img id='star_4' class='rating_star' onMouseOver='showStar(this);' onClick='startRating(this);' src='{$template}/images/star.gif'>
</span>
<span id='bt_allow_rating' style='{$want_rating_display}float:left;width:auto;margin-left:10px;cursor:pointer' onclick='allowRating()'>
    我要评分
</span>

实现变量:

var targetid="{$aid}";
var ctype="{$CTYPE}";
var alert_login='{$lang['camera']['album_comments_alert_login']}';
var template='{$template}';
var rating_ok='{$lang['camera']['album_rating_ok']}';

其中targetid为评论的对象id,比如评论某个相册,那么这里就显示相册的id。ctype为评论种类标识,目前系统已使用的标识本文结尾有说明。alert_login是用户在没有登录的情况下点了“我要评分”所给出的提示信息,template为系统模版路径,无须修改。rating_ok是评分成功后的提示信息。

实现以上变量后,只需要写入以下代码即可实现评分和自动读取评分功能

<script language='javascript' type='text/javascript' src='function/js/rating_and_comments.js'></script>

3.评论功能

必要HTML对象

<!-- 评论发表 -->
<div style='display:block' id="send_comments_box">
<p class='window_left'>
<p class='window_top' style="width:670px;">
    <span class="left_title">
        <span class="left_title_main">{$lang['video']['video_comments_title']}</span>
    </span>
</p>
<p class='window_right'>
<p class='window_body' style="width:680px; height:auto;text-align:center">
   
    <textarea id='comments_input' name='say' style="width:650px;height:100px;margin:10px 0 0 10px;border:solid 1px #DDD"></textarea>
   
    <input type='button'  class='mybutton' value='{$lang['video']['video_comments_send']}' style="margin-top:10px;width:120px"/>
</p>
<p class='window_left_b'>
<p class='window_bottom' style="width:670px;">
<p class='window_right_b'>
<div class='div_clear'></div>
</div>
  
<!-- 评论列表 -->
<p class='window_left'>
<p class='window_top' style="width:670px;">
    <span class="left_title">
        <span class="left_title_main">{$lang['video']['video_comments_list']}</span>
    </span>
</p>
<p class='window_right'>
<p class='window_body' style="width:680px; height:auto;text-align:center">
    <em id='comments_box'>
    Loading...
    </em>
</p>
<p class='window_left_b'>
<p class='window_bottom' style="width:670px;">
<p class='window_right_b'>
  
<div class='div_clear'></div>
  
<div id="pageinfo">
  
</div>

评分功能一般和评论功能一起出现,只需要在评分的变量基础上增加以下变量即可:

var alert_input='{$lang['camera']['album_comments_alert_input']}';

alert_input是要求用户输入评论内容的提示信息。
你现在是游客:请登录或者注册

搜索更多相关主题的帖子:

Rojo google reader netvibes 哪吒 抓虾 my yahoo Feedsky FEED 订阅
作者: Yuan 主题: 黑底白字水印代码. 时间: 2009-1-8 19:24
作者: Yuan 主题: CSS小技巧集合 时间: 2009-1-8 17:00
作者: Yuan 主题: PHP生成图片缩略图 时间: 2009-1-8 16:14
作者: Yuan 主题: 通用型CSS文件代码. 时间: 2009-1-8 15:40
作者: Yuan 主题: TabIndex的用途 时间: 2009-1-8 14:11

TOP

最新网站秀: (还等什么?马上加入我们吧! 快速加入

 华中师范大  盱眙吧1  南邮风云   夜族网游公  在日中华情  生活大家坛  智商250  塞班智能手  论剑社区  潮州论坛  灵下异度  封开家园 
用户正在观看: 热门标签
美女人体艺术绝
杀破狼
樱之炫视频教程——五
雨儿短裙热舞
情圣【国语中字】DV
作品源自网络,请支持正版


电视栏目整体包装模板


栏目包装 栏目包装


北京max栏目包装m


34期3ds max
大头帖??什么来的.

TOP

支持

TOP

SF,终于等到了

TOP

终于等到了

TOP

       38岁的我,老家是山东的,出生在新疆,大学毕业后,我有幸考上了公务员,分配在**乡政府工作,那年我才23岁。出生在穷困家庭的我,真正成为了一只“从农村里飞出的金凤凰”。家人、亲戚、朋友都以我为豪。
      我也十分珍惜这来之不易的一切,平时 限制字节输出

TOP

发新话题