[dev] common javascript for managing menu frame

Peter Kocks pk@kocks.com
Mon, 8 Apr 2002 00:08:53 -0700


Thanks, this gets me half way there.  Is there any place I can
set $js_onLoad globally, i.e across all horde applications
without having to modify every application so the $js_onLoad is
set correctly?

As I look a this some more, I'm realizing that using javascript
in a <BODY onLoad> to cause the menu frame to reload is NOT the
correct solution for my problem.  The problem I'm trying to solve
is how to create a dynamic menu system.  One where a "Log In"
button switches to "Log Out" after authentication and where the
available applications in the menu change based on an ACL for the
user.  Just for clarity, I'm referring the to /horde/menu.php
system that commonly resides inside an HTML frame.

A simpler solution is to simply write a new top level menu system
that gets included at the top of every application and thus does
not use frames.  Perhaps with a simple folder (or tab) look and
feel.  I might call this an application tab (app_tab).  In order
to do this, EVERY application would need a line after the <BODY>
tag in ./templates/common-header.inc that echos $app_tab.
$app_tab would be set in each application's base.php from a horde
class that dynamically generates HTML for the application tab
menu system.

Is this the right way to go?  I hate to have to go into every
application, but I think that's going to happen anyway.

--pk



> -----Original Message-----
> From: Chuck Hagenbuch [mailto:chuck@horde.org]
> Sent: Friday, April 05, 2002 10:00 PM
> To: dev@lists.horde.org
> Subject: Re: [dev] common javascript for managing menu frame
>
>
> Quoting Peter Kocks <pk@kocks.com>:
>
> > To make this work I need
> > a way of dynamically putting in some javascript at
> the start of
> > the application that causes the parent frame to
> reload.  Is there
> > a single place to put HTML/JavaScript in every application?
>
> Yup. If you set $js_onLoad before including
> common-header.inc, it'll be
> put into the onload= body attribute.
>
> -chuck
>
> --
> Charles Hagenbuch, <chuck@horde.org>
> "A dream which helps you to live your reality with dignity
>  and justice is a good dream." - Tariq Ramadan
>
> --
> Horde Developers mailing list: http://horde.org/
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: dev-unsubscribe@lists.horde.org
>
>
>



>From marcus@riboflavin.net Date: Mon,  8 Apr 2002 10:02:12 -0500
Return-Path: <marcus@riboflavin.net>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 60611 invoked from network); 8 Apr 2002 15:01:52 -0000
Received: from dsl.75.91.networkiowa.com (HELO www.riboflavin.net) (209.234.75.91)
  by clark.horde.org with SMTP; 8 Apr 2002 15:01:52 -0000
Received: (from www@localhost)
	by www.riboflavin.net (8.11.6/8.11.6) id g38F2C394014
	for dev@lists.horde.org; Mon, 8 Apr 2002 10:02:12 -0500 (CDT)
	(envelope-from marcus@riboflavin.net)
X-Authentication-Warning: www.riboflavin.net: www set sender to marcus@riboflavin.net using -f
Received: from 165.206.209.230 ( [165.206.209.230])
	as user marcus@localhost by imp.riboflavin.net with HTTP;
	Mon,  8 Apr 2002 10:02:12 -0500
Message-ID: <1018278132.3cb1b0f459b85@imp.riboflavin.net>
Date: Mon,  8 Apr 2002 10:02:12 -0500
From: "Marcus I. Ryan" <marcus@riboflavin.net>
To: dev@lists.horde.org
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 4.0-cvs
X-Originating-IP: 165.206.209.230
Subject: update_horde.sh

#!/bin/sh

# This is the script I use for updating HORDE.  It does a diff between
# the active config files and the .dist files, updates horde, then 
# recopies the .dist files to make them active and tries to repatch them.  
# If the patch fails on any given file it should open your $EDITOR with 
# the .rej file and the active config file.
#
# It does all of this is a temporary directory, and keeps backup copies
# of the existing horde distribution before overwriting.  Check all the 
# settings at the top of the script for examples of defining a release 
# set to fetch, where to store files, how many backups to keep, etc.  
# NOTE: NUM_SLASHES is used to applying the patches. It should match the 
# number of directories in WEBDIR + 1 (so /usr/local/www => 
# NUM_SLASHES=4)

trim () {
  echo $@
}

### MISC. OPTIONS ###
NUM_SLASHES=4
NUM_BACKUPS=5

### DIRECTORIES ###
WEBDIR=/usr/local/www
BACKUPDIR=/usr/local/src
TMPDIR=/usr/local/src

### RELEASES ###
RELEASES="release head"

# For each release, we need _dir and _ver settings

#This is the "array" of applications and versions to get
release_dir=horde
release_ver="
        horde-RELENG_2
        imp-RELENG_3
        turba-RELENG_1
        gollem-HEAD
        kronolith-RELENG_1
        jonah-HEAD
        troll-HEAD
        nag-RELENG_1
        nic-HEAD
"
release_ver=`trim ${release_ver}`

head_dir=horde.head
head_ver="
        horde-head
        imp-HEAD
        turba-HEAD
        gollem-HEAD
        kronolith-HEAD
        jonah-HEAD
        troll-HEAD
        nag-HEAD
        nic-HEAD
"
head_ver=`trim ${head_ver}`

APPVER=$head_ver
HORDEDIR=$head_dir

# check to see if any command line args are specified
for arg in $*
do
  name=${arg%%=*}
  name=${name##--}
  value=${arg##*=}
  if [ "$name" = "release" ]; then
    APPVER=`eval echo '$'$value'_ver'`
    HORDEDIR=`eval echo '$'$value'_dir'`
    if [ "$APPVER" = "" -o "$HORDEDIR" = "" ]; then
      echo "ERROR: No settings for release $value"
    fi
    continue
  fi
  echo "Unknown option $arg ('$name' = '$value')"
  exit 1
done

echo "Verifying distribution list"
if [ ! "${APPVER%%[- ]*}" = "horde" ]; then
  echo "  horde MUST be the first item in the APPVER list!"
  exit 1
fi

echo "Determining temporary directory..."
EXISTS=`ls -d ${TMPDIR}/${HORDEDIR}.TMP.[0-9]* | head -1`
TMPDIR="${TMPDIR}/${HORDEDIR}.TMP.$$"

if [ ! -z ${EXISTS} ]; then
  echo "  Found an existing (aborted?) update of horde (${EXISTS})."
  read -p "  Should I use it? [Yes]" USE_EXISTING
  case ${USE_EXISTING} in
  [Nn]|[Nn][Oo])
    read -p "  Should I delete ${EXISTS}? [Yes]" DELETE_EXISTING
    case ${DELETE_EXISTING} in
    [Nn]|[Nn][Oo])
      echo "    Not deleting ${EXISTS}"
      ;;
    *)
      echo "    Deleting ${EXISTS}"
      rm -rf ${EXISTS}
      ;;
    esac
    ;;
  *)
    TMPDIR=${EXISTS}
    ;;
  esac
  unset USE_EXISTING
fi
if [ -e ${TMPDIR} ]; then
  echo "  Using ${TMPDIR}"
else
  echo "  Creating new directory ${TMPDIR}"
  mkdir ${TMPDIR}
  if [ ! -e ${TMPDIR} ]; then
    echo "ERROR: Couldn't create ${TMPDIR}"
    exit 1
  fi
fi

echo "Creating config patch file from existing horde"
if [ -e ${TMPDIR}/update.patch ]; then
  read -p "  This directory includes a patch. Use it? [Yes]" USE_EXISTING
  case ${USE_EXISTING} in
  [Nn]|[Nn][Oo])
    echo "  Clearing existing update.patch"
    rm -f ${TMPDIR}/update.patch || exit 1
    ;;
  esac
  unset USE_EXISTING
fi
if [ ! -e ${TMPDIR}/update.patch ]; then
  if [ ! -e ${WEBDIR}/${HORDEDIR} ]; then
    echo "  No existing horde distribution found.  Can't create patch."
  else
    read -p "  Do you want to create a patch from the existing install?
[Yes]" MAKE_PATCH
    case ${MAKE_PATCH} in
    [Nn]|[Nn][Oo])
      echo "  Not creating a patch"
      ;;
    *)
      echo "  Creating patch...this could take a bit..."
      find ${WEBDIR}/${HORDEDIR} -type f -name \*.dist -print \
       | perl -ne 's/\.dist[\r\n]*//; print "$_.dist\n$_\n";' \
       | xargs -n 2 diff -u > ${TMPDIR}/update.patch
      ;;
    esac
    unset MAKE_PATCH
  fi
fi

if [ -e "${WEBDIR}/${HORDEDIR}" ]; then
  read -p "Do you want to fetch new (N) or update (U)? [U] " FETCH_NEW
else
  FETCH_NEW=new
fi

case ${FETCH_NEW} in
  [Nn]|[Nn][Ee][Ww])
    for APP in ${APPVER}
    {
      app=${APP%%-*}
      rel=${APP##*-}
      if [ ${app} = ${APP} ]; then
        echo "  No release specified...assuming HEAD"
        rel=HEAD
      fi

      case ${app} in
        horde)
          APPDIR=${TMPDIR}
          ;;
        *)
          APPDIR=${TMPDIR}/${HORDEDIR}
          ;;
      esac

      if [ -e ${APPDIR}/${app} ]; then
        case ${REGET} in
        [Aa]|[Aa][Ll][Ll])
          echo "  Removing existing ${APPDIR}/${app}...";
          rm -rf ${APPDIR}/${app}
          echo "  Retrieving ${app} $rel..."
          chdir ${APPDIR}
          cvs -Q -z3 -d :pserver:cvsread@anoncvs.horde.org:/repository co \
           -r $rel ${app}
          ;;
        [Nn][Oo][Nn][Ee])
          REGET="NONE"
          echo "  Using existing ${APPDIR}/${app}"
          ;;
        *)
          echo "  ${app} exists. Should I get ${app} anyway?"
          if [ "${app}" = "horde" ]; then
            echo "  NOTE: regetting horde does not clear out any
existing files"
          fi
          read -p "   [Y]es/[N]o/[A]ll/None (default None): " REGET
          case ${REGET} in
          [Yy]|[Yy][Ee][Ss]|[Aa]|[Aa][Ll][Ll])
            echo "  Removing existing ${APPDIR}/${app}...";
            rm -rf ${APPDIR}/${app}
            echo "  Retrieving ${app} $rel..."
            chdir ${APPDIR}
            cvs -Q -z3 -d :pserver:cvsread@anoncvs.horde.org:/repository
