Coding issues

I have added this code to my button that controls a small
audio file, my problem is that when you click play, it starts to
play for a quick second, cuts off and then plays the whole file. I
have just added a very small part of the song as i am still testing
the site.
if you wish to see what i mean please click on the below link
and then go to production.
Can i also ask, when you log onto the site, while it is
loading a white screen appears then disapers when loaded!!!
Anyone know why this is, and what can i do to make it go
away?
http://www.phuture-elements.com
on (release) {
//Load Streaming mp3 behavior
if(_global.Behaviors == null)_global.Behaviors = {};
if(_global.Behaviors.Sound == null)_global.Behaviors.Sound =
if(typeof this.createEmptyMovieClip == 'undefined'){
this._parent.createEmptyMovieClip('BS_lost',new
Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000)
_global.Behaviors.Sound.lost = new
Sound(this._parent.BS_lost);
} else {
this.createEmptyMovieClip('_lost_',new
Date().getTime()-(Math.floor((new Date().getTime()) /10000)*10000)
_global.Behaviors.Sound.lost = new Sound(this.BS_lost);
_global.Behaviors.Sound.lost.loadSound("
http://www.phuture-elements.com/lost.mp3",true);
Now a small preloader problem, i made a preloader and put it
onto scene 1, then once data is loaded it plays from scene 2, frame
1. My issue is that it seems to add longer for the site to load and
also, the preloader does not imdeiately start playing when you type
in the URL and wait. You still get the small bar from the normal
windows loading status, one at bottom right of page, then 3/4 way
through the preloader plays for a quick second then loads the home
page which is correct but most sites in flash immediately play the
prelodader while loading the site.
Here is a small part of my code
//setting up variables to display
//percentage loaded in the text box.
loaded_bytes = Math.round(_root.getBytesLoaded());
loaded_total = Math.round(_root.getBytesTotal());
total_percent = (loaded_bytes/loaded_total)*100;
_root.loaded_text = Math.round(total_percent);
//We apply the code to make the text change its
//X position according to the position of progress
//bar.
startpoint = bar._x
_root.text._x = startpoint + (_root.bar._currentframe*2.5);
i then have the small tween play and
gotoAndPlay("Scene 2", 1);
any ideas on what im doing wrong

from first glance i would say its the music downloading. I
think you should look around on preloading sound files, becaus they
can be quite sneaky as they are not apart of the intual download,
wait... thats if the file is inside flash, sorry, but it still a
good idea to make a sound preloader, so do some googling and see
what you find.
Your preloader, i have seen before. I had the same problem.
Hopefully your using AS2 not sure on AS3 but going in to the
publish settings, next to the actionscript version there is a
button saying "settings", click on it and another window will open.
Inside there should be somethinf like Export AS2 classes and a
number. Change the number to the fram after your preloader. You
should put a blank keyframe after the last frame of your preloader.
The goto bit won't need to change as it will all be loaded. So when
it gets to the end of your preloader and goes to scene 2 frame 1
the classes will be loaded.
I hope all this made sense :/

Similar Messages

  • Adobe Bridge CS6, Output to HTML Gallery coding issue.

    Adobe Bridge CS6, Output to HTML Gallery coding issue.
    I have created the html, JavaScript, css file using the output function in Bridge CS6, which nicely generates the coding, pages, folders and files. I can edit the html files such as gallery title, name, etc., in Dreamweaver CS6 just fine and preview them in a selected browser (both chrome and IE) and everything works fine.
    When I ftp upload the files and directories into my hosting account (Go Daddy), the images do not show up. The file table appears but the thumbs images does not appear and when selected to preview the larger image, it does not appear either. I have not altered the file structure at all. Go Daddy says it is a coding issue, but I cannot fine any errors.
    Have you seen this issue before? All Adobe help research have failed. Any suggestions??

    Have you asked on Go Daddy site for help in uploading Adobe Bridge script?  Just to say it is coding is not helpful. 

  • Not viewing links/coding issue

    I used iweb08 to design a website. It always displayed fine in any web browser (ie safari or explorer etc) and a Mac or a PC could view it. When I upgraded to iweb09 only PCs seem to be able to view the links on top of the home page and Macs cannot view the links on the homepage and therefore can't move around the site.
    I contacted the domain company (Hostess) and they gave me the following advice:
    "The problem you are having is a coding issue. You'll have to either consult the makers of the program (Apple iLife'09) or a web developer to find the best way to resolve this issue. Different browsers (Internet Explorer, Firefox, Safari) use different methods of displaying content and depending how the content is coded, you can run into problems like this where it shows up in one browser but not another."
    This would make sense to me if the PC couldn't see the links, but I don't understand why a Mac cannot view a page made on iweb and browsing in safari!
    If anyone has any advice I would be more than grateful.

    After talking to www.hostess.com.au again the problem was suddenly fixed, although they still claimed it was a "coding issue".

  • ABAP coding issues after BW upgrade

    Hello Gurus,
    We recently did a BW upgrade from version 3.5 to 7.31 and even since have been encountering few strange issues with many of our ABAP coding.
    For example, there is an APPEND statement in one of our Update Rules as below:
    APPEND <lw_rtab_wa> TO <lt_rtab>.
    Before upgrade, this was working as expected and the contents of <lw_rtab_wa> was getting transferred to <lt_rtab> without any issues.
    Now after upgrade, we find that the contents of <lw_rtab_wa> is being clubbed together in the 1st few columns of <lt_rtab>.
    Both the <lw_rtab_wa> & <lt_rtab> have the same fields, but the length of few fields in <lt_rtab> is bigger than that in <lw_rtab_wa>. For example DOC_NUMBER in <lw_rtab_wa> is of type C(10) while in <lt_rtab> it is C(20). This difference is causing the data of the 2nd field also to be over-writen in the DOC_NUMBER field of <lt_rtab>.
    Please let us know if you have encountered similar situations after your BW upgrade. Any possible solutions to this would be very much appreciated as this is causing PROD issues at the moment!
    Thanks
    Arvind

    Hi Arvind,
    After Upgrade In BW 7.3 or higher versions All data elements that use the domain RSCHAVL are converted from CHAR60 to SSTRING. thats the reason you are getting that syntax error.
    Take help of some ABAP programmer and try to change the syntax as suggested from below link.
    Just scroll down and check the same. even though link shows for BW 7.4 issues, its applicable for 7.3 too. Please let me know
    http://scn.sap.com/community/data-warehousing/bw/blog/2014/07/28/sap-bw-74-analysis-issues
    Thanks
    Ajay

  • SWF Object - Redirect Coding Issue

    Our firm recently completed incorporation of flash video for
    client but having issues with detect/redirect javascript coding
    that we could use some help on. The html coding can be reviewed by
    going to:
    http://www.cobioscience.com/index10.php
    - Then click "View" "Source"
    The javascript coding for flash movie in body portion is:
    div id="flashcontent"
    var so = new
    SWFObject("video/biovideo2006autoplaylessbuffer.swf", "mymovie",
    "419", "280", "6", "#ffffff"); so.addParam("play", "true")
    so.addParam("loop", "false"); so.addParam("menu", "true");
    so.addParam("quality", "autohigh"); so.addParam("base", "video");
    so.setAttribute('RedirectUrl', '
    http://www.cobioscience.com/index-noflash.php');
    so.write("flashcontent");
    The coding is taken directly from Macromedia Website but its
    not totally intuitive:
    http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_12701
    Redirect coding is issue. If person doesn't have flash plugin
    its suppossed to redirect to non-flash page. In this case its
    index-noflash.php .

    Our firm recently completed incorporation of flash video for
    client but having issues with detect/redirect javascript coding
    that we could use some help on. The html coding can be reviewed by
    going to:
    http://www.cobioscience.com/index10.php
    - Then click "View" "Source"
    The javascript coding for flash movie in body portion is:
    div id="flashcontent"
    var so = new
    SWFObject("video/biovideo2006autoplaylessbuffer.swf", "mymovie",
    "419", "280", "6", "#ffffff"); so.addParam("play", "true")
    so.addParam("loop", "false"); so.addParam("menu", "true");
    so.addParam("quality", "autohigh"); so.addParam("base", "video");
    so.setAttribute('RedirectUrl', '
    http://www.cobioscience.com/index-noflash.php');
    so.write("flashcontent");
    The coding is taken directly from Macromedia Website but its
    not totally intuitive:
    http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_12701
    Redirect coding is issue. If person doesn't have flash plugin
    its suppossed to redirect to non-flash page. In this case its
    index-noflash.php .

  • Filter Coding Issues

    I've been following (roughly) the simple virus scanner interface that SUN provides, and adapted it into a slightly heavier weight filter that interfaces with libclamav. At first both were compiled using GCC, and I thought due to some of the weird problems I had when debugging flags were inserted, maybe Sun Studio would give better results. It hasn't, and I'm at a bit of a loss as to what to do next.
    The symptom is that parts of the message just dissapear, and I see the old mime boundaries within the message body, so it seems like there's some pointer indicating where the message starts that's being corrupted by something in my code.
    Interestingly, if I stop processing the message while still inside the headers, there is no problem, but that's not a very effective virus scanner if it can only look at the content type and filename of the part now is it?
    This happens regardless of whether I use GCC or CC, and I'm using 0.88.1 of clamav. The output message is shown last. It should be fairly obvious what's wrong with it.
    Here's my code, perhaps someone can tell me what I'm doing wrong.
    ** WARNING ** This IS NOT polished code, so please don't expect it to be perfect. It's clean, but includes absolute pathnames, and some other nauties that should be removed before anyone even thinks of reusing this. Once it actually works, I'll do the nessisary code cleanup, and release this to the community to do whatever anyone wants with.
    Makefile
    SERVER_ROOT=/opt/SUNWmsgsr
    INSTALL_LOCATION=/var/opt/SUNWmsgsr/site-programs/
    INCLUDE=-I${SERVER_ROOT}/include
    LIBPATH=-L${SERVER_ROOT}/lib
    CLAMLIBS=`/usr/local/bin/clamav-config --libs` -lclamav
    CLAMFLAGS=`/usr/local/bin/clamav-config --cflags`
    LIBS=-lmtasdk ${CLAMLIBS}
    FLAGS=${CLAMFLAGS}
    all:
            cc ${FLAGS} -o msgsr_clamav msgsr_clamav.c \
                    ${INCLUDE} ${LIBPATH} ${LIBS}
    install:
            cp msgsr_clamav ${INSTALL_LOCATION}
            cp msgsr_clamav.cnf ${INSTALL_LOCATION}************************************************
    Expansions
    CLAMLIBS=-L/usr/local/lib -lz -lbz2 -lpthread -lclamav
    CLAMFLAGS=-I/usr/local/include -xO4************************************************
    msgsr_clamav.c
    * msgsr_clamav
    * Interface the Sun Java System Message Server with LibClamAV
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <ctype.h>
    #include <pthread.h>
    #include "clamav.h"     // LibClamAV Header
    #include "mtasdk.h"
    * A structure to store channel options
    typedef struct {
         /* Produce debug output? */
         int debug;
         // Maximum size (in bytes) attachment to scan
         int scan_maxsize;
         // Scan recursion level
         int scan_recursion_level;
         // Max files
         int scan_maxfiles;
         // Path to ClamAV Virus Database
         char db_dir[BIGALFA_SIZE+3];
         // Used Internally by ClamAV. Stored here for ease of access
         struct cl_node *root;
         unsigned int signo;
         struct cl_stat dbstat;
         pthread_mutex_t reload_mutex;
         // MIME types to ignore
         char ignore_mime_types[BIGALFA_SIZE+3];
         // Types of files to ignore
         char ignore_file_types[BIGALFA_SIZE+3];
         /* Unwanted MIME content types (ALWAYS stripped, never scanned) */
         char bad_mime_types[BIGALFA_SIZE+3];
         /* Unwanted file types (ALWAYS stripped, never scanned)*/
         char bad_file_types[BIGALFA_SIZE+3];
         /* Length of bmt string */
         size_t bmt_len;
         /* Length of bft string */
         size_t bft_len;
    } our_options_t;
    // A structure passed per message to contain message specific data, including open files, etc.
    typedef struct {
         // The filename of the temp file in use so it can be unlinked when we're done with it.
         char temp_file_name[BIGALFA_SIZE * 2 + 10];
         // The file * to the temp file in use, so we don't have to reopen it across calls to decode_inspect
         FILE *temp_file;
         // A pointer to the single instance of our_options_t that is shared across all threads
         our_options_t * options;
    } msg_temp_data_t;
    * Forward declarations
    static void error_exit(int ires, const char *msg);
    static void error_report(our_options_t *options, int ires, const char *func);
    static void error_reports(our_options_t *options, const char* errStr, const char *func);
    static int is_bad_mime_type(our_options_t *options, mta_decode_t *dctx, char *buf, size_t maxbuflen);
    static int is_bad_file_type(our_options_t *options, mta_opt_t *params, const char *param_name, char *buf, size_t maxbuflen);
    static int load_options(our_options_t *options);
    static mta_dq_process_message_t process_message;
    static mta_decode_read_t decode_read;
    static mta_decode_inspect_t decode_inspect;
    * main() -- Initialize the MTA SDK, load our options, and then
    * start the message processing loop.
    int main()
         int ires,ret;
         char error_msg[BIGALFA_SIZE+3];
         our_options_t options;
         * Initialize the MTA SDK
         * See explanatory comment 1
         if ((ires = mtaInit(0)))
              error_exit(ires, "Unable to initialize the MTA SDK");
         * Load our channel options
         * See explanatory comment 2
         if ((ires = load_options(&options)))
              error_exit(ires, "Unable to load our channel options");
         * Initialize the ClamAV Virus Engine and Database
         // Preconditions to initializing the ClamAV database
         options.root=NULL; options.signo=0;
         // Load the virus database
         mtaLog("cl_loaddbdir() loading database from %s",options.db_dir);
         if ((ret = cl_loaddbdir(options.db_dir, &options.root, &options.signo)))
              sprintf(error_msg,"cl_loaddbdir() error: %s", cl_strerror(ret));
              error_exit(MTA_NO,error_msg);
         mtaLog("cl_loaddbdir() loaded %d virus definitions",options.signo);
         // Internalize the virus database structure
         mtaLog("cl_build() initializing database");
         if((ret = cl_build(options.root)))
              sprintf(error_msg,"cl_build() error: %s", cl_strerror(ret));
              error_exit(MTA_NO,error_msg);
         // Keep track of database updates
         memset(&options.dbstat, 0, sizeof(struct cl_stat));
         cl_statinidir(options.db_dir, &options.dbstat);
         // Initialize our reload mutex
         if (ret = pthread_mutex_init(&options.reload_mutex,NULL))
              sprintf(error_msg,"pthread_mutex_init() error: %d", ret);
              error_exit(MTA_NO,error_msg);
         * Now process the queued messages. Be sure to indicate a
         * thread stack size sufficient to accomodate message
         * enqueue processing.
         * See explanatory comment 3
         if ((ires = mtaDequeueStart((void *)&options,
         process_message, NULL, 0)))
         error_exit(ires, "Error during dequeue processing");
         * All done
         cl_free(options.root);
         mtaDone();
         return(0);
    *Reloads the virus database and re-initializes the in memory structure
    * Loads a new virus database, then if all succeeds, it
    * swaps the new database with the old one.  It's assumed
    * clamav releases the database gracefully, but another mutex
    * may be required if this is not the case.
    static int reload_database(our_options_t *options)
         struct cl_node *newroot = NULL,*oldroot;
         char error_msg[BIGALFA_SIZE+3];
         int ret;
         unsigned int signo=0;
         if (pthread_mutex_trylock(&options->reload_mutex)) {     // Only one reload at a time thank you.
              if(cl_statchkdir(&options->dbstat) == 1) {     // Make sure we actually need an update
                   mtaLog("reload_database() Virus database is stale... reloading");
                   mtaLog("cl_loaddbdir() reloading database from %s",options->db_dir);
                   // Load the new virus database
                   if ((ret = cl_loaddbdir(options->db_dir, &newroot, &signo)))
                        mtaLog("cl_loaddbdir() error: %s", cl_strerror(ret));
                        return (-1);
                   mtaLog("cl_loaddbdir() loaded %d virus definitions",options->signo);
                   // Internalize the virus database structure
                   mtaLog("cl_build() re-initializing database");
                   if((ret = cl_build(newroot)))
                        mtaLog("cl_build() error: %s", cl_strerror(ret));
                        mtaLog("reload_database() Database reload aborted");
                        cl_free(newroot);
                        return (-2);
                   // Save a pointer to the old root
                   oldroot = options->root;
                   // Swap in the new root and signo
                   options->root = newroot;
                   options->signo = signo;
                   // Release the old root
                   cl_free(oldroot);
                   mtaLog("database_reload() Successfully loaded new virus database");
                   // Keep track of database updates
                   cl_statfree(&options->dbstat);
                   cl_statinidir(options->db_dir, &options->dbstat);
              pthread_mutex_unlock(&options->reload_mutex);
    * process_message() -- This routine is called by
    * mtaDequeueStart() to process each queued
    * message. We don&#31258; make use of ctx2, but
    * ctx1 is a pointer to our channel options.
    * See explanatory comment 4
    static int process_message(void **ctx2, void *ctx1, mta_dq_t *dq, const char *env_from, size_t env_from_len)
         const char *adr;
         int disp, ires;
         size_t len;
         mta_nq_t *nq;
         msg_temp_data_t msg_data;
         * Initializations
         nq = NULL;
         msg_data.options = (our_options_t *)ctx1;
         msg_data.temp_file = NULL;
         * Check the virus database to make sure it isn't stale
         * If it it's not currently reloading, and is stale, reload it.
         //if(cl_statchkdir(&(msg_data.options->dbstat)) == 1)
         //     reload_database(msg_data.options);
         * A little macro to do error checking on mta*() calls
         #define CHECK(f,x) \
         if ((ires = x)) { error_report(msg_data.options, ires, f); goto \
              done_bad; }
         * Start a message enqueue. Use the dequeue context to copy
         * envelope flags fromt the current message to this new
         * message being enqueued.
         * See explanatory comment 5
         CHECK("mtaEnqueueStart", mtaEnqueueStart(&nq, env_from, env_from_len, MTA_DQ_CONTEXT, dq, 0));
         * Process the envelope recipient list
         * See explanatory comment 6
         while (!(ires = mtaDequeueRecipientNext(dq, &adr, &len, 0)))
              * Add this envelope recipient address to the message
              * being enqueued. Use the dequeue context to copy
              * envelope flags for this recipient from the current
              * message to the new message.
              ires = mtaEnqueueTo(nq, adr, len, MTA_DQ_CONTEXT,
              dq, MTA_ENV_TO, 0);
              /* See explanatory comment 7 */
              disp = (ires) ? MTA_DISP_DEFERRED : MTA_DISP_RELAYED;
              CHECK("mtaDequeueRecipientDisposition", mtaDequeueRecipientDisposition(dq, adr, len,disp, 0));
         * A normal exit from the loop occurs when
         * mtaDequeueRecipientNext() returns an MTA_EOF status.
         * Any other status signifies an error.
         if (ires != MTA_EOF)
              error_report(msg_data.options, ires, "mtaDequeueRecipientNext");
              goto done_bad;
         * Begin the MIME decode of the message
         * See explanatory comment 8
         CHECK("mtaDecodeMessage",
              mtaDecodeMessage(
              /* Private context is our message data structure */
              (void *)&msg_data,
              /* Input is the message being dequeued */
              MTA_DECODE_DQ, (void *)dq,
              /* Output is the message being enqueued */
              MTA_DECODE_NQ, (void *)nq,
              /* Inspection routine */
              decode_inspect,
              /* Convert non-MIME formats to MIME */
              MTA_DECODE_THURMAN,
              0));
         * Finish the enqueue
         * NOTE: IT&#25285; IMPORTANT TO DO THIS before DOING THE
         * DEQUEUE. YOU WILL LOSE MAIL IF YOU DO THE DEQUEUE FIRST
         * and then THE ENQUEUE FAILS.
         * See explanatory text 9
         CHECK("mtaEnqueueFinish", mtaEnqueueFinish(nq, 0));
         nq = NULL;
         * Finish the dequeue
         CHECK("mtaDequeueFinish", mtaDequeueMessageFinish(dq, 0));
         * All done with this message
         return(MTA_OK);
    done_bad:
         * Abort any ongoing enqueue or dequeue
         if (nq)
              mtaEnqueueFinish(nq, MTA_ABORT, 0);
         if (dq)
              mtaDequeueMessageFinish(dq, MTA_ABORT, 0);
         * And return our error status
         return(ires);
    #undef CHECK
    * decode_inspect() -- This is the routine that inspects each
    * message part, deciding whether to accept
    * or reject it.
    * See explanatory comment 10
    static int decode_inspect(void *ctx, mta_decode_t *dctx, int data_type,const char *data, size_t data_len)
         char buf[BIGALFA_SIZE * 2 + 10];
         const char *virname;
         int i;
         static unsigned int part_c = 1;
         msg_temp_data_t *msg_data = (msg_temp_data_t *)ctx;
         strncpy(buf,data,data_len);
         buf[data_len] = 0;
         mtaLog("decode_inspect() (%d,%ud): %s",data_type,dctx,buf);
         switch (data_type)
              case MTA_DATA_HEADER:
              * See if the part has:
              * 1. A bad MIME content-type,
              * 2. A bad file name extension in the (deprecated)
              * NAME= content-type parameter, or
              * 3. A bad file name extension in the
              * FILENAME= content-disposition parameter.
              i = 0;
              if ((i = is_bad_mime_type((void *)msg_data->options, dctx, buf, sizeof(buf))) ||
                   is_bad_file_type((void *)msg_data->options,mtaDecodeMessageInfoParams(dctx,MTA_DECODE_CTYPE_PARAMS, NULL),"NAME", buf, sizeof(buf)) ||
                   is_bad_file_type((void *)msg_data->options,mtaDecodeMessageInfoParams(dctx,MTA_DECODE_CDISP_PARAMS, NULL),"FILENAME", buf, sizeof(buf)))
                   char msg[BIGALFA_SIZE*4 + 10];
                   * Replace this part with a text message indicating
                   * that the part&#30196; content has been deleted.
                   * See explanatory comment 11
                   if (i)
                        i = sprintf(msg,
                             "The content of this message part has been removed.\n"
                             "It contained a potentially harmful media type of %.*s",
                             strlen(buf)-2, buf+1);
                   else
                        i = sprintf(msg,
                             "The content of this message part has been removed.\n"
                             "It contained a potentially harmful file named '%s'", buf);
                   mtaLog("decode_inspect(): %s",msg);
                   return(mtaDecodeMessagePartDelete(dctx,
                        MTA_REASON, msg, i,
                        MTA_DECODE_CTYPE, "text", 4,
                        MTA_DECODE_CSUBTYPE, "plain", 5,
                        MTA_DECODE_CCHARSET, "us-ascii", 8,
                        MTA_DECODE_CDISP, "inline", 6,
                        MTA_DECODE_CLANG, "en", 2, 0));
              } break; // case MTA_DATA_HEADER:
              case MTA_DATA_TEXT:
              case MTA_DATA_BINARY:
                   if (msg_data->temp_file == NULL)
                        sprintf(msg_data->temp_file_name,"/tmp/%i.tmp",part_c++);
                        mtaLog("messageDecode(): Opening Temp File %s",msg_data->temp_file_name);
                        msg_data->temp_file = fopen(msg_data->temp_file_name,"wb");
                   fwrite(data,data_len,1,msg_data->temp_file);
                   return(MTA_OK);
                   break;
              case MTA_DATA_NONE:
                   fflush(msg_data->temp_file);
                   fclose(msg_data->temp_file);
                   msg_data->temp_file = NULL;
                   struct cl_limits limits;
                   memset(&limits, 0, sizeof(struct cl_limits));
                   /* maximal number of files in archive */;
                   limits.maxfiles = 1000;
                   /* maximal archived file size */
                   limits.maxfilesize = 10 * 1048576; /* 10 MB */
                   /* maximal recursion level */
                   limits.maxreclevel = 5;
                   /* maximal compression ratio */
                   limits.maxratio = 200;
                   /* disable memory limit for bzip2 scanner */
                   limits.archivememlim = 0;
                   i = cl_scanfile(msg_data->temp_file_name, &virname, NULL, msg_data->options->root,&limits,CL_SCAN_STDOPT);
                   unlink (msg_data->temp_file_name);
                   if(i == CL_VIRUS) {
                        char msg[BIGALFA_SIZE*4 + 10];
                        size_t idlen;
                        i = sprintf(msg,
                             "The content of this message part has been removed.\n"
                             "It contained the virus %s in a file named '%s'", virname,buf);
                        mtaDequeueInfo(dctx,MTA_ENV_ID,&buf,&idlen);
                        buf[idlen] = '\0';
                        mtaLog("decode_inspect(): Detected %s virus in part %i of msg ID %s",virname,0,buf);
                        return(mtaDecodeMessagePartDelete(dctx,
                             MTA_REASON, msg, i,
                             MTA_DECODE_CTYPE, "text", 4,
                             MTA_DECODE_CSUBTYPE, "plain", 5,
                             MTA_DECODE_CCHARSET, "us-ascii", 8,
                             MTA_DECODE_CDISP, "inline", 6,
                             MTA_DECODE_CLANG, "en", 2, 0));
                   } else {
                        if(i != CL_CLEAN)
                             mtaLog("decode_inspect() Error: %s scanning file %s",cl_strerror(i),msg_data->temp_file_name);
                        else
                             mtaLog("decode_inspect(): Part in file %s is clean",msg_data->temp_file_name);
                        //return(mtaDecodeMessagePartCopy(dctx, 0));
                        return(MTA_OK); break;
         return(MTA_OK);
    * is_bad_mime_type() -- See if the part&#30196; media type is in our
    * bad MIME content types, for example:
    * application/vbscript
    * See explanatory comment 13
    static int is_bad_mime_type(our_options_t *options,
    mta_decode_t *dctx, char *buf,
    size_t maxbuflen)
         const char *csubtype, *ctype;
         size_t i, len1, len2;
         char *ptr;
         * Sanity checks
         if (!options || !options->bmt_len ||
              !options->bad_mime_types[0] ||
              !dctx)
              return(0);
         * Get the MIME content type
         ctype = mtaDecodeMessageInfoString(dctx, MTA_DECODE_CTYPE,NULL, &len1);
         csubtype = mtaDecodeMessageInfoString(dctx,MTA_DECODE_CSUBTYPE,NULL, &len2);
         * Build the string: <0x01>type/subtype<0x01><0x00>
         ptr = buf;
         *ptr++ = (char)0x01;
         for (i = 0; i < len1; i++)
              *ptr++ = tolower(*ctype++);
         *ptr++ = '/';
         for (i = 0; i < len2; i++)
              *ptr++ = tolower(*csubtype++);
         *ptr++ = (char)0x01;
         *ptr = '\0';
         * Now see if the literal just built occurs in the list of
         * bad MIME content types
         return((strstr(options->bad_mime_types, buf)) ? -1 : 0);
    * is_bad_file_type() -- See if the part has an associated file
    * name whose file extension is in our list
    * of bad file names, such as .vbs.
    * See explanatory comment 14
    static int is_bad_file_type(our_options_t *options,
    mta_opt_t *params,
    const char *param_name, char *buf,
    size_t maxbuflen)
         const char *ptr1;
         char fext[BIGALFA_SIZE+2], *ptr2;
         size_t i, len;
         * Sanity checks
         if (!options || !options->bft_len || !params || !param_name)
              return(0);
         len = 0;
         buf[0] = '\0';
         if (mtaOptionString(params, param_name, 0, buf, &len,
              maxbuflen - 1) ||
              !len || !buf[0])
              * No file name parameter specified
              return(0);
         * A file name parameter was specified. Parse it to
         * extract the file extension portion, if any.
         ptr1 = strrchr(buf, '.');
         if (!ptr1)
              * No file extension specified
              return(0);
         * Now store the string created earlier in fext[]
         * Note that we drop the &#12539;&#12539;from the extension.
         ptr1++; /* Skip over the &#12539;&#12539;*/
         ptr2 = fext;
         *ptr2++ = (char)0x01;
         len = len - (ptr1 - buf);
         for (i = 0; i < len; i++)
              *ptr2++ = tolower(*ptr1++);
         *ptr2++ = (char)0x01;
         *ptr2++ = '\0';
         * Now return -1 if the string occurs in
         * options->bad_file_types.
         return((strstr(options->bad_file_types, fext)) ? -1 : 0);
    * load_options() -- Load our channel options from the channel&#30196;
    * option file
    * See explanatory comment 15
    static int load_options(our_options_t *options)
         char buf[BIGALFA_SIZE+1];
         size_t buflen, i;
         mta_opt_t *channel_opts;
         int ires;
         const char *ptr0;
         char *ptr1;
         * Initialize the our private channel option structure
         memset(options, 0, sizeof(our_options_t));
         * Set internal defaults for important features
         options->scan_maxsize = 10 * 1024 * 1024; // 10 MB
         options->scan_recursion_level = 10;
         options->scan_maxfiles = 200;
         strcpy(options->db_dir,cl_retdbdir()); // Default ClamAV Directory
         * Access the channel&#30196; option file
         * See explanatory comment 16
         channel_opts = NULL;
         if ((ires = mtaOptionStart(&channel_opts, "/var/opt/SUNWmsgsr/site-programs/msgsr_clamav.cnf", 0, 0)))
              mtaLog("Unable to access our channel option file");
              return(ires);
         * DEBUG=0|1
         options->debug = 0;
         mtaOptionInt(channel_opts, "DEBUG", 0, &options->debug);
         if (options->debug)
              mtaDebug(MTA_DEBUG_SDK, 0);
         * BAD_MIME_TYPES=type1/subtype1[,type2/subtype2[,...]]
         buf[0] = '\0';
         mtaOptionString(channel_opts, "BAD_MIME_TYPES", 0, buf,
         &buflen, sizeof(buf));
         * Now translate the comma separated list:
         * Type1/Subtype1[,Type2/Subtype2[,...]]
         * to
         *<0x01>type1/subtype1[<0x01>type2/subtype2[<0x01>...]]<0x01>
         ptr0 = buf;
         ptr1 = options->bad_mime_types;
         *ptr1++ = (char)0x01;
         for (i = 0; i < buflen; i++)
              if (*ptr0 != ',')
                   *ptr1++ = tolower(*ptr0++);
              else
                   *ptr1++ = (char)0x01;
                   ptr0++;
         *ptr1++ = (char)0x01;
         *ptr1 = '\0';
         options->bmt_len = ptr1 - options->bad_mime_types;
         * BAD_FILE_TYPES=["."]Ext1[,["."]Ext2[,...]]
         buf[0] = '\0';
         buflen = 0;
         mtaOptionString(channel_opts, "BAD_FILE_TYPES", 0, buf,
         &buflen, sizeof(buf));
         * Now translate the comma separated list:
         * ["."]Ext1[,["."]Ext2[,...]]
         * to
         * <0x01>ext1[<0x01>ext2[<0x01>...]]<0x01>
         ptr0 = buf;
         ptr1 = options->bad_file_types;
         *ptr1++ = (char)0x01;
         for (i = 0; i < buflen; i++)
              switch(*ptr0)
                   default : /* copy after translating to lower case */
                        *ptr1++ = tolower(*ptr0++);
                        break;
                   case '.' : /* discard */
                        break;
                   case ',' : /* end current type */
                        *ptr1++ = (char)0x01;
                        ptr0++;
                   break;
         *ptr1++ = (char)0x01;
         *ptr1 = '\0';
         options->bft_len = ptr1 - options->bad_file_types;
         * Dispose of the mta_opt_t context
         * See explanatory comment 17
         mtaOptionFinish(channel_opts);
         * And return a success
         return(MTA_OK);
    * error_report() &#12539;Report an error condition when debugging is
    * enabled.
    static void error_report(our_options_t *options, int ires,
    const char *func)
         if (options->debug)
              mtaLog("%s() returned %d; %s",
                   (func ? func : "?"), ires, mtaStrError(ires,0));
    static void error_reports(our_options_t *options, const char* errStr,
    const char *func)
         if (options->debug)
              mtaLog("%s() reported: %s",
                   (func ? func : "?"), errStr);
    * error_exit() -- Exit with an error status and error message.
    static void error_exit(int ires, const char *msg)
         mtaLog("%s%s%s", (msg ? msg : ""), (msg ? "; " : ""),
         mtaStrError(ires,0));
         exit(1);
    msgsr_clamav.cnf
    DEBUG=1
    BAD_MIME_TYPES=application/vbscript
    BAD_FILE_TYPES=bat,pif,vb,vbs,chs,exe************************************************
    broken message
    Return-path: <[email protected]>
    Received: from virusscan-daemon.apple.california.com by apple.california.com
    (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
    id <[email protected]> for [email protected]; Thu,
    20 Apr 2006 07:30:13 -0700 (PDT)
    Received: from california.com ([209.159.129.16])
    by apple.california.com (Sun Java System Messaging Server 6.2-3.04 (built Jul
    15 2005)) with ESMTP id <[email protected]> for
    [email protected]; Thu, 20 Apr 2006 07:30:05 -0700 (PDT)
    Received: from [61.23.221.222] by apple.california.com (mshttpd); Thu,
    20 Apr 2006 14:30:05 +0000 (GMT)
    Content-return: allowed
    Date: Thu, 20 Apr 2006 14:30:05 +0000 (GMT)
    From: [email protected]
    Subject: Re: testing
    In-reply-to: <[email protected]>
    To: [email protected]
    Message-id: <[email protected]>
    MIME-version: 1.0
    X-Mailer: Sun Java(tm) System Messenger Express 6.2-3.04 (built Jul 15 2005)
    Content-type: multipart/alternative;
    boundary="Boundary_(ID_iOVR4MBjhWJn/mh7Ij+BUQ)"
    Content-language: en
    X-Accept-Language: en
    Priority: normal
    References: <[email protected]>
    Original-recipient: rfc822;[email protected]
    This is a multi-part message in MIME format.
    --Boundary_(ID_iOVR4MBjhWJn/mh7Ij+BUQ)
    Content-type: text/plain; charset=us-ascii
    Content-transfer-encoding: 7bit
    Content-disposition: inline
    Data is missing from here
    ----ec04832708e231d6e2f
    --Boundary_(ID_iOVR4MBjhWJn/mh7Ij+BUQ)
    Content-type: text/html; charset=us-ascii
    Content-transfer-encoding: quoted-printable
    Content-disposition: inline
    Data is missing from here
    nal Message -----=3Cbr=3EFrom=3A chales=40california=2Ecom=3Cbr=3EDate=3A=
    Thursday=2C April 20=2C 2006 11=3A19 pm=3Cbr=3ESubject=3A testing=3Cbr=3E=
    To=3A chales=40california=2Ecom=3Cbr=3E=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B 1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B 1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B 1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B 1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B 1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B 1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B 1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B=
    3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B 5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B=
    7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B 9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B=
    1=3Cbr=3E=26gt=3B 2=3Cbr=3E=26gt=3B 3=3Cbr=3E=26gt=3B 4=3Cbr=3E=26gt=3B=
    5=3Cbr=3E=26gt=3B 6=3Cbr=3E=26gt=3B 7=3Cbr=3E=26gt=3B 8=3Cbr=3E=26gt=3B=
    9=3Cbr=3E=26gt=3B 0=3Cbr=3E=26gt=3B =3Cbr=3E=26gt=3B
    ----ec04832708e231d6e2f
    --Boundary_(ID_iOVR4MBjhWJn/mh7Ij+BUQ)
    Content-type: text/x-vcard; name=chales.vcf; charset=us-ascii
    Content-transfer-encoding: base64
    Content-disposition: attachment; filename=chales.vcf
    Content-description: Card for <[email protected]>
    bA0KdGVsO3dvcms6NTEwLTI4Ny04NDUwDQp1cmw6aHR0cDovL3d3dy5jYWxpZm9ybmlh
    LmNvbS8NCm9yZzpDYWxpZm9ybmlhQ29tLCBJbmM7DQp2ZXJzaW9uOjIuMQ0KZW1haWw7
    aW50ZXJuZXQ6Y2hhbGVzQGNhbGlmb3JuaWEuY29tDQp0aXRsZTpTeXN0ZW0gQWRtaW5p
    c3RyYXRvcg0KZW5kOnZjYXJkDQo=
    ----ec04832708e231d6e2f--
    Boundary_(ID_iOVR4MBjhWJn/mh7Ij+BUQ)

    Ok, so it's not my code. Using the virus_scanner_simple.c example from SUN, if you change the decode_inspect routine to return MTA_OK for every call (which should technically just let the message pass) it has the same behavior as my program. (Not all that suprising since mine is a derivative of said program)
    That said, this now looks like a library issue. I'm using Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005) according to the SMTP prompt, and was wondering if perhaps I should apply:
    http://sunsolve.sun.com/search/document.do?assetkey=1-21-118207-42-1&searchclause=6306404
    The issue seems to be in the mtaDecodeMessage function, and occurs when the decode_inspect function is allowed to parse the message body, not just the message headers.
    The machine is a Sun Ultra 4500 running Solaris 10. Here's the banner:
    SunOS cookie 5.10 Generic_118822-23 sun4u sparc SUNW,Ultra-Enterprise
    Has anyone else had similar problems using the MTA SDK? Is there anything I'm missing here (besides the above mentioned patch) that might fix this?

  • Is there an up-to-date forum for email coding issues?

    There's a lot of info online but these issues change almost monthly with new webmail "features" that tend to break old format rules. Is there an ongoing discussion group for this?  Or is there a Dreamweaver email perfect plugin?
    Also, does the Outlook 2007 validator (made for Dreamweaver 8 it says) work in CS5?  If so, how do you find it in the Validator in Dreamweaver?
    Charles

    I installed the Dreamweaver Outlook 2007 validator but I found an immediate problem with it.  I tried validating an en email that I built from a template that I was given by a client which has the font style only in the body tag. It validates the code as being perfect. It may validate perfectly but the template doesn't work in Outlook 2007 because the font style is not inline.  A working code validator that would report problems in different email clients would be brilliant - but it would have to be continually updated. Just last month Yahoo launched a new version of its online webmail which already has caused problems for me (such as tables mysteriously separating which doesn't appear anywhere else). Articles are OK but the problem is requirements are always changing.
    Charles I agree with a lot of what you are saying and from my personal experience I don't even worry about Lotus Notes anymore because of the low volume of recipients.  It is true what you are saying though about Outlook and inline styles, but Microsoft has been pretty consistent since the change in 2007 with the "Word Rendering Engine".  You should be able to easily modify the client's email though with the font so that it is inline and renders, not that it should be a big concern because you are very limited in the fonts you use unless you are doing emails for a company like Panic which targets Mac & mobile users, all of which have clients that allow CSS3 effects in emails.  It's very good to see their optimism with the way the rest of world looks at email.
    The problem with Constant Contact and Mail Chimp are that they are commercial blasting companys.  I can't use them for our clients - we have to code and blast  the emails ourself. 
    This is a very dangerous practice and I don't understand what why that wouldn't work for your clients?  If it's sensitive content there are other email providers who can do that sort of thing if you give more industry specifics.  The part that would worry me as an outside contractor is that the client needs to know up front, if they send spam, their server is done for.  Your hosting provider for the mail server could shut you down, the ISPs could blacklist you and it would affect the everyday email traffic and not just the promotional email pieces that you send out.
    And I will say this about Mailchimp.  I did find consistent results using their templates with the exception of their footer, which I did write to them about.  I've noticed some issues with some !important tags not being read correctly in Outlook 2010.  But other than that, the service was good, and I did try to learn their template language for some custom emails, but then someone had a change of mind about services so I never saw it through.

  • Adobe Edge Animate JavaScript Coding issues/page load time speeds

    To let you have an idea of my skill set I have a background in animation and design and have been taking classes in web development. My question is about how to create an interactive website that loads various animation depending on the user's choice and current place within the Adobe Edge Animate timeline. The website I developed for a client @ www.goshowpro.com works but loads slower than I want and doesn't format properly on my client's Macbook (I believe he needs to update his browsers but that is something else.)
    So as you can see from looking at my website I used a multitude of HTML files to create my vision of an interactive website based off of a theatrical stage. I know this is not an ideal method. I would prefer to have it all on one page but I am having trouble with my javascript coding. I was wondering if there would be away to expedite my current site's load time and if not if you could look at my NEW coding. (This IS NOT the current coding on the site.)
    if = "hstop" "chomstop" "shomstop" "phomstop"
    {sym.play("hporstart")};
    else = "hconstop" "sconstop" "pconstop"
    {sym.play("cporstart")};
    else = "hserstop" "cserstop" "pserstop"
    {sym.play("sporstart")};
    It looks crappy but I'm trying to learn so don't laugh too much. Thanks again.
    Michael

    Hi, Marlene-
    We currently bundle jQuery 1.7.1 with the Animate runtime.  In order to call fadeOut() on the element newSquare, you would do the following:
    sym.$("newSquare").fadeOut();
    OR
    sym.getSymbol("newSquare").getSymbolElement().fadeOut();
    Hope that helps!
    -Elaine

  • Illustrator SVG Effects Coding Issues

    I am having some REAL big problems coding SVG XML and having it being reproduced in Illustrator as I am expecting. Major problem right now is the feColorMatrix effect. I understand the effect and how the matrix changes the pixels but problem I am having is that when I specify 0.5 as the final output result on any of the color channel rows, Illustrator is not interpreting 0.5 as RGB 127, in other words, 50% the color value. It is more like 0.215 equates to 127 RGB decimal. Here is some code:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <svg
        xmlns="http://www.w3.org/2000/svg"
        version="1.2"
        viewBox="0 0 576 432"
        width="576"
        height="432"
        baseProfile="tiny"
        id="NicoleLovesSVG">
        <g id="Canvas">
            <rect
                width="576"
                height="432"
                x="0"
                y="0"
                transform="scale(1,1)"
                id="Canvas-Rect1"
                style="fill:#9d8654;fill-rule:evenodd;" />
        </g>
        <defs>
            <filter id="ShadowFilter-Text1" filterUnits="objectBoundingBox" primitiveUnits="userSpaceOnUse" width="200%" height="200%" x="-50%" y="-50%">
                <feColorMatrix type="matrix"  in="SourceAlpha"
                    values="0 0 0 0 .5
                        0 0 0 0 0
                        0 0 0 0 0
                        0 0 0 1 0"/>
                <feOffset dx="24.395183950936" dy="24.395183950936" result="shadow"/>
                <feBlend in="SourceGraphic" in2="shadow" mode="normal"/>
            </filter>
        </defs>
        <g
            id="Text1"
            transform="translate(1.1272727272727,297.27272727273) rotate(0) scale(3.5238813920454546,2.642911044034091)"
            style="fill:#003300;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:15px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;"
            filter="url(#ShadowFilter-Text1)">
                <g
                    id="Text1-Line1"
                    transform="translate(0,0)">
                    <path
                        transform="translate(0,0)"
                        vector-effect="non-scaling-stroke"
                        id="Text1-Line1-Glyph1"
                        d="M 0,0 M 46.4,-98.24 L 46.4,-15.68 C 46.4,-8.96 47.466666666667,-3.7333333333333 49.6,-0 L 30.4,-0 C 32.533333333333,-3.7333333333333 33.6,-8.96 33.6,-15.68 L 33.6,-98.24 L 31.36,-98.24 C 21.653333333333,-98.24 12.106666666667,-96.373333333333 2.72,-92.64 L 8.32,-106.72 L 79.68,-106.72 L 74.56,-92.64 C 68.693333333333,-96.48 59.306666666667,-98.346666666667 46.4,-98.24 z" />
                </g>
        </g>
    </svg>
    As you can see, the first filter retrieves the SourceAlpha which is all black. Then the color matrix takes that and does this on the first row of the matrix:
    (a x red) + (b x green) + (c x blue) + (d x alpha) + e = final red output
    plugging in the numbers:
    (0 x 0) + (0 x 0) + (0 x 0) + (0 x 0) + 0.5 = 0.5
    Should be 50% red! Or 127 RGB!!! I did the math and in Illy it is more like 0.215 = 127 = 50% ??????

    This has been answered: http://stackoverflow.com/questions/8214924/illustrator-svg-effects-coding-issues

  • HTML Coding Issues with Dynamic Sites

    I am trying to create a button using the sliding doors technique and I think I have the correct css, but the issue comes with the HTML.
    Here is the CSS:
    .Button
    /* Sliding right image */
        background: transparent url('../Images/button_right_02.png') no-repeat scroll top right;
    display: block;
    float: left;
    height: 38px;
    margin-right: 6px;
    padding-right: 20px;
    text-decoration: none;
    color: #000000;
    font-family: Arial, Helvetica, sans-serif;
    font-size:12px;
    font-weight:bold;
    .button span {
    /* Background left image */
    background: transparent url('../Images/button_left_02.png') no-repeat;
    display: inline;
    line-height: 22px; /* CHANGE THIS VALUE ACCORDING TO BUTTONG HEIGHT */
    padding: 7px 0 5px 18px;
    .button:hover span{
    text-decoration:underline;
    However the HTML is a little bit tricky.  I only get the right side of the image to show up on the button.  Here is the HTML:
    <td colspan=2 ALIGN=center class="button">
           <table BORDER=0  CELLPADDING=3>
    <tr>         
                      <td align=center><input name="Button" type=button class="Button" OnClick=submitScreen(&quot;AccountSummary&quot;) value="Back to Summary"></td>
                </tr>
           </table>
        </td>
    This is what I am ending up with:
    This is what I am trying to get to:
    The latter image I am able to get to with my own HTML that looks like this:
    <body>
    <a class="button" href="button2.css"><span>Account Summary</span></a>
    </body>
    But I need to incorporate that so it works in the above HTML (incorporated with an external database)
    Your help is appreciated.

    Dude I git you ... my template in html is giving me issues also ....
    how come I build it then a moth later it wont allow me to nuild pages from the template???
    also how do I add my picture logo to my account??

  • Javascript coding issues (if else statements)

    Hello to all,
    I am posting for help for problems I am having with javascript. The website is www.goshowpro.com. Right now on the website it is connected by multiple html files but I would like to have it all on one single page with the animations responding. I would like the animation to be seamless but I am relatively new to javascript and am having issues with my syntax I believe. Below is the code for my new home page/index button. Thank you for your help in advance. 
    -Michael  
    if (mymovie == "hporstop"){
    // play the timeline from the given position (ms or label)
    sym.play("phomstart");
    else if (mymovie == "por1.1stop"){
    // play the timeline from the given position (ms or label)
    sym.play("phomstart");
    else if (mymovie == "por1.2stop"){
    // play the timeline from the given position (ms or label)
    sym.play("phomstart");
    else if (mymovie == "por1.3stop"){
    // play the timeline from the given position (ms or label)
    sym.play("phomstart");
    else if (mymovie == "sporstop"){
    // play the timeline from the given position (ms or label)
    sym.play("phomstart");
    else if (mymovie == "cporstop"){
    // play the timeline from the given position (ms or label)
    sym.play("phomstart");
    else if (mymovie == "hconstop"){
    // play the timeline from the given position (ms or label)
    sym.play("chomstart");
    else if (mymovie == "sconstop"){
    // play the timeline from the given position (ms or label)
    sym.play("chomstart");
    else if (mymovie == "pconstop"){
    // play the timeline from the given position (ms or label)
    sym.play("chomstart");
    else if (mymovie == "cserstop"){
    // play the timeline from the given position (ms or label)
    sym.play("shomstart");
    else if (mymovie == "hserstop"){
    // play the timeline from the given position (ms or label)
    sym.play("shomstart");
    else (mymovie == "pserstop"){
    // play the timeline from the given position (ms or label)
    sym.play("shomstart");

    Hi Mike,
    When you test the different possible values of a variable mymovie, you are better off using a switch.
    See : http://www.w3schools.com/js/js_switch.asp
    Then you could avoid repeating statements by regrouping cases :
    switch( mymovie)
      case "hporstop":
      case "por1.1stop":
      case "por1.2stop":
      case "por1.3stop":
      case "sporstop":
      case "cporstop":
         sym.play("phomstart");
         break;
      case "hconstop":
      case "sconstop":
      case "pconstop":
         sym.play("chomstart");
         break;
      case "cserstop":
      case "hserstop":
      case "pserstop":
         sym.play("shomstart");
         break;
    What is important to grasp to understand the flow of execution is that the break; statement prevents from testing the following cases.
    Gil

  • Various coding issues

    Here are a few issues I had lately:
    template < typename U >
    struct B
      struct A
        typedef char C;
      A* f ( typename A :: C )
    template < class U >
    typename B < U > :: A*
    B < U > :: f ( typename A :: C )
      return 0;
    }CC complains about an ambiguity between B < U > :: A and B < U > :: A.
    #include <iostream>
    template<class T>
    struct A
      void do_something() const {
        std::cerr << "A's do_something" << std::endl;
        T().do_something();
    template<class T>
    struct B
      typedef A<T> Nested;
      void do_something() const {
        std::cerr << "B's do_something" << std::endl;
        T().do_something();
    template<class T>
    class C
      friend class B< C<T> >;
      friend class B< C<T> >::Nested;
    protected:
      void do_something() const {
        std::cerr << "C's do_something" << std::endl;
    int main()
      A< C<int> > a;
      B< C<int> > b;
      a.do_something();
      b.do_something();
      return 0;
    };CC refuses this code. However, if I replace "friend class" by "friend template", it accepts it with a warning. g++ does the exact contrary. Could there be an agreement?
    I also have a problem with something like the following, but it is probably a well-known issue.
    template < typename T >
    struct A {};
    template < typename T, typename U >
    T f(const U& ) { return T(); }
    template < typename T, typename U >
    T f(const A < U > & ) { return T(); }
    int main()
      A<double> a;
      int i = f < int > (a);
      return 0;
    }

    CC complains about an ambiguity between B < U > :: A
    and B < U > :: A.
    I have filed bug 6377582 for this issue.
    CC refuses this code. However, if I replace "friend
    class" by "friend template", it accepts it with a
    warning. g++ does the exact contrary. Could there be
    an agreement?"friend template" is not valid, and the compiler might not be doing what you intend.
    The code
    friend class B< C<T> >::Nested;
    is not valid because Nested is a typedef, not a class. You need to express what you mean some other way.
    I also have a problem with something like the
    following, but it is probably a well-known issue.
    I have filed bug 6377606 for the incorrect error message about overload ambiguity.
    If you have a Sun Service contract, you can track progress on the bugs and get a pre-release patch to try. Otherwise, you can check the Sun Studio patch page every month or so and see if a new patch is available that fixes these bugs.
    http://developers.sun.com/prodtech/cc/downloads/patches/index.html

  • Upgradation -hard Coding issue

    Hi,
    I'm working in an Upgradation Project(from 4.6c to ECC 6.0) where I need to remove Hard Coding in general.
    I met with a situation where I have to use hard coding, but it's not good to use interms of performance.
    Could anyone post the solution for this.

    Up front, I would agree with Sravan, however, you haven't posted any example of one of the subroutines in which you have used some hard-coding. But normally, when you are for example using screen field names for calling these subroutines, I wouldn't mind doing some hard coding since these screen will 'never' change anyway. It would be a hell of a job correcting all the BDC programs and replacing these with constants.

  • Business Rule form coding issue

    I have two cubes, one for salaries and one for the P&L, called finance. All members are identical between cubes, EXCEPT the department members, in the finance cube there are numbers,
    such as "662", in the Salary cube, all department members begin with "Sal_" which is "Sal_662"
    I want a salary form on save to execute calculations and then get pulled to the finance cube.
    I have a script that works from a finance cube form, but I want the salary cube form to execute the finance cube business rule. The issue is the different names.
    To do a transfer from the finance cube form, the code looks like :
    "DIRXOT" = @XREF("_Salarycube_" ,"DIRSAL","Total_Employee",(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department")))))
    The finance BR XREF adds the "SAL_ to the current member to reference the Salary cube department.
    Trying to reverse this, code it from the salary form point of view
    IF(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department"))) == [gv_Salary_SalDepartment])
    "DIRXOT" = @XREF("_Salarycube_" ,"PRDSAL","Total_Employee", [gv_Salary_SalDepartment]);
    But no validation. . . any suggestions as to what I am missing?
    thanks

    Thanks, i didn't pose the question quite correctly. . . The IF statement won't validate:
    IF(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department"))) == @NAME([gv_Salary_SalDepartment]))
    or
    IF(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department"))) == [gv_Salary_SalDepartment])
    I have to do a NAME comparison, and I don't know how to do that, with the mathematical operators. . .
    because there is no matching member between cubes for a numerical match. . .
    So I need to return TRUE when finance cube Member "662" equals salary cube Member "Sal_662" by adding "Sal_" to the finance member and then doing the comparison.
    I think it can be done, but not sure how. . . [gv_Salary_SalDepartment] is the global variable from the salary cube form passing the salary cube member to the business rule.
    thanks in advance. . . . .

  • FormMail Contact Form Coding Issue

    Hi folks - this maybe quite a lengthly issue - however i
    think it is a simple mistake somewhere
    Basically I am having problem getting my submit contact form
    to work.
    I used the FormMail.pl script.
    www.kme-steelworks.co.uk is the website I am trying to apply
    the form.
    I am using 123 reg server to host the site.
    If you look at my homepage above . you will see the fields of
    the form at the bottom of the index/home page.
    I am seeing problems when I fill in the form.I have opted for
    cgi/FormMail format.
    Error arising when i click submit - 500 Internal Server Error
    This error tends to be a permission error on the root folder
    - I have adjusted the right however to 755 but internal server
    error still occurring.
    The submit form results should be going to
    [email protected] - but it isnt
    the FormMail.pl is stored on my local files in
    myweb/FormMail/FormMail.pl so I created a folder on your host
    server called FormMail and put my FormMail.pl file in here so it
    matched.
    Ok so here is my form code on my homepage
    <form id="form1" method="post"
    action="FormMail/FormMail.pl">
    <form action="/FormMail/FormMail.pl" method="post">
    <input type='hidden' name="recipient"
    value="[email protected]"/>
    <input type='hidden' name="subject" value="KME WEB
    CUSTOMER"/>
    <input type='hidden' name="required" value=""/>
    <input type='hidden' name="redirect"
    value="www.kme-steelworks.co.uk/thankyou.html">
    <label>Name:
    <input name="Name" type="text" id="Name" size="35" />
    </label>
    <label>Phone Number:
    <input name="Phone" type="text" id="Phone" maxlength="28"
    />
    </label>
    <p> </p>
    <p>
    <label>Comments (Optional):
    <textarea name="comments" id="comments" cols="45"
    rows="7"></textarea>
    </label>
    </p>
    <p>
    <label>
    <input type="submit" name="submit" id="submit"
    value="Submit" />
    </label>
    </p>
    <p> </p>
    </form>
    What should my pl code look like if my server domain is
    123reg.co.uk - my website form address is
    www.kme-steelworks.co.uk my thank you page (when submit form
    submits successfully is
    www.kme-steelworks.co.uk/thankyou.html and the email address
    I want the results forwarded to is '[email protected]'
    I realise this may look like a tough post but I just dont get
    why it is not posting?
    Should the script be named with a cgi extension as the server
    is not compatible with perl, and be placed in the cgi-bin folder?
    Any help is hugely appreciated
    Brian
    Come on the Irish

    clann26 posted in macromedia.dreamweaver:
    > Hi folks - this maybe quite a lengthly issue - however i
    think it
    > is a simple mistake somewhere
    >
    > Basically I am having problem getting my submit contact
    form to
    > work. I used the FormMail.pl script.
    [snip]
    > What should my pl code look like if my server domain is
    > 123reg.co.uk
    I can't get to the support pages for that host without
    logging in, but
    you'll likely find your answers there.
    If they're set up like 123reg.com, then the odd thing to me
    is that
    they allow cgi within your public_html folder.
    Their path to Perl is shown as /usr/bin/perl, so if
    123reg.co.uk uses
    the same setup, you would set the first line shebang in your
    .pl file
    to look like this:
    #!/usr/bin/perl
    And, of course, set the cgi perl file permissions to 755.
    BUT...the answers will depend on how 123.co.uk has things set
    up. Log
    in to their site and check the support pages.
    > Should the script be named with a cgi extension as the
    server is
    > not compatible with perl, and be placed in the cgi-bin
    folder?
    If the server does not support Perl, no amount of file naming
    will make
    it work. However, looking at their hosting plans, it seems
    they all
    support Perl-CGI. The typical extension for Perl scripts is
    .pl
    Mark A. Boyd
    Keep-On-Learnin' :)

Maybe you are looking for

  • Skype Account HACKED

    I have had someone gain unauthorized access to my Skype account.  This is insane, because I knew I was being targeted by a hacker, and went to ehosts Live Support to tell them.  I also told them NEVER TO CHANGE THE REGISTERED EMAIL ON MY ACCOUNT.  Th

  • Java program not working using newer version of scheduler (AutoSys)

    A little background: I'm in the middle of trying to upgrade our AutoSys server (scheduler) to the latest version (version R4 to R11) and have to do regression testing to ensure our jobs will work in the new version. There's a small java program that

  • Burning a DVD from CS4 on a Windows 7 computer

    I'm unable to burn a DVD from the edited timeline in CS4.   I have Windows 7 Home Premium software loaded on my PC.  When I go from Dynamic Link to Encore I get an error message stating Encore is not compatible with my PC.  How can I burn a DVD using

  • How to change the HTML/XML test data to test my_abap_proxy in SE80?

    Hello, I am trying to test my_abap_proxy in SE80 by usng a HTML/XML file of my desk top, the test data is as below   <LoadingDate>20110422</LoadingDate>   <DocumentDate>20110422</DocumentDate>   <SDDocumentCategory>G</SDDocumentCategory> so on.......

  • Recordcount for all the tables in my user

    How I will get recordcount for all the tables in my user with a single query?? Plz help. Thanx in advance.