Commit e886de60 authored by Frank Bergmann's avatar Frank Bergmann

Initial Import

parents
<?xml version="1.0"?>
<!-- Generated by the OpenACS Package Manager -->
<package key="acs-tcl" url="http://openacs.org/repository/apm/packages/acs-tcl" type="apm_service">
<package-name>Tcl Library</package-name>
<pretty-plural>Tcl Libraries</pretty-plural>
<initial-install-p>t</initial-install-p>
<singleton-p>t</singleton-p>
<version name="5.1.5" url="http://openacs.org/repository/download/apm/acs-tcl-5.1.5.apm">
<owner url="http://openacs.org">OpenACS</owner>
<summary>The Kernel Tcl API library.</summary>
<release-date>2004-02-28</release-date>
<maturity>3</maturity>
<vendor url="http://openacs.org">OpenACS</vendor>
<description format="text/html">Contains all the core Tcl API, including the request processor, security and session management, permissions, site-nodes, package management infrastructure, etc.</description>
<provides url="acs-tcl" version="5.1.4"/>
<requires url="acs-bootstrap-installer" version="5.0.0"/>
<requires url="acs-kernel" version="5.0.0"/>
<callbacks>
</callbacks>
<parameters>
<!-- No version parameters -->
</parameters>
</version>
</package>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ar_EG" charset="utf-8">
<msg key="approve">صدّقْ</msg>
<msg key="approve_email">صدّقْ بريد إلكتروني</msg>
<msg key="ban">حَظَر</msg>
<msg key="delete">امحي</msg>
<msg key="lt_require_email_verific">تطلّبْ تحقّقَ من البريد الإلكتروني</msg>
<msg key="reject">ارفض</msg>
<msg key="undelete">أعدْ الممحي</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ar_LB" charset="utf-8">
<msg key="approve">صدّقْ</msg>
<msg key="approve_email">صدّقْ بريد إلكتروني</msg>
<msg key="ban">حَظْر</msg>
<msg key="delete">إمحي</msg>
<msg key="lt_require_email_verific">تطلّبْ تحقّقَ من البريد الإلكتروني</msg>
<msg key="reject">إرفض</msg>
<msg key="undelete">أعدْ الممحي</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ast_ES" charset="ISO-8859-1">
<msg key="approve">aprobar</msg>
<msg key="approve_email">aprobar correo</msg>
<msg key="ban">espulsar</msg>
<msg key="delete">eliminar</msg>
<msg key="lt_require_email_verific">pidir verificacin per correo</msg>
<msg key="reject">rechazar</msg>
<msg key="undelete">recuperar</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ca_ES" charset="ISO-8859-1">
<msg key="approve">aprovar</msg>
<msg key="approve_email">aprovar el correu</msg>
<msg key="ban">expulsar</msg>
<msg key="delete">eliminar</msg>
<msg key="lt_require_email_verific">sollicitar verificaci de correu </msg>
<msg key="reject">refusar</msg>
<msg key="undelete">recuperar (eliminat)</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.0" locale="ch_zh" charset="utf-8">
<msg key="approve">批准</msg>
<msg key="approve_email">批准email</msg>
<msg key="ban">禁止</msg>
<msg key="delete">删除</msg>
<msg key="lt_require_email_verific">需要email确认</msg>
<msg key="reject">拒绝</msg>
<msg key="undelete">撤消删除</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="da_DK" charset="ISO-8859-1">
<msg key="approve">godkend</msg>
<msg key="approve_email">godkend e-mail</msg>
<msg key="ban">bandlys</msg>
<msg key="delete">slet</msg>
<msg key="lt_require_email_verific">krv bekrftelse via e-mail</msg>
<msg key="reject">afvis</msg>
<msg key="undelete">fortryd sletning</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="de_DE" charset="ISO-8859-1">
<msg key="approve">Freischalten</msg>
<msg key="approve_email">E-Mail-Adresse besttigen</msg>
<msg key="ban">Deaktivieren</msg>
<msg key="delete">Lschen</msg>
<msg key="lt_require_email_verific">E-Mail-Verifizierung anfordern</msg>
<msg key="reject">Ablehnen</msg>
<msg key="undelete">Wiederherstellen</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="en_AU" charset="ISO-8859-1">
<msg key="approve">approve</msg>
<msg key="approve_email">approve email</msg>
<msg key="ban">ban</msg>
<msg key="delete">delete</msg>
<msg key="lt_require_email_verific">require email verification</msg>
<msg key="reject">reject</msg>
<msg key="undelete">undelete</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="en_US" charset="ISO-8859-1">
<msg key="approve">approve</msg>
<msg key="approve_email">approve email</msg>
<msg key="ban">ban</msg>
<msg key="delete">delete</msg>
<msg key="lt_require_email_verific">require email verification</msg>
<msg key="reject">reject</msg>
<msg key="undelete">undelete</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="es_CO" charset="ISO-8859-1">
<msg key="approve">aprobar</msg>
<msg key="approve_email">aprobar correo</msg>
<msg key="ban">prohibir</msg>
<msg key="delete">eliminar</msg>
<msg key="lt_require_email_verific">requerir verificacin de correo</msg>
<msg key="reject">rechazar</msg>
<msg key="undelete">recuperar (borrado)</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="es_ES" charset="ISO-8859-1">
<msg key="approve">aprobar</msg>
<msg key="approve_email">aprobar correo</msg>
<msg key="ban">expulsar</msg>
<msg key="delete">borrar</msg>
<msg key="lt_require_email_verific">solicitar verificacin de correo</msg>
<msg key="reject">rechazar</msg>
<msg key="undelete">recuperar (borrado)</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="es_GT" charset="ISO-8859-1">
<msg key="approve">aprobar</msg>
<msg key="approve_email">aprobar correo</msg>
<msg key="ban">prohibir</msg>
<msg key="delete">eliminar</msg>
<msg key="lt_require_email_verific">requerir verificacin de correo</msg>
<msg key="reject">rechazar</msg>
<msg key="undelete">recuperar (borrado)</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="eu_ES" charset="ISO-8859-1">
<msg key="approve">onartu</msg>
<msg key="approve_email">posta onartu</msg>
<msg key="ban">debekatu</msg>
<msg key="delete">ezabatu</msg>
<msg key="lt_require_email_verific">e-postaren egiaztapena behar</msg>
<msg key="reject">ezetsi</msg>
<msg key="undelete">des-ezabatu</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="fa_IR" charset="utf-8">
<msg key="approve">تائيد</msg>
<msg key="approve_email">تائيد پست الکترونيک</msg>
<msg key="delete">حذف</msg>
<msg key="reject">رد کردن</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="fi_FI" charset="utf-8">
<msg key="approve">hyväksy</msg>
<msg key="approve_email">hyväksy sähköpostiviesti</msg>
<msg key="ban">laita pannaan</msg>
<msg key="delete">poista</msg>
<msg key="lt_require_email_verific">vaadi vahvistus sähköpostilla</msg>
<msg key="reject">hylkää</msg>
<msg key="undelete">peru poisto</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="fr_FR" charset="ISO-8859-1">
<msg key="approve">admettre</msg>
<msg key="approve_email">admettre email</msg>
<msg key="ban">interdire</msg>
<msg key="delete">effacer</msg>
<msg key="lt_require_email_verific">vrification email ncessaire</msg>
<msg key="reject">rejeter</msg>
<msg key="undelete">rcuprer</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="gl_ES" charset="ISO-8859-1">
<msg key="approve">aprobar</msg>
<msg key="approve_email">aprobar correo-e</msg>
<msg key="ban">banir</msg>
<msg key="delete">eliminar</msg>
<msg key="lt_require_email_verific">requerir verificacin por correo-e</msg>
<msg key="reject">rexeitar</msg>
<msg key="undelete">recuperar</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="hu_HU" charset="utf-8">
<msg key="approve">jóváhagy</msg>
<msg key="approve_email">emailt jóváhagy</msg>
<msg key="ban">letilt</msg>
<msg key="delete">töröl</msg>
<msg key="lt_require_email_verific">email ellenőrzést igényel</msg>
<msg key="reject">elutasít</msg>
<msg key="undelete">visszaállít</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="it_IT" charset="ISO-8859-1">
<msg key="approve">approva</msg>
<msg key="approve_email">approva l'email</msg>
<msg key="ban">bandisci</msg>
<msg key="delete">cancella</msg>
<msg key="lt_require_email_verific">richiedi la verifica dell'email</msg>
<msg key="reject">rifiuta</msg>
<msg key="undelete">recupera</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ja_JP" charset="utf-8">
<msg key="delete">削除</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ko_KR" charset="utf-8">
<msg key="approve">승인</msg>
<msg key="approve_email">승인 전자우편</msg>
<msg key="ban">금지</msg>
<msg key="delete">삭제</msg>
<msg key="lt_require_email_verific">전자우편 확인 요청</msg>
<msg key="reject">거절</msg>
<msg key="undelete">삭제취소</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ms_MY" charset="utf-8">
<msg key="approve">lulus</msg>
<msg key="approve_email">luluskan e-mel</msg>
<msg key="ban">halang</msg>
<msg key="delete">buang</msg>
<msg key="lt_require_email_verific">perlukan pengesahan e-mel</msg>
<msg key="reject">ditolak</msg>
<msg key="undelete">tak jadi buang</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.0" locale="ms_my" charset="utf-8">
<msg key="approve">lulus</msg>
<msg key="approve_email">luluskan e-mel</msg>
<msg key="ban">halang</msg>
<msg key="delete">buang</msg>
<msg key="lt_require_email_verific">perlukan pengesahan e-mel</msg>
<msg key="reject">ditolak</msg>
<msg key="undelete">tak jadi buang</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="nl_NL" charset="ISO-8859-1">
<msg key="approve">goedkeuren</msg>
<msg key="approve_email">e-mail goedkeuren</msg>
<msg key="ban">uitsluiten</msg>
<msg key="delete">verwijderen</msg>
<msg key="lt_require_email_verific">E-mailbevestiging vereisen</msg>
<msg key="reject">weigeren</msg>
<msg key="undelete">terughalen</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="nn_NO" charset="ISO-8859-1">
<msg key="approve">godkjenn</msg>
<msg key="approve_email">godkjenn e-post</msg>
<msg key="ban">ikkje tillat</msg>
<msg key="delete">slett</msg>
<msg key="lt_require_email_verific">ventar p e-postverifisering</msg>
<msg key="reject">forkast</msg>
<msg key="undelete">rett opp att</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="no_NO" charset="ISO-8859-1">
<msg key="approve">godkjenn</msg>
<msg key="approve_email">godkjenn e-post</msg>
<msg key="ban">ikke tillat</msg>
<msg key="delete">slett</msg>
<msg key="lt_require_email_verific">trenger e-postverifisering</msg>
<msg key="reject">forkast</msg>
<msg key="undelete">gjenopprett</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="pl_PL" charset="utf-8">
<msg key="approve">zatwierdź</msg>
<msg key="approve_email">zatwierdź email</msg>
<msg key="ban">wyrzuć</msg>
<msg key="delete">usuń</msg>
<msg key="lt_require_email_verific">wymagaj potwierdzenia emailem</msg>
<msg key="reject">odrzuć</msg>
<msg key="undelete">przywróć</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="pt_BR" charset="ISO-8859-1">
<msg key="approve">aprovar</msg>
<msg key="approve_email">aprovar email</msg>
<msg key="ban">banir</msg>
<msg key="delete">apagar</msg>
<msg key="lt_require_email_verific">exigir verificao por email</msg>
<msg key="reject">rejeitar</msg>
<msg key="undelete">recuperar</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="pt_PT" charset="ISO-8859-1">
<msg key="approve">aprovar</msg>
<msg key="approve_email">aprovar email</msg>
<msg key="ban">banir</msg>
<msg key="delete">eliminar</msg>
<msg key="lt_require_email_verific">requere verificao de email</msg>
<msg key="reject">rejeitar</msg>
<msg key="undelete">anular eliminar</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ro_RO" charset="utf-8">
<msg key="approve">aprobă</msg>
<msg key="approve_email">aprobă email</msg>
<msg key="ban">interzice</msg>
<msg key="delete">şterge</msg>
<msg key="lt_require_email_verific">necesită verificare prin email</msg>
<msg key="reject">respinge</msg>
<msg key="undelete">anulează ştergerea</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="ru_RU" charset="utf-8">
<msg key="approve">утвердить</msg>
<msg key="approve_email">утвердить электронный адрес</msg>
<msg key="ban">запретить</msg>
<msg key="delete">удалить</msg>
<msg key="lt_require_email_verific">требовать подтверждение по электронной почте</msg>
<msg key="reject">отказать</msg>
<msg key="undelete">восстановить</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="sh_HR" charset="utf-8">
<msg key="approve">dozvoli</msg>
<msg key="approve_email">potvrdi email</msg>
<msg key="ban">izgnaj</msg>
<msg key="delete">izbrisi</msg>
<msg key="lt_require_email_verific">zahteva potvrdu emaila</msg>
<msg key="reject">odbaci</msg>
<msg key="undelete">povrati izbrisano</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="sv_SE" charset="ISO-8859-1">
<msg key="approve">godknn</msg>
<msg key="approve_email">godknn e-postadressen</msg>
<msg key="ban">bannlys</msg>
<msg key="delete">radera</msg>
<msg key="lt_require_email_verific">krv e-postverifikation</msg>
<msg key="reject">avsl</msg>
<msg key="undelete">terstll</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="tr_TR" charset="utf-8">
<msg key="approve">onayla</msg>
<msg key="approve_email">eposta onayla</msg>
<msg key="ban">yasakla</msg>
<msg key="delete">sil</msg>
<msg key="lt_require_email_verific">eposta doğrulaması gerektir</msg>
<msg key="reject">red et</msg>
<msg key="undelete">silineni geri getir</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="zh_CN" charset="utf-8">
<msg key="approve">批准</msg>
<msg key="approve_email">批准email</msg>
<msg key="ban">禁止</msg>
<msg key="delete">删除</msg>
<msg key="lt_require_email_verific">需要email确认</msg>
<msg key="reject">拒绝</msg>
<msg key="undelete">撤消删除</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-tcl" package_version="5.1.2" locale="zh_TW" charset="utf-8">
<msg key="approve">核可</msg>
<msg key="approve_email">核可電子郵件</msg>
<msg key="ban">禁止</msg>
<msg key="delete">刪除</msg>
<msg key="lt_require_email_verific">需要電子郵件確認</msg>
<msg key="reject">拒絕</msg>
<msg key="undelete">撤消刪除</msg>
</message_catalog>
<master>
<property name="title">Problem with your input</property>
<p>
We had
<if @exception_count@ gt 1>some problems</if>
<else>a problem</else>
with your input:
</p>
<ul>
@exception_text;noquote@
</ul>
<p>
Please back up using your browser, correct the above <if @exception_count@ gt 1>s</if>, and resubmit your entry.
</p>
<p>
Thank you.
</p>
<master>
<property name="title">@title;noquote@</property>
<p>
@explanation;noquote@
</p>
<master>
<property name="title">Problem with your input</property>
<p>
We had
<if @complaints:rowcount@ gt 1>some problems</if>
<else>a problem</else>
with your input:
</p>
<ul>
<multiple name="complaints">
<if @complaints:rowcount@ gt 1>
<li>
</if>
@complaints.text;noquote@
</multiple>
</ul>
<p>
Please back up using your browser, correct the above <if @complaints:rowcount@ gt 1>s</if>, and resubmit your entry.
</p>
<p>
Thank you.
</p>
<master>
<property name="title">Server Error</property>
<p>
There was a server error processing your request. We apologize.
</p>
<if @message@ not nil>
<p>
@message;noquote@
</p>
</if>
<if @stacktrace@ not nil>
<p>
Here is a detailed dump of what took place at the time of the error, which may assist a programmer in tracking down the problem:
</p>
<blockquote><pre>@stacktrace@</pre></blockquote>
</if>
<else>
<p>
The error has been logged and will be investigated by our system
programmers.
</p>
</else>
<html>
<head>
<link rel="stylesheet" type="text/css" href="/resources/acs-subsite/site-master.css" media="all">
<title@title@</title>
</head>
<body>
<div id="page-body">
<if @title@ not nil>
<h1 class="page-title">@title;noquote@</h1>
</if>
<div class="boxed-user-message">
<if @message_1@ not nil>
<h3>@message_1@</h3>
</if>
<div class="body">
<span id="progress1" style="background-color: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span id="progress2" style="background-color: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span id="progress3" style="background-color: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span id="progress4" style="background-color: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span id="progress5" style="background-color: white;">&nbsp;&nbsp;&nbsp;&nbsp;</span>
</div>
<if @message_2@ not nil>
<p>@message_2@</p>
</if>
</table>
<div style="clear: both;"></div>
</div>
<script language="javascript">
var progressEnd = 5;// set to number of progress <span>'s.
var progressColor = 'blue';// set to progress bar color
var progressInterval = 1000;// set to time between updates (milli-seconds)
var progressAt = progressEnd;
var progressTimer;
function progress_update() {
if (progressAt > 0) {
document.getElementById('progress'+progressAt).style.backgroundColor = 'white';
}
progressAt++;
if (progressAt > progressEnd) progressAt = 1;
document.getElementById('progress'+progressAt).style.backgroundColor = progressColor;
// schedule progress bar to update automatically
progressTimer = setTimeout('progress_update()',progressInterval);
}
progress_update();// start progress bar
</script>
ad_library {
Oracle-specific database API and utility procs
@creation-date 15 Apr 2000
@author Jon Salz (jsalz@arsdigita.com)
@cvs-id $Id$
}
# This file is now obsolete. All procs have been merged into
# 00-database-procs.tcl, so that all supported databases are useable
# with the db_* API all the time, regardless of which database type
# OpenACS is using. --atp@piskorski.com, 2003/04/09 12:04 EDT
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.1</version></rdbms>
<fullquery name="db_nextval.nextval_sequence">
<querytext>
select nextval(:sequence) as nextval
where (select relkind
from pg_class
where relname = :sequence) = 'S'
</querytext>
</fullquery>
<fullquery name="db_nextval.nextval_view">
<querytext>
select nextval
from ${sequence}
</querytext>
</fullquery>
</queryset>
ad_library {
Postgres-specific database API and utility procs.
@creation-date 15 Apr 2000
@author Jon Salz (jsalz@arsdigita.com)
@cvs-id $Id$
}
# This file is now obsolete. All procs have been merged into
# 00-database-procs.tcl, so that all supported databases are useable
# with the db_* API all the time, regardless of which database type
# OpenACS is using. --atp@piskorski.com, 2003/04/09 12:04 EDT
This source diff could not be displayed because it is too large. You can view the blob instead.
ad_library {
Compatibily procs in case we're not running a version of AOLServer that supports charsets.
@author Rob Mayoff [mayoff@arsdigita.com]
@author Nada Amin [namin@arsdigita.com]
@creation-date June 28, 2000
@cvs-id $Id$
}
set compat_procs [list ns_startcontent ns_encodingfortype]
foreach one_proc $compat_procs {
if {[llength [info command $one_proc]] == 0} {
proc $one_proc {args} { }
}
}
# Create the cache used by util_memoize.
# Note: we must pass the package_id to ad_parameter, because
# otherwise ad_parameter will end up calling util_memoize to figure
# out the package_id.
ns_cache create util_memoize -size \
[ad_parameter -package_id [ad_acs_kernel_id] MaxSize memoize 200000]
# This is a set of utilities for dealing with XML in a nice way,
# using tDOM.
#
# It would be nice if this could be used without the ACS, so we're not
# using ad_proc constructs for this at this point.
##
## The proc that checks that XML support is complete
##
proc xml_support_ok {varname} {
upvar $varname xml_status_msg
set ok_p 1
if {[llength [info commands tdom]] < 1} {
set xml_status_msg "tDOM is not installed! You must have tDOM installed, or nothing will work."
set ok_p 0
}
return $ok_p
}
# Parse a document and return a doc_id
proc xml_parse args {
# ns_log notice "xml_parse $args"
if {[lindex $args 0] == "-persist"} {
return [dom parse -simple [lindex $args 1]]
} else {
dom parse -simple [lindex $args 0] doc
return $doc
}
}
# Free the doc
proc xml_doc_free {doc_id} {
# ns_log notice "xml_doc_free $doc_id"
$doc_id delete
}
# Get first node
proc xml_doc_get_first_node {doc_id} {
# ns_log notice "xml_doc_get_first_node $doc_id --> [[$doc_id documentElement] nodeName]"
return [$doc_id documentElement]
}
# Get children nodes
proc xml_node_get_children {parent_node} {
return [$parent_node child all]
}
# Find nodes of a parent that have a given name
proc xml_node_get_children_by_name {parent_node name} {
# set msg "xml_node_get_children_by_name [$parent_node nodeName] $name --> "
# foreach child [$parent_node child all $name] {
# append msg "[$child nodeName] "
# }
# ns_log notice $msg
return [$parent_node child all $name]
}
proc xml_node_get_first_child {parent_node } {
# ns_log notice "xml_node_get_first_child [$parent_node nodeName] --> [[$parent_node child 1] nodeName]"
return [$parent_node child 1]
}
proc xml_node_get_first_child_by_name {parent_node name} {
# ns_log notice "xml_node_get_first_child_by_name [$parent_node nodeName] $name --> [[$parent_node child 1 $name] nodeName]"
return [$parent_node child 1 $name]
}
# Get Node Name
proc xml_node_get_name {node_id} {
return [$node_id nodeName]
}
# Get Node Attribute
proc xml_node_get_attribute {node_id attribute_name {default ""}} {
# ns_log notice "xml_node_get_attribute [$node_id nodeName] $attribute_name --> [$node_id getAttribute $attribute_name $default]"
return [$node_id getAttribute $attribute_name $default]
}
# Get Content
proc xml_node_get_content {node_id} {
# ns_log notice "xml_node_get_content [$node_id nodeName] --> [$node_id text]"
return [$node_id text]
}
# Get Node Type
proc xml_node_get_type {node_id} {
return [$node_id nodeType]
}
# Render the doc
proc xml_doc_render {doc_id {indent_p f}} {
if { [string is true $indent_p] } {
return [$doc_id asXML]
} else {
return [$doc_id asXML -indent none]
}
}
proc xml_node_get_children_by_select {parent_node xpath} {
return [$parent_node selectNodes $xpath]
}
ad_library {
@author rhs@mit.edu
@creation-date 2000-09-09
@cvs-id $Id$
}
ad_proc -public ad_acs_administrator_exists_p {} {
@return 1 if a user with admin privileges exists, 0 otherwise.
} {
return [db_string admin_exists_p {} -default 0]
}
ad_proc -public ad_acs_admin_node {} {
@return The node id of the ACS administration service if it is mounted, 0 otherwise.
} {
# Obtain the id of the ACS Administration node.
# DRB: this used to say "and rownum = 1" but I've changed it to an SQL92 form
# that's ummm...portable!
return [db_string acs_admin_node_p {
select case when count(object_id) = 0 then 0 else 1 end
from site_nodes
where object_id = (select package_id
from apm_packages
where package_key = 'acs-admin')
} -default 0]
}
ad_proc -public ad_verify_install {} {
Returns 1 if the acs is properly installed, 0 otherwise.
} {
if { ![db_table_exists apm_packages] || ![db_table_exists site_nodes] } {
proc util_memoize {script {max_age ""}} {eval $script}
return 0
}
set kernel_install_p [apm_package_installed_p acs-kernel]
set admin_exists_p [ad_acs_administrator_exists_p]
ns_log Debug "Verifying Installation: Kernel Installed? $kernel_install_p \
An Administrator? $admin_exists_p"
if { $kernel_install_p && $admin_exists_p} {
return 1
} else {
proc util_memoize {script {max_age ""}} {eval $script}
return 0
}
}
<?xml version="1.0"?>
<queryset>
<fullquery name="ad_acs_administrator_exists_p.admin_exists_p">
<querytext>
select 1 as admin_exists_p
from dual
where exists (select 1
from all_object_party_privilege_map m, users u, acs_magic_objects amo
where m.object_id = amo.object_id
and amo.name = 'security_context_root'
and m.party_id = u.user_id
and m.privilege = 'admin')
</querytext>
</fullquery>
<fullquery name="ad_acs_admin_node.acs_admin_node_p">
<querytext>
select case when count(object_id) = 0 then 0 else 1 end
from site_nodes
where object_id = (select package_id
from apm_packages
where package_key = 'acs-admin')
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="permission::grant.grant_permission">
<querytext>
declare
begin
acs_permission.grant_permission(
object_id => :object_id,
grantee_id => :party_id,
privilege => :privilege
);
end;
</querytext>
</fullquery>
<fullquery name="permission::revoke.revoke_permission">
<querytext>
declare
begin
acs_permission.revoke_permission(
object_id => :object_id,
grantee_id => :party_id,
privilege => :privilege
);
end;
</querytext>
</fullquery>
<fullquery name="permission::require_permission.name">
<querytext>
select acs_object.name(:object_id)
from dual
</querytext>
</fullquery>
<fullquery name="permission::toggle_inherit.toggle_inherit">
<querytext>
update acs_objects
set security_inherit_p = case when security_inherit_p = 't'
then 'f'
else 't'
end
where object_id = :object_id
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.1</version></rdbms>
<fullquery name="permission::grant.grant_permission">
<querytext>
select acs_permission__grant_permission(
:object_id,
:party_id,
:privilege
);
</querytext>
</fullquery>
<fullquery name="permission::revoke.revoke_permission">
<querytext>
select acs_permission__revoke_permission(
:object_id,
:party_id,
:privilege
);
</querytext>
</fullquery>
<fullquery name="permission::require_permission.name">
<querytext>
select acs_object__name(:object_id)
from dual
</querytext>
</fullquery>
<fullquery name="permission::toggle_inherit.toggle_inherit">
<querytext>
update acs_objects
set security_inherit_p = not security_inherit_p
where object_id = :object_id
</querytext>
</fullquery>
</queryset>
ad_library {
Tcl procs for the acs permissioning system.
@author rhs@mit.edu
@creation-date 2000-08-17
@cvs-id $Id$
}
namespace eval permission {}
# define cache_p to be 0 here. Note that it is redefined on init to be
# the value of the PermissionCacheP kernel parameter.
# see request-processor-init.tcl
ad_proc permission::cache_p {} {
returns 0 or 1 depending if permission_p caching is enabled or disabled.
by default caching is disabled.
} {
return 0
}
ad_proc -public permission::grant {
{-party_id:required}
{-object_id:required}
{-privilege:required}
} {
grant privilege Y to party X on object Z
} {
db_exec_plsql grant_permission {}
util_memoize_flush "permission::permission_p_not_cached -party_id $party_id -object_id $object_id -privilege $privilege"
permission::permission_thread_cache_flush
}
ad_proc -public permission::revoke {
{-party_id:required}
{-object_id:required}
{-privilege:required}
} {
revoke privilege Y from party X on object Z
} {
db_exec_plsql revoke_permission {}
util_memoize_flush [list permission::permission_p_not_cached -party_id $party_id -object_id $object_id -privilege $privilege]
permission::permission_thread_cache_flush
}
# args to permission_p and permission_p_no_cache must match
ad_proc -public permission::permission_p {
{-no_login:boolean}
{-no_cache:boolean}
{-party_id ""}
{-object_id:required}
{-privilege:required}
} {
does party X have privilege Y on object Z
@param no_cache force loading from db even if cached (flushes cache as well)
@param no_login Don't bump to registration to refresh authentication, if the user's authentication is expired.
This is specifically required in the case where you're calling this from the proc that gets
the login page.
@param party_id if null then it is the current user_id
@param object_id The object you want to check permissions on.
@param privilege The privilege you want to check for.
} {
if { [empty_string_p $party_id] } {
set party_id [ad_conn user_id]
}
if { $no_cache_p } {
permission::permission_thread_cache_flush
}
if { $no_cache_p || ![permission::cache_p] } {
util_memoize_flush [list permission::permission_p_not_cached -party_id $party_id -object_id $object_id -privilege $privilege]
set permission_p [permission::permission_p_not_cached -party_id $party_id -object_id $object_id -privilege $privilege]
} else {
set permission_p [util_memoize \
[list permission::permission_p_not_cached -party_id $party_id -object_id $object_id -privilege $privilege] \
[parameter::get -package_id [ad_acs_kernel_id] -parameter PermissionCacheTimeout -default 300]]
}
if {
!$no_login_p
&& $party_id == 0
&& [ad_conn user_id] == 0
&& [ad_conn untrusted_user_id] != 0
&& ![template::util::is_true $permission_p]
} {
set untrusted_permission_p [permission_p_not_cached \
-party_id [ad_conn untrusted_user_id] \
-object_id $object_id \
-privilege $privilege]
if { $permission_p != $untrusted_permission_p } {
# Bump to registration page
ns_log Debug "permission_p: party_id=$party_id ([acs_object_name $party_id]), object_id=$object_id ([acs_object_name $object_id]), privilege=$privilege. Result=>$permission_p. Untrusted-Result=>$untrusted_permission_p\n[ad_get_tcl_call_stack]"
if { ![ad_login_page] } {
auth::require_login
}
}
}
return $permission_p
}
# accepts nocache to match permission_p arguments
# since we alias it to permission::permission_p if
# caching disabled.
ad_proc -private permission::permission_p_not_cached {
{-no_cache:boolean}
{-party_id ""}
{-object_id:required}
{-privilege:required}
} {
does party X have privilege Y on object Z
@see permission::permission_p
} {
if { [empty_string_p $party_id] } {
set party_id [ad_conn user_id]
}
# We have a thread-local cache here
global permission__permission_p__cache
if { ![info exists permission__permission_p__cache($party_id,$object_id,$privilege)] } {
set permission__permission_p__cache($party_id,$object_id,$privilege) [db_0or1row select_permission_p {}]
}
return $permission__permission_p__cache($party_id,$object_id,$privilege)
}
ad_proc -private permission::permission_thread_cache_flush {} {
Flush thread cache
} {
global permission__permission_p__cache
array unset permission__permission_p__cache
}
ad_proc -public permission::require_permission {
{-party_id ""}
{-object_id:required}
{-privilege:required}
} {
require that party X have privilege Y on object Z
} {
if {[empty_string_p $party_id]} {
set party_id [ad_conn user_id]
}
if {![permission_p -party_id $party_id -object_id $object_id -privilege $privilege]} {
if {!${party_id}} {
ad_maybe_redirect_for_registration
} else {
ns_log notice "permission::require_permission: $party_id doesn't have $privilege on object $object_id"
ad_return_forbidden \
"Permission Denied" \
"<blockquote>
You don't have permission to $privilege [db_string name {}].
</blockquote>"
}
ad_script_abort
}
}
ad_proc -public permission::inherit_p {
{-object_id:required}
} {
does this object inherit permissions
} {
return [db_string select_inherit_p {} -default 0]
}
ad_proc -public permission::toggle_inherit {
{-object_id:required}
} {
toggle whether or not this object inherits permissions from it's parent
} {
db_dml toggle_inherit {}
permission::permission_thread_cache_flush
}
ad_proc -public permission::set_inherit {
{-object_id:required}
} {
set inherit to true
} {
db_dml set_inherit {}
permission::permission_thread_cache_flush
}
ad_proc -public permission::set_not_inherit {
{-object_id:required}
} {
set inherit to false
} {
db_dml set_not_inherit {}
permission::permission_thread_cache_flush
}
ad_proc -public permission::write_permission_p {
{-object_id:required}
{-party_id ""}
{-creation_user ""}
} {
Returns whether a user is allowed to edit an object.
The logic is that you must have either write permission,
or you must be the one who created the object.
@param object_id The object you want to check write permissions for
@param party_id The party to have or not have write permission.
@param creation_user Optionally specify creation_user directly as an optimization.
Otherwise a query will be executed.
@return True (1) if user has permission to edit the object, 0 otherwise.
@see permission::require_write_permission
} {
if { [permission::permission_p -privilege write -object_id $object_id -party_id $party_id] } {
return 1
}
if { [empty_string_p $creation_user] } {
set creation_user [acs_object::get_element -object_id $object_id -element creation_user]
}
if { [ad_conn user_id] == $creation_user } {
return 1
}
return 0
}
ad_proc -public permission::require_write_permission {
{-object_id:required}
{-creation_user ""}
{-party_id ""}
{-action "edit"}
} {
If the user is not allowed to edit this object, returns a permission denied page.
@param creation_user Optionally specify creation_user directly as an optimization.
Otherwise a query will be executed.
@param party_id The party to have or not have write permission.
@see permission::write_permission_p
} {
if { ![permission::write_permission_p -object_id $object_id -party_id $party_id] } {
ad_return_forbidden "Permission Denied" "<blockquote>
You don't have permission to $action this object.
</blockquote>"
ad_script_abort
}
}
ad_proc -deprecated ad_permission_grant {
user_id
object_id
privilege
} {
Grant a permission
@author ben@openforce.net
@see permission::grant
} {
permission::grant -party_id $user_id -object_id $object_id -privilege $privilege
}
ad_proc -deprecated ad_permission_revoke {
user_id
object_id
privilege
} {
Revoke a permission
@author ben@openforce.net
@see permission::revoke
} {
permission::revoke -party_id $user_id -object_id $object_id -privilege $privilege
}
ad_proc -deprecated ad_permission_p {
{-user_id ""}
object_id
privilege
} {
@see permission::permission_p
} {
return [permission::permission_p -party_id $user_id -object_id $object_id -privilege $privilege]
}
ad_proc -deprecated ad_require_permission {
object_id
privilege
} {
@see permission::require_permission
} {
permission::require_permission -object_id $object_id -privilege $privilege
}
ad_proc -private ad_admin_filter {} {
permission::require_permission -object_id [ad_conn object_id] -privilege "admin"
return filter_ok
}
ad_proc -private ad_user_filter {} {
permission::require_permission -object_id [ad_conn object_id] -privilege "read"
return filter_ok
}
<?xml version="1.0"?>
<queryset>
<fullquery name="ad_permission_p.n_privs">
<querytext>
select count(*)
from acs_privileges
where privilege = :privilege
</querytext>
</fullquery>
<fullquery name="permission::inherit_p.select_inherit_p">
<querytext>
select case when security_inherit_p = 't' then 1 else 0 end
from acs_objects
where object_id = :object_id
</querytext>
</fullquery>
<fullquery name="permission::set_inherit.set_inherit">
<querytext>
update acs_objects
set security_inherit_p = 't'
where object_id = :object_id
</querytext>
</fullquery>
<fullquery name="permission::set_not_inherit.set_not_inherit">
<querytext>
update acs_objects
set security_inherit_p = 'f'
where object_id = :object_id
</querytext>
</fullquery>
<fullquery name="permission::permission_p_not_cached.select_permission_p">
<querytext>
select 1 from dual
where exists
( select 1
from acs_object_party_privilege_map ppm
where ppm.object_id = :object_id and ppm.party_id = :party_id and ppm.privilege = :privilege )
</querytext>
</fullquery>
</queryset>
ad_library {
Tcl procs for managing privacy
@author ben@openforce.net
@creation-date 2000-12-02
@cvs-id $Id$
}
namespace eval acs_privacy {
ad_proc -public privacy_control_enabled_p {} {
Returns whether privacy control is turned on or not.
This is provided in order to have complete backwards
compatibility with past behaviors, where private information
was in no way regulated.
} {
# If no parameter set, then we assume privacy control is DISABLED
return [ad_parameter -package_id [ad_acs_kernel_id] PrivacyControlEnabledP 0]
}
ad_proc -public privacy_control_set {val} {
set the privacy control
} {
ad_parameter -set $val -package_id [ad_acs_kernel_id] PrivacyControlEnabledP
}
ad_proc -public user_can_read_private_data_p {
{-user_id ""}
{-object_id:required}
} {
check if a user can access an object's private data
} {
if {[privacy_control_enabled_p]} {
return [ad_permission_p -user_id $user_id $object_id read_private_data]
} else {
# backwards compatibility
return 1
}
}
ad_proc -public set_user_read_private_data {
{-user_id:required}
{-object_id:required}
{-value:required}
} {
grant permission to access private data
} {
if { [template::util::is_true $value] } {
ad_permission_grant $user_id $object_id read_private_data
} else {
ad_permission_revoke $user_id $object_id read_private_data
}
}
}
This diff is collapsed.
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="path_select">
<querytext>
select package_id, site_node.url(node_id) as url from apm_packages p, site_nodes n
where p.package_id = n.object_id
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.1</version></rdbms>
<fullquery name="path_select">
<querytext>
select package_id, site_node__url(node_id) as url from apm_packages p, site_nodes n
where p.package_id = n.object_id
</querytext>
</fullquery>
</queryset>
ad_library {
security filters for the admin pages.
@creation-date 18 Nov 1998
@author Allen Pulsifer (pulsifer@mediaone.net)
@cvs-id $Id$
}
# This can be very time consuming on a large site and may be
# disabled by setting RegisterRestrictToSSLFilters in the kernel params.
if { [security::https_available_p]
&& [parameter::get -package_id [ad_acs_kernel_id] -parameter RegisterRestrictToSSLFilters -default 1]} {
set admin_ssl_filters_installed_p 1
db_foreach path_select {} {
ns_log Notice "admin-init.tcl: Processing RestrictToSSL for $url"
foreach pattern [parameter::get -package_id $package_id -parameter RestrictToSSL] {
ad_register_filter preauth GET "$url$pattern" ad_restrict_to_https
ns_log Notice "admin-init.tcl: URLs matching \"$url$pattern\" are restricted to SSL"
}
}
db_release_unused_handles
}
# if the kernel param is on, then these filters will be registered. after that,
# a subsite param controls whether that subsite is restricted or not
if { [parameter::get -package_id [ad_acs_kernel_id] -parameter RegisterRestrictEntireServerToRegisteredUsersFilters -default 0]} {
db_foreach path_select {} {
ns_log Notice "admin-init.tcl: Registering ad_restrict_entire_server_to_registered_users for ${url}*"
ad_register_filter preauth GET "${url}*" ad_restrict_entire_server_to_registered_users
ad_register_filter preauth POST "${url}*" ad_restrict_entire_server_to_registered_users
ad_register_filter preauth HEAD "${url}*" ad_restrict_entire_server_to_registered_users
}
}
This diff is collapsed.
<?xml version="1.0"?>
<queryset>
<fullquery name="ad_user_class_query.sql_post_select_for_user_class">
<querytext>
select sql_post_select
from user_classes
where user_class_id = [ns_dbquotevalue $user_class_id]
</querytext>
</fullquery>
<fullquery name="ad_user_class_description.category_id">
<querytext>
select category from categories where category_id = :category_id
</querytext>
</fullquery>
<fullquery name="ad_user_class_description.country_code">
<querytext>
select country_name from country_codes where iso = :country_code
</querytext>
</fullquery>
<fullquery name="ad_user_class_description.usps_abbrev">
<querytext>
select state_name from states where usps_abbrev = :usps_abbrev
</querytext>
</fullquery>
<fullquery name="ad_user_class_description.group_id">
<querytext>
select group_name from groups where group_id = :group_id
</querytext>
</fullquery>
<fullquery name="ad_user_class_description.registration_during_month">
<querytext>
select to_char(to_date(:registration_during_month,'YYYYMM'),'fmMonth YYYY') from dual
</querytext>
</fullquery>
<fullquery name="ad_user_class_description.user_class_id">
<querytext>
select name from user_classes where user_class_id = :user_class_id
</querytext>
</fullquery>
</queryset>
This diff is collapsed.
ad_library {
Contains procedures specific to AOLserver 3 (mostly recreating
functionality dropped from AOLserver 2).
@creation-date 27 Feb 2000
@author Jon Salz [jsalz@arsdigita.com]
@cvs-id aolserver-3-procs.tcl,v 1.2 2001/04/24 22:38:12 donb Exp
}
# -1 = Not there or value was ""
# 0 = NULL, set value to NULL.
# 1 = Got value, set value to it.
proc ns_dbformvalue {formdata column type valuebyref} {
upvar $valuebyref value
if {[ns_set get $formdata $column.NULL] == "t"} {
set value ""
return 0
}
set value [ns_set get $formdata $column]
if { [string match $value ""] } {
switch $type {
date {
set value [ns_buildsqldate \
[ns_set get $formdata $column.month] \
[ns_set get $formdata $column.day] \
[ns_set get $formdata $column.year]]
}
time {
set value [ns_buildsqltime \
[ns_set get $formdata $column.time] \
[ns_set get $formdata $column.ampm]]
}
datetime -
timestamp {
set value [ns_buildsqltimestamp \
[ns_set get $formdata $column.month] \
[ns_set get $formdata $column.day] \
[ns_set get $formdata $column.year] \
[ns_set get $formdata $column.time] \
[ns_set get $formdata $column.ampm]]
}
default {
}
}
}
if { [string match $value ""] } {
return -1
} else {
return 1
}
}
proc ns_dbformvalueput {htmlform column type value} {
switch $type {
date {
set retval [ns_formvalueput $htmlform $column.NULL f]
set retval [ns_formvalueput $retval $column.month \
[ns_parsesqldate month $value]]
set retval [ns_formvalueput $retval $column.day \
[ns_parsesqldate day $value]]
set retval [ns_formvalueput $retval $column.year \
[ns_parsesqldate year $value]]
}
time {
set retval [ns_formvalueput $htmlform $column.NULL f]
set retval [ns_formvalueput $retval $column.time \
[ns_parsesqltime time $value]]
set retval [ns_formvalueput $retval $column.ampm \
[ns_parsesqltime ampm $value]]
}
datetime -
timestamp {
set retval [ns_formvalueput $htmlform $column.NULL f]
set retval [ns_formvalueput $retval $column.month \
[ns_parsesqltimestamp month $value]]
set retval [ns_formvalueput $retval $column.day \
[ns_parsesqltimestamp day $value]]
set retval [ns_formvalueput $retval $column.year \
[ns_parsesqltimestamp year $value]]
set retval [ns_formvalueput $retval $column.time \
[ns_parsesqltimestamp time $value]]
set retval [ns_formvalueput $retval $column.ampm \
[ns_parsesqltimestamp ampm $value]]
}
default {
set retval [ns_formvalueput $htmlform $column $value]
}
}
return $retval
}
proc _ns_updatebutton {table var} {
upvar $var updatebutton
if { ![info exists updatebutton] } {
set updatebutton ""
}
if { [string match "" $updatebutton] } {
db_with_handle db {
set updatebutton [ns_table value $db $table update_button_label]
}
}
if { [string match "" $updatebutton] } {
set updatebutton "Update Record"
}
}
proc _http_read {timeout sock length} {
return [_ns_http_read $timeout $sock $length]
} ;# _http_read
# tcl page support
proc ns_putscript {conn ignored} {
ns_returnbadrequest $conn "Cannot PUT a script file"
}
ns_share NS
set NS(months) [list January February March April May June \
July August September October November December]
proc _ns_dateentrywidget {column} {
ns_share NS
set output "<SELECT name=$column.month>\n"
for {set i 0} {$i < 12} {incr i} {
append output "<OPTION> [lindex $NS(months) $i]\n"
}
append output \
"</SELECT>&nbsp;<INPUT NAME=$column.day\
TYPE=text SIZE=3 MAXLENGTH=2>&nbsp;<INPUT NAME=$column.year\
TYPE=text SIZE=5 MAXLENGTH=4>"
return [ns_dbformvalueput $output $column date [lindex [split [ns_localsqltimestamp] " "] 0]]
}
proc _ns_timeentrywidget {column} {
set output "<INPUT NAME=$column.time TYPE=text SIZE=9>&nbsp;<SELECT NAME=$column.ampm>
<OPTION> AM
<OPTION> PM
</SELECT>"
return [ns_dbformvalueput $output $column time [lindex [split [ns_localsqltimestamp] " "] 1]]
}
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="apm_generate_tarball.create_item">
<querytext>
begin
:1 := content_item.new(name => :name,
creation_ip => :creation_ip,
storage_type => 'file'
);
end;
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.create_revision">
<querytext>
begin
:1 := content_revision.new(title => :title,
description => 'gzipped tarfile',
text => 'not_important',
mime_type => 'text/plain',
item_id => :item_id,
creation_user => :user_id,
creation_ip => :creation_ip
);
update cr_items
set live_revision = :1
where item_id = :item_id;
end;
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.update_tarball">
<querytext>
update cr_revisions
set filename = '[set content_file [cr_create_content_file $item_id $revision_id $tmpfile]]'
where revision_id = :revision_id
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.update_content_length">
<querytext>
update apm_package_versions
set content_length = [cr_file_size $content_file]
where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_extract_tarball.distribution_tar_ball_select">
<querytext>
select '[cr_fs_path]' || r.filename as content, i.storage_type
from cr_revisions r, cr_items i
where r.item_id = i.item_id
and r.revision_id = (select content_item.get_latest_revision(item_id)
from apm_package_versions
where version_id = :version_id)
</querytext>
</fullquery>
<fullquery name="apm_file_add.apm_file_add">
<querytext>
begin
:1 := apm_package_version.add_file(
file_id => :file_id,
version_id => :version_id,
path => :path,
file_type => :file_type,
db_type => :db_type
);
end;
</querytext>
</fullquery>
<fullquery name="apm_file_remove.apm_file_remove">
<querytext>
begin
apm_package_version.remove_file(
path => :path,
version_id => :version_id
);
end;
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.1</version></rdbms>
<fullquery name="apm_generate_tarball.create_item">
<querytext>
select content_item__new(
varchar :name,
null,
null,
null,
now(),
null,
null,
:creation_ip,
'content_item',
'content_revision',
null,
null,
'text/plain',
null,
null,
'file'
)
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.create_revision">
<querytext>
declare
v_revision_id integer;
begin
v_revision_id := content_revision__new(
:title,
'gzipped tarfile',
now(),
'text/plain',
null,
'not_important',
:item_id,
null,
now(),
:user_id,
:creation_ip
);
update cr_items
set live_revision = v_revision_id
where item_id = :item_id;
return v_revision_id;
end;
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.update_tarball">
<querytext>
update cr_revisions
set content = '[set content_file [cr_create_content_file $item_id $revision_id $tmpfile]]'
where revision_id = :revision_id
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.update_content_length">
<querytext>
update apm_package_versions
set content_length = [cr_file_size $content_file]
where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_extract_tarball.distribution_tar_ball_select">
<querytext>
select '[cr_fs_path]' || r.content as content, i.storage_type
from cr_revisions r, cr_items i
where r.item_id = i.item_id
and r.revision_id = (select content_item__get_latest_revision(item_id)
from apm_package_versions
where version_id = :version_id)
</querytext>
</fullquery>
<fullquery name="apm_file_add.apm_file_add">
<querytext>
select apm_package_version__add_file(
:file_id,
:version_id,
:path,
:file_type,
:db_type
)
</querytext>
</fullquery>
<fullquery name="apm_file_remove.apm_file_remove">
<querytext>
select apm_package_version__remove_file(
:version_id,
:path
)
</querytext>
</fullquery>
</queryset>
This diff is collapsed.
<?xml version="1.0"?>
<queryset>
<fullquery name="apm_generate_tarball.item_exists_p">
<querytext>
select case when item_id is null then 0 else item_id end as item_id
from apm_package_versions
where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.set_item_id">
<querytext>
update apm_package_versions
set item_id = :item_id
where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.get_revision_id">
<querytext>
select live_revision as revision_id
from cr_items
where item_id = :item_id
</querytext>
</fullquery>
<fullquery name="apm_db_type_keys.db_type_keys">
<querytext>
select db_type_key from apm_package_db_types
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.package_key_select">
<querytext>
select package_key from apm_package_version_info where version_id = :version_id
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="apm_package_install_version.version_insert">
<querytext>
begin
:1 := apm_package_version.new(
version_id => :version_id,
package_key => :package_key,
version_name => :version_name,
version_uri => :version_uri,
summary => :summary,
description_format => :description_format,
description => :description,
release_date => :release_date,
vendor => :vendor,
vendor_uri => :vendor_uri,
auto_mount => :auto_mount,
installed_p => 't',
data_model_loaded_p => 't'
);
end;
</querytext>
</fullquery>
<fullquery name="apm_package_install_version.version_insert_4.6.1">
<querytext>
begin
:1 := apm_package_version.new(
version_id => :version_id,
package_key => :package_key,
version_name => :version_name,
version_uri => :version_uri,
summary => :summary,
description_format => :description_format,
description => :description,
release_date => :release_date,
vendor => :vendor,
vendor_uri => :vendor_uri,
auto_mount => :auto_mount,
installed_p => 't',
data_model_loaded_p => 't'
);
end;
</querytext>
</fullquery>
<fullquery name="apm_package_delete.apm_package_delete">
<querytext>
begin
apm_package_type.drop_type(
package_key => :package_key,
cascade_p => 't'
);
end;
</querytext>
</fullquery>
<fullquery name="apm_package_version_delete.apm_version_delete">
<querytext>
begin
apm_package_version.del(version_id => :version_id);
end;
</querytext>
</fullquery>
<fullquery name="apm_package_install_spec.version_mark_installed">
<querytext>
update apm_package_versions
set installed_p = decode(version_id, :version_id, 't', 'f')
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="apm_version_enable.apm_package_version_enable">
<querytext>
begin
apm_package_version.enable(
version_id => :version_id
);
end;
</querytext>
</fullquery>
<fullquery name="apm_version_disable.apm_package_version_disable">
<querytext>
begin
apm_package_version.disable(
version_id => :version_id
);
end;
</querytext>
</fullquery>
<fullquery name="apm_package_register.application_register">
<querytext>
begin
apm.register_application (
package_key => :package_key,
package_uri => :package_uri,
pretty_name => :pretty_name,
pretty_plural => :pretty_plural,
initial_install_p => :initial_install_p,
singleton_p => :singleton_p,
spec_file_path => :spec_file_path,
spec_file_mtime => :spec_file_mtime
);
end;
</querytext>
</fullquery>
<fullquery name="apm_package_register.service_register">
<querytext>
begin
apm.register_service (
package_key => :package_key,
package_uri => :package_uri,
pretty_name => :pretty_name,
pretty_plural => :pretty_plural,
initial_install_p => :initial_install_p,
singleton_p => :singleton_p,
spec_file_path => :spec_file_path,
spec_file_mtime => :spec_file_mtime
);
end;
</querytext>
</fullquery>
<fullquery name="apm_version_update.apm_version_update">
<querytext>
begin
:1 := apm_package_version.edit(
version_id => :version_id,
version_name => :version_name,
version_uri => :version_uri,
summary => :summary,
description_format => :description_format,
description => :description,
release_date => :release_date,
vendor => :vendor,
vendor_uri => :vendor_uri,
auto_mount => :auto_mount,
installed_p => 't',
data_model_loaded_p => 't'
);
end;
</querytext>
</fullquery>
<fullquery name="apm_version_upgrade.apm_version_upgrade">
<querytext>
begin
apm_package_version.upgrade(version_id => :version_id);
end;
</querytext>
</fullquery>
<fullquery name="apm_upgrade_for_version_p.apm_upgrade_for_version_p">
<querytext>
begin
:1 := apm_package_version.upgrade_p(
path => :path,
initial_version_name => :initial_version_name,
final_version_name => :final_version_name
);
end;
</querytext>
</fullquery>
<fullquery name="apm_upgrade_script_compare.test_f1">
<querytext>
begin
:1 := apm_package_version.sortable_version_name('$f1_version_from');
end;
</querytext>
</fullquery>
<fullquery name="apm_upgrade_script_compare.test_f2">
<querytext>
begin
:1 := apm_package_version.sortable_version_name('$f2_version_from');
end;
</querytext>
</fullquery>
<fullquery name="apm_dependency_provided_p.apm_dependency_check">
<querytext>
select apm_package_version.version_name_greater(service_version, :dependency_version) as version_p
from apm_package_dependencies d, apm_package_types a, apm_package_versions v
where d.dependency_type = 'provides'
and d.version_id = v.version_id
and d.service_uri = :dependency_uri
and v.installed_p = 't'
and a.package_key = v.package_key
</querytext>
</fullquery>
<fullquery name="apm_dependency_provided_p.version_greater_p">
<querytext>
select apm_package_version.version_name_greater(:provided_version, :dependency_version) from dual
</querytext>
</fullquery>
<fullquery name="apm_package_install.version_exists_p">
<querytext>
select version_id
from apm_package_versions
where package_key = :package_key
and version_id = apm_package.highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="apm_package_upgrade_p.apm_package_upgrade_p">
<querytext>
select apm_package_version.version_name_greater(:version_name, version_name) upgrade_p
from apm_package_versions
where package_key = :package_key
and version_id = apm_package.highest_version (:package_key)
</querytext>
</fullquery>
<fullquery name="apm_package_upgrade_from.apm_package_upgrade_from">
<querytext>
select version_name from apm_package_versions
where package_key = :package_key
and version_id = apm_package.highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="apm_version_names_compare.select_sortable_versions">
<querytext>
select apm_package_version.sortable_version_name(:version_name_1) as sortable_version_1,
apm_package_version.sortable_version_name(:version_name_2) as sortable_version_2
from dual
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.1</version></rdbms>
<fullquery name="apm_package_install_version.version_insert">
<querytext>
select apm_package_version__new(
:version_id,
:package_key,
:version_name,
:version_uri,
:summary,
:description_format,
:description,
:release_date,
:vendor,
:vendor_uri,
:auto_mount,
't',
't'
);
</querytext>
</fullquery>
<fullquery name="apm_package_delete.apm_package_delete">
<querytext>
select apm_package_type__drop_type(
:package_key,
't'
);
</querytext>
</fullquery>
<fullquery name="apm_package_version_delete.apm_version_delete">
<querytext>
select apm_package_version__delete(:version_id);
</querytext>
</fullquery>
<fullquery name="apm_package_install_spec.version_mark_installed">
<querytext>
update apm_package_versions
set installed_p = (version_id = :version_id)
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="apm_version_disable.apm_package_version_disable">
<querytext>
select apm_package_version__disable(
:version_id
);
</querytext>
</fullquery>
<fullquery name="apm_package_register.application_register">
<querytext>
select apm__register_application (
:package_key,
:pretty_name,
:pretty_plural,
:package_uri,
:initial_install_p,
:singleton_p,
:spec_file_path,
:spec_file_mtime
);
</querytext>
</fullquery>
<fullquery name="apm_package_register.service_register">
<querytext>
select apm__register_service (
:package_key,
:pretty_name,
:pretty_plural,
:package_uri,
:initial_install_p,
:singleton_p,
:spec_file_path,
:spec_file_mtime
);
</querytext>
</fullquery>
<fullquery name="apm_version_update.apm_version_update">
<querytext>
select apm_package_version__edit(
null,
:version_id,
:version_name,
:version_uri,
:summary,
:description_format,
:description,
:release_date,
:vendor,
:vendor_uri,
:auto_mount,
't',
't'
);
</querytext>
</fullquery>
<fullquery name="apm_version_upgrade.apm_version_upgrade">
<querytext>
select apm_package_version__upgrade(:version_id);
</querytext>
</fullquery>
<fullquery name="apm_upgrade_for_version_p.apm_upgrade_for_version_p">
<querytext>
select apm_package_version__upgrade_p(
:path,
:initial_version_name,
:final_version_name
);
</querytext>
</fullquery>
<fullquery name="apm_upgrade_script_compare.test_f1">
<querytext>
select apm_package_version__sortable_version_name('$f1_version_from');
</querytext>
</fullquery>
<fullquery name="apm_upgrade_script_compare.test_f2">
<querytext>
select apm_package_version__sortable_version_name('$f2_version_from');
</querytext>
</fullquery>
<fullquery name="apm_dependency_provided_p.apm_dependency_check">
<querytext>
select apm_package_version__version_name_greater(service_version, :dependency_version) as version_p
from apm_package_dependencies d, apm_package_types a, apm_package_versions v
where d.dependency_type = 'provides'
and d.version_id = v.version_id
and d.service_uri = :dependency_uri
and v.installed_p = 't'
and a.package_key = v.package_key
</querytext>
</fullquery>
<fullquery name="apm_dependency_provided_p.version_greater_p">
<querytext>
select apm_package_version__version_name_greater(:provided_version, :dependency_version)
</querytext>
</fullquery>
<fullquery name="apm_package_install.version_exists_p">
<querytext>
select version_id
from apm_package_versions
where package_key = :package_key
and version_id = apm_package__highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="apm_package_upgrade_p.apm_package_upgrade_p">
<querytext>
select apm_package_version__version_name_greater(:version_name, version_name) as upgrade_p
from apm_package_versions
where package_key = :package_key
and version_id = apm_package__highest_version (:package_key)
</querytext>
</fullquery>
<fullquery name="apm_version_enable.apm_package_version_enable">
<querytext>
select apm_package_version__enable(
:version_id
);
</querytext>
</fullquery>
<fullquery name="apm_package_upgrade_from.apm_package_upgrade_from">
<querytext>
select version_name from apm_package_versions
where package_key = :package_key
and version_id = apm_package__highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="apm_version_names_compare.select_sortable_versions">
<querytext>
select apm_package_version__sortable_version_name(:version_name_1) as sortable_version_1,
apm_package_version__sortable_version_name(:version_name_2) as sortable_version_2
from dual
</querytext>
</fullquery>
</queryset>
This diff is collapsed.
<?xml version="1.0"?>
<queryset>
<fullquery name="apm_package_deinstall.apm_uninstall_record">
<querytext>
update apm_package_versions
set installed_p = 'f', enabled_p = 'f'
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="apm_package_version_count.apm_package_version_count">
<querytext>
select count(*) from apm_package_versions
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="apm_package_upgrade_parameters.parameter_id_get">
<querytext>
select parameter_id from apm_parameters
where parameter_name = :parameter_name
and package_key = :package_key
</querytext>
</fullquery>
<fullquery name="apm_package_install_dependencies.all_dependencies_for_version">
<querytext>
select dependency_id from apm_package_dependencies
where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_package_install_owners.apm_delete_owners">
<querytext>
delete from apm_package_owners where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_package_install_owners.owner_insert">
<querytext>
insert into apm_package_owners(version_id, owner_uri, owner_name, sort_key)
values(:version_id, :owner_uri, :owner_name, :counter)
</querytext>
</fullquery>
<fullquery name="apm_package_install_spec.package_version_info_select">
<querytext>
select package_key, version_id
from apm_package_version_info
where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_package_install_spec.apm_spec_file_register">
<querytext>
update apm_package_types
set spec_file_path = :path
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="apm_package_install_callbacks.delete_all_callbacks">
<querytext>
delete from apm_package_callbacks
where version_id = :version_id
</querytext>
</fullquery>
</queryset>
This diff is collapsed.
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.1</version></rdbms>
<fullquery name="apm_highest_version.apm_highest_version">
<querytext>
select apm_package__highest_version (
:package_key
);
</querytext>
</fullquery>
<fullquery name="apm_highest_version_name.apm_highest_version_name">
<querytext>
select version_name
from apm_package_versions
where package_key = :package_key
and version_id = apm_package__highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="apm_num_instances.apm_num_instances">
<querytext>
select apm_package__num_instances(
:package_key
);
</querytext>
</fullquery>
<fullquery name="apm_parameter_register.parameter_register">
<querytext>
select apm__register_parameter(
:parameter_id,
:package_key,
:parameter_name,
:description,
:datatype,
:default_value,
:section_name,
:min_n_values,
:max_n_values
);
</querytext>
</fullquery>
<fullquery name="apm_dependency_add.dependency_add">
<querytext>
select apm_package_version__add_dependency(
:dependency_id,
:version_id,
:dependency_uri,
:dependency_version
);
</querytext>
</fullquery>
<fullquery name="apm_dependency_remove.dependency_remove">
<querytext>
select apm_package_version__remove_dependency(
:dependency_id
);
</querytext>
</fullquery>
<fullquery name="apm_interface_add.interface_add">
<querytext>
select apm_package_version__add_interface(
:interface_id,
:version_id,
:interface_uri,
:interface_version
);
</querytext>
</fullquery>
<fullquery name="apm_interface_remove.interface_remove">
<querytext>
select apm_package_version__remove_interface(
:interface_id
);
</querytext>
</fullquery>
<fullquery name="apm_package_version_installed_p.apm_package_version_installed_p">
<querytext>
select case when count(*) = 0 then 0 else 1 end
from apm_package_versions
where package_key = :package_key
and version_name = :version_name
</querytext>
</fullquery>
<fullquery name="apm_package_instance_new.invoke_new">
<querytext>
select apm_package__new(
:package_id,
:instance_name,
:package_key,
'apm_package',
now(),
null,
null,
:context_id
);
</querytext>
</fullquery>
<fullquery name="apm_package_instance_delete.apm_package_instance_delete">
<querytext>
select apm_package__delete(:package_id);
</querytext>
</fullquery>
<fullquery name="apm_parameter_unregister.parameter_unregister">
<querytext>
begin
delete from apm_parameter_values
where parameter_id = :parameter_id;
delete from apm_parameters
where parameter_id = :parameter_id;
PERFORM acs_object__delete(:parameter_id);
return null;
end;
</querytext>
</fullquery>
<fullquery name="apm_package_url_from_id_mem.apm_package_url_from_id">
<querytext>
select site_node__url(node_id)
from site_nodes
where object_id = :package_id
</querytext>
</fullquery>
<fullquery name="apm_application_new_checkbox.package_types">
<querytext>
select package_key,
pretty_name
from apm_package_types
where not (apm_package__singleton_p(package_key) = 1 and
apm_package__num_instances(package_key) >= 1)
order by pretty_name
</querytext>
</fullquery>
</queryset>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
ad_library {
Initialization code for database routines.
@creation-date 7 Aug 2000
@author Jon Salz (jsalz@arsdigita.com)
@cvs-id $Id$
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment