Index

A

abridge() method, 532

access control list (ACL) system, xxii, 57, 87, 134, 232, 256257, 306307, 337, 378, 385

Access modifiers, 243244

access() method, 529

access.xml file, 232, 234, 257, 307, 313314, 352

addItem() method, 304

addMapRow() method, 388389

addSubmenu() method, 234, 311

addToolbar() method, 266, 275, 315, 334, 454

admin() method, 531

Aggregate functions, 425426, 436

AJAX (asynchronous JavaScript and XML), 2, 443444, 453, 467, 469471, 473, 535

Alias, 293, 324, 349, 533

allowAdd() method, 331333

allowEdit() method, 331, 333, 377378

ALNUM filter type, 523

ALTER TABLE command, 407, 413, 534

Alternative Menu Item, 127, 533, 536

alternative syntax, 100, 499, 507

ampersand, 148, 347, 451, 502

AND operator, 211, 502

Ant, 22, 3840

Apache web server, xxi, 13, 1721, 55, 62, 84, 294, 533, 535, 537

appendButton() method, 396

application programming interface (API), xxiii, 117, 119, 245, 445, 533534, 537

application.php file, 46, 53, 6869, 82, 142, 516

Aptana Studio Pro, 37

ARRAY filter type, 523, 525

array_keys() method, 401

Article Manager component, 52, 108, 125, 231, 423, 455, 457458

Article ordering, 217, 225

ASC. See sort by ascending under databases

Associative array, 70, 79, 147, 161, 163, 165, 182183, 204, 242, 246, 260261, 277278, 281, 297299, 303, 319, 367, 440441, 465, 501, 505, 508509, 528

Asynchronous JavaScript and XML. See AJAX

Asynchronous requests, 467, 469

Atom 1.0 format, 303

ATOM XML feed, 56

Atomic template, 49, 93, 9699, 103104

Authentication, 50, 141, 145146, 149, 153, 476

authorise() method, 70, 256257, 520

Authorized user, 531

AuthorisedViewLevels() method, 362

AUTO_INCREMENT attribute, 324325, 408409, 411413, 417, 428, 431

Autoload feature, 66, 203

B

Back quotes, 408, 427

BASE64 filter type, 523

Batch operations, 529

Beez5 template, 14, 95

Beez20 template, 49, 92, 100, 102, 105108, 110111, 121, 123, 125126, 130132, 137, 165, 173, 464, 467

bind() method, 259261, 276, 280, 293, 381

Black list filtering, 524

Blueprint CSS framework, 9495

Bluestork template, 54, 267

Boolean values, 145, 152, 175, 181, 271, 336337, 387, 533

BOOLEAN filter type, 523

boolean() method, 530

bootstrap.php file, 477481, 484

build() method, 68, 293, 300302, 537

C

caching, 43, 258

Call Stack view, 34, 36

cancel() method, 250251, 253

Captcha, 50, 141

Cascading style sheets (CSS), xx, xxi, 13, 16, 21, 47, 50, 57, 92, 9495, 102, 105, 191, 197, 202, 272, 327, 449, 454, 528, 534

Catch block, 72, 277278, 280, 485

Category id, 257, 292, 295300, 302303, 306, 332333, 340, 360, 363, 368, 370371, 377, 399, 411, 421, 458

Category Manager, 52, 184185

Check all boxes, 270, 458459

check() method, 259, 261262, 348

check_categories parameter, 155

checkEditId() method, 239

checkedOut() method, 531

checkIn() method, 377

Child categories, 158159, 303, 466

Choose Layout, 364

Classes, 26, 8789, 144, 184, 192, 202, 220, 259, 309, 312, 317, 346, 396, 451, 512513, 516, 521, 528, 533

class declarations, 6566, 140, 183, 191, 480, 513

class methods, 33, 513, 516517, 533

clear() method, 208209

cloak() method, 530

close() method, 400401, 456, 470

CMD filter type, 358, 523

Colorpicker, 447, 449

Columns, 270, 309, 406, 412, 533

names, 194, 209, 210, 261, 420, 427, 429, 434, 437, 441

comma-delimited list, 206, 211, 437

Command-line-interface (CLI) applications, 43, 477, 479, 481482, 497, 534

comma-separated values (CSV), 206, 395397, 400402

Components, xix, 5, 10, 11, 14, 16, 4244, 47, 5051, 63, 70, 7375, 8485, 9293, 98, 121, 123, 125127, 129, 137, 141, 177, 180, 187188, 204, 215, 227, 229262, 263304, 305353, 355403, 446, 448449, 452, 454457, 460, 471472, 513, 528, 533537

Articles component, 9, 187

best-fit menu items, 196300

best-fit URL methods, 294296

building the URL for, 296302

check all boxes, 270

com_categories, 52, 155, 233, 293, 306, 318329, 352

com_content component, 10, 4344, 52, 70, 74, 85, 92, 156, 187, 204205, 214215, 229, 360, 446, 456458, 513, 533

com_users component, 43, 52, 121, 123124, 126127, 137, 165, 176, 177, 181, 452, 454, 533

com_weblinks, 43, 52, 156, 231, 233234, 236241, 249, 256, 257, 263264, 267268, 275277, 283, 287288, 290293, 296298, 300301, 303, 308, 311, 326

controllers, 229262

default layout file, 267268

default view, 274275

defined, 229230

edit.php file, 283284

Featured Articles Blog menu item, 10

filter select lists, 269270

finding category paths from menu items, 300302

folder structure of, 288290

front-end news feed view, 303304

front-end routing, 293303

helper methods, 234235

housekeeping, 268

installation files, 233

JController display() method, 265

menu item types, 290291

menu items, 6, 10, 81, 88, 126, 129, 229230, 233, 290294, 296299, 360, 533

menu, 233234

model publish() method, 253258

model save() method, 258259

models, 229262

model-view-controller (MVC) design pattern, 230231, 288290

modifying forms dynamically, 281282

naming conventions in, 252253

options (parameters), 234

other model methods, 259

pagination controls in, 274

parameter fields element, 292293

parsing the URL, 302303

rendering the JForm, 282287

request fields element, 291292

review of controllers in components, 251252

saving JForm Object in memory, 280281

SEF URL background 294294

sortable column headings, 270271

title filter, 268269

views and the display() method, 263

config.xml file, 232, 234, 307, 312, 316, 352, 360

configuration.php file, 41, 46, 55, 6768, 8687, 482485, 496497

Constructor methods, 154, 241243, 249252, 258, 260, 273, 320321, 347, 367, 370, 397, 435, 486487, 489, 495, 515

Container style, 104

Content management system (CMS), 1516, 3839, 47, 56, 63, 66, 83, 294, 405, 445, 475476, 483, 489, 497, 513, 525

ContentHelperRoute, 204205, 213214, 465

Controllers, 231232, 237241, 249, 251253, 288, 309311, 331, 357, 376, 385, 396, 400, 534, 536

controller.php file, 232, 236239, 249, 263, 265, 288289, 307, 309, 352, 355357, 468

object, 237, 264

tasks, 249, 331

Cookies, 461462

COUNT() function, 425426, 436

countItemsInCategory() method, 158

countItemsInChildren() method, 158

Create Read Update Delete (CRUD), 230

Create Table, 416

CREATE TABLE command, 324325, 407, 409410, 413, 417418, 534

csvReport() method, 396

Curly braces, 24, 72, 99, 100, 103, 130, 500501

custom() method, 396

D

Data definition language (DDL) commands, 406409, 411, 413414, 416, 418, 534, 537

Data manipulation language (DML) commands, 406407, 418419, 421, 423, 425, 427, 537

Databases, 405442

#__ prefix, 8687, 150, 194, 207, 210, 323325, 405, 408409, 418

a.* syntax, 208209, 322323, 367, 420

aggregate functions, 425426, 436

ALTER TABLE command, 413414

and JDatabaseQuery objects, 432434

AUTO_INCREMENT attribute, 408, 409, 412

backing up a database, 418419

CHAR data type, 411

column attributes, 412414

column lists, 419420

copying, 418419

CREATE TABLE command, 407413

creating and modifying tables with data definition language (DDL) commands, 407414

data definition language (DDL) scripts, 416417

data manipulation language (DML) commands and, 419429

data types in, 410412

DATETIME data type, 411412

debugging SQL queries, 414416

DECIMAL data type, 412

DEFAULT attribute, 413

DELETE queries, 428, 438439

designing table structures, 429432

DOUBLE data type, 412

DROP TABLE command, 414

duplicate indexes, 428

duplicate keys, 428

errors, 438, 439440

expressions in queries, 429

FLOAT data type, 412

foreign keys, 409410, 413, 421422, 430431

FROM clause, 420421

GROUP BY queries, 425426, 436

history tables, 429, 431432

indexes, 409410

INSERT queries, 427428, 436439

INTEGER data type, 411

JDatabaseQuery and, 436, 438

JOIN clause, 421422

key fields, 430

LIMIT queries, 424425

list of Joomla! database tables, 8789

mapping tables, 429, 430431

MEDIUMTEXT data type, 412

method chaining, 435436

NOT NULL attribute, 412

ORDER BY queries, 424

overview of, 405406

phpMyAdmin and, 414418

primary keys, 408409

protecting against hackers, 434435

queries, 149, 152, 157158, 324, 488, 490, 492, 494, 534

query data, 438442

reference tables, 429430

returning query results, 440442

SELECT queries, 419426, 433434, 439442

sort by ascending, 200201, 213, 369370, 399, 424, 432, 434

sort by descending, 101, 127, 180, 181, 192, 194, 200202, 217221, 292, 312313, 344346, 349350, 359, 369370, 373, 380, 382, 424, 426, 434, 446, 450, 456

tables, 8689

testing SQL queries, 414416

TEXT data type, 412

TINYINT data type, 411

UNION queries, 428429

UNSIGNED attribute, 413

UPDATE queries, 426427, 432439

VARCHAR data type, 411

WHERE clause, 423424

working inside Joomla!, 432442

Date and time, 68, 211, 406, 411, 424, 429, 489, 491

DATETIME data type, 408409, 411413

Debug Language feature, 135, 181

Debug System feature, 135, 416

Debugging, 21, 2830, 34, 3637, 113, 518

stack, 2829, 34, 519, 535

Xdebug, 28, 34

DECIMAL data type, 412

def() method, 155

DEFAULT, 127, 324325, 349350, 359, 364, 393, 408, 410, 412414, 417

default_items.php file, 372, 465

defines.php file, 46, 53, 6465

DELETE queries, 428, 432, 438

dirname() function, 478479, 510

Discover feature, 106107, 163, 170171, 178, 185, 353

dispatch() method, 70, 76, 142, 519

display() method, 237, 239, 243, 249250, 263267, 269, 271, 273, 275, 303304, 311, 315, 319, 334, 358, 361364, 378380, 518, 521, 536

doEndSubscription() method, 488

doEndSubscriptions() method, 491

doExecute() method, 481482, 487

DOUBLE data type, 412, 523

DROP TABLE command, 326, 407, 414

E

Eclipse, 17, 2130, 34, 3638, 40, 249250, 518, 534, 535

edit() method, 238239, 250251, 253, 331, 376377, 380

edit_params.php file, 282, 286

editList() method, 396

Editors-XTD plugins, 141

elseif statements, 158, 273, 363, 365, 503504

Empty method, 495496

end() method, 531532

Errors

conditions, 15, 47, 277278, 439, 496

reporting, 132

highlighting, 37

Exceptions, 71, 277280, 485, 494

execute() method, 237238, 241, 246, 264, 480482, 485, 487, 521

executeComponent() method, 75

existing() method, 270, 530

exit() method, 56

Exporting files, 400, 418419, 427

exportReport() method, 395396, 400

Extension Manager, 14, 52, 106, 141, 163, 170171, 173, 178, 233, 353, 394, 534

Extensions, xx, xxiixxiv, 56, 9, 1112, 39, 4851, 53, 57, 66, 83, 87, 89, 100, 106, 138, 141, 155156, 159, 163, 169171, 178, 197198, 215216, 229, 234, 275, 280, 290, 294295, 300, 394, 443, 445467, 472, 534, 536

Joomla! Extensions Directory (JED), xix, 6

See also Components, Languages, Modules

F

Factory design pattern, 56, 66, 85

factory.php file, 56, 66, 85

fclose() method, 401

fetchHead() method, 159, 160

fetchTemplate() method, 78

File transfer protocol (FTP), 57

filter() method, 259, 386

Firebug, 61, 202, 219, 225

Firefox, 164, 304, 478

FLOAT data type, 412, 523

Fonts, 2, 9192, 472, 481, 534, 537

fopen() method, 401

Foreign keys, 409410, 413, 421422, 430431

Form id, 390

form.php file, 288, 356, 387

Form validation, 283, 341, 382, 447, 450, 460, 468

Foundational classes and functions, 56

fputcsv() method, 401

Framework classes, 67

framework.php file, 66

Free and open-source software (FOSS), 4, 534

FROM clause, 201, 420

from() method, 194, 207, 433, 436, 438489

fromObject() method, 401

G

genericList() method, 531

get() method, 129, 266, 275, 441, 489, 495, 525

getActions() method, 235, 317

getArticleRoute() method, 214215

getAuthorisedGroups() method, 192, 194

getAuthorisedViewLevels() method, 206, 362, 367

getCategoryRoute() method, 296297, 300

getDate() method, 86, 206, 347348, 368, 388, 484485, 501, 517

getEndedSubscriptions() method, 487488

getError() method, 239, 247, 253254, 257258, 264, 279, 310, 384, 392

getForm() method, 259, 275276, 281, 336, 338, 379

getHead() method, 515

getHeadData() method, 160, 163

getHeaderData() method, 161

getInput() method, 284, 286, 343, 448, 456457

getInstance() method, 69, 143, 237238, 243, 246, 254, 264, 277, 279, 371, 385, 480, 515516, 525

getItem() method, 260, 275, 278279, 290, 293, 336, 340, 379

getItems() method, 266, 275, 299, 319, 366, 396

getLabel() method, 284, 287, 343, 383