co \
             -r $rel ${app}
            ;;
          [Nn]|[Nn][Oo])
            echo "  Using existing ${APPDIR}/${app}"
            ;;
          *)
            echo "  Using existing ${APPDIR}/${app}"
            REGET=NONE
            ;;
          esac
          ;;
        esac
      else
        echo "  Retrieving ${app} $rel..."
        chdir ${APPDIR}
        cvs -Q -z3 -d :pserver:cvsread@anoncvs.horde.org:/repository co \
         -r $rel ${app}
      fi
      if [ "$app" = "horde" ]; then
        mv ${TMPDIR}/horde ${TMPDIR}/${HORDEDIR}
      fi
    }
    ;;
  *)
    mkdir ${TMPDIR}/${HORDEDIR}
    cp -Rpf ${WEBDIR}/${HORDEDIR}/* ${TMPDIR}/${HORDEDIR}
    cd ${TMPDIR}/${HORDEDIR}
    cvs update -PdC
    ;;
esac

echo "Putting default config files in place..."
if [ -e ${TMPDIR}/${HORDEDIR}/config/horde.php ]; then
  echo "  I have found some configuration files already in place."
  echo "  NOTE: If some have been copied and others not, horde will be
broken."
  read -p "   Should I copy .dist files anyway? [No] " USE_EXISTING
  #The phrasing of the question means USE_EXISTING from the read is
backwards
  # but it seems better to confuse the programmer than the user...
  case ${USE_EXISTING} in
  [Yy]|[Yy][Ee][Ss])
    USE_EXISTING=NO
    ;;
  *)
    USE_EXISTING=YES
    ;;
  esac
fi
if [ "${USE_EXISTING:=NO}" = "NO" ]; then
  echo "  Copying *.dist files..."
  find ${TMPDIR}/${HORDEDIR} -type f -name \*.dist -print \
   | perl -ne 'print "$_"; s/\.dist//; print "$_"' \
   | xargs -n 2 cp
fi

echo "Applying patch..."
echo "  Clearing out any old reject files..."
find ${TMPDIR} -name \*.rej -type f -exec rm {} \; -print

if [ ! -e ${TMPDIR}/update.patch ]; then
  echo "  I can't seem to find the patch file ${TMPDIR}/update.patch!"
  read -p "  Do you want me to load all config files in $EDITOR? [No]" EDIT
  case ${EDIT} in
  [Yy]|[Yy][Ee][Ss])
    find ${TMPDIR}/${HORDEDIR} -type f -name \*.dist \
     | perl -ne 's/\.dist[\r\n]*//; print "$_\n";' \
     | xargs -n 2 echo $EDITOR > ${TMPDIR}/edit.sh
    sh ${TMPDIR}/edit.sh
    rm ${TMPDIR}/edit.sh
    ;;
  *)
    echo "  WARNING: You need to change the config files later!"
    ;;
  esac
else
  if [ "${USE_EXISTING}" = "YES" ]; then
    echo "  We kept the modified configuration files."
    read -p "  Should we still apply the patch? [No] " PATCH
    case ${PATCH} in
    [Yy]|[Yy][Ee][Ss])
      PATCH=YES
      ;;
    *)
      PATCH=NO
      ;;
    esac
  fi

  if [ "${PATCH:=YES}" = "YES" ]; then
    echo "  running patch"
    chdir ${TMPDIR}
    if [ `patch -f -p${NUM_SLASHES} -s < ${TMPDIR}/update.patch` ]; then
      echo "  Patch applied successfully"
    else
      find ${TMPDIR}/${HORDEDIR} -type f -name \*.rej \
       | perl -ne 's/\.rej[\r\n]*//; print "$_.rej\n$_\n"; ' \
       | xargs -n 2 echo $EDITOR > ${TMPDIR}/edit.sh
      sh ${TMPDIR}/edit.sh
      rm ${TMPDIR}/edit.sh
    fi
  fi
fi

read -p "Are you ready to put the new CVS into production? [Yes]" PROD
case ${PROD} in
[Nn]|[Nn][Oo])
  echo "${TMPDIR} has not been put in production."
  ;;
*)
  if [ -e ${WEBDIR}/${HORDEDIR} ]; then
    i=1
    while [ ${i} != ${NUM_BACKUPS} ]
    do
      if [ ! -e ${BACKUPDIR}/${HORDEDIR}.${i} ]; then
        break;
      fi
      i=$((${i}+1))
    done

    if [ ${i} = ${NUM_BACKUPS} ] && [ -e ${BACKUPDIR}/${HORDEDIR}.${i}
]; then
      echo "  Removing oldest backup directory
(${BACKUPDIR}/${HORDEDIR}.${i})"
      rm -rf ${BACKUPDIR}/${HORDEDIR}.${i} || exit 1
    fi

    while [ ${i} != 1 ]
    do
      echo "  Moving ${BACKUPDIR}/${HORDEDIR}.$((${i}-1)) to
${BACKUPDIR}/${HORDEDIR}.${i}"
      mv ${BACKUPDIR}/${HORDEDIR}.$((${i}-1))
${BACKUPDIR}/${HORDEDIR}.${i} || exit 1
      i=$((${i}-1))
    done

    echo "  Moving ${WEBDIR}/${HORDEDIR} to ${BACKUPDIR}/${HORDEDIR}.1"
    mv ${WEBDIR}/${HORDEDIR} ${BACKUPDIR}/${HORDEDIR}.1 || exit 1

    echo "  Moving ${TMPDIR}/${HORDEDIR} ${WEBDIR}/${HORDEDIR}"
    mv ${TMPDIR}/${HORDEDIR} ${WEBDIR}/${HORDEDIR} || exit 1

    echo "  Removing ${TMPDIR}"
    rm -rf ${TMPDIR}

    echo "New CVS horde is now in production!"
  else
    echo "${WEBDIR}/${HORDEDIR} does not exist.  Copying
${TMPDIR}/${HORDEDIR} to ${WEBDIR}/${HORDEDIR}"
    cp ${TMPDIR}/${HORDEDIR} ${WEBDIR}/${HORDEDIR}
  fi
  ;;
esac


-- 
Marcus I. Ryan, marcus@riboflavin.net
-----------------------------------------------------------------------
 "Love is a snowmobile racing across the tundra and then suddenly it
 flips over, pinning you underneath.  At night, the ice weasels come."
                 -- Matt Groening
-----------------------------------------------------------------------


