`
sony-soft
  • 浏览: 1105454 次
文章分类
社区版块
存档分类
最新评论

PHPCMS模块分析之广告模块详解----北冥神功破解法(二)

 
阅读更多
<?php  

//==================================================================

//=================include/common.inc.php===========================

//==================================================================



//dirname(__FILE__),返回路径%root%/ads/include

//substr(dirname("file"),0,-8);取得文件的上一级目录,返回%root%/ads,因为/include为8个字符



//定义常量MOD_ROOT,指向模块根目录

define('MOD_ROOT', substr(dirname(__FILE__), 0, -8));

//定义变量$mod为模块根目录名称

$mod = 'ads';

//引入文件/include/common.inc.php

require substr(MOD_ROOT, 0, -strlen($mod)).'include/common.inc.php';



//定义变量数组,存放文件头信息,爬虫的食物:标题、关键字、描述

$head['title'] = $MOD['name'];

$head['keywords'] = $MOD['name'];

$head['description'] = $MOD['name'];

?>







<?php

//=====================================================================

//=================include/global.inc.php==============================

//====================================================================



defined('IN_PHPCMS') or exit('Access Denied');



/**

 * 返回广告的类型

 */

function get_type($type) {

	global $LANG;

	if($type=='image') return $LANG['image'];

	elseif($type=='flash') return 'FLASH';

	elseif($type=='text') return $LANG['text'];

	elseif($type=='code') return $LANG['code'];

	else return $LANG['unkown'];

}

/**

 * 根据广告的类型,对其进行转换,返回相对应的html格式的内容

 *

 * @param $ads 原始内容

 * @param $isjs 默认为1,表示默认为js,对其进行转换

 * @return 转换后的html内容

 */

function ads_content($ads, $isjs = 1)

{

	if (!is_array($ads)) return "";

	@extract($ads);

	switch ($type)

	{

		case 'image':

			$imageurl = imgurl($imageurl, 1);

			$content = ads_image($adsid, $linkurl, $imageurl, $width, $height, $alt);

			break;



		case 'flash':

			$flashurl = imgurl($flashurl, 1);

			$content = ads_flash($adsid, $flashurl, $width, $height, $wmode = 'transparent');

			break;



		case 'text':

			$content = ads_text($adsid, $text);

			break;



		case 'code':

			$content = ads_code($adsid, $code);

			break;

	}

	return $isjs ? strip_js($content) : $content;

}



/**

 * 对图片格式的内容进行转换

 *

 * @param $id

 * @param $linkurl 点击图片的链接地址

 * @param $imageurl 图片来源地址

 * @param $width 图片的显示宽度

 * @param $height 图片的显示高度

 * @param $alt 鼠标悬停在图片上时的提示信息,默认为空,可选属性

 * @return 转换后的html

 */

function ads_image($id, $linkurl, $imageurl, $width, $height, $alt = '')

{

	global $PHP_SITEURL,$MOD;

	$url = $MOD['enableadsclick'] ? $PHP_SITEURL.'ads/clickads.php?id='.$id : $linkurl;

	return "<a href='".$url."' target='_blank'><img src='".$imageurl."' border='0' width='".$width."' height='".$height."' alt='".$alt."'></a>";

}



/**

 * 对flash格式内容进行转换

 *

 * @param $id

 * @param $flashurl flash文件的来源

 * @param $width flash的显示宽度

 * @param $height flash的显示高度

 * @param $wmode 设定flash的窗口模式

 * @return 转换后的html

 */

function ads_flash($id, $flashurl, $width, $height, $wmode = 'transparent')

{

	return "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width='".$width."' height='".$height."'>

	<param name='movie' value='".$flashurl."' /><param name='quality' value='high' />

	".($wmode ? "<param name='wmode' value='transparent' />" : "") ."

	<embed src='".$flashurl."' width='".$width."' height='".$height."' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash'>

	</embed>

	</object>";

}



//对文本格式的广告,返回其内容

function ads_text($id, $text)

{

	return $text;

}



//对代码格式的广告信息,返回其代码

function ads_code($id, $code)

{

	return $code;

}

?>





<?php 

//======================================================================

//=================include/createhtml/common.inc.php===================

//=====================================================================







//检查用户是否具有访问权限

defined('IN_PHPCMS') or exit('Access Denied');

//选择出第一条符合条件的广告

$ads = $db->get_one("SELECT * FROM ".TABLE_ADS." a, ".TABLE_ADS_PLACE." p WHERE a.placeid=p.placeid AND p.placeid=$placeid AND a.fromdate<=UNIX_TIMESTAMP() AND a.todate>=UNIX_TIMESTAMP() AND a.passed=1 AND a.checked=1 LIMIT 1");

//根据广告的类型,对其进行转换,返回相对应的html格式的内容

$content = ads_content($ads, $isjs);

$templateid = $ads['templateid'] ? $ads['templateid'] : 'ads';

//打开输出缓冲区 

ob_start();

//加载模板文件

include template('ads', $templateid);

//返回内部缓冲区的内容

$data = ob_get_contents();

//这个比较重要,只有使用了这个函数后,缓冲区里的内容才会读取出来

ob_clean();

//设定文件路径

$filename = $isjs ? PHPCMS_ROOT.'/data/'.$MOD['htmldir'].'/'.$placeid.'.js' : PHPCMS_ROOT.'/data/'.$MOD['htmldir'].'/'.$placeid.'.html';

//添加文件

file_put_contents($filename, $data);

//尝试将 filename 所指定文件的模式改成 mode 所给定的

@chmod($filename, 0777);

?>

分享到:
评论

相关推荐

    phpcms模块开发手册

    phpcms模块开发帮助手册,二次开发必读。前提是要有PHP基础

    phpcms v9的问答模块插件

    **phpcms v9问答模块插件详解** `phpcms v9`是一款流行的开源内容管理系统,以其强大的功能和灵活的扩展性受到许多网站开发者青睐。其中的问答模块是系统的一个重要组成部分,它允许用户提出问题并邀请其他用户进行...

    phpcms模块开发文档

    《phpcms模块开发文档》是针对phpcms内容管理系统进行模块扩展和定制的综合指南,它收集了phpcms官方网站http://dev.phpcms.cn/上的相关开发文章,为开发者提供了一个离线阅读的便捷资源。这份文档涵盖了从基础概念...

    phpcms二次开发之添加模块

    在提供的“phpcms二次开发之添加模块.doc”文档中,你将找到详细的步骤指南和实例代码,通过学习和实践,你将能够掌握PHPCMS二次开发的核心技巧,实现个性化模块的创建。记住,实践是检验真理的唯一标准,理论知识...

    phpcmsv9黄页模块

    从提供的文件名称"yp_UTF8"来看,这可能包含了黄页模块的安装文件、数据库脚本、配置文件等,用户在下载后,需要按照phpcms的安装指南进行解压、导入数据库、配置相关参数等步骤,才能成功部署到现有phpcms系统中。...

    PHPCMS商城模块_购物车+订单模块

    "PHPCMS商城模块_购物车+订单模块"是专为电商网站设计的一个功能组件,旨在提供一个完整的在线购物解决方案。这个模块包含了商品展示、购物车管理和订单处理的关键功能,使网站能够实现用户选购商品、结算并进行支付...

    phpcms2008模块制作教程

    本教程聚焦于“phpcms2008模块制作”,这是一份面向那些想要深入理解phpcms2008系统结构、进行二次开发的初学者的指南。下面,我们将详细探讨phpcms2008模块制作的相关知识点。 1. **模块概念**:在phpcms2008中,...

    phpcms企业招聘模块

    【phpcms企业招聘模块】是基于PHP开发的一款用于企业在线招聘功能的模块,它能够帮助企业高效地管理和展示职位信息,并方便求职者进行在线应聘。这一模块的实施,旨在提升企业的招聘效率,降低招聘成本,同时也为...

    phpcms模块开发.chm

    作者名单 Phpcms开发手册由Phpcms团队负责撰写和维护,网址是:http://dev.phpcms.cn/参与Phpcms2007开发的有:技术架构:钟胜辉程序开发:刘年华、李进斌、王参加、吴刚强模板设计:康凯军

    phpcms框架订单模块安装完全版

    **phpcms框架订单模块安装完全版** 在PHP开发领域,phpcms是一款广泛应用的内容管理系统框架,以其灵活、可扩展性著称。本教程将详细介绍如何在phpcms框架中安装并配置订单模块,以便实现商品订单的显示功能。 ...

    phpcmsv9 点卡模块

    phpcmsv9 点卡模块 在后台模块安装里安装‘点卡’模块后 在member/left.html模版中查找 &lt;li{if ROUTE_A=="change_credit"} class="on"{/if}&gt;&lt;a href="index....

    phpcms数据导入导出模块

    【phpcms数据导入导出模块】是针对phpcms V9内容管理系统的一个功能扩展,主要用于方便网站管理员进行数据的批量处理。这个模块的核心在于提供了一种高效、灵活的方式来管理和迁移数据,尤其是在大型网站或者需要...

    PHPCMS 企业黄页模块 v9 UTF-8 正式版.zip

    PHPCMS V9采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,优秀的二次开发能力,可满足所有网站的应用需求。 PHPCMS V9企业黄页主要特色 1、模型...

    phpcms留言板模块

    【phpcms留言板模块】是PHPCMS内容管理系统中的一个重要组件,它主要用于网站与访客之间的互动交流。PHPCMS是一款基于PHP和MySQL技术的开源、免费的内容管理系统,它提供了丰富的功能,包括文章发布、图片管理、广告...

    phpcms二次开发视频模块开发资料打包

    独立模块开发文档,phpcms2008首页直接调用视频的URL地址,来播放视频、任意地方播放视频 即调用视频地址,windows下PHP通过ffmpeg给上传的视频截图详解、为FCKeditor编辑器添加FLV视频播放器,视频上传过程中自动...

    phpcms精简版-去掉phpsso_server模块和视频模块.rar

    phpcms是基于php+mysql开发的内容管理...phpcms6.3精简版-去掉phpsso_server模块和去掉视频模块。 下载程序解压后:将install_package文件夹里的程序传到网站根目录。 访问这个安装地址:http://www.xxx.com/install/

    phpcms2008模块开发、帮助手册及phpcms2007完全二次开发手册

    《phpcms2008模块开发、帮助手册及phpcms2007完全二次开发手册》是一套全面介绍phpcms系统开发与优化的资源集合,包括三份重要的文档:phpcms2008_help.CHM、PHPCMS 2007 完全二次开发手册(chm格式,支持索引、查询...

    phpcms v9 购物车+商品模块+订单 最新V9商城插件

    《phpcms v9 购物车+商品模块+订单 最新V9商城插件详解》 在电子商务领域,一个完善的在线购物系统是至关重要的,它涵盖了从商品展示到交易完成的全过程。phpcms v9作为一款强大的内容管理系统,其最新的V9商城插件...

    PHPCMS_v9.模块【标签】参考手册.(第一版)

    ### PHPCMS_v9 模块标签参考手册详解 #### 前言 在深入探讨PHPCMS_v9模块标签的使用与功能之前,我们首先理解其重要性。PHPCMS_v9是一款广泛应用于网站建设和内容管理的强大工具,它不仅提供了丰富的功能,还通过...

    企业黄页模块 for PHPCMS v9 UTF-8 正式版

    PHPCMS V9采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,优秀的二次开发能力,可满足所有网站的应用需求。 PHPCMS V9企业黄页主要特色1、模型自定义...

Global site tag (gtag.js) - Google Analytics