getLanguageFilter() method, 212213

getLayoutPath() method, 191, 204, 215, 226

getList() method, 205

getListQuery() method, 322, 367, 398

getMapRow() method, 388

getModel() method, 243, 246247, 252, 311, 333, 377378, 384385, 517518

getNullDate() method, 206207, 368

getPagination() method, 266, 274275, 319, 366367

getPath() method, 297298, 301302

getState() method, 266, 275, 336, 366367, 379

getString() method, 156, 370, 525

getSubscription() method, 491, 493

getTable() method, 253254, 337, 511

getUsers() method, 190, 192

getUserStateFromRequest() method, 370

GIT, 38

Github, 38, 41

Global Configuration, 52, 55, 132, 134135, 145, 181, 206, 215, 304, 416, 447, 460, 532

Global objects, 8586

gmdate() method, 489

GNU General Public License, 55

Google, xxv, 55, 294, 484

goToPage() method, 470471

grandparent, 295296, 516, 518

Greenwich Mean Time (GMT), 68, 489, 496

GROUP BY, 420, 425426, 433, 436

group() method, 433, 436

groupedList() method, 531

Hathor template, 54, 267

header() method, 400

Helper class, 65, 190192, 203, 311, 318

Helper methods, 234, 245, 287, 396

helper.php file, 53, 72, 182, 188190, 199, 203204

History table, 429

htaccess.txt file, 18, 55

HTML (hypertext markup language)

anchor element, 197, 241, 272, 296, 454, 457, 458, 462, 528

border attribute, 104105, 114, 131134

border_width, 104105

fieldset element, 101103, 124, 127, 129, 135136, 162, 165166, 175, 180, 189, 199202, 220, 234, 277, 283287, 291293, 312313, 326327, 342344, 346, 359360, 373374, 379380, 382383, 456

h1 element, 12, 96, 98, 111, 119120, 122123, 372, 391, 394, 465

header data, 160161

help element, 128, 225, 291

HTML DOCTYPE declaration, 95

html folder, 92, 116, 125, 528

htmlspecialchars() function, 191, 273, 363, 534

httpd.conf file, 18, 20, 21

img tag, 113114, 233, 351352, 372, 448, 467, 528

input element, 165, 175, 202, 449450

list (li) element, 111115, 119, 121, 196197, 216, 283287, 342343, 461466, 527

meta element, 160161

name attribute, 98, 161, 165, 180, 287, 292, 293, 469

option attribute, 127

p element, 115

src attribute, 95, 114, 372, 448, 482, 496497, 528

table cell (td) element, 130, 271272, 330

table element, 130131

table heading element, 130

table row element, 130, 271

title attribute, 127, 448, 463

title element, 95

ul element, 111, 114, 119121, 196197, 216, 283287, 342343, 461466

I

id column, 70, 88, 207, 260, 409, 414, 420, 428, 430

id() method, 271, 530

iframe, 447, 454455, 457459, 524

import.php file, 66, 85, 478479, 484

importPlugin() method, 139140, 182183

Index syntax, 410

index.html files, 18, 20, 30, 4546, 55, 93, 110, 122, 161162, 166, 169170, 172, 174, 184185, 188, 199, 232, 352, 355

index.php file, 2, 18, 28, 42, 4546, 50, 55, 6268, 70, 76, 78, 8184, 9394, 96, 98, 103, 129, 131133, 215, 233, 236240, 249, 264, 268, 283, 290, 293, 295297, 300, 302, 310, 318, 326, 329, 333, 341, 374, 376, 382386, 391392, 395396, 454, 457458, 461, 466468, 478, 480481, 499, 513, 519

Indexed array, 440441, 509

Indexing, 88, 142, 294

initialise() method, 68

innerJoin() method, 210, 433

INNER JOIN statements, 421424, 430431, 433

INSERT command, 407, 418419, 427, 429, 432, 436438

installing Joomla!

DocumentRoot folder, 1820, 477478

WampServer, 1819

XAMPP, 1820, 414

INTEGER data type, 408409, 411413, 523524

Integrated development environment (IDE), 17, 2123, 26, 30, 3640, 518, 534, 535536

Internationalization. See Languages

Introtext, 112115, 119120, 527

Invalid column names, 320

Invalid data, 61, 201, 225, 278, 451452, 496

isDefault() method, 531

isset command, 71, 79, 133134, 153, 156, 182183, 203204, 261, 277, 280, 286, 298299, 333, 363, 386, 490, 509, 521

item() method, 529

J

JAccess, 86, 518

JAdministrator object, 53, 68, 8586

JArrayHelper, 246247, 332, 400401

JApplication, 25, 30, 6869, 82, 86, 143, 206, 340, 348, 515516

Javascript, 23, 443473

article selector modal, 455458

built-in JavaScript features, 446466

check all, 458459

defined, 443

disabling the Submit or Save action, 451452

highlighter behavior, 452453

how it works, 444

in Joomla!, 446

javascript folder, 92

JavaScript object notation (JSON), 57, 87, 103, 105, 260261, 293, 324, 412, 470

JS calendar, 446448

JS caption, 448

JS colorpicker, 449

JS form validation, 449452

JS framework, 452

keepalive behavior, 453

modal behavior, 453454

MooTools defined, 444445

multiselect, 458, 459

noframes behavior, 459

switcher behavior, 459462

tooltip behavior, 463

tree behavior, 463466

uploader behavior, 466

user configuation modal, 454455

using AJAX in Joomla!, 467471

using MooTools extensions, 467

using other JavaScript frameworks, 471473

JButton, 241

JButtonPopup, 455

JCategories, 297, 367, 370371

JCategoryNode, 297, 302

JCli, 479, 480, 485487, 489, 495

JComponentHelper render() method, 7274

JController class, 236238, 241243, 246, 249250, 252, 264265, 289, 304, 308, 310311, 319, 357358, 367, 521

JControllerAdmin, 241243, 245247, 249250, 253, 256, 311312

JControllerForm, 238, 240, 250, 252, 258, 331, 377

JDatabase, 8586, 149, 193, 195, 205208, 325, 346, 390, 432434, 436, 440, 486, 489, 495, 504, 520

JDatabaseMySQL class, 86, 496

JDate, xxiii, 8586, 207, 515, 517

JDEBUG, 6768, 70, 82

JDispatcher object type, 139, 143, 254, 279, 385, 486

JDocument, 81, 86, 304, 472, 515516, 518

JDocumentFeed, 86, 304

JDocumentHTML, 78, 8081, 86, 160, 265, 304, 514516

JDocumentJSON, 86

JEditor, 86, 515

JEXEC constant, 63, 94, 111, 118, 120, 144, 162, 185, 189, 195, 203204, 216, 220, 223, 236, 283, 308, 310, 312, 314, 317, 319, 326, 331, 334, 336, 341, 346, 357, 361, 366, 371373, 377, 379, 382, 387, 391, 397, 460, 464465, 479, 480, 483484, 510, 513

jexit() function, 56