>From akira@kurogane.net Date: Tue,  9 Apr 2002 01:34:16 +0900
Return-Path: <akira@kurogane.net>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 67647 invoked from network); 8 Apr 2002 16:39:37 -0000
Received: from unknown (HELO kurogane.net) (61.122.41.109)
  by clark.horde.org with SMTP; 8 Apr 2002 16:39:37 -0000
Received: (from nobody@localhost)
	by kurogane.net (8.9.3+3.2W/8.9.3) id BAA18296
	for dev@lists.horde.org; Tue, 9 Apr 2002 01:34:16 +0900
X-Authentication-Warning: ns1.kurogane.net: nobody set sender to akira@kurogane.net using -f
Received: from 61.200.33.126 ( [61.200.33.126])
	as user akira@localhost by www.kurogane.net with HTTP;
	Tue,  9 Apr 2002 01:34:16 +0900
Message-ID: <1018283656.3cb1c688b4833@www.kurogane.net>
Date: Tue,  9 Apr 2002 01:34:16 +0900
From: Akira Kurogane <akira@kurogane.net>
To: dev@lists.horde.org
References: <1017943624.3cac9648d478e@www.kurogane.net> <1018224100.3cb0dde48b1b3@jan.dip.ammma.net>
In-Reply-To: <1018224100.3cb0dde48b1b3@jan.dip.ammma.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
User-Agent: Internet Messaging Program (IMP) 4.0-cvs
X-Originating-IP: 61.200.33.126
Subject: Re: [dev] Patches for enabling japanese

Hi Jan,
     yes, you're right, and I'm sorry I didn't notice the missing languages in
mb_string's support. Until they come on board I guess the mb_string library is
only good for unicode, japanese and iso-8859 variants. 

     iconv doesn't have many of the features of mb_string. Notably, there is no
detection routine. We'll have to write one. Or, at first, just write one that
will identify the 7-bit iso-2022-xx encodings (there are actually korean and
chinese variants as well as japanese) so that the 8-bit encoding can be used for
every other non-ascii charset.

    Shall I knock that up for you? I have lots of time at the moment (only
working part-time) so I'm eager to get this done while I have the chance. As
soon as another regular gig lands on my plate, I'll be just as strapped for time
as most of you.

$B0zMQCf(B Jan Schneider <jan@horde.org>:
> I got a first chance to take a look at your patches. But I don't think I'll
> follow this way.

Do you mean using the mb_string stuff, or my automatic translation of charsets
alongside the decoding/encoding of MIME transfer-encodings (base64, etc.) in the
mime object classes?

> As it still may take some time until I can commit some results because I'm 
> quite busy currently, you are welcome to provide patches to Horde/IMP to 
> support Japanese in the meantime.

Well, I could do that once the iconv features have been added. By using iconv()
instead of mb_convert_encoding() , and writing a PHP encoding-detection function
I mentioned above, I can just use my present model. 

So, anyhow, let me know what you me to code up.

Akira





-------------------------------------------------
>From Kurogane.net


>From nuno@eth.pt Date: 08 Apr 2002 18:53:58 +0100
Return-Path: <nuno@co.eth.pt>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 69470 invoked from network); 8 Apr 2002 17:53:39 -0000
Received: from hq.eth.pt (root@194.65.84.1)
  by clark.horde.org with SMTP; 8 Apr 2002 17:53:39 -0000
Received: from dev.hq.eth.pt (dev.hq.eth.pt [10.1.1.10])
	by hq.eth.pt (8.11.6/8.11.6) with ESMTP id g38Hrv103218
	for <dev@lists.horde.org>; Mon, 8 Apr 2002 18:53:57 +0100
From: Nuno Loureiro <nuno@eth.pt>
To: dev@lists.horde.org
In-Reply-To: <1018024233.1113.117.camel@dev.hq.eth.pt>
References: <1018024233.1113.117.camel@dev.hq.eth.pt>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Mailer: Ximian Evolution 1.0.3 
Date: 08 Apr 2002 18:53:58 +0100
Message-Id: <1018288438.1321.98.camel@dev.hq.eth.pt>
Mime-Version: 1.0
Subject: Re: [dev] SuperGlobals variables


There's a tiny mistake in IMP's patch.=20
It does not break anything, but it doesn't belong to this patch for
sure...

--- mailbox.php.old	Mon Apr  8 18:49:48 2002
+++ mailbox.php	Mon Apr  8 18:50:08 2002
@@ -119,7 +119,6 @@
 }
=20
 /* Get form data and make sure it's the type that we're expecting. */
-$page =3D Horde::getFormData('page');
 $targetMbox =3D Horde::getFormData('targetMbox');
 $indices =3D Horde::getFormData('indices');
 if (!is_array($indices)) {




On Fri, 2002-04-05 at 17:30, Nuno Loureiro wrote:
> Hi!
>=20
>    Since IMP now needs php 4.1.x, and other horde apps probably too,
> I've done a couple of patches to replace the old global variables
> ($HTTP_POST_VARS, $HTTP_GET_VARS, $HTTP_SERVER_VARS, $HTTP_SESSION_VARS,
> $HTTP_COOKIE_VARS, $HTTP_ENV_VARS, $HTTP_REQUEST_VARS) to the new ones
> introduced in php 4.1.0 ($_POST, $_GET, $_SERVER, $_SESSION, $_COOKIE,
> $_ENV, $_REQUEST).
>=20
>    You can get the patches against HEAD for all horde applications in
> http://hq.eth.pt/nuno/horde/vars/
>=20
>    I think I didn't forget anything, at least I remembered
> $GLOBALS[HTTP_SERVER_VARS] and similiar ones and I remembered to take
> off the "global $HTTP_SERVER_VARS" and similiar ones. :)
>=20
>    I replaced the vars in all *.php, *.inc, *.dist files and
> CODING_STANDARDS.
>=20
> Regards,
> =20
>    Nuno
>=20
>=20
> --=20
> Nuno Loureiro <nuno@eth.pt>
> Ethernet, Solu=E7=F5es Inform=E1ticas, LDA
> http://www.eth.pt
>=20
>=20
> --=20
> Horde Developers mailing list: http://horde.org/
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: dev-unsubscribe@lists.horde.org
--=20
Nuno Loureiro <nuno@eth.pt>
Ethernet, Solu=E7=F5es Inform=E1ticas, LDA
http://www.eth.pt



>From chuck@horde.org Date: Mon,  8 Apr 2002 14:27:22 -0400
Return-Path: <chuck@horde.org>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 73861 invoked from network); 8 Apr 2002 18:27:47 -0000
Received: from h00104bc60b3c.ne.client2.attbi.com (HELO marina.horde.org) (24.91.196.127)
  by clark.horde.org with SMTP; 8 Apr 2002 18:27:47 -0000
Received: by marina.horde.org (Postfix, from userid 33)
	id 7908E3C8E; Mon,  8 Apr 2002 14:27:22 -0400 (EDT)
Received: from 192.168.0.141 ( [192.168.0.141])
	as user chuck@localhost by marina.horde.org with HTTP;
	Mon,  8 Apr 2002 14:27:22 -0400
Message-ID: <1018290442.3cb1e10a4d092@marina.horde.org>
Date: Mon,  8 Apr 2002 14:27:22 -0400
From: Chuck Hagenbuch <chuck@horde.org>
To: dev@lists.horde.org
References: <AIEFJBJIIGJICIKAMAAICEMLCCAA.pk@kocks.com>
In-Reply-To: <AIEFJBJIIGJICIKAMAAICEMLCCAA.pk@kocks.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 4.0-cvs
Subject: RE: [dev] common javascript for managing menu frame

Quoting Peter Kocks <pk@kocks.com>:

> Thanks, this gets me half way there.  Is there any place I can
> set $js_onLoad globally, i.e across all horde applications
> without having to modify every application so the $js_onLoad is
> set correctly?

You don't want to do that; it'd break things that rely on setting it...

> A simpler solution is to simply write a new top level menu system
> that gets included at the top of every application and thus does
> not use frames.  Perhaps with a simple folder (or tab) look and
> feel.  I might call this an application tab (app_tab).  In order
> to do this, EVERY application would need a line after the <BODY>
> tag in ./templates/common-header.inc that echos $app_tab.
> $app_tab would be set in each application's base.php from a horde
> class that dynamically generates HTML for the application tab
> menu system.

That might be pretty cool - I'd be interested in seeing patches.

> Is this the right way to go?  I hate to have to go into every
> application, but I think that's going to happen anyway.

Changing one file in every application isn't so bad at all.

-chuck

--
Charles Hagenbuch, <chuck@horde.org>
"A dream which helps you to live your reality with dignity
 and justice is a good dream." - Tariq Ramadan


>From scarr@progbits.com Date: Mon,  8 Apr 2002 13:37:00 -0500
Return-Path: <scarr@progbits.com>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 74192 invoked from network); 8 Apr 2002 18:36:25 -0000
Received: from unknown (HELO progbits.com) (208.13.79.180)
  by clark.horde.org with SMTP; 8 Apr 2002 18:36:25 -0000
Received: from nobody by progbits.com with local (Exim 3.34 #1)
	id 16ue0i-0005JM-00
	for dev@lists.horde.org; Mon, 08 Apr 2002 13:37:00 -0500
Received: from 12.107.242.5 ( [12.107.242.5])
	as user scarr@progbits.com by progbits.com with HTTP;
	Mon,  8 Apr 2002 13:37:00 -0500
Message-ID: <1018291020.3cb1e34c30d75@progbits.com>
Date: Mon,  8 Apr 2002 13:37:00 -0500
From: Scott Carr <scarr@progbits.com>
To: dev@lists.horde.org
References: <AIEFJBJIIGJICIKAMAAICEMLCCAA.pk@kocks.com>
In-Reply-To: <AIEFJBJIIGJICIKAMAAICEMLCCAA.pk@kocks.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 3.1-cvs
X-Originating-IP: 12.107.242.5
Sender: nobody <nobody@progbits.com>
Subject: RE: [dev] common javascript for managing menu frame

Hey Peter, 

You might look into the banner.css stuff on http://www.w3c.org/Style/ .  If you
use CSS to change the look-and-feel of the Banner it has some pretty interesting
results.  It is inline in the page like what you are talking about, but it
appears "Above" the page as well.

-- 
Scott Carr
OpenOffice.org
Whiteboard-Doc Maintainer
http://whiteboard.openoffice.org/doc/


Quoting Peter Kocks <pk@kocks.com>:

> Thanks, this gets me half way there.  Is there any place I can
> set $js_onLoad globally, i.e across all horde applications
> without having to modify every application so the $js_onLoad is
> set correctly?
> 
> As I look a this some more, I'm realizing that using javascript
> in a <BODY onLoad> to cause the menu frame to reload is NOT the
> correct solution for my problem.  The problem I'm trying to solve
> is how to create a dynamic menu system.  One where a "Log In"
> button switches to "Log Out" after authentication and where the
> available applications in the menu change based on an ACL for the
> user.  Just for clarity, I'm referring the to /horde/menu.php
> system that commonly resides inside an HTML frame.
> 
> A simpler solution is to simply write a new top level menu system
> that gets included at the top of every application and thus does
> not use frames.  Perhaps with a simple folder (or tab) look and
> feel.  I might call this an application tab (app_tab).  In order
> to do this, EVERY application would need a line after the <BODY>
> tag in ./templates/common-header.inc that echos $app_tab.
> $app_tab would be set in each application's base.php from a horde
> class that dynamically generates HTML for the application tab
> menu system.
> 
> Is this the right way to go?  I hate to have to go into every
> application, but I think that's going to happen anyway.
> 
> --pk
> 
> 
> 
> > -----Original Message-----
> > From: Chuck Hagenbuch [mailto:chuck@horde.org]
> > Sent: Friday, April 05, 2002 10:00 PM
> > To: dev@lists.horde.org
> > Subject: Re: [dev] common javascript for managing menu frame
> >
> >
> > Quoting Peter Kocks <pk@kocks.com>:
> >
> > > To make this work I need
> > > a way of dynamically putting in some javascript at
> > the start of
> > > the application that causes the parent frame to
> > reload.  Is there
> > > a single place to put HTML/JavaScript in every application?
> >
> > Yup. If you set $js_onLoad before including
> > common-header.inc, it'll be
> > put into the onload= body attribute.
> >
> > -chuck
> >
> > --
> > Charles Hagenbuch, <chuck@horde.org>
> > "A dream which helps you to live your reality with dignity
> >  and justice is a good dream." - Tariq Ramadan
> >
> > --
> > Horde Developers mailing list: http://horde.org/
> > Frequently Asked Questions: http://horde.org/faq/
> > To unsubscribe, mail: dev-unsubscribe@lists.horde.org
> >
> >
> >
> 
> 
> -- 
> Horde Developers mailing list: http://horde.org/
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: dev-unsubscribe@lists.horde.org
> 
> 


-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/


>From chuck@horde.org Date: Mon,  8 Apr 2002 17:30:26 -0400
Return-Path: <chuck@horde.org>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 80447 invoked from network); 8 Apr 2002 21:30:47 -0000
Received: from h00104bc60b3c.ne.client2.attbi.com (HELO marina.horde.org) (24.91.196.127)
  by clark.horde.org with SMTP; 8 Apr 2002 21:30:47 -0000
