├── .cvsignore ├── .htaccess ├── CHANGELOG ├── COPYING ├── INSTALL ├── README ├── UPGRADING ├── admin ├── configure.php ├── database.php ├── group.php ├── index.php ├── os.php ├── priority.php ├── project.php ├── removetemplates.php ├── resolution.php ├── severity.php ├── site.php ├── status.php └── user.php ├── attachment.php ├── attachments └── .htaccess ├── bug.php ├── config-dist.php ├── contrib ├── .htaccess └── gnats-to-phpbt.py ├── docs ├── html │ ├── adminguide.html │ ├── bugdetail.html │ ├── bugsearch.html │ ├── configuration.html │ ├── dependencies.html │ ├── devguide.html │ ├── devstandards.html │ ├── docs.css │ ├── images │ │ ├── callouts │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 2.gif │ │ │ ├── 3.gif │ │ │ ├── 4.gif │ │ │ ├── 5.gif │ │ │ ├── 6.gif │ │ │ ├── 7.gif │ │ │ ├── 8.gif │ │ │ └── 9.gif │ │ ├── caution.gif │ │ ├── home.gif │ │ ├── important.gif │ │ ├── logo.jpg │ │ ├── next.gif │ │ ├── note.gif │ │ ├── prev.gif │ │ ├── shots │ │ │ └── user │ │ │ │ ├── bugdetail.jpg │ │ │ │ ├── enterbug-chooseproject.jpg │ │ │ │ ├── enterbug-detail.jpg │ │ │ │ └── query.jpg │ │ ├── tip.gif │ │ ├── toc-blank.gif │ │ ├── toc-minus.gif │ │ ├── toc-plus.gif │ │ ├── up.gif │ │ └── warning.gif │ ├── index.html │ ├── installation.html │ ├── schema.html │ └── userguide.html └── sgml │ ├── bugdetail.sgml │ ├── bugsearch.sgml │ ├── configuration.sgml │ ├── devstandards.sgml │ ├── docs.dsl │ ├── installation.sgml │ ├── manifest.sgml │ ├── phpbt.sgml │ ├── primer.sgml │ ├── requirements.sgml │ ├── schema.sgml │ └── template.sgml ├── editComment.php ├── favicon.ico ├── images └── spacer.gif ├── inc ├── .htaccess ├── Smarty │ ├── COPYING.lib │ ├── README │ ├── README.md │ ├── SMARTY_2_BC_NOTES.txt │ ├── SMARTY_3.0_BC_NOTES.txt │ ├── SMARTY_3.1_NOTES.txt │ ├── change_log.txt │ └── libs │ │ ├── Autoloader.php │ │ ├── Smarty.class.php │ │ ├── SmartyBC.class.php │ │ ├── debug.tpl │ │ ├── plugins │ │ ├── block.textformat.php │ │ ├── function.counter.php │ │ ├── function.cycle.php │ │ ├── function.fetch.php │ │ ├── function.html_checkboxes.php │ │ ├── function.html_image.php │ │ ├── function.html_options.php │ │ ├── function.html_radios.php │ │ ├── function.html_select_date.php │ │ ├── function.html_select_time.php │ │ ├── function.html_table.php │ │ ├── function.mailto.php │ │ ├── function.math.php │ │ ├── modifier.capitalize.php │ │ ├── modifier.date_format.php │ │ ├── modifier.debug_print_var.php │ │ ├── modifier.escape.php │ │ ├── modifier.regex_replace.php │ │ ├── modifier.replace.php │ │ ├── modifier.spacify.php │ │ ├── modifier.truncate.php │ │ ├── modifiercompiler.cat.php │ │ ├── modifiercompiler.count_characters.php │ │ ├── modifiercompiler.count_paragraphs.php │ │ ├── modifiercompiler.count_sentences.php │ │ ├── modifiercompiler.count_words.php │ │ ├── modifiercompiler.default.php │ │ ├── modifiercompiler.escape.php │ │ ├── modifiercompiler.from_charset.php │ │ ├── modifiercompiler.indent.php │ │ ├── modifiercompiler.lower.php │ │ ├── modifiercompiler.noprint.php │ │ ├── modifiercompiler.string_format.php │ │ ├── modifiercompiler.strip.php │ │ ├── modifiercompiler.strip_tags.php │ │ ├── modifiercompiler.to_charset.php │ │ ├── modifiercompiler.unescape.php │ │ ├── modifiercompiler.upper.php │ │ ├── modifiercompiler.wordwrap.php │ │ ├── outputfilter.trimwhitespace.php │ │ ├── shared.escape_special_chars.php │ │ ├── shared.literal_compiler_param.php │ │ ├── shared.make_timestamp.php │ │ ├── shared.mb_str_replace.php │ │ ├── shared.mb_unicode.php │ │ ├── shared.mb_wordwrap.php │ │ └── variablefilter.htmlspecialchars.php │ │ └── sysplugins │ │ ├── smarty_cacheresource.php │ │ ├── smarty_cacheresource_custom.php │ │ ├── smarty_cacheresource_keyvaluestore.php │ │ ├── smarty_config_source.php │ │ ├── smarty_data.php │ │ ├── smarty_internal_block.php │ │ ├── smarty_internal_cacheresource_file.php │ │ ├── smarty_internal_compile_append.php │ │ ├── smarty_internal_compile_assign.php │ │ ├── smarty_internal_compile_block.php │ │ ├── smarty_internal_compile_break.php │ │ ├── smarty_internal_compile_call.php │ │ ├── smarty_internal_compile_capture.php │ │ ├── smarty_internal_compile_config_load.php │ │ ├── smarty_internal_compile_continue.php │ │ ├── smarty_internal_compile_debug.php │ │ ├── smarty_internal_compile_eval.php │ │ ├── smarty_internal_compile_extends.php │ │ ├── smarty_internal_compile_for.php │ │ ├── smarty_internal_compile_foreach.php │ │ ├── smarty_internal_compile_function.php │ │ ├── smarty_internal_compile_if.php │ │ ├── smarty_internal_compile_include.php │ │ ├── smarty_internal_compile_include_php.php │ │ ├── smarty_internal_compile_insert.php │ │ ├── smarty_internal_compile_ldelim.php │ │ ├── smarty_internal_compile_make_nocache.php │ │ ├── smarty_internal_compile_nocache.php │ │ ├── smarty_internal_compile_private_block_plugin.php │ │ ├── smarty_internal_compile_private_foreachsection.php │ │ ├── smarty_internal_compile_private_function_plugin.php │ │ ├── smarty_internal_compile_private_modifier.php │ │ ├── smarty_internal_compile_private_object_block_function.php │ │ ├── smarty_internal_compile_private_object_function.php │ │ ├── smarty_internal_compile_private_php.php │ │ ├── smarty_internal_compile_private_print_expression.php │ │ ├── smarty_internal_compile_private_registered_block.php │ │ ├── smarty_internal_compile_private_registered_function.php │ │ ├── smarty_internal_compile_private_special_variable.php │ │ ├── smarty_internal_compile_rdelim.php │ │ ├── smarty_internal_compile_section.php │ │ ├── smarty_internal_compile_setfilter.php │ │ ├── smarty_internal_compile_shared_inheritance.php │ │ ├── smarty_internal_compile_while.php │ │ ├── smarty_internal_compilebase.php │ │ ├── smarty_internal_config.php │ │ ├── smarty_internal_config_file_compiler.php │ │ ├── smarty_internal_configfilelexer.php │ │ ├── smarty_internal_configfileparser.php │ │ ├── smarty_internal_data.php │ │ ├── smarty_internal_debug.php │ │ ├── smarty_internal_extension_clear.php │ │ ├── smarty_internal_extension_handler.php │ │ ├── smarty_internal_filter_handler.php │ │ ├── smarty_internal_function_call_handler.php │ │ ├── smarty_internal_get_include_path.php │ │ ├── smarty_internal_method_addautoloadfilters.php │ │ ├── smarty_internal_method_adddefaultmodifiers.php │ │ ├── smarty_internal_method_append.php │ │ ├── smarty_internal_method_appendbyref.php │ │ ├── smarty_internal_method_assignbyref.php │ │ ├── smarty_internal_method_assignglobal.php │ │ ├── smarty_internal_method_clearallassign.php │ │ ├── smarty_internal_method_clearallcache.php │ │ ├── smarty_internal_method_clearassign.php │ │ ├── smarty_internal_method_clearcache.php │ │ ├── smarty_internal_method_clearcompiledtemplate.php │ │ ├── smarty_internal_method_clearconfig.php │ │ ├── smarty_internal_method_compileallconfig.php │ │ ├── smarty_internal_method_compilealltemplates.php │ │ ├── smarty_internal_method_configload.php │ │ ├── smarty_internal_method_createdata.php │ │ ├── smarty_internal_method_getautoloadfilters.php │ │ ├── smarty_internal_method_getconfigvars.php │ │ ├── smarty_internal_method_getdebugtemplate.php │ │ ├── smarty_internal_method_getdefaultmodifiers.php │ │ ├── smarty_internal_method_getglobal.php │ │ ├── smarty_internal_method_getregisteredobject.php │ │ ├── smarty_internal_method_getstreamvariable.php │ │ ├── smarty_internal_method_gettags.php │ │ ├── smarty_internal_method_gettemplatevars.php │ │ ├── smarty_internal_method_loadfilter.php │ │ ├── smarty_internal_method_loadplugin.php │ │ ├── smarty_internal_method_mustcompile.php │ │ ├── smarty_internal_method_registercacheresource.php │ │ ├── smarty_internal_method_registerclass.php │ │ ├── smarty_internal_method_registerdefaultconfighandler.php │ │ ├── smarty_internal_method_registerdefaultpluginhandler.php │ │ ├── smarty_internal_method_registerdefaulttemplatehandler.php │ │ ├── smarty_internal_method_registerfilter.php │ │ ├── smarty_internal_method_registerobject.php │ │ ├── smarty_internal_method_registerplugin.php │ │ ├── smarty_internal_method_registerresource.php │ │ ├── smarty_internal_method_setautoloadfilters.php │ │ ├── smarty_internal_method_setdebugtemplate.php │ │ ├── smarty_internal_method_setdefaultmodifiers.php │ │ ├── smarty_internal_method_unloadfilter.php │ │ ├── smarty_internal_method_unregistercacheresource.php │ │ ├── smarty_internal_method_unregisterfilter.php │ │ ├── smarty_internal_method_unregisterobject.php │ │ ├── smarty_internal_method_unregisterplugin.php │ │ ├── smarty_internal_method_unregisterresource.php │ │ ├── smarty_internal_nocache_insert.php │ │ ├── smarty_internal_parsetree.php │ │ ├── smarty_internal_parsetree_code.php │ │ ├── smarty_internal_parsetree_dq.php │ │ ├── smarty_internal_parsetree_dqcontent.php │ │ ├── smarty_internal_parsetree_tag.php │ │ ├── smarty_internal_parsetree_template.php │ │ ├── smarty_internal_parsetree_text.php │ │ ├── smarty_internal_resource_eval.php │ │ ├── smarty_internal_resource_extends.php │ │ ├── smarty_internal_resource_file.php │ │ ├── smarty_internal_resource_php.php │ │ ├── smarty_internal_resource_registered.php │ │ ├── smarty_internal_resource_stream.php │ │ ├── smarty_internal_resource_string.php │ │ ├── smarty_internal_runtime_cachemodify.php │ │ ├── smarty_internal_runtime_capture.php │ │ ├── smarty_internal_runtime_codeframe.php │ │ ├── smarty_internal_runtime_filterhandler.php │ │ ├── smarty_internal_runtime_foreach.php │ │ ├── smarty_internal_runtime_getincludepath.php │ │ ├── smarty_internal_runtime_inheritance.php │ │ ├── smarty_internal_runtime_make_nocache.php │ │ ├── smarty_internal_runtime_tplfunction.php │ │ ├── smarty_internal_runtime_updatecache.php │ │ ├── smarty_internal_runtime_updatescope.php │ │ ├── smarty_internal_runtime_writefile.php │ │ ├── smarty_internal_smartytemplatecompiler.php │ │ ├── smarty_internal_template.php │ │ ├── smarty_internal_templatebase.php │ │ ├── smarty_internal_templatecompilerbase.php │ │ ├── smarty_internal_templatelexer.php │ │ ├── smarty_internal_templateparser.php │ │ ├── smarty_internal_testinstall.php │ │ ├── smarty_internal_undefined.php │ │ ├── smarty_internal_utility.php │ │ ├── smarty_internal_write_file.php │ │ ├── smarty_resource.php │ │ ├── smarty_resource_custom.php │ │ ├── smarty_resource_recompiled.php │ │ ├── smarty_resource_uncompiled.php │ │ ├── smarty_security.php │ │ ├── smarty_template_cached.php │ │ ├── smarty_template_compiled.php │ │ ├── smarty_template_config.php │ │ ├── smarty_template_resource_base.php │ │ ├── smarty_template_source.php │ │ ├── smarty_undefined_variable.php │ │ ├── smarty_variable.php │ │ ├── smartycompilerexception.php │ │ └── smartyexception.php ├── UpdateChecker.php ├── auth.php ├── class.phpmailer-lite.php ├── db │ ├── README │ ├── mssql.php │ ├── mysql.php │ ├── mysqli.php │ ├── oci8.php │ └── pgsql.php ├── functions.php ├── htmlMimeMail │ ├── RFC822.php │ ├── htmlMimeMail.php │ ├── mimePart.php │ └── smtp.php ├── is_a.php └── pdo_adapter.php ├── include.php ├── index.php ├── install.php ├── languages ├── .htaccess ├── cn.php ├── de.php ├── en.php ├── es.php ├── fi.php ├── fr.php ├── it.php ├── ja.php ├── old │ ├── README │ ├── es.php │ ├── et.php │ ├── gb2312.php │ ├── it.php │ ├── no.php │ ├── pl_iso-8859-2.php │ ├── ru_koi8-r.php │ ├── ru_windows-1251.php │ ├── se.php │ └── sl.php └── pt.php ├── logo.jpg ├── logout.php ├── messages.po ├── newaccount.php ├── query.php ├── report.php ├── schemas ├── .htaccess ├── common.in ├── mssql.in ├── mysqli.in ├── oci8.in ├── old │ ├── perms.sql │ └── table_rename.sql └── pgsql.in ├── styles ├── black.css ├── default.css └── print.css ├── templates ├── .htaccess └── default │ ├── .htaccess │ ├── admin │ ├── .htaccess │ ├── badperm.html │ ├── component-edit.html │ ├── configure.html │ ├── database-edit.html.php │ ├── databaselist.html.php │ ├── edit-submit.html │ ├── error.html │ ├── group-edit.html.php │ ├── grouplist.html.php │ ├── os-edit.html.php │ ├── oslist.html.php │ ├── pagination.html │ ├── priority-edit.html.php │ ├── prioritylist.html.php │ ├── project-add.html │ ├── project-edit.html.php │ ├── projectlist.html.php │ ├── resolution-edit.html.php │ ├── resolutionlist.html.php │ ├── severity-edit.html.php │ ├── severitylist.html.php │ ├── site-edit.html.php │ ├── sitelist.html.php │ ├── status-edit.html.php │ ├── statuslist.html.php │ ├── user-edit.html.php │ ├── userlist.html.php │ ├── version-edit.html │ ├── wrap-popup.php │ └── wrap.php │ ├── badgroup.html │ ├── badperm.html │ ├── base │ ├── removetemplates.html │ ├── smartymissing.html │ └── templatesperm.html │ ├── bugattachmentform.html │ ├── bugdisplay-printable.html │ ├── bugdisplay.html.php │ ├── bugemail-newbug.txt │ ├── bugemail.txt │ ├── bugform.html.php │ ├── bughistory.html │ ├── buglist.html.php │ ├── bugvotes.html │ ├── changessaved.html │ ├── editComment.html │ ├── error.html │ ├── images │ ├── spacer.gif │ └── title.gif │ ├── index.html.php │ ├── install-complete.html │ ├── install-dbfailure.html.php │ ├── install-dbsuccess.html │ ├── install-failure.html │ ├── install-question.html │ ├── install.html.php │ ├── login.html │ ├── logout.html │ ├── newaccount-disabled.html │ ├── newaccount.tpl │ ├── newaccountsuccess.html │ ├── newbugform.html │ ├── projectlist.html │ ├── queryform-simple.html.php │ ├── queryform.html.php │ ├── report.html.php │ ├── upgrade-finished.html.php │ ├── upgrade.html │ ├── user.html.php │ ├── wrap-popup.php │ └── wrap.php ├── tmp ├── .htaccess ├── README ├── sm_cache │ └── null └── templates_c │ └── null ├── upgrade.php └── user.php /.cvsignore: -------------------------------------------------------------------------------- 1 | config.php 2 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | # Works if AllowOverride Options is also enabled for this directory 2 | # php_flag magic_quotes_gpc off 3 | # php_flag magic_quotes_runtime off 4 | -------------------------------------------------------------------------------- /INSTALL: -------------------------------------------------------------------------------- 1 | Ok, here's the quick and dirty install instructions: 2 | 3 | 1. Create database. 4 | 5 | create database phpbt default character set utf8; 6 | grant all on phpbt.* to 'phpbt'@'%' identified by 'yourpassword' ; 7 | 8 | 2. Copy the directory tree to a location suitable for serving web pages. 9 | 10 | 3. With your web browser, go the location where you installed the package. 11 | You will be presented with a web page that will help you configure and 12 | install the application. You may need to download and copy a 13 | new "config.php" into the installation location. 14 | 15 | 4. If you get a blank page, check your web server's error logs for php errors. 16 | 17 | 5. After completing the installation, login, set up a project, 18 | and start reporting bugs. 19 | 20 | Mandantory: 21 | You must have magic_quotes_gpc set to OFF (since 1.5 version) either in php.ini or in .htaccess 22 | (see http://www.php.net/manual/en/configuration.php for more info). 23 | 24 | Optional: 25 | Install JpGraph for home page graphs (See http://www.aditus.nu/jpgraph/). If you get error "Non-static method DB::isError() should not be called statically", then edit the JpGraph configuration to set "CATCH_PHPERRMSG" to false. 26 | 27 | Install Spreadsheet_Excel_Writer for bug list download support ("pear install Spreadsheet_Excel_Writer-beta"). 28 | 29 | 30 | Performance Note: 31 | phpBugTracker benefits a lot from a query cache, and will be unusable without one. 32 | Most mysql platforms come with one enabled by default. If not, play with: 33 | 34 | SHOW VARIABLES LIKE 'query_cache_size'; 35 | SHOW STATUS LIKE '%qcache%'; 36 | SET GLOBAL query_cache_size=256000; 37 | 38 | mysql is the most tested database platform. others not supported now. 39 | 40 | 41 | Problems? 42 | The majority of problems reported are with PEAR DB not working. Edit PEAR_TEST.php to help work out these problems, before attempting the bug tracker. 43 | -------------------------------------------------------------------------------- /admin/configure.php: -------------------------------------------------------------------------------- 1 | isAdmin()) { 30 | 31 | if (isset($_POST['submit'])) { 32 | foreach ($_POST as $k => $v) { 33 | // Check the jpgraph path to make sure it has a trailing / 34 | if ($k == 'JPGRAPH_PATH' and strlen($v) and substr($v, -1) != '/') { 35 | $v .= '/'; 36 | } 37 | $db->query('update ' . TBL_CONFIGURATION . " set varvalue = '$v' where varname = '$k'"); 38 | 39 | // Refresh the template variable now instead of waiting for the next page load. 40 | if ($k == 'STYLE') { 41 | $t->assign('STYLE', $v); 42 | } 43 | } 44 | } 45 | 46 | $t->assign('vars', $db->getAll('select * from ' . TBL_CONFIGURATION . ' order by varname')); 47 | $t->assign('has_excel', find_include('Spreadsheet/Excel/Writer.php')); 48 | $t->render('configure.html', translate("Configuration")); 49 | } else { 50 | $t->render('badperm.html', ''); 51 | } 52 | 53 | // -------------------------------------------------------------------------------- /admin/index.php: -------------------------------------------------------------------------------- 1 | check('Admin'); 30 | 31 | $t->clear_all_cache(); 32 | $t->clear_compiled_tpl(); 33 | include 'templates/default/base/removetemplates.html'; 34 | 35 | // -------------------------------------------------------------------------------- /attachments/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Order deny,allow 3 | Deny from all 4 | 5 | RemoveHandler .php .phtml .php3 6 | RemoveType .php .phtml .php3 7 | php_flag engine off 8 | 9 | -------------------------------------------------------------------------------- /contrib/.htaccess: -------------------------------------------------------------------------------- 1 | Order deny,allow 2 | Deny from all 3 | -------------------------------------------------------------------------------- /docs/html/docs.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: "Verdana","Arial","Helvetica","MS Sans Serif","Sans-Serif"; 3 | font-size: 10pt; 4 | } 5 | 6 | TD { 7 | font-size: 10pt; 8 | } 9 | 10 | H1.TITLE { 11 | font-size: 20pt; 12 | font-family: "Tahoma", "Lucida", "Helvetica", "Arial", "Sans-Serif"; 13 | text-align: right; 14 | //background-color: #FFDDBB; 15 | padding: .1em; 16 | } 17 | 18 | .MEDIAOBJECT { 19 | text-align: center; 20 | } 21 | 22 | .CAPTION { 23 | text-align: center; 24 | } 25 | 26 | thead { background-color: #dddddd; } 27 | 28 | .TABLE { padding: .5em; } 29 | -------------------------------------------------------------------------------- /docs/html/images/callouts/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/1.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/10.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/2.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/3.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/4.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/5.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/6.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/7.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/8.gif -------------------------------------------------------------------------------- /docs/html/images/callouts/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/callouts/9.gif -------------------------------------------------------------------------------- /docs/html/images/caution.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/caution.gif -------------------------------------------------------------------------------- /docs/html/images/home.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/home.gif -------------------------------------------------------------------------------- /docs/html/images/important.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/important.gif -------------------------------------------------------------------------------- /docs/html/images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/logo.jpg -------------------------------------------------------------------------------- /docs/html/images/next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/next.gif -------------------------------------------------------------------------------- /docs/html/images/note.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/note.gif -------------------------------------------------------------------------------- /docs/html/images/prev.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/prev.gif -------------------------------------------------------------------------------- /docs/html/images/shots/user/bugdetail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/shots/user/bugdetail.jpg -------------------------------------------------------------------------------- /docs/html/images/shots/user/enterbug-chooseproject.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/shots/user/enterbug-chooseproject.jpg -------------------------------------------------------------------------------- /docs/html/images/shots/user/enterbug-detail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/shots/user/enterbug-detail.jpg -------------------------------------------------------------------------------- /docs/html/images/shots/user/query.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/shots/user/query.jpg -------------------------------------------------------------------------------- /docs/html/images/tip.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/tip.gif -------------------------------------------------------------------------------- /docs/html/images/toc-blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/toc-blank.gif -------------------------------------------------------------------------------- /docs/html/images/toc-minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/toc-minus.gif -------------------------------------------------------------------------------- /docs/html/images/toc-plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/toc-plus.gif -------------------------------------------------------------------------------- /docs/html/images/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/up.gif -------------------------------------------------------------------------------- /docs/html/images/warning.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/docs/html/images/warning.gif -------------------------------------------------------------------------------- /docs/sgml/bugsearch.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Searching the Bug Database 4 | 5 | There are two versions of the bug query page. The default version is the simple form, which allows you to restrict your search by project and bug status. The advanced query page presents a wide array of options for finding a specific set of bugs, and thus can be a little overwhelming at first sight. By submitting the default form, without selecting any options, a list of all the bugs in the database will be returned. Every option selected will filter out more bugs as you get more specific in your search. 6 | 7 | The five select boxes at the top allow you to choose bugs with specific characteristics, such as the priority, or those that have reached certain stages in the testing process, such as those that have been fixed. Multiple items can be chosen from each select box, and all options are combined for the filter. For example, if you selected New and Unconfirmed from the Status box and Feature Request from the Severity box, submitting the form would return a list of all the bugs that were designated feature requests and that haven't been handled yet. 8 | The middle set of boxes allow you to get more detailed in your search, whether you want to search for bugs assigned to an individual or search for a certain snippet of text in a bug description. The three select boxes immediately following allow you to restrict your search to bugs filed against a certain project, or even against a specific version or component of a project. The last two select boxes determine how the bug list will be sorted. 9 | A set of search parameters can be saved and given a name to make it easier to repeat a query in the future. Clicking on a named saved query will take you to the list of bugs that meet the search criteria, and deleting one will remove the link from the list. 10 | Finally, at the top of every page you will notice four numbers that are linked. These will run a query of open and closed bugs assigned to you, and open and closed bugs reported by you, respectively. These links allow you to quickly list which bugs are on your hit list, for example, and to see at a glance the status of bugs assigned to or reported by you. 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /docs/sgml/installation.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Installation Instructions 4 | 5 | 6 | 7 | Copy the directory tree from the tarball (or zip archive) to a location suitable for serving web pages. 8 | 9 | 10 | 11 | With your web browser, go the location where you installed the package. You will be presented with a web page that will help you configure and install the application. 12 | 13 | 14 | 15 | After completing the installation, login and start reporting bugs. 16 | 17 | 18 | Optional: Install JpGraph (http://www.aditus.nu/jpgraph) if you wish to use it for the summary bug display on the home page. 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /docs/sgml/phpbt.sgml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | ]> 23 | 24 | 25 | 26 | 27 | &phpbt; 28 | 29 | &phpbt; is a web-based bug reporting and tracking system. It helps development teams to manage the testing and debugging segments of the development cycle. 30 | 31 | 32 | 33 | 34 | User's Guide 35 | 36 | Currently all interactions with &phpbt; are done via the web interface. Users can submit bugs, communicate with developers and testers about bugs, and search through the bug database. 37 | 38 | 39 | &primer; 40 | &bugsearch; 41 | &bugdetail; 42 | 43 | 44 | 45 | 46 | Administrator's Guide 47 | 48 | One of the main design goals of &phpbt; is to make installation and administration easy. In fact, the difficulty of installing bugzilla was a key motivator for &phpbt;'s existence. 49 | 50 | 51 | &requirements; 52 | &installation; 53 | &configuration; 54 | 55 | 56 | 57 | 58 | Developer's Guide 59 | 60 | Adding on to or extending &phpbt; should be easy for those with a knowledge of PHP and SQL. New developers are always welcome to join the project at http://www.sourceforge.net/projects/phpbt, or to simply submit patches, bug reports, or feature requests. 61 | 62 | 63 | &manifest; 64 | &devstandards; 65 | &schema; 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /docs/sgml/primer.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Getting Started 4 | 5 | 6 | Creating an account 7 | 8 | You can create a new account by following the link labeled Create a new account. To create a new account you will need to enter at least a valid email address (so that your password can be mailed to you). Providing your name is optional, but if you submit it then your name will appear with bugs you submit and comments you make. If the system has been configured to use a login separate from the email address, you will also be prompted for a login. If you have chosen an email address (or login) that is already in use, you will be prompted to choose a different one. After completing this form, your password will be mailed to you. Once you have received your password you can then login with your email (or login) and password to be able to submit bugs. 9 | 10 | 11 | 12 | 13 | Entering a bug 14 | 15 | Once you have logged in to the system you can follow the Add a New Bug link from the top navigation bar to create a new bug. If there is more than one project for which you can submit a bug, you will be prompted to choose one. 16 | 17 | Once you have chosen a project, or if there is only one project in the system, you will see the bug entry page. The Version and Component fields allow you to specify details about which part or version of the product that produces this bug. The Summary field should be a short but specific summary of the problem, while the Description field should include details about the behavior observed, how that behavior differs from expected behavior, and the steps to reproduce the problem. If the product being tested is web-based, you can use the URL field to provide a link directly to the problem. The Add another checkbox, if checked, will present another bug entry form when you submit a bug, instead of taking you to the bug list. 18 | 19 | That's it! The bug has been entered, and it's ready to be reviewed and fixed by the developers. 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/sgml/requirements.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Requirements 4 | 5 | Here is a list of things you need to have installed before you can install &phpbt;: 6 | 7 | 8 | 9 | A web server (Apache, IIS, etc.) configured to run PHP scripts. The PHP version must be later than 4.3.6. 10 | 11 | 12 | PEAR::DB. This is the database abstraction layer that comes with PEAR, which is included with recent distributions of PHP. 13 | 14 | 15 | A database server. &phpbt; has been tested with MySQL, PostgreSQL (>= 7.4 required) and Oracle 8. If you wish to run this package on another type of database, I am more than willing to support more types of databases if you are willing to help with testing. 16 | 17 | 18 | A database created on your database server for use with &phpbt;. You will need to supply this database name during the installation process. 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/sgml/template.sgml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Example Documentation Section 4 | 5 | 6 | Summary of what this section is about. 7 | 8 | 9 | 10 | Subsection title 11 | 12 | Subsection content 13 | 14 | More content 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/favicon.ico -------------------------------------------------------------------------------- /images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/images/spacer.gif -------------------------------------------------------------------------------- /inc/.htaccess: -------------------------------------------------------------------------------- 1 | Order Deny,Allow 2 | Deny from all -------------------------------------------------------------------------------- /inc/Smarty/README.md: -------------------------------------------------------------------------------- 1 | #Smarty 3 template engine 2 | ##Distribution repository 3 | 4 | > Smarty 3.1.28 introduces run time template inheritance 5 | 6 | > Read the NEW_FEATURES and INHERITANCE_RELEASE_NOTES file for recent extensions to Smarty 3.1 functionality 7 | 8 | Smarty versions 3.1.11 or later are now on github and can be installed with Composer. 9 | 10 | 11 | The "smarty/smarty" package will start at libs/.... subfolder. 12 | 13 | To get the latest stable version of Smarty 3.1 use 14 | 15 | ```json 16 | "require": { 17 | "smarty/smarty": "~3.1" 18 | } 19 | ``` 20 | 21 | in your composer.json file. 22 | 23 | To get the trunk version use 24 | 25 | ```json 26 | "require": { 27 | "smarty/smarty": "~3.1@dev" 28 | } 29 | ``` 30 | 31 | For a specific version use something like 32 | 33 | ```json 34 | "require": { 35 | "smarty/smarty": "3.1.19" 36 | } 37 | ``` 38 | 39 | PHPUnit test can be installed by corresponding composer entries like 40 | 41 | ```json 42 | "require": { 43 | "smarty/smarty-phpunit": "3.1.19" 44 | } 45 | ``` 46 | 47 | Similar applies for the lexer/parser generator 48 | 49 | ```json 50 | "require": { 51 | "smarty/smarty-lexer": "3.1.19" 52 | } 53 | ``` 54 | 55 | Or you could use 56 | 57 | ```json 58 | "require": { 59 | "smarty/smarty-dev": "3.1.19" 60 | } 61 | ``` 62 | 63 | Which is a wrapper to install all 3 packages 64 | 65 | Composer can also be used for Smarty2 versions 2.6.24 to 2.6.28 66 | -------------------------------------------------------------------------------- /inc/Smarty/SMARTY_3.0_BC_NOTES.txt: -------------------------------------------------------------------------------- 1 | == Smarty2 backward compatibility == 2 | All Smarty2 specific API functions and deprecated functionallity has been moved 3 | to the SmartyBC class. 4 | 5 | == {php} Tag == 6 | The {php} tag is no longer available in the standard Smarty calls. 7 | The use of {php} tags is deprecated and only available in the SmartyBC class. 8 | 9 | == {include_php} Tag == 10 | The {include_php} tag is no longer available in the standard Smarty calls. 11 | The use of {include_php} tags is deprecated and only available in the SmartyBC class. 12 | 13 | == php template resource == 14 | The support of the php template resource is removed. 15 | 16 | == $cache_dir, $compile_dir, $config_dir, $template_dir access == 17 | The mentioned properties can't be accessed directly any longer. You must use 18 | corresponding getter/setters like addConfigDir(), setConfigDir(), getConfigDir() 19 | 20 | == obsolete Smarty class properties == 21 | The following no longer used properties are removed: 22 | $allow_php_tag 23 | $allow_php_template 24 | $deprecation_notices -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/function.counter.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: counter
13 | * Purpose: print out a counter value 14 | * 15 | * @author Monte Ohrt 16 | * @link http://www.smarty.net/manual/en/language.function.counter.php {counter} 17 | * (Smarty online manual) 18 | * 19 | * @param array $params parameters 20 | * @param Smarty_Internal_Template $template template object 21 | * 22 | * @return string|null 23 | */ 24 | function smarty_function_counter($params, $template) 25 | { 26 | static $counters = array(); 27 | 28 | $name = (isset($params['name'])) ? $params['name'] : 'default'; 29 | if (!isset($counters[$name])) { 30 | $counters[$name] = array('start' => 1, 'skip' => 1, 'direction' => 'up', 'count' => 1); 31 | } 32 | $counter =& $counters[$name]; 33 | 34 | if (isset($params['start'])) { 35 | $counter['start'] = $counter['count'] = (int)$params['start']; 36 | } 37 | 38 | if (!empty($params['assign'])) { 39 | $counter['assign'] = $params['assign']; 40 | } 41 | 42 | if (isset($counter['assign'])) { 43 | $template->assign($counter['assign'], $counter['count']); 44 | } 45 | 46 | if (isset($params['print'])) { 47 | $print = (bool)$params['print']; 48 | } else { 49 | $print = empty($counter['assign']); 50 | } 51 | 52 | if ($print) { 53 | $retval = $counter['count']; 54 | } else { 55 | $retval = null; 56 | } 57 | 58 | if (isset($params['skip'])) { 59 | $counter['skip'] = $params['skip']; 60 | } 61 | 62 | if (isset($params['direction'])) { 63 | $counter['direction'] = $params['direction']; 64 | } 65 | 66 | if ($counter['direction'] == "down") { 67 | $counter['count'] -= $counter['skip']; 68 | } else { 69 | $counter['count'] += $counter['skip']; 70 | } 71 | 72 | return $retval; 73 | } 74 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifier.regex_replace.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: regex_replace
13 | * Purpose: regular expression search/replace 14 | * 15 | * @link http://smarty.php.net/manual/en/language.modifier.regex.replace.php 16 | * regex_replace (Smarty online manual) 17 | * @author Monte Ohrt 18 | * 19 | * @param string $string input string 20 | * @param string|array $search regular expression(s) to search for 21 | * @param string|array $replace string(s) that should be replaced 22 | * @param int $limit the maximum number of replacements 23 | * 24 | * @return string 25 | */ 26 | function smarty_modifier_regex_replace($string, $search, $replace, $limit = -1) 27 | { 28 | if (is_array($search)) { 29 | foreach ($search as $idx => $s) { 30 | $search[$idx] = _smarty_regex_replace_check($s); 31 | } 32 | } else { 33 | $search = _smarty_regex_replace_check($search); 34 | } 35 | 36 | return preg_replace($search, $replace, $string, $limit); 37 | } 38 | 39 | /** 40 | * @param string $search string(s) that should be replaced 41 | * 42 | * @return string 43 | * @ignore 44 | */ 45 | function _smarty_regex_replace_check($search) 46 | { 47 | // null-byte injection detection 48 | // anything behind the first null-byte is ignored 49 | if (($pos = strpos($search, "\0")) !== false) { 50 | $search = substr($search, 0, $pos); 51 | } 52 | // remove eval-modifier from $search 53 | if (preg_match('!([a-zA-Z\s]+)$!s', $search, $match) && (strpos($match[1], 'e') !== false)) { 54 | $search = substr($search, 0, -strlen($match[1])) . preg_replace('![e\s]+!', '', $match[1]); 55 | } 56 | 57 | return $search; 58 | } 59 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifier.replace.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: replace
13 | * Purpose: simple search/replace 14 | * 15 | * @link http://smarty.php.net/manual/en/language.modifier.replace.php replace (Smarty online manual) 16 | * @author Monte Ohrt 17 | * @author Uwe Tews 18 | * 19 | * @param string $string input string 20 | * @param string $search text to search for 21 | * @param string $replace replacement text 22 | * 23 | * @return string 24 | */ 25 | function smarty_modifier_replace($string, $search, $replace) 26 | { 27 | if (Smarty::$_MBSTRING) { 28 | require_once(SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php'); 29 | 30 | return smarty_mb_str_replace($search, $replace, $string); 31 | } 32 | 33 | return str_replace($search, $replace, $string); 34 | } 35 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifier.spacify.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: spacify
13 | * Purpose: add spaces between characters in a string 14 | * 15 | * @link http://smarty.php.net/manual/en/language.modifier.spacify.php spacify (Smarty online manual) 16 | * @author Monte Ohrt 17 | * 18 | * @param string $string input string 19 | * @param string $spacify_char string to insert between characters. 20 | * 21 | * @return string 22 | */ 23 | function smarty_modifier_spacify($string, $spacify_char = ' ') 24 | { 25 | // well… what about charsets besides latin and UTF-8? 26 | return implode($spacify_char, preg_split('//' . Smarty::$_UTF8_MODIFIER, $string, - 1, PREG_SPLIT_NO_EMPTY)); 27 | } 28 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifier.truncate.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: truncate
13 | * Purpose: Truncate a string to a certain length if necessary, 14 | * optionally splitting in the middle of a word, and 15 | * appending the $etc string or inserting $etc into the middle. 16 | * 17 | * @link http://smarty.php.net/manual/en/language.modifier.truncate.php truncate (Smarty online manual) 18 | * @author Monte Ohrt 19 | * 20 | * @param string $string input string 21 | * @param integer $length length of truncated text 22 | * @param string $etc end string 23 | * @param boolean $break_words truncate at word boundary 24 | * @param boolean $middle truncate in the middle of text 25 | * 26 | * @return string truncated string 27 | */ 28 | function smarty_modifier_truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false) 29 | { 30 | if ($length == 0) { 31 | return ''; 32 | } 33 | 34 | if (Smarty::$_MBSTRING) { 35 | if (mb_strlen($string, Smarty::$_CHARSET) > $length) { 36 | $length -= min($length, mb_strlen($etc, Smarty::$_CHARSET)); 37 | if (!$break_words && !$middle) { 38 | $string = preg_replace('/\s+?(\S+)?$/' . Smarty::$_UTF8_MODIFIER, '', 39 | mb_substr($string, 0, $length + 1, Smarty::$_CHARSET)); 40 | } 41 | if (!$middle) { 42 | return mb_substr($string, 0, $length, Smarty::$_CHARSET) . $etc; 43 | } 44 | 45 | return mb_substr($string, 0, $length / 2, Smarty::$_CHARSET) . $etc . 46 | mb_substr($string, -$length / 2, $length, Smarty::$_CHARSET); 47 | } 48 | 49 | return $string; 50 | } 51 | 52 | // no MBString fallback 53 | if (isset($string[$length])) { 54 | $length -= min($length, strlen($etc)); 55 | if (!$break_words && !$middle) { 56 | $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length + 1)); 57 | } 58 | if (!$middle) { 59 | return substr($string, 0, $length) . $etc; 60 | } 61 | 62 | return substr($string, 0, $length / 2) . $etc . substr($string, - $length / 2); 63 | } 64 | 65 | return $string; 66 | } 67 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.cat.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: cat
13 | * Date: Feb 24, 2003
14 | * Purpose: catenate a value to a variable
15 | * Input: string to catenate
16 | * Example: {$var|cat:"foo"} 17 | * 18 | * @link http://smarty.php.net/manual/en/language.modifier.cat.php cat 19 | * (Smarty online manual) 20 | * @author Uwe Tews 21 | * 22 | * @param array $params parameters 23 | * 24 | * @return string with compiled code 25 | */ 26 | function smarty_modifiercompiler_cat($params) 27 | { 28 | return '(' . implode(').(', $params) . ')'; 29 | } 30 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.count_characters.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: count_characteres
13 | * Purpose: count the number of characters in a text 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.count.characters.php count_characters (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * 20 | * @return string with compiled code 21 | */ 22 | function smarty_modifiercompiler_count_characters($params) 23 | { 24 | if (!isset($params[1]) || $params[1] != 'true') { 25 | return 'preg_match_all(\'/[^\s]/' . Smarty::$_UTF8_MODIFIER . '\',' . $params[0] . ', $tmp)'; 26 | } 27 | if (Smarty::$_MBSTRING) { 28 | return 'mb_strlen(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')'; 29 | } 30 | // no MBString fallback 31 | return 'strlen(' . $params[0] . ')'; 32 | } 33 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.count_paragraphs.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: count_paragraphs
13 | * Purpose: count the number of paragraphs in a text 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php 16 | * count_paragraphs (Smarty online manual) 17 | * @author Uwe Tews 18 | * 19 | * @param array $params parameters 20 | * 21 | * @return string with compiled code 22 | */ 23 | function smarty_modifiercompiler_count_paragraphs($params) 24 | { 25 | // count \r or \n characters 26 | return '(preg_match_all(\'#[\r\n]+#\', ' . $params[0] . ', $tmp)+1)'; 27 | } 28 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.count_sentences.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: count_sentences 13 | * Purpose: count the number of sentences in a text 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.count.paragraphs.php 16 | * count_sentences (Smarty online manual) 17 | * @author Uwe Tews 18 | * 19 | * @param array $params parameters 20 | * 21 | * @return string with compiled code 22 | */ 23 | function smarty_modifiercompiler_count_sentences($params) 24 | { 25 | // find periods, question marks, exclamation marks with a word before but not after. 26 | return 'preg_match_all("#\w[\.\?\!](\W|$)#S' . Smarty::$_UTF8_MODIFIER . '", ' . $params[0] . ', $tmp)'; 27 | } 28 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.count_words.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: count_words
13 | * Purpose: count the number of words in a text 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.count.words.php count_words (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * 20 | * @return string with compiled code 21 | */ 22 | function smarty_modifiercompiler_count_words($params) 23 | { 24 | if (Smarty::$_MBSTRING) { 25 | // return 'preg_match_all(\'#[\w\pL]+#' . Smarty::$_UTF8_MODIFIER . '\', ' . $params[0] . ', $tmp)'; 26 | // expression taken from http://de.php.net/manual/en/function.str-word-count.php#85592 27 | return 'preg_match_all(\'/\p{L}[\p{L}\p{Mn}\p{Pd}\\\'\x{2019}]*/' . Smarty::$_UTF8_MODIFIER . '\', ' . 28 | $params[0] . ', $tmp)'; 29 | } 30 | // no MBString fallback 31 | return 'str_word_count(' . $params[0] . ')'; 32 | } 33 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.default.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: default
13 | * Purpose: designate default value for empty variables 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.default.php default (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * 20 | * @return string with compiled code 21 | */ 22 | function smarty_modifiercompiler_default($params) 23 | { 24 | $output = $params[0]; 25 | if (!isset($params[1])) { 26 | $params[1] = "''"; 27 | } 28 | 29 | array_shift($params); 30 | foreach ($params as $param) { 31 | $output = '(($tmp = @' . $output . ')===null||$tmp===\'\' ? ' . $param . ' : $tmp)'; 32 | } 33 | 34 | return $output; 35 | } 36 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.from_charset.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: from_charset
13 | * Purpose: convert character encoding from $charset to internal encoding 14 | * 15 | * @author Rodney Rehm 16 | * 17 | * @param array $params parameters 18 | * 19 | * @return string with compiled code 20 | */ 21 | function smarty_modifiercompiler_from_charset($params) 22 | { 23 | if (!Smarty::$_MBSTRING) { 24 | // FIXME: (rodneyrehm) shouldn't this throw an error? 25 | return $params[0]; 26 | } 27 | 28 | if (!isset($params[1])) { 29 | $params[1] = '"ISO-8859-1"'; 30 | } 31 | 32 | return 'mb_convert_encoding(' . $params[0] . ', "' . addslashes(Smarty::$_CHARSET) . '", ' . $params[1] . ')'; 33 | } 34 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.indent.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: indent
13 | * Purpose: indent lines of text 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.indent.php indent (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * 20 | * @return string with compiled code 21 | */ 22 | 23 | function smarty_modifiercompiler_indent($params) 24 | { 25 | if (!isset($params[1])) { 26 | $params[1] = 4; 27 | } 28 | if (!isset($params[2])) { 29 | $params[2] = "' '"; 30 | } 31 | 32 | return 'preg_replace(\'!^!m\',str_repeat(' . $params[2] . ',' . $params[1] . '),' . $params[0] . ')'; 33 | } 34 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.lower.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: lower
13 | * Purpose: convert string to lowercase 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.lower.php lower (Smarty online manual) 16 | * @author Monte Ohrt 17 | * @author Uwe Tews 18 | * 19 | * @param array $params parameters 20 | * 21 | * @return string with compiled code 22 | */ 23 | 24 | function smarty_modifiercompiler_lower($params) 25 | { 26 | if (Smarty::$_MBSTRING) { 27 | return 'mb_strtolower(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')'; 28 | } 29 | // no MBString fallback 30 | return 'strtolower(' . $params[0] . ')'; 31 | } 32 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.noprint.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: noprint
13 | * Purpose: return an empty string 14 | * 15 | * @author Uwe Tews 16 | * @return string with compiled code 17 | */ 18 | function smarty_modifiercompiler_noprint() 19 | { 20 | return "''"; 21 | } 22 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.string_format.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: string_format
13 | * Purpose: format strings via sprintf 14 | * 15 | * @link http://www.smarty.net/manual/en/language.modifier.string.format.php string_format (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * 20 | * @return string with compiled code 21 | */ 22 | function smarty_modifiercompiler_string_format($params) 23 | { 24 | return 'sprintf(' . $params[1] . ',' . $params[0] . ')'; 25 | } 26 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.strip.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: strip
13 | * Purpose: Replace all repeated spaces, newlines, tabs 14 | * with a single space or supplied replacement string.
15 | * Example: {$var|strip} {$var|strip:" "}
16 | * Date: September 25th, 2002 17 | * 18 | * @link http://www.smarty.net/manual/en/language.modifier.strip.php strip (Smarty online manual) 19 | * @author Uwe Tews 20 | * 21 | * @param array $params parameters 22 | * 23 | * @return string with compiled code 24 | */ 25 | 26 | function smarty_modifiercompiler_strip($params) 27 | { 28 | if (!isset($params[1])) { 29 | $params[1] = "' '"; 30 | } 31 | 32 | return "preg_replace('!\s+!" . Smarty::$_UTF8_MODIFIER . "', {$params[1]},{$params[0]})"; 33 | } 34 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.strip_tags.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: strip_tags
13 | * Purpose: strip html tags from text 14 | * 15 | * @link http://www.smarty.net/docs/en/language.modifier.strip.tags.tpl strip_tags (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * 20 | * @return string with compiled code 21 | */ 22 | function smarty_modifiercompiler_strip_tags($params) 23 | { 24 | if (!isset($params[1]) || $params[1] === true || trim($params[1], '"') == 'true') { 25 | return "preg_replace('!<[^>]*?>!', ' ', {$params[0]})"; 26 | } else { 27 | return 'strip_tags(' . $params[0] . ')'; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.to_charset.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: to_charset
13 | * Purpose: convert character encoding from internal encoding to $charset 14 | * 15 | * @author Rodney Rehm 16 | * 17 | * @param array $params parameters 18 | * 19 | * @return string with compiled code 20 | */ 21 | function smarty_modifiercompiler_to_charset($params) 22 | { 23 | if (!Smarty::$_MBSTRING) { 24 | // FIXME: (rodneyrehm) shouldn't this throw an error? 25 | return $params[0]; 26 | } 27 | 28 | if (!isset($params[1])) { 29 | $params[1] = '"ISO-8859-1"'; 30 | } 31 | 32 | return 'mb_convert_encoding(' . $params[0] . ', ' . $params[1] . ', "' . addslashes(Smarty::$_CHARSET) . '")'; 33 | } 34 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.unescape.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: unescape
13 | * Purpose: unescape html entities 14 | * 15 | * @author Rodney Rehm 16 | * 17 | * @param array $params parameters 18 | * 19 | * @return string with compiled code 20 | */ 21 | function smarty_modifiercompiler_unescape($params) 22 | { 23 | if (!isset($params[1])) { 24 | $params[1] = 'html'; 25 | } 26 | if (!isset($params[2])) { 27 | $params[2] = '\'' . addslashes(Smarty::$_CHARSET) . '\''; 28 | } else { 29 | $params[2] = "'" . $params[2] . "'"; 30 | } 31 | 32 | switch (trim($params[1], '"\'')) { 33 | case 'entity': 34 | case 'htmlall': 35 | if (Smarty::$_MBSTRING) { 36 | return 'mb_convert_encoding(' . $params[0] . ', ' . $params[2] . ', \'HTML-ENTITIES\')'; 37 | } 38 | 39 | return 'html_entity_decode(' . $params[0] . ', ENT_NOQUOTES, ' . $params[2] . ')'; 40 | 41 | case 'html': 42 | return 'htmlspecialchars_decode(' . $params[0] . ', ENT_QUOTES)'; 43 | 44 | case 'url': 45 | return 'rawurldecode(' . $params[0] . ')'; 46 | 47 | default: 48 | return $params[0]; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.upper.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: lower
13 | * Purpose: convert string to uppercase 14 | * 15 | * @link http://smarty.php.net/manual/en/language.modifier.upper.php lower (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * 20 | * @return string with compiled code 21 | */ 22 | function smarty_modifiercompiler_upper($params) 23 | { 24 | if (Smarty::$_MBSTRING) { 25 | return 'mb_strtoupper(' . $params[0] . ', \'' . addslashes(Smarty::$_CHARSET) . '\')'; 26 | } 27 | // no MBString fallback 28 | return 'strtoupper(' . $params[0] . ')'; 29 | } 30 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/modifiercompiler.wordwrap.php: -------------------------------------------------------------------------------- 1 | 12 | * Name: wordwrap
13 | * Purpose: wrap a string of text at a given length 14 | * 15 | * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php wordwrap (Smarty online manual) 16 | * @author Uwe Tews 17 | * 18 | * @param array $params parameters 19 | * @param $compiler 20 | * 21 | * @return string with compiled code 22 | */ 23 | function smarty_modifiercompiler_wordwrap($params, $compiler) 24 | { 25 | if (!isset($params[1])) { 26 | $params[1] = 80; 27 | } 28 | if (!isset($params[2])) { 29 | $params[2] = '"\n"'; 30 | } 31 | if (!isset($params[3])) { 32 | $params[3] = 'false'; 33 | } 34 | $function = 'wordwrap'; 35 | if (Smarty::$_MBSTRING) { 36 | if ($compiler->template->caching && ($compiler->tag_nocache | $compiler->nocache)) { 37 | $compiler->parent_compiler->template->compiled->required_plugins['nocache']['wordwrap']['modifier']['file'] = 38 | SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; 39 | $compiler->template->required_plugins['nocache']['wordwrap']['modifier']['function'] = 40 | 'smarty_mb_wordwrap'; 41 | } else { 42 | $compiler->parent_compiler->template->compiled->required_plugins['compiled']['wordwrap']['modifier']['file'] = 43 | SMARTY_PLUGINS_DIR . 'shared.mb_wordwrap.php'; 44 | $compiler->parent_compiler->template->compiled->required_plugins['compiled']['wordwrap']['modifier']['function'] = 45 | 'smarty_mb_wordwrap'; 46 | } 47 | $function = 'smarty_mb_wordwrap'; 48 | } 49 | 50 | return $function . '(' . $params[0] . ',' . $params[1] . ',' . $params[2] . ',' . $params[3] . ')'; 51 | } 52 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/shared.escape_special_chars.php: -------------------------------------------------------------------------------- 1 | 12 | * Purpose: used by other smarty functions to escape 13 | * special chars except for already escaped ones 14 | * 15 | * @author Monte Ohrt 16 | * 17 | * @param string $string text that should by escaped 18 | * 19 | * @return string 20 | */ 21 | function smarty_function_escape_special_chars($string) { 22 | if (!is_array($string)) { 23 | if (version_compare(PHP_VERSION, '5.2.3', '>=')) { 24 | $string = htmlspecialchars($string, ENT_COMPAT, Smarty::$_CHARSET, false); 25 | } else { 26 | $string = preg_replace('!&(#?\w+);!', '%%%SMARTY_START%%%\\1%%%SMARTY_END%%%', $string); 27 | $string = htmlspecialchars($string); 28 | $string = str_replace(array('%%%SMARTY_START%%%', '%%%SMARTY_END%%%'), array('&', ';'), $string); 29 | } 30 | } 31 | 32 | return $string; 33 | } 34 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/shared.literal_compiler_param.php: -------------------------------------------------------------------------------- 1 | 11 | * Purpose: used by other smarty functions to make a timestamp from a string. 12 | * 13 | * @author Monte Ohrt 14 | * 15 | * @param DateTime|int|string $string date object, timestamp or string that can be converted using strtotime() 16 | * 17 | * @return int 18 | */ 19 | function smarty_make_timestamp($string) 20 | { 21 | if (empty($string)) { 22 | // use "now": 23 | return time(); 24 | } elseif ($string instanceof DateTime || 25 | (interface_exists('DateTimeInterface', false) && $string instanceof DateTimeInterface) 26 | ) { 27 | return (int)$string->format('U'); // PHP 5.2 BC 28 | } elseif (strlen($string) == 14 && ctype_digit($string)) { 29 | // it is mysql timestamp format of YYYYMMDDHHMMSS? 30 | return mktime(substr($string, 8, 2), substr($string, 10, 2), substr($string, 12, 2), substr($string, 4, 2), 31 | substr($string, 6, 2), substr($string, 0, 4)); 32 | } elseif (is_numeric($string)) { 33 | // it is a numeric string, we handle it as timestamp 34 | return (int) $string; 35 | } else { 36 | // strtotime should handle it 37 | $time = strtotime($string); 38 | if ($time == - 1 || $time === false) { 39 | // strtotime() was not able to parse $string, use "now": 40 | return time(); 41 | } 42 | 43 | return $time; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /inc/Smarty/libs/plugins/shared.mb_str_replace.php: -------------------------------------------------------------------------------- 1 | dataObjectName = 'Data_object ' . (isset($name) ? "'{$name}'" : self::$count); 53 | $this->smarty = $smarty; 54 | if (is_object($_parent)) { 55 | // when object set up back pointer 56 | $this->parent = $_parent; 57 | } elseif (is_array($_parent)) { 58 | // set up variable values 59 | foreach ($_parent as $_key => $_val) { 60 | $this->tpl_vars[$_key] = new Smarty_Variable($_val); 61 | } 62 | } elseif ($_parent != null) { 63 | throw new SmartyException("Wrong type for template variables"); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_block.php: -------------------------------------------------------------------------------- 1 | name = $name; 77 | $this->tplIndex = $tplIndex; 78 | } 79 | 80 | /** 81 | * Compiled block code overloaded by {block} class 82 | * 83 | * @param \Smarty_Internal_Template $tpl 84 | */ 85 | public function callBlock(Smarty_Internal_Template $tpl) { 86 | } 87 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_append.php: -------------------------------------------------------------------------------- 1 | required_attributes = array('var', 'value'); 32 | $this->shorttag_order = array('var', 'value'); 33 | $this->optional_attributes = array('scope', 'index'); 34 | $this->mapCache = array(); 35 | // check and get attributes 36 | $_attr = $this->getAttributes($compiler, $args); 37 | // map to compile assign attributes 38 | if (isset($_attr['index'])) { 39 | $_params['smarty_internal_index'] = '[' . $_attr['index'] . ']'; 40 | unset($_attr['index']); 41 | } else { 42 | $_params['smarty_internal_index'] = '[]'; 43 | } 44 | $_new_attr = array(); 45 | foreach ($_attr as $key => $value) { 46 | $_new_attr[] = array($key => $value); 47 | } 48 | // call compile assign 49 | return parent::compile($_new_attr, $compiler, $_params); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_debug.php: -------------------------------------------------------------------------------- 1 | getAttributes($compiler, $args); 32 | 33 | // compile always as nocache 34 | $compiler->tag_nocache = true; 35 | 36 | // display debug template 37 | $_output = 38 | "display_debug(\$_smarty_tpl);\n"; 39 | $_output .= "unset(\$_smarty_debug);\n?>"; 40 | return $_output; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_eval.php: -------------------------------------------------------------------------------- 1 | getAttributes($compiler, $args); 55 | if (isset($_attr['assign'])) { 56 | // output will be stored in a smarty variable instead of being displayed 57 | $_assign = $_attr['assign']; 58 | } 59 | 60 | // create template object 61 | $_output = "\$_template = new {$compiler->smarty->template_class}('eval:'." . $_attr['var'] . 62 | ", \$_smarty_tpl->smarty, \$_smarty_tpl);"; 63 | //was there an assign attribute? 64 | if (isset($_assign)) { 65 | $_output .= "\$_smarty_tpl->assign($_assign,\$_template->fetch());"; 66 | } else { 67 | $_output .= "echo \$_template->fetch();"; 68 | } 69 | 70 | return ""; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_ldelim.php: -------------------------------------------------------------------------------- 1 | getAttributes($compiler, $args); 32 | if ($_attr['nocache'] === true) { 33 | $compiler->trigger_template_error('nocache option not allowed', null, true); 34 | } 35 | // this tag does not return compiled code 36 | $compiler->has_code = true; 37 | 38 | return $compiler->smarty->left_delimiter; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_make_nocache.php: -------------------------------------------------------------------------------- 1 | getAttributes($compiler, $args); 53 | if ($compiler->template->caching) { 54 | $output = "smarty->ext->_make_nocache->save(\$_smarty_tpl, {$_attr[ 'var' ]});\n?>\n"; 55 | $compiler->has_code = true; 56 | $compiler->suppressNocacheProcessing = true; 57 | return $output; 58 | } else { 59 | return true; 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_nocache.php: -------------------------------------------------------------------------------- 1 | getAttributes($compiler, $args); 38 | $this->openTag($compiler, 'nocache', array($compiler->nocache)); 39 | // enter nocache mode 40 | $compiler->nocache = true; 41 | // this tag does not return compiled code 42 | $compiler->has_code = false; 43 | 44 | return true; 45 | } 46 | } 47 | 48 | /** 49 | * Smarty Internal Plugin Compile Nocacheclose Class 50 | * 51 | * @package Smarty 52 | * @subpackage Compiler 53 | */ 54 | class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase 55 | { 56 | /** 57 | * Compiles code for the {/nocache} tag 58 | * This tag does not generate compiled output. It only sets a compiler flag. 59 | * 60 | * @param array $args array with attributes from parser 61 | * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object 62 | * 63 | * @return bool 64 | */ 65 | public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) 66 | { 67 | $_attr = $this->getAttributes($compiler, $args); 68 | // leave nocache mode 69 | list($compiler->nocache) = $this->closeTag($compiler, array('nocache')); 70 | // this tag does not return compiled code 71 | $compiler->has_code = false; 72 | 73 | return true; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php: -------------------------------------------------------------------------------- 1 | $_value) { 33 | if (is_int($_key)) { 34 | $_paramsArray[] = "$_key=>$_value"; 35 | } else { 36 | $_paramsArray[] = "'$_key'=>$_value"; 37 | } 38 | } 39 | $callback = array("\$_smarty_tpl->smarty->registered_objects['{$tag}'][0]", "->{$method}"); 40 | return array($callback, $_paramsArray, "array(\$_block_plugin{$this->nesting}, '{$method}')"); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_rdelim.php: -------------------------------------------------------------------------------- 1 | getAttributes($compiler, $args); 32 | if ($_attr['nocache'] === true) { 33 | $compiler->trigger_template_error('nocache option not allowed', null, true); 34 | } 35 | // this tag does not return compiled code 36 | $compiler->has_code = true; 37 | 38 | return $compiler->smarty->right_delimiter; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_setfilter.php: -------------------------------------------------------------------------------- 1 | variable_filter_stack[] = $compiler->variable_filters; 31 | $compiler->variable_filters = $parameter['modifier_list']; 32 | // this tag does not return compiled code 33 | $compiler->has_code = false; 34 | 35 | return true; 36 | } 37 | } 38 | 39 | /** 40 | * Smarty Internal Plugin Compile Setfilterclose Class 41 | * 42 | * @package Smarty 43 | * @subpackage Compiler 44 | */ 45 | class Smarty_Internal_Compile_Setfilterclose extends Smarty_Internal_CompileBase 46 | { 47 | /** 48 | * Compiles code for the {/setfilter} tag 49 | * This tag does not generate compiled output. It resets variable filter. 50 | * 51 | * @param array $args array with attributes from parser 52 | * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object 53 | * 54 | * @return string compiled code 55 | */ 56 | public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler) 57 | { 58 | $_attr = $this->getAttributes($compiler, $args); 59 | // reset variable filter to previous state 60 | if (count($compiler->variable_filter_stack)) { 61 | $compiler->variable_filters = array_pop($compiler->variable_filter_stack); 62 | } else { 63 | $compiler->variable_filters = array(); 64 | } 65 | // this tag does not return compiled code 66 | $compiler->has_code = false; 67 | 68 | return true; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_compile_shared_inheritance.php: -------------------------------------------------------------------------------- 1 | _cache['inheritanceInit'])) { 26 | $compiler->registerPostCompileCallback(array('Smarty_Internal_Compile_Shared_Inheritance', 'postCompile'), 27 | array($initChildSequence), 'inheritanceInit', $initChildSequence); 28 | 29 | $compiler->_cache['inheritanceInit'] = true; 30 | } 31 | } 32 | 33 | /** 34 | * Compile inheritance initialization code as prefix 35 | * 36 | * @param \Smarty_Internal_TemplateCompilerBase $compiler 37 | * @param bool|false $initChildSequence if true force child template 38 | */ 39 | static function postCompile(Smarty_Internal_TemplateCompilerBase $compiler, $initChildSequence = false) { 40 | $compiler->prefixCompiledCode .= "_loadInheritance();\n\$_smarty_tpl->inheritance->init(\$_smarty_tpl, " . 41 | var_export($initChildSequence, true) . ");\n?>\n"; 42 | } 43 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_get_include_path.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 30 | if ($type !== null) { 31 | $this->_checkFilterType($type); 32 | if (!empty($smarty->autoload_filters[$type])) { 33 | $smarty->autoload_filters[$type] = array_merge($smarty->autoload_filters[$type], (array)$filters); 34 | } else { 35 | $smarty->autoload_filters[$type] = (array)$filters; 36 | } 37 | } else { 38 | foreach ((array)$filters as $type => $value) { 39 | $this->_checkFilterType($type); 40 | if (!empty($smarty->autoload_filters[$type])) { 41 | $smarty->autoload_filters[$type] = 42 | array_merge($smarty->autoload_filters[$type], (array)$value); 43 | } else { 44 | $smarty->autoload_filters[$type] = (array)$value; 45 | } 46 | } 47 | } 48 | return $obj; 49 | } 50 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_adddefaultmodifiers.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 33 | if (is_array($modifiers)) { 34 | $smarty->default_modifiers = array_merge($smarty->default_modifiers, $modifiers); 35 | } else { 36 | $smarty->default_modifiers[] = $modifiers; 37 | } 38 | return $obj; 39 | } 40 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_appendbyref.php: -------------------------------------------------------------------------------- 1 | tpl_vars[$tpl_var])) { 30 | $data->tpl_vars[$tpl_var] = new Smarty_Variable(); 31 | } 32 | if (!is_array($data->tpl_vars[$tpl_var]->value)) { 33 | settype($data->tpl_vars[$tpl_var]->value, 'array'); 34 | } 35 | if ($merge && is_array($value)) { 36 | foreach ($value as $_key => $_val) { 37 | $data->tpl_vars[$tpl_var]->value[$_key] = &$value[$_key]; 38 | } 39 | } else { 40 | $data->tpl_vars[$tpl_var]->value[] = &$value; 41 | } 42 | if ($data->_objType == 2 && $data->scope) { 43 | $data->ext->_updateScope->_updateScope($data, $tpl_var); 44 | } 45 | } 46 | return $data; 47 | } 48 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_assignbyref.php: -------------------------------------------------------------------------------- 1 | tpl_vars[$tpl_var] = new Smarty_Variable(null, $nocache); 27 | $data->tpl_vars[$tpl_var]->value = &$value; 28 | if ($data->_objType == 2 && $data->scope) { 29 | $data->ext->_updateScope->_updateScope($data, $tpl_var); 30 | } 31 | } 32 | return $data; 33 | } 34 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_assignglobal.php: -------------------------------------------------------------------------------- 1 | _objType == 2) { 35 | $ptr->tpl_vars[$varName] = clone Smarty::$global_tpl_vars[$varName]; 36 | $ptr = $ptr->parent; 37 | } 38 | } 39 | return $data; 40 | } 41 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_clearallassign.php: -------------------------------------------------------------------------------- 1 | tpl_vars = array(); 32 | 33 | return $data; 34 | } 35 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_clearallcache.php: -------------------------------------------------------------------------------- 1 | _clearTemplateCache(); 34 | // load cache resource and call clearAll 35 | $_cache_resource = Smarty_CacheResource::load($smarty, $type); 36 | return $_cache_resource->clearAll($smarty, $exp_time); 37 | } 38 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_clearassign.php: -------------------------------------------------------------------------------- 1 | tpl_vars[$curr_var]); 35 | } 36 | } else { 37 | unset($data->tpl_vars[$tpl_var]); 38 | } 39 | 40 | return $data; 41 | } 42 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_clearcache.php: -------------------------------------------------------------------------------- 1 | _clearTemplateCache(); 38 | // load cache resource and call clear 39 | $_cache_resource = Smarty_CacheResource::load($smarty, $type); 40 | return $_cache_resource->clear($smarty, $template_name, $cache_id, $compile_id, $exp_time); 41 | } 42 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_clearconfig.php: -------------------------------------------------------------------------------- 1 | config_vars[$name]); 34 | } else { 35 | $data->config_vars = array(); 36 | } 37 | return $data; 38 | } 39 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_compileallconfig.php: -------------------------------------------------------------------------------- 1 | compileAll($smarty, $extension, $force_compile, $time_limit, $max_errors, true); 30 | } 31 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_createdata.php: -------------------------------------------------------------------------------- 1 | smarty) ? $this->smarty : $obj; 36 | $dataObj = new Smarty_Data($parent, $smarty, $name); 37 | if ($smarty->debugging) { 38 | Smarty_Internal_Debug::register_data($dataObj); 39 | } 40 | return $dataObj; 41 | } 42 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_getautoloadfilters.php: -------------------------------------------------------------------------------- 1 | array( 'filter1', 'filter2', … ) ) or array( 'filter1', 'filter2', …) if $type 25 | * was specified 26 | */ 27 | public function getAutoloadFilters(Smarty_Internal_TemplateBase $obj, $type = null) { 28 | $smarty = isset($obj->smarty) ? $obj->smarty : $obj; 29 | if ($type !== null) { 30 | $this->_checkFilterType($type); 31 | return isset($smarty->autoload_filters[$type]) ? $smarty->autoload_filters[$type] : array(); 32 | } 33 | return $smarty->autoload_filters; 34 | } 35 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_getconfigvars.php: -------------------------------------------------------------------------------- 1 | config_vars[$varname])) { 38 | return $_ptr->config_vars[$varname]; 39 | } 40 | } else { 41 | $var_array = array_merge($_ptr->config_vars, $var_array); 42 | } 43 | // not found, try at parent 44 | if ($search_parents) { 45 | $_ptr = $_ptr->parent; 46 | } else { 47 | $_ptr = null; 48 | } 49 | } 50 | if (isset($varname)) { 51 | return ''; 52 | } else { 53 | return $var_array; 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_getdebugtemplate.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 31 | return $smarty->debug_tpl; 32 | } 33 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_getdefaultmodifiers.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 31 | return $smarty->default_modifiers; 32 | } 33 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_getglobal.php: -------------------------------------------------------------------------------- 1 | value; 34 | } else { 35 | return ''; 36 | } 37 | } else { 38 | $_result = array(); 39 | foreach (Smarty::$global_tpl_vars AS $key => $var) { 40 | $_result[$key] = $var->value; 41 | } 42 | return $_result; 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_getregisteredobject.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 34 | if (!isset($smarty->registered_objects[$object_name])) { 35 | throw new SmartyException("'$object_name' is not a registered object"); 36 | } 37 | if (!is_object($smarty->registered_objects[$object_name][0])) { 38 | throw new SmartyException("registered '$object_name' is not an object"); 39 | } 40 | return $smarty->registered_objects[$object_name][0]; 41 | } 42 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php: -------------------------------------------------------------------------------- 1 | smarty) ? $data->smarty : $data; 43 | if ($smarty->error_unassigned) { 44 | throw new SmartyException('Undefined stream variable "' . $variable . '"'); 45 | } else { 46 | return null; 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_gettags.php: -------------------------------------------------------------------------------- 1 | smarty) ? $this->smarty : $obj; 35 | if ($obj->_objType == 2 && !isset($template)) { 36 | $tpl = clone $obj; 37 | } elseif (isset($template) && $template->_objType == 2) { 38 | $tpl = clone $template; 39 | } elseif (isset($template) && is_string($template)) { 40 | /* @var Smarty_Internal_Template $tpl */ 41 | $tpl = new $smarty->template_class($template, $smarty); 42 | // checks if template exists 43 | if (!$tpl->source->exists) { 44 | throw new SmartyException("Unable to load template {$tpl->source->type} '{$tpl->source->name}'"); 45 | } 46 | } 47 | if (isset($tpl)) { 48 | $tpl->smarty = clone $tpl->smarty; 49 | $tpl->smarty->_cache['get_used_tags'] = true; 50 | $tpl->_cache['used_tags'] = array(); 51 | $tpl->smarty->merge_compiled_includes = false; 52 | $tpl->smarty->disableSecurity(); 53 | $tpl->caching = false; 54 | $tpl->loadCompiler(); 55 | $tpl->compiler->compileTemplate($tpl); 56 | return $tpl->_cache['used_tags']; 57 | } 58 | throw new SmartyException("Missing template specification"); 59 | } 60 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_loadfilter.php: -------------------------------------------------------------------------------- 1 | true, 'post' => true, 'output' => true, 'variable' => true); 26 | 27 | /** 28 | * load a filter of specified type and name 29 | * 30 | * @api Smarty::loadFilter() 31 | * 32 | * @link http://www.smarty.net/docs/en/api.load.filter.tpl 33 | * 34 | * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj 35 | * @param string $type filter type 36 | * @param string $name filter name 37 | * 38 | * @return bool 39 | * @throws SmartyException if filter could not be loaded 40 | */ 41 | public function loadFilter(Smarty_Internal_TemplateBase $obj, $type, $name) { 42 | $smarty = isset($obj->smarty) ? $obj->smarty : $obj; 43 | $this->_checkFilterType($type); 44 | $_plugin = "smarty_{$type}filter_{$name}"; 45 | $_filter_name = $_plugin; 46 | if (is_callable($_plugin)) { 47 | $smarty->registered_filters[$type][$_filter_name] = $_plugin; 48 | return true; 49 | } 50 | if ($smarty->loadPlugin($_plugin)) { 51 | if (class_exists($_plugin, false)) { 52 | $_plugin = array($_plugin, 'execute'); 53 | } 54 | if (is_callable($_plugin)) { 55 | $smarty->registered_filters[$type][$_filter_name] = $_plugin; 56 | return true; 57 | } 58 | } 59 | throw new SmartyException("{$type}filter \"{$name}\" not found or callable"); 60 | } 61 | 62 | /** 63 | * Check if filter type is valid 64 | * 65 | * @param string $type 66 | * 67 | * @throws \SmartyException 68 | */ 69 | public function _checkFilterType($type) { 70 | if (!isset($this->filterTypes[$type])) { 71 | throw new SmartyException("Illegal filter type \"{$type}\""); 72 | } 73 | } 74 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_mustcompile.php: -------------------------------------------------------------------------------- 1 | source->exists) { 32 | if (isset($_template->parent) && $_template->parent->_objType == 2) { 33 | $parent_resource = " in '$_template->parent->template_resource}'"; 34 | } else { 35 | $parent_resource = ''; 36 | } 37 | throw new SmartyException("Unable to load template {$_template->source->type} '{$_template->source->name}'{$parent_resource}"); 38 | } 39 | if ($_template->mustCompile === null) { 40 | $_template->mustCompile = (!$_template->source->handler->uncompiled && 41 | ($_template->smarty->force_compile || $_template->source->handler->recompiled || 42 | !$_template->compiled->exists || ($_template->smarty->compile_check && 43 | $_template->compiled->getTimeStamp() < 44 | $_template->source->getTimeStamp()))); 45 | } 46 | 47 | return $_template->mustCompile; 48 | } 49 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_registercacheresource.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 35 | $smarty->registered_cache_resources[$name] = $resource_handler; 36 | return $obj; 37 | } 38 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_registerclass.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 36 | // test if exists 37 | if (!class_exists($class_impl)) { 38 | throw new SmartyException("Undefined class '$class_impl' in register template class"); 39 | } 40 | // register the class 41 | $smarty->registered_classes[$class_name] = $class_impl; 42 | return $obj; 43 | } 44 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultconfighandler.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 33 | if (is_callable($callback)) { 34 | $smarty->default_config_handler_func = $callback; 35 | } else { 36 | throw new SmartyException("Default config handler not callable"); 37 | } 38 | return $obj; 39 | } 40 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_registerdefaultpluginhandler.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 34 | if (is_callable($callback)) { 35 | $smarty->default_plugin_handler_func = $callback; 36 | } else { 37 | throw new SmartyException("Default plugin handler '$callback' not callable"); 38 | } 39 | return $obj; 40 | } 41 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_registerplugin.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 40 | if (isset($smarty->registered_plugins[$type][$name])) { 41 | throw new SmartyException("Plugin tag \"{$name}\" already registered"); 42 | } elseif (!is_callable($callback)) { 43 | throw new SmartyException("Plugin \"{$name}\" not callable"); 44 | } else { 45 | $smarty->registered_plugins[$type][$name] = array($callback, (bool)$cacheable, (array)$cache_attr); 46 | } 47 | return $obj; 48 | } 49 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_registerresource.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 38 | $smarty->registered_resources[$name] = 39 | $resource_handler instanceof Smarty_Resource ? $resource_handler : array($resource_handler, false); 40 | return $obj; 41 | } 42 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_setautoloadfilters.php: -------------------------------------------------------------------------------- 1 | true, 'post' => true, 'output' => true, 'variable' => true); 26 | 27 | /** 28 | * Set autoload filters 29 | * 30 | * @api Smarty::setAutoloadFilters() 31 | * 32 | * @param \Smarty_Internal_TemplateBase|\Smarty_Internal_Template|\Smarty $obj 33 | * @param array $filters filters to load automatically 34 | * @param string $type "pre", "output", … specify the 35 | * filter type to set. Defaults to 36 | * none treating $filters' keys as 37 | * the appropriate types 38 | * 39 | * @return \Smarty|\Smarty_Internal_Template 40 | */ 41 | public function setAutoloadFilters(Smarty_Internal_TemplateBase $obj, $filters, $type = null) { 42 | $smarty = isset($obj->smarty) ? $obj->smarty : $obj; 43 | if ($type !== null) { 44 | $this->_checkFilterType($type); 45 | $smarty->autoload_filters[$type] = (array)$filters; 46 | } else { 47 | foreach ((array)$filters as $type => $value) { 48 | $this->_checkFilterType($type); 49 | } 50 | $smarty->autoload_filters = (array)$filters; 51 | } 52 | return $obj; 53 | } 54 | 55 | /** 56 | * Check if filter type is valid 57 | * 58 | * @param string $type 59 | * 60 | * @throws \SmartyException 61 | */ 62 | public function _checkFilterType($type) { 63 | if (!isset($this->filterTypes[$type])) { 64 | throw new SmartyException("Illegal filter type \"{$type}\""); 65 | } 66 | } 67 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_setdebugtemplate.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 33 | if (!is_readable($tpl_name)) { 34 | throw new SmartyException("Unknown file '{$tpl_name}'"); 35 | } 36 | $smarty->debug_tpl = $tpl_name; 37 | return $obj; 38 | } 39 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_setdefaultmodifiers.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 33 | $smarty->default_modifiers = (array)$modifiers; 34 | return $obj; 35 | } 36 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_unloadfilter.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 28 | $this->_checkFilterType($type); 29 | if (isset($smarty->registered_filters[$type])) { 30 | $_filter_name = "smarty_{$type}filter_{$name}"; 31 | if (isset($smarty->registered_filters[$type][$_filter_name])) { 32 | unset ($smarty->registered_filters[$type][$_filter_name]); 33 | if (empty($smarty->registered_filters[$type])) { 34 | unset($smarty->registered_filters[$type]); 35 | } 36 | } 37 | } 38 | return $obj; 39 | } 40 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_unregistercacheresource.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 33 | if (isset($smarty->registered_cache_resources[$name])) { 34 | unset($smarty->registered_cache_resources[$name]); 35 | } 36 | return $obj; 37 | } 38 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_unregisterfilter.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 28 | $this->_checkFilterType($type); 29 | if (isset($smarty->registered_filters[$type])) { 30 | $name = is_string($callback) ? $callback : $this->_getFilterName($callback); 31 | if (isset($smarty->registered_filters[$type][$name])) { 32 | unset($smarty->registered_filters[$type][$name]); 33 | if (empty($smarty->registered_filters[$type])) { 34 | unset($smarty->registered_filters[$type]); 35 | } 36 | } 37 | } 38 | return $obj; 39 | } 40 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_unregisterobject.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 33 | if (isset($smarty->registered_objects[$object_name])) { 34 | unset($smarty->registered_objects[$object_name]); 35 | } 36 | return $obj; 37 | } 38 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_unregisterplugin.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 34 | if (isset($smarty->registered_plugins[$type][$name])) { 35 | unset($smarty->registered_plugins[$type][$name]); 36 | } 37 | return $obj; 38 | } 39 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_method_unregisterresource.php: -------------------------------------------------------------------------------- 1 | smarty) ? $obj->smarty : $obj; 33 | if (isset($smarty->registered_resources[$type])) { 34 | unset($smarty->registered_resources[$type]); 35 | } 36 | return $obj; 37 | } 38 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_nocache_insert.php: -------------------------------------------------------------------------------- 1 | assign('{$_assign}' , {$_function} (" . var_export($_attr, true) . 41 | ",\$_smarty_tpl), true);?>"; 42 | } else { 43 | $_output .= "echo {$_function}(" . var_export($_attr, true) . ",\$_smarty_tpl);?>"; 44 | } 45 | $_tpl = $_template; 46 | while (isset($_tpl->parent) && $_tpl->parent->_objType == 2) { 47 | $_tpl = $_tpl->parent; 48 | } 49 | 50 | return "/*%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/" . $_output . 51 | "/*/%%SmartyNocache:{$_tpl->compiled->nocache_hash}%%*/"; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_parsetree.php: -------------------------------------------------------------------------------- 1 | data = null; 49 | $this->subtrees = null; 50 | } 51 | 52 | } 53 | 54 | 55 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_parsetree_code.php: -------------------------------------------------------------------------------- 1 | data = $data; 27 | } 28 | 29 | /** 30 | * Return buffer content in parentheses 31 | * 32 | * @param \Smarty_Internal_Templateparser $parser 33 | * 34 | * @return string content 35 | */ 36 | public function to_smarty_php(Smarty_Internal_Templateparser $parser) { 37 | return sprintf("(%s)", $this->data); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_parsetree_dqcontent.php: -------------------------------------------------------------------------------- 1 | data = $data; 27 | } 28 | 29 | /** 30 | * Return content as double quoted string 31 | * 32 | * @param \Smarty_Internal_Templateparser $parser 33 | * 34 | * @return string doubled quoted string 35 | */ 36 | public function to_smarty_php(Smarty_Internal_Templateparser $parser) { 37 | return '"' . $this->data . '"'; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php: -------------------------------------------------------------------------------- 1 | data = $data; 36 | $this->saved_block_nesting = $parser->block_nesting_level; 37 | } 38 | 39 | /** 40 | * Return buffer content 41 | * 42 | * @param \Smarty_Internal_Templateparser $parser 43 | * 44 | * @return string content 45 | */ 46 | public function to_smarty_php(Smarty_Internal_Templateparser $parser) { 47 | return $this->data; 48 | } 49 | 50 | /** 51 | * Return complied code that loads the evaluated output of buffer content into a temporary variable 52 | * 53 | * @param \Smarty_Internal_Templateparser $parser 54 | * 55 | * @return string template code 56 | */ 57 | public function assign_to_var(Smarty_Internal_Templateparser $parser) { 58 | $var = $parser->compiler->getNewPrefixVariable(); 59 | $tmp = $parser->compiler->appendCode('', $this->data); 60 | $tmp = $parser->compiler->appendCode($tmp, ""); 61 | $parser->compiler->prefix_code[] = sprintf("%s", $tmp); 62 | 63 | return $var; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_parsetree_text.php: -------------------------------------------------------------------------------- 1 | data = $data; 25 | } 26 | 27 | /** 28 | * Return buffer content 29 | * 30 | * @param \Smarty_Internal_Templateparser $parser 31 | * 32 | * @return string text 33 | */ 34 | public function to_smarty_php(Smarty_Internal_Templateparser $parser) { 35 | return $this->data; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_runtime_make_nocache.php: -------------------------------------------------------------------------------- 1 | tpl_vars[$var])) { 24 | $export = preg_replace('/^Smarty_Variable::__set_state[(]|\s|[)]$/', '', 25 | var_export($tpl->tpl_vars[$var], true)); 26 | if (preg_match('/(\w+)::__set_state/', $export, $match)) { 27 | throw new SmartyException("{make_nocache \${$var}} in template '{$tpl->source->name}': variable does contain object '{$match[1]}' not implementing method '__set_state'"); 28 | } 29 | echo "/*%%SmartyNocache:{$tpl->compiled->nocache_hash}%%*/smarty->ext->_make_nocache->store(\$_smarty_tpl, '{$var}', " . $export, 31 | '\\') . ");?>\n/*/%%SmartyNocache:{$tpl->compiled->nocache_hash}%%*/"; 32 | } 33 | } 34 | 35 | /** 36 | * Store variable value saved while rendering compiled template in cached template context 37 | * 38 | * @param \Smarty_Internal_Template $tpl 39 | * @param string $var variable name 40 | * @param array $properties 41 | */ 42 | public function store(Smarty_Internal_Template $tpl, $var, $properties) { 43 | // do not overwrite existing nocache variables 44 | if (!isset($tpl->tpl_vars[$var]) || !$tpl->tpl_vars[$var]->nocache) { 45 | $newVar = new Smarty_Variable(); 46 | unset($properties['nocache']); 47 | foreach ($properties as $k => $v) { 48 | $newVar->$k = $v; 49 | } 50 | $tpl->tpl_vars[$var] = $newVar; 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_internal_undefined.php: -------------------------------------------------------------------------------- 1 | cached->valid = false; 28 | } else { 29 | $tpl->mustCompile = true; 30 | } 31 | return false; 32 | } 33 | 34 | /** 35 | * Call error handler for undefined method 36 | * 37 | * @param string $name unknown method-name 38 | * @param array $args argument array 39 | * 40 | * @return mixed 41 | * @throws SmartyException 42 | */ 43 | public function __call($name, $args) { 44 | throw new SmartyException(get_class($args[0]) . "->{$name}() undefined method"); 45 | } 46 | } -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_resource_uncompiled.php: -------------------------------------------------------------------------------- 1 | filepath = $_template->source->filepath; 42 | $compiled->timestamp = $_template->source->timestamp; 43 | $compiled->exists = $_template->source->exists; 44 | if ($_template->smarty->merge_compiled_includes || $_template->source->handler->checkTimestamps()) { 45 | $compiled->file_dependency[$_template->source->uid] = 46 | array($compiled->filepath, $compiled->timestamp, $_template->source->type,); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smarty_undefined_variable.php: -------------------------------------------------------------------------------- 1 | value = $value; 33 | $this->nocache = $nocache; 34 | } 35 | 36 | /** 37 | * <> String conversion 38 | * 39 | * @return string 40 | */ 41 | public function __toString() { 42 | return (string)$this->value; 43 | } 44 | } 45 | 46 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smartycompilerexception.php: -------------------------------------------------------------------------------- 1 | Smarty Compiler: ' . $this->message . ' <-- '; 11 | } 12 | 13 | /** 14 | * The line number of the template error 15 | * 16 | * @type int|null 17 | */ 18 | public $line = null; 19 | 20 | /** 21 | * The template source snippet relating to the error 22 | * 23 | * @type string|null 24 | */ 25 | public $source = null; 26 | 27 | /** 28 | * The raw text of the error message 29 | * 30 | * @type string|null 31 | */ 32 | public $desc = null; 33 | 34 | /** 35 | * The resource identifier or template name 36 | * 37 | * @type string|null 38 | */ 39 | public $template = null; 40 | } 41 | -------------------------------------------------------------------------------- /inc/Smarty/libs/sysplugins/smartyexception.php: -------------------------------------------------------------------------------- 1 | Smarty: ' . (self::$escape ? htmlentities($this->message) : $this->message) . ' <-- '; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /inc/db/README: -------------------------------------------------------------------------------- 1 | These are NOT the PEAR database drivers, despite the similar names. 2 | -------------------------------------------------------------------------------- /inc/is_a.php: -------------------------------------------------------------------------------- 1 | | 16 | // +----------------------------------------------------------------------+ 17 | // 18 | // This file is originally from PEAR::PHP_Compat 19 | // Id: is_a.php,v 1.13 2004/08/19 10:09:53 aidan Exp 20 | 21 | 22 | /** 23 | * Replace function is_a() 24 | * 25 | * @category PHP 26 | * @package PHP_Compat 27 | * @link http://php.net/function.is_a 28 | * @author Aidan Lister 29 | * @version Revision: 1.13 30 | * @since PHP 4.2.0 31 | * @require PHP 4.0.0 (is_subclass_of) 32 | */ 33 | if (!function_exists('is_a')) 34 | { 35 | function is_a($object, $class) 36 | { 37 | if (get_class($object) == strtolower($class)) { 38 | return true; 39 | } 40 | 41 | else { 42 | return is_subclass_of($object, $class); 43 | } 44 | } 45 | } 46 | 47 | ?> -------------------------------------------------------------------------------- /languages/.htaccess: -------------------------------------------------------------------------------- 1 | Order Deny,Allow 2 | Deny from all -------------------------------------------------------------------------------- /languages/old/README: -------------------------------------------------------------------------------- 1 | The language files in this directory were made obsolete by changes in the 2 | handling of transations as of version 0.9.0. They are here to serve as a 3 | starting point for anyone interested in updating them. -------------------------------------------------------------------------------- /languages/old/es.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/es.php -------------------------------------------------------------------------------- /languages/old/et.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/et.php -------------------------------------------------------------------------------- /languages/old/gb2312.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/gb2312.php -------------------------------------------------------------------------------- /languages/old/no.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/no.php -------------------------------------------------------------------------------- /languages/old/pl_iso-8859-2.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/pl_iso-8859-2.php -------------------------------------------------------------------------------- /languages/old/ru_koi8-r.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/ru_koi8-r.php -------------------------------------------------------------------------------- /languages/old/ru_windows-1251.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/ru_windows-1251.php -------------------------------------------------------------------------------- /languages/old/se.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/se.php -------------------------------------------------------------------------------- /languages/old/sl.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/languages/old/sl.php -------------------------------------------------------------------------------- /logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/logo.jpg -------------------------------------------------------------------------------- /logout.php: -------------------------------------------------------------------------------- 1 | unauth(); 27 | 28 | include 'templates/' . THEME . '/logout.html'; 29 | 30 | // 31 | -------------------------------------------------------------------------------- /schemas/.htaccess: -------------------------------------------------------------------------------- 1 | Order Deny,Allow 2 | Deny from all -------------------------------------------------------------------------------- /schemas/common.in: -------------------------------------------------------------------------------- 1 | # Default Capabilities for Groups 2 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (1, 1); 3 | 4 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 2); 5 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 3); 6 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 4); 7 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 5); 8 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 6); 9 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 7); 10 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 8); 11 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 9); 12 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 10); 13 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 11); 14 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 12); 15 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 13); 16 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (3, 14); 17 | 18 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (4, 3); 19 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (4, 6); 20 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (4, 7); 21 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (4, 12); 22 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (4, 13); 23 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (4, 14); 24 | 25 | # Default Capabilities for Roles 26 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (7, 5); 27 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (7, 7); 28 | 29 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (8, 7); 30 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (8, 8); 31 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (8, 9); 32 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (8, 11); 33 | 34 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (9, 6); 35 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (9, 7); 36 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (9, 8); 37 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (9, 9); 38 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (9, 10); 39 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (9, 11); 40 | INSERT INTO TBL_GROUP_PERM (group_id, perm_id) VALUES (9, 13); 41 | 42 | -------------------------------------------------------------------------------- /schemas/old/table_rename.sql: -------------------------------------------------------------------------------- 1 | alter table attachment rename phpbt_attachment; 2 | alter table bug rename phpbt_bug; 3 | alter table bug_history rename phpbt_bug_history; 4 | alter table comment rename phpbt_comment; 5 | alter table component rename phpbt_component; 6 | alter table os rename phpbt_os; 7 | alter table project rename phpbt_project; 8 | alter table resolution rename phpbt_resolution; 9 | alter table saved_query rename phpbt_saved_query; 10 | alter table severity rename phpbt_severity; 11 | alter table status rename phpbt_status; 12 | alter table auth_user rename phpbt_auth_user; 13 | alter table version rename phpbt_version; 14 | alter table auth_group rename phpbt_auth_group; 15 | alter table auth_perm rename phpbt_auth_perm; 16 | alter table user_group rename phpbt_user_group; 17 | alter table user_perm rename phpbt_user_perm; 18 | alter table group_perm rename phpbt_group_perm; 19 | alter table bug_group rename phpbt_bug_group; 20 | alter table project_group rename phpbt_project_group; 21 | -------------------------------------------------------------------------------- /templates/.htaccess: -------------------------------------------------------------------------------- 1 | Order Deny,Allow 2 | Deny from all -------------------------------------------------------------------------------- /templates/default/.htaccess: -------------------------------------------------------------------------------- 1 | Order Deny,Allow 2 | Deny from all -------------------------------------------------------------------------------- /templates/default/admin/.htaccess: -------------------------------------------------------------------------------- 1 | Order Deny,Allow 2 | Deny from all -------------------------------------------------------------------------------- /templates/default/admin/badperm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 |
4 | 5 | 6 | 7 |
10 | -------------------------------------------------------------------------------- /templates/default/admin/configure.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 |
5 | 6 |
7 | 8 | 9 | 10 | 37 | 38 | 39 | 43 | 44 |
11 |   12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | > 21 | 22 | 32 | 33 | 34 | 35 |
23 | 24 | 25 | 26 | > Yes 27 | > No 28 | 29 | 30 | 31 |
36 |
40 | 41 | "> 42 |
45 |
46 | -------------------------------------------------------------------------------- /templates/default/admin/database-edit.html.php: -------------------------------------------------------------------------------- 1 | 12 | 24 | 25 |   26 |
27 |
28 | 29 | 30 | 31 | 34 | 35 | 36 | 37 | 40 | 43 | 44 | 45 | 48 | 51 | 52 | 53 | 56 | 62 | 63 |
32 | 33 |
38 | : 39 | 41 | 42 |
46 | : 47 | 49 | 50 |
54 |   55 | 57 | 58 | 59 | 60 | 61 |
64 |
65 | -------------------------------------------------------------------------------- /templates/default/admin/databaselist.html.php: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 37 | 38 |
13 |   - 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 32 | 33 | 34 |
 
28 | 29 | ')"> 30 | 31 |
35 | 36 |
39 | -------------------------------------------------------------------------------- /templates/default/admin/edit-submit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /templates/default/admin/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 |
4 | $text"; 6 | else echo $text; 7 | ?> 8 |
9 |
10 | 11 |
14 | -------------------------------------------------------------------------------- /templates/default/admin/group-edit.html.php: -------------------------------------------------------------------------------- 1 | 9 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 30 | 31 | 32 | 33 | 36 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 51 | 54 | 55 | 56 | 57 | 60 | 66 | 67 |
28 | 29 |
34 | Name: 35 | 37 | 38 |
42 | Permissions: 43 |
48 | > 50 | 52 | 53 |
58 |   59 | 61 | 62 | 63 | 64 | 65 |
68 |
69 | 70 | -------------------------------------------------------------------------------- /templates/default/admin/pagination.html: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /templates/default/admin/site-edit.html.php: -------------------------------------------------------------------------------- 1 | 12 | 24 |   25 |
26 |
27 | 28 | 29 | 30 | 33 | 34 | 35 | 36 | 39 | 42 | 43 | 44 | 47 | 50 | 51 | 52 | 55 | 61 | 62 |
31 | 32 |
37 | : 38 | 40 | 41 |
45 | : 46 | 48 | 49 |
53 |   54 | 56 | "> 57 | 58 | 59 | 60 |
63 |
64 | 65 | 66 | -------------------------------------------------------------------------------- /templates/default/admin/version-edit.html: -------------------------------------------------------------------------------- 1 | 3 | 15 |   16 |
17 |
18 |
19 | 20 | 21 | 24 | 27 | 28 | 29 | 32 | 35 | 36 | 37 | 40 | 43 | 44 | 45 | 48 | 55 | 56 |
22 | : 23 | 25 | 26 |
30 | : 31 | 33 | 34 |
38 | : 39 | 41 | checked> 42 |
46 |   47 | 49 | 50 | 51 | 52 | 53 | 54 |
57 |
58 | 59 | -------------------------------------------------------------------------------- /templates/default/admin/wrap-popup.php: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | phpBugTracker Admin - <?php echo $page_title; ?> 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 |
16 | 17 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /templates/default/badgroup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 |
4 |
5 | You must be a member of the group to use this page. 6 |
7 |
8 |
11 | -------------------------------------------------------------------------------- /templates/default/badperm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 |
4 |
5 | You must first login before using this page. 6 |
7 |
8 |
11 | -------------------------------------------------------------------------------- /templates/default/base/removetemplates.html: -------------------------------------------------------------------------------- 1 |
2 | The compiled templates have been removed, so you can now uninstall 3 | phpBugTracker by closing this browser window and removing the installation 4 | directory. If you don't wish to uninstall phpBugTracker, then simply browse 5 | through the site and the templates will be recompiled. 6 |
7 | -------------------------------------------------------------------------------- /templates/default/base/smartymissing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Smarty Templates Missing 4 | 5 | 6 | 7 |
An error has occurred
8 |
9 | 10 | The Smarty templates class is not in your include path. Either specify 11 | the location of smarty via the SMARTY_PATH define in config.php 12 | (and don't forget the trailing slash) or install smarty in your include path. 13 | 14 | The Smarty templates class could not be found at . 15 | 16 | Without this class being available, phpBugTracker will not be able to work. 17 | Smarty can be downloaded from the smarty 18 | website. Please reload this page when smarty has been installed. 19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /templates/default/base/templatesperm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Compiled Templates Directory Not Writeable 4 | 5 | 8 | 9 | 10 |
An error has occurred
11 |
12 | The "c_templates" subdirectory is not writeable by the 13 | web process. This needs to be corrected before the installation can proceed 14 | so the templates can be compiled by smarty. Please reload this page when 15 | this has been corrected. 16 |
17 |
18 | On a unix system such as linux, this can either be accomplished by 19 | making the directory writeable by everyone... 20 |
21 | $ chmod a+w c_templates 22 |
23 |
24 | ... or by changing the ownership of the directory to the webserver. 25 | For example, if your web server is running as the user www-data, you 26 | can change the ownership as follows (you must become root first): 27 |
28 | $ chown www-data c_templates 29 |
30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /templates/default/bugattachmentform.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 23 | 26 | 27 | 28 | 31 | 34 | 35 | 36 | 39 | 40 |
7 | Please choose a file to upload and enter a one-line description. 8 |
9 | Maximum file size: bytes 10 |
11 |
12 |
21 | File: 22 | 24 | 25 |
29 | Description: 30 | 32 | 33 |
37 | 38 |
41 |
42 | -------------------------------------------------------------------------------- /templates/default/bugemail-newbug.txt: -------------------------------------------------------------------------------- 1 | ============================================================================ 2 | THIS MESSAGE WAS GENERATED BY THE BUGTRACKER SOFTWARE PLEASE DO NOT REPLY 3 | 4 | INSTEAD FOLLOW BUG'S URL BELOW IN ORDER TO DETAIL BUG: 5 | ============================================================================ 6 | Bug #: () 7 | Reported By: 8 | ---------------------------------------------------------------------------- 9 | Summary: 10 | URL: 11 | Product: 12 | Version: 13 | Component: 14 | Site: 15 | Status: 16 | Resolution: 17 | Severity: 18 | OS/Version: 19 | Database: 20 | Priority: 21 | Assigned To: 22 | ============================================================================ 23 | 24 | COMMENTS 25 | 26 | ----- Posted by at ----- 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /templates/default/bugemail.txt: -------------------------------------------------------------------------------- 1 | ============================================================================ 2 | THIS MESSAGE WAS GENERATED BY THE BUGTRACKER SOFTWARE 3 | PLEASE REPLY ONLINE, NOT BY EMAIL 4 | FOR MORE DETAILS CLICK ON THE LINK BELOW 5 | ============================================================================ 6 | Bug #: 7 | Reported By: 8 | ---------------------------------------------------------------------------- 9 | Summary: 10 | Priority: 11 | Severity: 12 | Resolution: 13 | Assigned To: 14 | Status: 15 | URL: 16 | Product: 17 | Component: 18 | Version: 19 | Site(s): 20 | To be Closed in Version: 21 | Closed in Version: 22 | OS/Version: 23 | Database: 24 | 25 | 26 | ----- Prior comment by at ----- 27 | 28 | 29 | ----- New comment by at ----- 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /templates/default/bughistory.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | > 12 | 13 | 14 | 19 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
  
34 |
35 | 36 |
37 |
38 | -------------------------------------------------------------------------------- /templates/default/bugvotes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | > 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 21 |
22 |
23 | -------------------------------------------------------------------------------- /templates/default/changessaved.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 | Return to the Personal Page or phpBugTracker Home. 8 |
9 | -------------------------------------------------------------------------------- /templates/default/editComment.html: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 | 5 | :
6 |
7 | 8 |
9 | 10 | 11 | Comment #  
12 | 15 | "> 16 |
17 |
18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /templates/default/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 12 | 13 |
4 | $text"; 6 | else echo $text; 7 | ?> 8 |
9 |
10 | 11 |
14 | -------------------------------------------------------------------------------- /templates/default/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/templates/default/images/spacer.gif -------------------------------------------------------------------------------- /templates/default/images/title.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/templates/default/images/title.gif -------------------------------------------------------------------------------- /templates/default/install-dbfailure.html.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | <?php echo translate("DB Test Failure"); ?> 4 | 5 | 6 | 7 |
8 |
9 | 10 |
11 |
12 |
13 | The installation script could not connect to the database %s on the host %s using the specified username and password.

Please check these details are correct and that the database already exists then retry. "), $params['db_database'], $params['db_host']); ?> 14 |
15 |
16 | ' . $error_info . "\n"; 18 | if ($testonly) { 19 | echo '

' . translate("Close window") . ''; 20 | } 21 | ?> 22 |
23 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /templates/default/install-dbsuccess.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | <?php echo translate("DB Test Success"); ?> 4 | 5 | 6 | 7 |
8 |
9 | 10 |
11 |
12 |
13 | %s on the host %s using the specified username and password.
Congratulations!"), $params['db_database'], $params['db_host']); ?> 14 |
15 |
16 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /templates/default/install-failure.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <?php echo translate("phpBugTracker Installation"); ?> 5 | 6 | 7 | 8 | 9 | 10 | 11 | 31 | 45 | 46 |

12 | 13 | 14 | 17 | 18 | 19 | 28 | 29 |
15 | phpBugTracker Logo 16 |
20 | 27 |
30 |
32 | 33 |
34 | 35 |
36 |

Error log

37 | 38 |
39 |
40 | Please feel welcome to subscribe the phpbt-users mailing list by 41 | visiting the mailing list 42 | web page. 43 |
44 |
47 | 48 | 49 | -------------------------------------------------------------------------------- /templates/default/login.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | <?php echo translate("phpBugTracker Login"); ?> 4 | 5 | 6 | 7 |
8 |
9 |
10 |
11 |
12 |
13 | 14 |
15 | 16 | 17 | 18 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 49 | 50 | 51 | 52 | 58 | 59 | 60 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
:
45 | 46 | "> 47 | 48 |
53 |
54 |
55 |
56 | 57 |
61 |
62 | After login, you will be redirected to:
63 | 64 | 65 |
66 |
67 | 68 | 77 | 78 | -------------------------------------------------------------------------------- /templates/default/logout.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | phpBugTracker 4 | 10 | 11 | 12 |
13 |
14 |
15 |
16 | 17 |
18 |
19 | 20 |
21 | 22 | 23 | -------------------------------------------------------------------------------- /templates/default/newaccount-disabled.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 |
4 | 5 |
8 | -------------------------------------------------------------------------------- /templates/default/newaccount.tpl: -------------------------------------------------------------------------------- 1 | 2 |

{$txtTitle}

3 | 4 |
5 | 6 | 7 | {if !empty($error)} 8 | 9 | 10 | 11 | {/if} 12 | {if !$EMAIL_IS_LOGIN} 13 | 14 | 15 | 18 | 19 | {/if} 20 | 21 | 22 | 23 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 35 | 36 |
{$error}
{$txtLogin}: 16 | 17 |
{$txtEmail}:
{$txtFirstName} ({$txtOptional}): 27 | 28 |
{$txtLastName} ({$txtOptional}): 33 | 34 |
37 | 38 |
39 | -------------------------------------------------------------------------------- /templates/default/newaccountsuccess.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 8 | 9 |
6 | 7 |
10 |
11 |
12 | -------------------------------------------------------------------------------- /templates/default/newbugform.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Bug Form 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 39 | 40 | 41 | 42 | 43 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 60 | 61 | 62 | 63 | 64 | 69 | 70 | 71 | 72 | 73 | 78 | 79 |
Title:
Description:
URL:
Severity: 26 | 29 |
Priority: 35 | 38 |
Status: 44 | 47 |
AssignedTo:
Project: 56 | 59 |
Component: 65 | 68 |
OS: 74 | 77 |
80 | 81 |
82 | 83 | 84 | -------------------------------------------------------------------------------- /templates/default/projectlist.html: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | 5 | 6 | 9 | 12 | 13 | 14 |
7 | %s:', $projects[$i]['project_id'], htmlspecialchars($projects[$i]['project_name'])); ?> 8 | 10 | 11 |
15 | -------------------------------------------------------------------------------- /templates/default/report.html.php: -------------------------------------------------------------------------------- 1 |
2 | : 3 | 7 | "> 8 |
9 | 10 |

11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | $val) { ?> 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | -------------------------------------------------------------------------------- /templates/default/upgrade-finished.html.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | <?php echo translate("Upgrade phpBugTracker"); ?> 4 | 5 | 6 | 7 |

Upgrade phpBugTracker

8 |

9 | 10 |

11 | 0) { ?> 12 |
13 |

Error log

14 |

15 | 16 |

17 |
18 | 22 |

23 | 24 |

25 | 28 |

29 | 30 |

31 | 35 |

36 | Continue update to next version 37 |

38 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /templates/default/upgrade.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | <?php echo translate("Upgade phpBugTracker"); ?> 4 | 5 | 6 |
7 |
8 |
9 | 10 |
11 | 12 |
13 | 17 |
18 | 19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /templates/default/wrap-popup.php: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | phpBugTracker - <?php echo $page_title ?> 9 | 10 | 11 | 12 | 13 | 14 | 15 | 24 | 25 |
16 | smarty->display($content_template); 19 | } else { 20 | include($content_template); 21 | } 22 | ?> 23 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /tmp/.htaccess: -------------------------------------------------------------------------------- 1 | Order Deny,Allow 2 | Deny from all -------------------------------------------------------------------------------- /tmp/README: -------------------------------------------------------------------------------- 1 | this dir must be write accessible -------------------------------------------------------------------------------- /tmp/sm_cache/null: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/tmp/sm_cache/null -------------------------------------------------------------------------------- /tmp/templates_c/null: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a-v-k/phpBugTracker/f58c812b1357e15cc79df8df8c4d09f425538c83/tmp/templates_c/null --------------------------------------------------------------------------------