JFactory class, 26, 56, 6668, 71, 73, 7778, 8586, 94, 146147, 149, 153, 160, 162, 168, 192, 206207, 213, 236, 254, 256, 265, 268, 276, 298, 308, 315, 318, 320, 326, 332333, 335338, 340, 347348, 357, 361362, 364, 367370, 373, 378379, 381, 383, 385, 388, 390391, 400, 432, 435436, 456, 468, 470471, 484485, 488, 490, 495, 500501, 515, 517, 520, 525

JFeedItem object, 304

JFilterInput, 102, 220, 310, 357, 523525

JForm classes, xxii, 128, 139, 173180, 182, 202, 218220, 223, 225, 232, 259, 263264, 266, 268, 270, 272, 274284, 286290, 292, 294, 296, 298, 300, 302, 304, 307, 338339, 341, 360, 446451, 456, 463, 524, 525, 537

JFormFieldCategory, 360

JFormRule class, 220221, 223225, 360, 451452

JFormRuleOptions class, 223224

JHIDE language key, 180, 293, 359

JHTML, 118, 120121, 123124, 175, 268272, 283, 285286, 326330, 341, 343, 372374, 382383, 444, 446, 448450, 452453, 455, 459460, 463465, 468, 471, 527532

batch folder class, 529

behavior folder class, 529

calendar method, 529

calling JHTML methods, 527

category folder class, 530

content folder class, 530

contentlanguage folder class, 530

custom JHTML classes, 528

date method, 529

email folder class, 530

form folder class, 530

grid folder class, 530

HTML folder classes, 529532

image folder class, 531

image method, 528

jgrid folder class, 531

JHTML class methods, 528

layouts using, 118119

link method, 528

list folder class, 531

methods, 527532

script method, 529

select folder class, 531

sliders folder class, 531

string folder class, 531532

stylesheet method, 528

tabs folder class, 532

JHtmlBehavior, 283

JHtmlString class, 116120, 527

JHtmlWeblinks, 268

jimport() method, 56, 67

JLoader class, 56, 6667, 117118, 120121, 183, 203204, 310311, 315, 387, 397, 513514

JLog, 484485, 487488, 493

JMail, 86, 495

JMenuSite, 299

JModel class, 137, 266276, 336367

JModelAdmin, 154, 253254, 257260, 275276, 279, 289, 336

JModelForm, 258259, 276277, 279

JModelList, 266, 319320, 322, 366367

JModuleHelper class, 190191, 203204, 215

JObject, 278279, 318, 387, 469, 516

JOIN clause, 419423, 426, 430, 433

Joomla!

core distribution, 45, 106, 407

core extensions, 6, 83, 156157, 233, 407

core modules, 9

developing modules, 9

libraries, 15, 56

long-term support (LTS) release, xxii

running locally, 17

standard database, 86

third-party extensions, 6

user interface, 11

version 1.5, xx, xxiixxiii, 15, 47, 49, 56, 103, 148149, 193, 445, 475

version 1.6, xx, xxiixxiii, xxiv, 6, 15, 47, 49, 5253, 87, 103, 106, 125126, 141, 149, 173, 193, 198, 213, 218, 226, 248, 256, 278279, 432, 445

version 1.7, xx, xxii, 86, 323, 497

version 2.5, xixxx, xxii, xxiv, 4, 9, 19, 42, 4749, 5253, 56, 66, 137, 141, 144, 148149, 168, 187, 193, 247, 294, 421422, 432, 446, 449, 525, 537

version 2.5.2, 4

Joomla! as a platform, 475497

configuration file, 483484

monitor file, 484486

platform example programs, 477482

project structure, 482

running the monitoring file, 496

setting up a platform project, 477478

subscription monitoring example, 482496

uses of, 476477

Joomla! development, 116

choosing an extension type, 1415

controlling and checking commands, 6061

default owners and, 2021

design decisions that affect developing, xx

developer site, 128

extending, 415

filter types, 523525

for the experienced Joomla! user, xix

for the experienced web programmer, xix

platform packages, 57

prerequisite knowledge, 3

techinical requirements, 1721

technical environment, 13

tools for development, 2140

using Joomla! as a framework, 1516

using Joomla! as a platform, 1516, 56

web programming vs. normal programming 5860

Joomla! documentation, 19, 22, 30, 39, 75, 125

Joomla! event system, 6, 57

Joomla! execution cycle, 6184

checking the execution environment, 6263

defining file locations, 6466

executing the component, 7076

including PHP files, 6566

loading the framework, 6667

loading the index.php file, 62

outputing the page, 8283

rendering the page, 7981

routing the URL, 6870

starting or continuing the session, 698

Joomla! Extensions Directory (JED), xix, 6

Joomla! folder structure

administrator folder index.php file, 55

administrator folder, 5051

administrator/cache folder, 51

administrator/components folder, 51

administrator/help folder, 51

administrator/includes folder, 51

administrator/language folder, 51

administrator/manifests folder, 53

administrator/modules folder, 5354

administrator/templates folder, 54

cache folder, 4243

cli folder, 43

components folder, 4344

files in top-level folders, 55

front-end vs. back-end folders, 42

images folder, 45

includes folder, 46

index.html files and, 45

index.php files and, 62

installation folder, 46

language folder, 47

libraries folder, 47

logs folder, 47

media folder, 4748

modules folder, 48

plugin folder, 48

templates folder 4950

tmp folder, 50

Joomla! platform project, 15

Joomla! specific links, 294295, 298, 409

joomla.xml file, 53, 55

JPagination, 274

JPATH_BASE constant, 6466, 7374, 167, 176, 479480, 484, 510, 519

JPATH_COMPONENT, 7374, 263, 268, 283, 289, 311, 326, 341, 372373, 379, 387, 397, 464, 528

JPATH_LIBRARIES constant, 64, 118

JPlugin class, 144, 162, 167168, 176177

jQuery, 445, 471473

JRegistry class, 86, 104, 155, 190, 205, 224, 241242, 260261, 275, 293, 362363, 486, 515, 520

JRequest methods, 6971, 74, 7677, 156, 168169, 205206, 208, 236239, 245, 246, 248, 264265, 289, 308, 310, 335, 340, 357, 369, 370, 377378, 382, 384386, 390391, 458, 524525

JRoute, 123124, 213215, 249, 264, 296, 300, 303304, 310, 374, 382, 384386, 391392, 461, 528

JRouterSite, 46, 53, 69, 300, 302

JSHOW language key, 180, 293, 360

JSite class, 28, 46, 6869, 70, 74, 7677, 79, 8182, 8586, 142143, 516, 519

JSite dispatch() method, 7072

JSite render() method, 7778

JString class, 116, 368, 510

JTable class, 12, 87, 137, 229, 254, 260262, 293, 337338, 346347, 432, 452, 515

JTableNested, xxiii, 184185

JToolBarHelper, 315318, 335, 396, 454

JURI object, 6871, 86, 293, 302, 468, 471472, 515, 537

JUser, 8586, 147, 153, 194, 206, 257, 362, 387, 515, 520

JView, 266, 272, 275, 289, 314315, 334, 361, 379

JWeb, 478, 480482

JXMLElement, xxiii, 86, 224, 225, 280

L

LAMPP, 533, 535

Languages, 1112

.sys.ini language files, 47, 170171, 178, 199, 216