Received: by marina.horde.org (Postfix, from userid 33)
	id D64A53C8C; Mon,  8 Apr 2002 17:30:26 -0400 (EDT)
Received: from 192.168.0.141 ( [192.168.0.141])
	as user chuck@localhost by marina.horde.org with HTTP;
	Mon,  8 Apr 2002 17:30:26 -0400
Message-ID: <1018301426.3cb20bf2a38e0@marina.horde.org>
Date: Mon,  8 Apr 2002 17:30:26 -0400
From: Chuck Hagenbuch <chuck@horde.org>
To: dev@lists.horde.org
References: <1018218113.3cb0c68115fa2@bigworm.colorado.edu>
In-Reply-To: <1018218113.3cb0c68115fa2@bigworm.colorado.edu>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="-MOQ1018301426f1c2464afed0a0ddecaf5e3389c6ba81"
User-Agent: Internet Messaging Program (IMP) 4.0-cvs
Subject: Re: [dev] Horde/IMP OpenPGP functionality - UPDATES

---MOQ1018301426f1c2464afed0a0ddecaf5e3389c6ba81
Content-Type: application/pgp-signature; name="PGP Digital Signature"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="PGP Digital Signature"

-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

I got the patches applied and new files added (you have a few that aren't 
in the tarball - tricky! ;), generated a key pair, and managed to send 
myself a signed message and an encrypted message. There are a few nits; it 
doesn't seem to like keys generated without a comment, for one thing, and 
I ran into some problems trying to encrypt a message when my public key 
wasn't in my addressbook, which now returns a better error message.

So, in a minute, I'm going to go ahead and commit what's there now. I'm 
sure we can improve it a lot, but it's an amazing start - thanks very 
much, Michael!

- -chuck

- --
Charles Hagenbuch, <chuck@horde.org>
"A dream which helps you to live your reality with dignity
 and justice is a good dream." - Tariq Ramadan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iQEeBAEUAwAGBQI8sgvyAAoJEBl80uw8QYsBicED/2QIGryI/W2Bn+FQrLLCt8Ik
jyZMy9Cg876B+d0dpXWVooYi0UiUj+G4dsh3YZXVHGzd6G1ZgNPaLZafQxS+aJgQ
ZZVg0o1gBdUUExj9e3QA4oiODFKXvlqmQHTeBiI7caZaz18bM21iGQdH8APqb1Pc
UqtcIxxYKSgYQ1wBpUANBACcah7CzvSswsr/mHI5lmNxLXLYCXjVwSrwP6RRSvCn
+VmDhWPW5/sj/Y5uxI6+fCOrm/uRYcpWjLp+lntxXbwaF4sc4qdbVNmCEkkaVW+o
ZB7GuC9zxVFd3flac4PS+YDTz0iiyKsirexrJ+lzcPIKsn20r0mVWLbtRAVwX0mO
xg==
=pXZH
-----END PGP SIGNATURE-----

---MOQ1018301426f1c2464afed0a0ddecaf5e3389c6ba81
Content-Type: text/plain
Content-Transfer-Encoding: 7bit


---MOQ1018301426f1c2464afed0a0ddecaf5e3389c6ba81--


>From chuck@horde.org Date: Mon,  8 Apr 2002 17:46:25 -0400
Return-Path: <chuck@horde.org>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 80875 invoked from network); 8 Apr 2002 21:46:45 -0000
Received: from h00104bc60b3c.ne.client2.attbi.com (HELO marina.horde.org) (24.91.196.127)
  by clark.horde.org with SMTP; 8 Apr 2002 21:46:45 -0000
