1. Trang chủ
  2. » Công Nghệ Thông Tin

Plug in PHP 100 POWER SOLUTIONS- P74 docx

5 179 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 358,7 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

It requires the following arguments: • $width The width of the table, use ' ' for default • $height The height of the table, use ' ' for default • $bground The table’s background color •

Trang 1

C h a p t e r 1 2 : D i v e r s e S o l u t i o n s 331

C h a p t e r 1 2 : D i v e r s e S o l u t i o n s 331

About the Plug-in This plug-in returns the HTML to use, as well as the corner and edge GIFs, for building a table with rounded borders It requires the following arguments:

• $width The width of the table, use ' ' for default

• $height The height of the table, use ' ' for default

• $bground The table’s background color

• $border The table’s border color

• $contents The table’s text and/or HTML contents

• $program The path to the program to create the GIF images

Variables, Arrays, and Functions

$t1 - $t5 Temporary string variables to avoid string duplication How It Works

This plug-in returns the HTML required to display the supplied contents of $contents within a table that has rounded borders If a width and/or height are specified, then the table dimensions are set to those values; otherwise, the browser is left to determine how to size it

The table is created in nine segments with the eight outer ones each containing either

a corner or edge GIF, each of which is created and displayed by the program contained in

$program The inner segment is populated with the string value in $contents

The various variables $t1 through $t5 are used as shortcuts for repeated sequences to reduce the plug-in in size

How to Use It You can use the plug-in in the following manner, which passes the text to display, colors to use, and the path to the program for displaying the GIFs, like this:

$contents = "<b>Macbeth Act 5, scene 5, 19-28</b><br />" "<i>&quot;Tomorrow, and tomorrow, and tomorrow, " "creeps in this petty pace from day to day, to " "the last syllable of recorded time; and all our " "yesterdays have lighted fools the way to dusty " "death Out, out, brief candle! Life's but a " "walking shadow, a poor player, that struts and " "frets his hour upon the stage, and then is heard " "no more It is a tale told by an idiot, full of " "sound and fury, signifying nothing.&quot</i>";

echo PIPHP_RoundedTable('', '', 'dedede', '444444', $contents, 'corner.php');

In this code segment, the width and height of the table to create are set to the empty string ('') to let the browser choose suitable dimensions Then a background color of dedede and foreground color of 444444 are passed, followed by the string value in

$contents, and the program for displaying the GIFs: corner.php

As you can see, HTML can also be passed to the plug-in, so you can place an unlimited variety of contents within these rounded border tables

Trang 2

332 P l u g - i n P H P : 1 0 0 P o w e r S o l u t i o n s

332 P l u g - i n P H P : 1 0 0 P o w e r S o l u t i o n s

The Plug-in function PIPHP_RoundedTable($width, $height, $bground, $border, $contents, $program)

{

if ($width) $width = "width='$width'";

if ($height) $height = "height='$height'";

$t1 = "<td width='5'><img src='$program?c";

$t2 = "<td background='$program?c";

$t3 = "<td width='5' background='$program?c";

$t4 = "$border&f=$bground' /></td>";

$t5 = "<td bgcolor='#$bground'>$contents</td>";

return <<<_END <table border='0' cellpadding='0' cellspacing='0' $width $height>

<tr>$t1=tl&b=$t4 $t2=t&b=$t4 $t1=tr&b=$t4</tr>

<tr>$t3=l&b=$t4 $t5 $t3=r&b=$t4</tr>

<tr>$t1=bl&b=$t4 $t2=b&b=$t4 $t1=br&b=$t4</tr></table>

_END;

}

Display Bing Map

Maps are as popular as ever, and in a bid to compete with Google, Microsoft’s Virtual Earth project is now used for Bing Maps, which has an API that this plug-in makes very easy for you to use Figure 12-11 shows a scrollable Bing Map, which has been dropped into a web page, with the Bird’s Eye view selected

F IGURE 12-11 With this plug-in, you can incorporate Bing maps in your web pages.

100

Trang 3

C h a p t e r 1 2 : D i v e r s e S o l u t i o n s 333

C h a p t e r 1 2 : D i v e r s e S o l u t i o n s 333

About the Plug-in This plug-in creates the JavaScript and HTML required to embed a scrollable Bing Map into

a web page It requires the following arguments:

• $lat The latitude of a location

• $long The longitude of a location

• $zoom The amount to zoom in by (0 for none, 19 for maximum)

• $style The type of map out of Road or Aerial (exact spelling required)

• $width The width of the map

• $height The height of the map

Variables, Arrays, and Functions

$root The base part of the API URL How It Works

Normally, when you wish to include a Bing Map in a web page, you have to call it up from the

<body> tag and separately include the JavaScript and a <div> in which to display the map

But this plug-in removes the need for all that by using PHP to create the JavaScript code

to load a map of the correct dimensions exactly where you want it It does this by attaching automatically to the events required so that only a single call is needed