extension, 12, 535

file format, xxiii

file keys, 11

files, xxiii, 6, 47, 51, 7374, 9192, 106, 131, 136137, 169, 178, 189, 198201, 216, 226, 267, 349, 535

folder, 51, 92, 172, 189, 198199, 349

language key, 1112, 134, 136137, 199, 201, 225, 269, 317

Language Manager, 52, 137, 141

language pack, 12

Language Switcher, 49, 213

language() method, 529

Latest Articles module, 108113, 115, 117, 119

Latest News module, 108109, 125, 132

Latest Users, 49, 188, 198

Layout

alternative layouts, 125126, 191, 202, 204, 209, 215, 226, 363364, 531

article list, 5

changing the look of a component with, 121125

creating, 109112

latest article module example, 108121

Latest News module layout file example, 110111

layouts using JHTML, 118119

order of display, 5

overrides, 91122, 135, 137, 165, 363

Single Article view, 9

template override file, 5

templates, 1314

user registration component example, 121125

using JHTML::_syntax in, 120121

using JHTMLString truncate in, 116120

using strip_tags to fix problems in, 113116

LEFT joins, 324, 421422, 434

leftJoin() method, 194, 210, 433

LICENSE.txt file, 55, 161, 174, 216, 351

Linux, 17, 19, 20, 22, 36, 38, 43, 64, 171173, 482, 534535

loadAssoc() method, 260, 440441

loadAssocList() method, 440441

loadColumn() method, 440441

loadForm() method, 276280

loadFormData() method, 276279, 339

Loadmodule plugin, 108109

loadObject() method, 147, 151152, 206, 208, 389, 440441, 494

loadObjectList() method, 193, 195, 208, 213214, 439441, 488490

loadResult() method, 208, 348, 440441, 500501, 504

loadRow() method, 440

loadRowList() method, 440441

Login screen, 12, 52

M

Mac OS X, 17, 1920, 22, 36, 38, 64, 171173

Magic constants, 510

malicious code, 15, 55, 60, 150, 175, 191, 203, 205206, 212, 223, 226, 248, 272, 275, 369370, 381, 434435, 451

Mapping tables, 88, 377, 384, 386399, 402, 430432, 436, 438, 482, 489492, 496

md5 hash command, 153, 280281, 322

Media Manager, 44, 52, 447, 463, 466

MEDIUMTEXT, 410, 412

Menu item id, 300, 377

Menu Item Types, 10, 290291

Mercurial, 38, 40

Metadata, 7, 7172, 127, 231232, 260261, 291, 359360, 366, 461462

Method chaining, 78, 264, 358, 377, 435, 480, 489, 520

Method signatures, 145, 148149, 186

methods.php file, 56

Microsoft Internet Information Services (IIS), xxi, 13, 17, 19, 55, 62, 535, 537

Microsoft SQL Server, xxiv, 19, 193, 407, 432

Modal behavior, 453455

Modal window, 234, 447, 454455, 457458

Model-view-controller (MVC) design pattern, xxiv, 10, 75, 229232, 235, 237, 247, 251, 262, 263, 287288, 305, 355, 386, 395, 402403, 471, 534, 536537

Module chrome, 92, 98, 103105, 129130, 513

modChrome function, 104105, 129131, 134

modChrome_container function, 104105

Module Manager, 4748, 52, 98, 105, 109, 125, 131, 187, 190191, 198199, 217

Modules, xix, 56, 9, 14, 16, 42, 44, 4748, 50, 5254, 72, 76, 79, 81, 8384, 88, 9293, 9799, 103105, 109110, 121122, 129133, 137, 180, 187227, 230231, 233234, 287, 296, 321, 378, 458, 460, 513, 530, 534536

best practices, 227

calling methods in, 191192

core modules, 188197

custom JFormRule class, 220222

default layout file, 195197

entry file, 203204

help files in, 225226

helper classes, 192195

helper file, 204215

including files in, 191192

integer type in JForm, 218219

integer filters in JForm, 219220

language files in, 216217

layout file/default.php file, 215216

list validation, 223225

main module file, 189191

mod_articles_archive subfolder, 49, 202

mod_articles_categories subfolder, 49

mod_articles_category subfolder, 49

mod_articles_latest subfolder, 49, 109111, 118, 120, 125, 132

mod_articles_news subfolder, 49

mod_articles_popular subfolder, 49

mod_banners subfolder, 49

mod_breadcrumbs subfolder, 49

mod_custom subfolder, 49, 54

mod_feed subfolder, 49, 54

mod_finder subfolder, 49

mod_finder. See also Smart Search engine

mod_footer subfolder, 49

mod_languages subfolder, 49

mod_latest, 54

mod_logged, 54

mod_login subfolder, 49, 54, 105

mod_menu subfolder, 49, 54, 187

mod_multilangstatus, 54

mod_popular, 54

mod_quickicon, 54

mod_random_image subfolder, 49

mod_related_items subfolder, 49

mod_rewrite feature, 55

mod_search subfolder, 49

mod_sections subfolder, 49

mod_stats subfolder, 49

mod_status, 54

mod_submenu, 54

mod_syndicate subfolder, 49

mod_title, 54

mod_toolbar, 54, 241, 266

mod_users_lastest.php file, 191

mod_users_latest subfolder, 49, 188192, 195196, 199

mod_weblinks subfolder, 49

mod_whosonline subfolder, 49

mod_wrapper subfolder, 49

modules.php file, 130

packaging the module, 226

reviewing, 226227

Show Articles by Current User example, 197217

structure, 197198

validating parameters in JForm, 218225

validation error messages, 222223

vs. components, 187188

XML file, 188189, 198203

monitor.php file, 482, 484, 486, 496497

monitoring, 486488, 496

MooTools, 48, 94, 268, 286, 443448, 450, 452454, 456, 458, 460, 462, 464, 466468, 470473, 529

Multiselect, 268, 326, 447, 458459

mymeta.xml file, 161

MySQL, xix, xxi, xxiiixxiv, 1, 2, 17, 1920, 86, 171, 193, 207, 214, 324325, 405, 407410, 414, 418, 424425, 429, 525, 535, 536

reserved words, 136, 408

version 5.0.4, xxiii

N

Namespacing, 131, 136

Naming conventions, 7475, 85, 104, 120, 134, 140, 168, 177, 250, 252, 301, 314, 514

NetBeans, 17, 2122, 3036, 38, 40, 518, 535, 536

News feed, 72, 8788, 303304, 428

NOT NULL attribute, 324325, 408, 412414, 417

Notepad, 3738

Notepad++, 37

now() method, 68

Null value, 207, 412, 504

Nusphere’s PhpED, 37

O

ob_end_clean() method, 75

ob_get_contents() method, 75

ob_start() method, 75, 190, 267

Object-oriented programming (OOP), xxiii, 11, 62, 230, 241, 243244, 247, 278, 445, 514522

$this variable, 517518

|| instead of if, 519520

advanced code techniques, 519

classes, 515516

constructor method, 515

creating objects, 515516

extends, 516

inheritance in, 516

method chaining, 520

method names, 521522

method overriding in, 516517

objects, 515516