Received: by marina.horde.org (Postfix, from userid 33)
	id 9A8CE3C8C; Mon,  8 Apr 2002 17:46:25 -0400 (EDT)
Received: from 192.168.0.141 ( [192.168.0.141])
	as user chuck@localhost by marina.horde.org with HTTP;
	Mon,  8 Apr 2002 17:46:25 -0400
Message-ID: <1018302385.3cb20fb16f0f6@marina.horde.org>
Date: Mon,  8 Apr 2002 17:46:25 -0400
From: Chuck Hagenbuch <chuck@horde.org>
To: dev@lists.horde.org
References: <1018218113.3cb0c68115fa2@bigworm.colorado.edu> <1018301426.3cb20bf2a38e0@marina.horde.org>
In-Reply-To: <1018301426.3cb20bf2a38e0@marina.horde.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="-MOQ1018302384c2f4d7cd3d1bdc8ef58d0aa089f4039e"
User-Agent: Internet Messaging Program (IMP) 4.0-cvs
Subject: Re: [dev] Horde/IMP OpenPGP functionality - UPDATES

---MOQ1018302384c2f4d7cd3d1bdc8ef58d0aa089f4039e
Content-Type: application/pgp-signature; name="PGP Digital Signature"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="PGP Digital Signature"

-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Quoting Chuck Hagenbuch <chuck@horde.org>:

> ...

And now, I've added an option to mark a MIME part as inline, so that 
signatures behave better... let's see how this goes...

- -chuck

- --
Charles Hagenbuch, <chuck@horde.org>
"A dream which helps you to live your reality with dignity
 and justice is a good dream." - Tariq Ramadan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iQEeBAEUAwAGBQI8sg+xAAoJEBl80uw8QYsBXb4D/0Am/YB9tzgLFcl8Ev2gqTRo
kT4V8I6hRC4wuy+PxuAoezxmAVRD47QmexL6aZtyGgV7ysmIRUbqrk+e8PisdqlM
CAVu2iLTk/ZU6nvrHXRySOdaiPCzDMBuVNQDTmp++kOucgGPa0YvJCwFcKKSglB+
NyxWuO0/CXdGxXdGgoCIBACMqzQcpqoRk6PBsi3WrcQkhhURZOLaOBhSNT0gGCBg
c2Wibo/DatJTK/enX2ZFDIHuwo478rsF1dqqbPA6jzEA2543gkjnftDEtGsob1jb
6jYL24Xi+zdH41neLbRTwa8sjh9pGfAIY9YNm5uX2EngjjZi9ju5v6Zy7vUg9p0E
7A==
=bhxm
-----END PGP SIGNATURE-----

---MOQ1018302384c2f4d7cd3d1bdc8ef58d0aa089f4039e
Content-Type: text/plain
Content-Transfer-Encoding: 7bit


---MOQ1018302384c2f4d7cd3d1bdc8ef58d0aa089f4039e--


>From jan@horde.org Date: Mon,  8 Apr 2002 23:36:33 +0200
Return-Path: <jan@horde.org>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 82395 invoked from network); 8 Apr 2002 21:55:13 -0000
Received: from mailout02.sul.t-online.com (194.25.134.17)
  by clark.horde.org with SMTP; 8 Apr 2002 21:55:13 -0000
Received: from fwd08.sul.t-online.de 
	by mailout02.sul.t-online.com with smtp 
	id 16ugpr-0005zM-0E; Mon, 08 Apr 2002 23:37:59 +0200
Received: from linux.wg.de (320034214675-0001@[217.88.135.118]) by fmrl08.sul.t-online.com
	with esmtp id 16ugpp-0CgRsGC; Mon, 8 Apr 2002 23:37:57 +0200
Received: from localhost (localhost [127.0.0.1])
	by linux.wg.de (8.11.0/8.11.0/SuSE Linux 8.11.0-0.4) with ESMTP id g38LaZn00523
	for <dev@lists.horde.org>; Mon, 8 Apr 2002 23:36:36 +0200
Received: from 192.168.60.138 ( [192.168.60.138])
	as user jan@mail.wg.de by jan.dip.ammma.net with HTTP;
	Mon,  8 Apr 2002 23:36:33 +0200
Message-ID: <1018301793.3cb20d61bdd48@jan.dip.ammma.net>
Date: Mon,  8 Apr 2002 23:36:33 +0200
From: Jan Schneider <jan@horde.org>
To: dev@lists.horde.org
References: <1018024233.1113.117.camel@dev.hq.eth.pt> <1018288438.1321.98.camel@dev.hq.eth.pt>
In-Reply-To: <1018288438.1321.98.camel@dev.hq.eth.pt>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 3.1-cvs
X-Sender: 320034214675-0001@t-dialin.net
Subject: Re: [dev] SuperGlobals variables

Zitat von Nuno Loureiro <nuno@eth.pt>:

> 
> There's a tiny mistake in IMP's patch. 
> It does not break anything, but it doesn't belong to this patch for
> sure...

Thanks!

Jan.

--
http://www.horde.org - The Horde Project
http://www.ammma.de - discover your knowledge
http://www.tip4all.de - Deine private Tippgemeinschaft


>From jan@horde.org Date: Mon,  8 Apr 2002 23:50:31 +0200
Return-Path: <jan@horde.org>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 82906 invoked from network); 8 Apr 2002 21:57:48 -0000
Received: from mailout06.sul.t-online.com (194.25.134.19)
  by clark.horde.org with SMTP; 8 Apr 2002 21:57:48 -0000
Received: from fwd09.sul.t-online.de 
	by mailout06.sul.t-online.com with smtp 
	id 16uh9H-00063k-07; Mon, 08 Apr 2002 23:58:03 +0200