The JavaScript is based on the Virtual Earth API and is beyond the scope of this book to explain, other than to say that all the code required is ready made for you, along with a

<div> tag in which to display the map

How to Use It

To insert a Bing Map into a page, just pass this plug-in the location details, zoom level, type

of map, and dimensions, like this:

$result = PIPHP_DisplayBingMap(40.68913, -74.0446, 18, 'Aerial',

300, 214);

$text = "<b>The Statue of Liberty</b>, officially titled " "Liberty Enlightening the World, is a monument that " "was presented by the people of France to the United " "States of America in 1886 to celebrate its "

"centennial Standing on Liberty Island in New York " "Harbor, it welcomes visitors, immigrants, and " "returning Americans traveling by ship The copper-" "clad statue, dedicated on October 28, 1886, " "commemorates the centennial of the signing of the " "United States Declaration of Independence and was " "given to the United States by France to represent " "the friendship between the two countries "

"established during the American Revolution.";

echo "<table width='300' height='214' align=left><tr><td>" $result "</td></tr></table><p align='justify'>$text";

The preceding code places the map into a table which is aligned to the left with text flowing around it You can equally use a <div> or <span> to include it, or just drop a map

in without placing it within an element

Trang 4

334 P l u g - i n P H P : 1 0 0 P o w e r S o l u t i o n s

The map style should be one of Aerial or Road and the zoom level should be between

0 (for none) and 19 (for maximum) When you need to know the latitude and longitude

of a location, you can look it up in a search engine or there are useful web sites such as

www.hmmm.ip3.co.uk/longitude-latitude The Plug-in

function PIPHP_DisplayBingMap($lat, $long, $zoom, $style, $width, $height)

{

if ($style != 'Aerial' && $style != 'Road') $style = 'Road';

$width = 'px';

$height = 'px';

$root = 'http://ecn.dev.virtualearth.net/mapcontrol';

return <<<_END

<script src = "$root/mapcontrol.ashx?v=6.2"></script>

<script>

if (window.attachEvent) {

window.attachEvent('onload', Page_Load) window.attachEvent('onunload', Page_Unload) }

else { window.addEventListener('DOMContentLoaded', Page_Load, false) window.addEventListener('unload', Page_Unload, false)

} function Page_Load() {

GetMap() }

function Page_Unload() {

if (map != null) {

map.Dispose() map = null }

} function GetMap() {

map = new VEMap('PIPHP_DBM') map.LoadMap(new VELatLong($lat, $long), $zoom, VEMapStyle.$style, false) }

</script>

<div id='PIPHP_DBM' style="position:relative;

width:$width; height:$height;"></div>

_END;

}

?>

Trang 5

& (ampersand), 155–157, 257

‘ (apostrophe), 204

* (asterisk), 47, 215, 246

# (number sign), 220

; (semicolon), 209, 210, 211, 215

@ (at) symbol, 199, 224, 226, 250, 288

| (pipe) symbol, 149, 177, 184, 185, 304

A

absolute URLs, 88–90

accents

removing, 55–56

UTF-8 encoding and, 326

acronyms, text speak, 203–206

ActiveX objects, 278–279

Add User to DB plug-in, 208–214

Advanced Packaging Tool (APT) system, 12

Ajax (Asynchronous JavaScript and XML),

278–287

GET requests, 285–287

POST requests, 280–284

Ajax calls, 192

Ajax Request plug-in, 278–280

Amazon sales rank, 316–318

ampersand (&), 155–157, 257

Apache Web Server

.htaccess files and, 152–153

Linux systems, 20

Mac systems, 22, 23

Windows systems, 6–7, 8

API key, 253, 254, 257

API plug-ins, 236–272

API URL, 197

APIs (application programming interfaces)

described, 236

Facebook, 284 fetching Flickr streams, 249–251 getting content, 241–243 Google Charts, 236–240 Search Yahoo!, 256–259 Wiki export, 243–248 Yahoo! Answers, 252–255 Yahoo! Stock News, 259–264 apostrophe (‘), 204

application programming interfaces See APIs

APT (Advanced Packaging Tool) system, 12 Aptitude tool, 12, 14

arithmetic operators, 113–114 array_count_values() function, 322 array_intersect() function, 322 array_reverse() function, 182 array_unique() function, 156, 165 arsort() function, 146, 322 aspect ratio, 66

asterisk (*), 47, 215, 246

Asynchronous JavaScript and XML See Ajax

at (@) symbol, 199, 224, 226, 250, 288 Auto Back Links plug-in, 145–148 auto scrolling, 189–193

B

BB (bulletin board) code, 134–137

BB Code plug-in, 134–137 Bing Maps, 332–334 Bing Search, 256–259 Block User by Cookie plug-in, 230–233 blurring images, 69

books Amazon sales rank, 316–318 ISBN number, 314–316

Index

335

Ngày đăng: 07/07/2014, 08:20