parent keyword, 518

PHP magic methods, 520521

private modifiers, 517

protected modifiers, 517

public modifiers, 517

regular expressions in, 522

self keyword, 517518

simple debugging in, 518519

standard class in, 516

static methods, fields, and variables, 517

variable class, 521

viewing defined variables, 519

viewing the stack trace, 519

ON clause, 210

ON statement, 421

onAfterDispatch event, 71, 76, 84

onAfterInitialise event, 84, 142

onAfterRender event, 78, 81, 84, 142145

onAfterSave event, 68

onBeforeCompileHead plugin, 159164

onBeforeInitialise, 139, 184

onBeforeRender() method, 7879, 84

onBeforeSave event, 68, 173, 176

onclick, 240241, 317, 327, 458459, 461, 469

onClose, 454455

onContentAfterSave() method, 154

onContentBeforeDelete() method, 154155

onContentBeforeSave, 139

onContentChangeState, 255, 257258

onContentPrepare, 530

onContentPrepareForm, 176177, 181182, 279

onContentSearch event, 141

onContentSearchAreas event, 141

onSuccess, 470

onUserAuthenticate event, 141, 146148

onUserBeforeSave event, 142, 167168

Option command, 72

options() method, 269270, 531

OR operator, 211, 501

ORDER BY clause, 193, 201, 213, 418419, 424426, 431432, 433435

order() method, 194, 213, 433434, 530

ordering() method, 531

overrides, 46, 14, 16, 47, 69, 91, 105, 108, 121, 125126, 129, 134, 137, 178, 226, 282, 331, 398, 481

files, xix, 92, 110112, 121122, 125, 134, 137, 165, 171, 267, 528

layout, 91121. See also layout

nonlayout overrides, 126137

Overrides tab, 137

parameter overrides, 127129

parameters, 100103

table overrides, 137

P

Page refresh, 447, 467

Pagination, 265266, 273275, 314315, 322, 328329, 361363, 374375, 439, 455, 458

panel() method, 286, 343, 531532

Params field, 129, 363

Params object, 390

Parent class, 8182, 143144, 168, 184, 238, 240, 242243, 246, 250, 252, 257, 260262, 277, 311312, 348, 377, 382, 397398, 489, 516518, 535536

Parent document, 454

Parent window, 454458

parse() method, 68, 70, 78, 293, 301303, 537

parseTemplate() method, 78

Passwords, 18, 50, 60, 145147, 149154, 414, 449451, 483484, 495

Performance penalties, 81

Permissions, 21, 134, 211, 235236, 240, 256257, 271274, 282, 329, 333, 336337, 339370, 375, 380

Phing, 22, 3840

PHP, 499515

.ini file format, xxiii

alternative if/then/else syntax, 98100

alternative syntax in, 507508

arithmetic operators, 502

arrays in, 509

assign by references, 148149

basic syntax, 500502

break statement, 505

class declaration files, 513

closing tag, 499

code blocks, 500

common operators in, 502503

constants in, 510

continue command in, 506507

control statements, 99100

contructor methods, 241242

converting strings to integers with, 502

current directory in, 510

declaring variables in, 508

defining constants in, 510

do/while loops, 506

echo command, 11, 8283, 196197, 266267

elseif statements, 158, 273, 363, 365, 503504

exception handing, 278

explode() function, 152

file structure, 499

files with PHP and HTML, 499

for loops, 79, 99, 506

foreach loops, 99, 111112, 146, 197, 214216, 271, 273, 302, 329, 401, 440, 458, 488, 505506

function declaration files, 513

function structure in, 511

function variable scope in, 511512

functions in, 511512

if statement conditions, 152

if statements, 23, 99, 149, 152, 155156, 158159, 169, 181, 196, 197, 212, 274, 299, 401, 500, 503505, 507508, 520, 522

if/then statements, 98, 134, 151, 153, 205, 215, 501

important characters, 500502

including file types in, 512514

including files in, 512514

logical operators in, 503

looping statements in, 505507

method names, 144145

methods in, 511512

mixed files, 514

mixing with HTML, 96

nonboolean values in, 152

parse_ini_file command, xxiii

pass by references, 148149

passing variables by reference, 512

PHP Development Tools (PDT), 22, 30

PHPEclipse, 30

phpmailer folder, 47, 56

PHP-only files, 499

scripts that declare classes, 140

setting variable types in, 502

simple script files, 513514

special characters in, 501

string concatenate, 502

strings, 510

switch statements in, 505

ternary operator, 502

try/catch blocks in, 278

uppercase vs. lowercase in, 144145

using constants, 65

variable scope in, 508

variables in, 508510

version 4, 148

version 5, 148

version 5.2, xxiii, 4, 148, 161, 164, 278

warnings, 508

white space, 500, 507

phpMyAdmin, 171, 325326, 405, 408, 414419, 496

phputf8 folder, 47, 56

plgSystemSef class, 142, 144

Plugin Editor, 164

Plugin Manager, 52, 143, 155, 161, 170171, 180181, 185186

Plugins, xix, 69, 1416, 22, 48, 52, 64, 70, 76, 83, 95, 137, 139186, 188189, 230, 233255, 257258, 277, 279, 280, 287, 385, 534

adding language files in, 169170, 178

adding parameters to a plugin, 179182

adding PHP plugin files in, 167169

adding XML file in, 166

authentication plugin type, 141

best practices in developing, 186

captcha plugin type, 141

content plugin type, 141

core, 142145

creating the form XML file, 174176

creating the plugin PHP file, 176178

creating the plugin, 174

creating the XML file, 174

editors plugin type, 141

editors-XTD plugin type, 141

execution of, 154155, 159160

extension plugin type, 141

how Joomla! classes are loaded, 183184

how they work, 139140

importing plugins, 172183

improved user registration plugin example, 173179

naming conventions for, 140

overriding core classes with, 182186

overriding JTableNested class with, 184186

packaging finished plugins, 171173, 179

plugin.php file, 144

search plugin type, 141

SEF plugin, 142145

Smart Search plugin type, 142

system plugin type, 142

system, 142154

testing a plugin, 170171, 178179

types of, 50, 140142

uninstalling, 171

updating the approval override file, 165166

user plugin type, 142

user registration plugin, 164186

populateState() method, 320321, 369, 390, 397

Pop-up windows, 453, 455

PostgreSQL, xxiv, 193, 407

preg_match, 7879, 522

preg_match_all statements, 7879

preg_replace command, 7374, 522

prepare() method, 530

preprocessForm() method, 276

Primary keys, 260, 306, 333, 383, 389, 408410, 412, 428, 430431

Program flow, 67, 60, 276, 306, 444, 488

Protected method, 300, 397, 481

Public method, 315, 387, 397

publish() method, 241249, 251, 253259, 262, 311312

published() method, 272, 531

publishedOptions() method, 269, 531

Publishing Options, 285

Q

qn() method, 489490, 520521

query() method, 86, 438439

quote() method, 150, 208, 212, 369370, 390, 434435, 490, 520521

quoteName() method, 324, 490, 520521

R

radioList() method, 531

Read More break, 113

README.txt file, 55

Redirect value, 237