Received: from linux.wg.de (320034214675-0001@[217.88.135.118]) by fmrl09.sul.t-online.com
	with esmtp id 16uh99-03kMKGC; Mon, 8 Apr 2002 23:57:55 +0200
Received: from localhost (localhost [127.0.0.1])
	by linux.wg.de (8.11.0/8.11.0/SuSE Linux 8.11.0-0.4) with ESMTP id g38LoWn00581
	for <dev@lists.horde.org>; Mon, 8 Apr 2002 23:50:32 +0200
Received: from 192.168.60.138 ( [192.168.60.138])
	as user jan@mail.wg.de by jan.dip.ammma.net with HTTP;
	Mon,  8 Apr 2002 23:50:31 +0200
Message-ID: <1018302631.3cb210a7ceeb9@jan.dip.ammma.net>
Date: Mon,  8 Apr 2002 23:50:31 +0200
From: Jan Schneider <jan@horde.org>
To: dev@lists.horde.org
References: <1017943624.3cac9648d478e@www.kurogane.net> <1018224100.3cb0dde48b1b3@jan.dip.ammma.net> <1018283656.3cb1c688b4833@www.kurogane.net>
In-Reply-To: <1018283656.3cb1c688b4833@www.kurogane.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
User-Agent: Internet Messaging Program (IMP) 3.1-cvs
X-Sender: 320034214675-0001@t-dialin.net
Subject: Re: [dev] Patches for enabling japanese

Zitat von Akira Kurogane <akira@kurogane.net>:

>      iconv doesn't have many of the features of mb_string. Notably, there
> is no
> detection routine. We'll have to write one. Or, at first, just write one
> that
> will identify the 7-bit iso-2022-xx encodings (there are actually korean
> and
> chinese variants as well as japanese) so that the 8-bit encoding can be
> used for
> every other non-ascii charset.

I don't think we need a charset detection routine. We can (or should at 
least) rely on the charsets that are provided by the message headers and 
the translations.
 
> $B0zMQCf(B Jan Schneider <jan@horde.org>:
> > I got a first chance to take a look at your patches. But I don't think
> I'll
> > follow this way.
> 
> Do you mean using the mb_string stuff, or my automatic translation of
> charsets
> alongside the decoding/encoding of MIME transfer-encodings (base64, etc.)
> in the
> mime object classes?

The charsets shouldn't be converted automatically, though it makes sense 
for Japanese. The charset should be selected by the user if he composes a 
message. We can implement a standard charset in the user preferences so 
that he can define the charset that should be pre-selected if he composes a 
message.
 
One problem that still isn't solved is the missing support for Japanese 
charsets in htmlspecialchars(). We can't just drop it like you did in your 
patches, for security reasons. It would be a great help to the php 
community if you could make a patch for htmlspecialchars() to support 
Japanese charsets!

Jan.

--
http://www.horde.org - The Horde Project
http://www.ammma.de - discover your knowledge
http://www.tip4all.de - Deine private Tippgemeinschaft


>From hem@eyou.com Date: 9 Apr 2002 14:29:47 +0800
Return-Path: <hem@eyou.com>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 96953 invoked from network); 9 Apr 2002 06:29:30 -0000
Received: from unknown (HELO eyou.com) (61.136.62.74)
  by clark.horde.org with SMTP; 9 Apr 2002 06:29:30 -0000
Received: (qmail 48668 invoked by alias); 9 Apr 2002 14:29:47 +0800
Received: from unknown (HELO eyou.com) (61.136.62.70)
  by 61.136.62.74 with SMTP; 9 Apr 2002 14:29:47 +0800
Received: (qmail 86048 invoked by uid 65534); 9 Apr 2002 14:29:47 +0800
Date: 9 Apr 2002 14:29:47 +0800
Message-ID: <20020409142947.86047.qmail@eyou.com>
From: "刘志斌" <hem@eyou.com>
To: dev@lists.horde.org
CC: dev@lists.horde.org
Content-Type: text/plain
Subject: how to access database in IMP

Hi, pals.

I want to know how IMP access database. Which php-files should I read?

Can anyone give me some suggestions.

Best regards,
Hem





--http://www.eyou.com
--稳定可靠的免费电子信箱  语音邮件  移动书签  日历服务  网络存储...亿邮未尽




>From hem@eyou.com Date: 9 Apr 2002 14:29:47 +0800
Return-Path: <hem@eyou.com>
Mailing-List: contact dev-help@lists.horde.org; run by ezmlm
Delivered-To: mailing list dev@lists.horde.org
Received: (qmail 96954 invoked from network); 9 Apr 2002 06:29:30 -0000
Received: from unknown (HELO eyou.com) (61.136.62.74)
  by clark.horde.org with SMTP; 9 Apr 2002 06:29:30 -0000
Received: (qmail 48669 invoked by alias); 9 Apr 2002 14:29:47 +0800
Received: from unknown (HELO eyou.com) (61.136.62.70)
  by 61.136.62.74 with SMTP; 9 Apr 2002 14:29:47 +0800
Received: (qmail 86048 invoked by uid 65534); 9 Apr 2002 14:29:47 +0800
Date: 9 Apr 2002 14:29:47 +0800
Message-ID: <20020409142947.86047.qmail@eyou.com>
From: "刘志斌" <hem@eyou.com>
To: dev@lists.horde.org
CC: dev@lists.horde.org
Content-Type: text/plain
Subject: how to access database in IMP

Hi, pals.

I want to know how IMP access database. Which php-files should I read?

Can anyone give me some suggestions.

Best regards,
Hem





--http://www.eyou.com
--稳定可靠的免费电子信箱  语音邮件  移动书签  日历服务  网络存储...亿邮未尽