redirect() method, 25, 236238, 264, 289, 308, 357

Reference table, 429

register() method, 66, 117121, 203204, 311, 387, 513514

render() method, 72, 7581, 93, 142143

renderComponent() method, 72, 519

renderModule() method, 190

repareDocument() method, 303, 364, 380381

Repository, 26, 39, 41, 57, 186, 475, 477

require command, 190191, 196, 204

require_once, 6566, 75, 182, 189, 191, 203204, 263, 289, 301, 311, 387, 513514

reset() method, 255

Return command, 153, 255, 300, 511

Return value, 145, 158, 264, 439440, 504

Reusing code, 230, 247

robots.txt file, 55

route() method, 6870, 85, 142, 302

route.php file, 204, 296

router.php file, 46, 53, 69, 215, 288, 300301, 513

RSS feeds, 47, 56, 303304

S

save() method, 240, 250251, 253, 258259, 283, 289, 341

saveorder() method, 243, 249, 251, 253, 259

Search text filter, 399

Search-engine-friendly, 142, 145, 294, 522, 533

Security, 18, 150

administrator login, 11

authentication, 50, 141, 145146, 149, 153, 476

authorized user, 531

hackers, 169, 201, 208, 219, 223, 235, 239240, 245, 259, 272, 282, 320, 339, 345346, 384, 435

malicious code, 15, 55, 60, 150, 175, 191, 203, 205206, 212, 223, 226, 248, 272, 275, 369370, 381, 434435, 451

passwords, 18, 50, 60, 145147, 149154, 414, 449451, 483484, 495

permissions, 21, 134, 211, 235236, 240, 256257, 271274, 282, 329, 333, 336337, 339370, 375, 380

user profiles, 60

SEF, 71, 72, 140, 142, 144145, 206, 215, 293294, 296, 300, 302304, 340, 537

SELECT query, 150, 193194, 269, 292, 327, 349, 359, 415, 419433, 436, 438440, 456, 534

Self keyword, 297

Semicolons, 451, 500501

sendNotificationEmail() method, 493, 495496

sendResponse() method, 469470

set() method, 70, 436437, 489

setFieldAttribute() method, 281282

setLastVisit() method, 511

setModelState() method, 396397

setQuery() method, 195, 208, 214, 438439

setRedirect() method, 392

7-Zip, 171172

show_description, 359360, 372, 375

Single Article menu item, 455

Single Category, 294295, 302

Singleton design pattern, 85

site() method, 531

Slider JavaScript, 531, 532

Slug, 213214, 303, 362

Smart Search engine, xxiv, 43, 49, 52, 88, 142

Smultron, 38

sort() method, 271, 530

Special characters, 427, 435

sprintf() method, 223, 394

SQL, xxxxi, xxiiixxiv, 3, 16, 19, 21, 150151, 175, 193195, 201, 205, 208, 211, 223, 226, 232233, 272, 307, 320, 322323, 325, 369, 398399, 405407, 412, 414429, 432438, 442, 534, 537

injection attacks, 208

queries, xxi, xxiii, 3, 208, 405, 415416, 420421, 432, 442, 537

statements, 150, 193

Standard element, 161

start() method, 286, 343, 531532

Static information, 429430

static methods, 72, 193, 205, 297, 501, 517518

stdClass object, 112114, 516

Storage array networks (SANs), 6566

store() method, 259, 261262, 347348

STRING filter type, 523525

strip_tags function, 113, 115, 119, 121, 382

strrpos function, 116

sub_id, 357, 374, 376377, 383386, 390391

submitform() method, 469470

subscribe() method, 383385, 391392

Subscription Manager plugin example, 305353, 355403

add and edit form for, 341346

add and edit model, 336340

add and edit view in, 333336

back-end files, 307308

category helper file, 371

category layout files, 371375

category view in, 361366

component entry point, 356357

controller method for new task, 396

controller method to export file, 400401

controller tasks in, 331333

controller validate method, 385386

creating a back-end subscriber report, 395

database tables in, 324326

default controller for, 309311

default controllers for, 357358

detailed design of, 306

edit layout, 382383

edit view and form, 378382

file structure of, 355394

folder structure, 307

form model, 386390

functional overview of, 305306

helper class for, 317319

installation and configuration of, 351353

installation XML file, 355356

language file, 392394

language files for, 349350

manager model for, 319324

manager screen layout for, 326331

manager view, 314317

menu item XML file, 359360

model in, 366371

new model class, 396400

new toolbar button, 395396

packaging the component, 394

real-world considerations, 402

submanager controller for, 311314

subscribe task, 383385

subscriber report in action, 401402

subscription edit controller methods, 376378

subscription view, 375392

subscription-category view, 359375

subscriptions screen for, 308314

table class in, 346349

thank-you layout, 391392

toolbar tasks, 311314

subscriptions, 292, 305306, 308, 314, 317, 322326, 333, 347348, 350, 359, 367369, 371, 374376, 378, 395, 398, 400402, 432, 482, 486491, 494, 496497

subscription id, 306, 311, 333, 358, 389, 399, 496

creating a Subscription Manager, 305353, 355403.

subscription.xml file, 307, 331, 344, 356, 379, 383

substr function, 73, 113, 115116, 301, 323, 399

Subversion, 22, 38, 40

SVN repository, 41

Switch statements, 500

Syntax errors, 24, 30

T

table bind() method, 260261

table check() method, 262

table load() method, 260

Table names, 156157, 193, 338, 347, 371, 407408, 414, 427428, 496

table store() method, 261

taskMap array, 241, 243244, 249250

TCP/IP, 2

Templates, 91121

adding a new Menu Item layout, 126129

alternative layouts, 125126, 191, 202, 204, 209, 215, 226, 363364, 531

Beez20 template, 49, 92, 100, 102, 105108, 110111, 121, 123, 125126, 130132, 137, 165, 173, 464, 467

Beez5 template, 14, 95

Bluestork template, 54, 267

copying, 105108

creating a layout override file, 109112. See also layout overrides

customizing a layout, 112113

files and folders, 9293

Hathor template, 54, 267

index.php file, 9396

language overrides, 134137. See also languages

layouts using JHTML, 118119

model overrides, 137

module chrome and, 129137

new module styles, 129134

positions in, 9698

Template Manager, 14, 52, 92, 100, 107

template overrides, 5, 14, 108, 126, 204, 267, 464, 531, 537

Ternary operators, 133134, 222, 502, 504

test() method, 221222, 225, 451

test.php file, 75, 471472

TEXT filter type, 135, 408409, 410, 412

Time stamp field, 68

TINYINT filter type, 408409, 411, 413

tmpl variable, 77, 93, 109110, 121, 126127, 180, 188191, 199, 232, 267, 282, 286, 288, 291, 296, 307, 309, 326, 331, 341, 356, 359, 371, 382, 391, 448, 452, 454458, 460, 528

token() method, 530

toMySql() method, 206, 207

Tools for development, 2140

Ant, 25, 38, 4346

automated test programs, 39

automatic builder software, 3839

automatic code completion, 24

code completion, 24, 30, 3233, 37

commercial integrated design environments (IDEs), 37

Eclipse, 2230, 36

error reporting, 30, 133, 205, 480

integrated design environments (IDEs), 2223

NetBeans, 3036

Notepad++, 3738

open-source integrated design environments (IDEs), 2236

other tools, 3839

Phing, 25, 3839, 4346

PHPEclipse, 30

syntax highlighting, 2324, 3031, 3738

text editor, 21, 23, 38, 325, 499

text editors, 3738

version control software, 38

Tooltips, 268, 283, 287, 291, 326, 341, 373374, 382, 444, 446447, 460, 463, 468

toString() method, 82, 195, 261, 433, 439

Translated strings, 135

Tree, 18, 158, 447, 463466

trigger() method, 139, 140, 143144, 154, 258

triggerEvent() method, 143

truncate() method, 116117, 119120, 527, 532

Try/catch blocks, 72, 277, 278, 281, 485486

U

UNION queries, 428, 438

Unique names, 136

updateMapRow() method, 388389

updateSubscriptionMapping() method, 385387

User id, 89, 306, 389399, 495

User interface, 11, 316, 336, 446, 451452, 535

User Manager, 52, 142, 171, 452, 454, 533

User-Defined Category Levels, xxii

USERNAME, 523

UTF-8, 47, 56, 116, 379, 410411, 499, 510

V

validate() method, 223, 240, 259, 384386

values() method, 436437

var_dump output, 112113, 160, 519

VARCHAR filter type, 408409, 411413

Variables

$_REQUEST, 156, 165, 169, 206, 230, 235, 238, 268, 284, 292, 384

$application field, 85

$args, 80, 81, 143, 490, 521

$array, 261, 301, 302

$canCheckin, 271, 329

$cid, 246, 247, 248, 254, 256

$clean, 75

$conf, 265

$config, 86, 242243, 247, 252254, 312, 319320, 338, 367, 378, 484, 485487

$contents, 72, 75

$data, 8083, 155158, 177, 181, 246, 258259, 276277, 279280, 282, 332333, 338, 340, 385386, 389, 396, 400, 439, 440442, 517, 524

$db, 146147, 149152, 192193, 195, 206, 208209, 212213, 218, 322324, 347348, 367370, 388390, 398400, 433, 435439, 483484, 486487, 500501, 504

$dispatcher, 139140, 143, 154, 254, 257258, 279, 486487

$document, 7172, 7681, 86, 160, 162163, 265, 471472

$event, 143

$form, 177, 181182, 221224, 258259, 276279, 281282, 334, 338339, 385

$fp, 400401

$id, 150, 206208, 239, 264, 297, 299302, 310, 321, 357358, 370, 384385, 391, 441, 465

$input, 221222, 224, 486487

$item, 111113, 115, 119121, 213214, 216, 271273, 296300, 329330, 334, 362, 374375, 379380, 458, 465, 527, 529530

$items, 205, 213215, 298, 314, 361362

$key, 183, 333, 377, 383, 489, 505506

$levels, 206, 209, 211

$limit, 369, 433, 439

$limitstart, 369, 433, 439440

$linknames, 189190

$list, 111112, 119, 121, 203204, 216

$max, 221223

$min, 221223

$myTimestamp, 511512

$name, 79, 189, 196197, 247, 252, 277, 286287, 312, 378, 391, 394, 500

$names, 196197

$needles, 297300

$now, 206207, 209, 211212, 488, 490491, 517

$nullDate, 206207, 209, 211212, 368

$option, 74

$options, 68, 146148, 277278, 280281, 371, 518

$params, 7172, 7778, 8081, 104, 130134, 189193, 195196, 203, 205, 213, 216, 218, 321, 361363, 369, 379380, 390

$params, 78

$parts, 64, 147, 151152, 301

$path, 75

$pk, 255, 275, 390

$pks, 254257

$query, 147, 150151, 192195, 201, 206213, 218, 300301, 322323, 348, 367369, 388390, 398400, 432439, 488, 490492, 494

$response, 146149, 151, 153154, 470

$result, 69, 147, 151159, 168169, 193, 195, 222223, 257, 266267, 318319, 377, 384, 522

$salt, 147, 151152

$saveOrder, 268, 273274

$segments, 301302

$source, 277, 280281, 522

$subscription, 384385, 387388, 392, 491494

$table, 154158, 254255, 257, 275, 340, 347, 511

$testcrypt, 147, 151153

$this, 2425, 30, 6971, 7782, 9497, 99, 122, 129, 135, 143, 146, 154156, 158, 162163, 165166, 168, 177, 181, 239, 242244, 246250, 252, 254258, 260, 264286, 296297, 303, 310311, 315, 320323, 326, 329330, 333335, 338, 340343, 347349, 358, 361382, 384386, 388392, 396399, 435, 439, 448, 456458, 460461, 465, 467, 469, 480481, 486495, 511, 517518, 521, 529530

$timestamp, 511512

$value, 221222, 224225, 246248, 254, 256257, 505506

$view_item, 377

$with, 81

Version control software, 22, 26, 38, 40 vi, 38

W

Web servers, xxi, 13, 1719, 40, 4445, 55, 59, 6062, 294, 443444, 477478, 497, 533, 535, 537

web.config.txt file, 55

Weblinks component, 44, 49, 52, 87, 141142, 205, 229, 231237, 239241, 243, 245, 247, 249, 250253, 255259, 261264, 267268, 273276, 282, 284285, 287291, 293305, 308, 311, 314316, 320, 326328, 331, 334335, 352, 358, 361, 364, 372, 403, 457459

back-end summary, 287

com_weblinks, 43, 52, 156, 231, 233234, 236241, 249, 256, 257, 263264, 267268, 275277, 283, 287288, 290293, 296298, 300301, 303, 308, 311, 326

component entry point, 235237

controller in action, 237251

front-end component of, 288293

items, 271274

models, 252259

using JForm in, 275276

view, 263264

Weblink Edit view, 263

weblink.xml file, 232, 277, 288

Weblinks manager, 274275

weblinks.php file, 232, 234, 236, 241, 252, 263, 288289, 308

weblinks.xml file, 232233, 290

WeblinksBuildRoute() method, 301

WeblinksController, 237, 239, 249, 263, 265, 289, 311

WeblinksControllerWeblink, 237238, 240, 250253, 258, 289290, 332

WeblinksControllerWeblinks, 241, 243, 246247, 249, 251253, 311

WeblinksModel getForm() method, 276280

WeblinksModelWeblink, 247, 252254, 256, 259260, 276, 279, 281, 289290

WeblinksViewWeblinks display() method, 265267

WeblinkViewWeblinks, 275276

Wessling, Rouven, 467

WHERE clauses, 150, 193194, 207208, 211213, 324, 369, 419420, 423428, 431435, 437438

where() method, 194, 207, 210211, 433434, 436489

While statements, 500

White list filtering, 524

Windows, 17, 19, 22, 3637, 64, 171172, 478, 535

WORD filter type, 523

Word boundaries, 116, 119

X

XHTML, xxxxi, 1, 2, 16, 9495, 535, 537

Y

Yahoo, 294

Z

ZendStudio, 37

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.148.107.254