Package com.dotcms.repackage.com.caucho.quercus.env

Examples of com.dotcms.repackage.com.caucho.quercus.env.Env


     * @param args an array of arguments to be
     * passed to the extension, which may be either
     * Vectors of Nodes, or Strings.
     */
  public Object call(Object object, String method, Object[] args) throws BSFException {
    Env env = php.createEnv(null, null, null, null);
    env.start();
    populateEnv(env);
    Value v = null;
    PHPEvalWrapper phpw = null;
    if(object instanceof PHPEvalWrapper){
      phpw = (PHPEvalWrapper)object;
    }else{
      phpw = (PHPEvalWrapper)eval(object.toString(), -1, -1, "");
    }
    List<Function> funs = phpw.getFunctions();
    Value[] values = null;
    if(args != null){
      values = new Value[args.length];
      for (int i = 0; i < args.length; i++) {
        Object o = args[i];
        values[i] = env.wrapJava(o);
      }
    }
   
    try{
      if(funs != null && funs.size() > 0){
View Full Code Here


    WriterStreamImpl writerImpl = new WriterStreamImpl();
        writerImpl.setWriter(sw);

    WriteStream writeStream = new WriteStream(writerImpl);
   
    Env env = php.createEnv(page, writeStream, null, null);
    env.start();
    populateEnv(env);
    page.executeTop(env);
    Value v = qp.execute(env);
   
    List<Function> funcs = qp.getFunctionList();
View Full Code Here

    WriterStreamImpl writerImpl = new WriterStreamImpl();
        writerImpl.setWriter(sw);

    WriteStream writeStream = new WriteStream(writerImpl);
   
    Env env = php.createEnv(page, writeStream, null, null);
    env.start();
    populateEnv(env);
    Value v = page.executeTop(env);
    PrintWriter pw = writeStream.getPrintWriter();
    pw.flush();
    wrapper.setPage(page);
View Full Code Here

    WriterStreamImpl writerImpl = new WriterStreamImpl();
        writerImpl.setWriter(sw);

    WriteStream writeStream = new WriteStream(writerImpl);
   
    Env env = php.createEnv(null, writeStream, null, null);
    env.start();
    populateEnv(env);
    Value v = qp.execute(env);
   
    List<Function> funcs = qp.getFunctionList();
    if(funcs != null){
View Full Code Here

    if(!Config.getBooleanProperty("ENABLE_SCRIPTING", false)){
      response.sendError(HttpServletResponse.SC_NOT_FOUND);
      return;
    }
    php.setWorkDir(getPath(request));
    Env env = null;
    WriteStream ws = null;

    try {
      Path path = getPath(request);

      QuercusPage page;

      try {
        page = php.parse(path);
      }
      catch (FileNotFoundException ex) {

        Logger.warn(this, ex.getMessage());
        Logger.debug(this, ex.getMessage(), ex);
        response.sendError(HttpServletResponse.SC_NOT_FOUND);

        return;
      }catch (NullPointerException ex) {
        Logger.warn(this, ex.getMessage());
        Logger.debug(this, ex.getMessage(), ex);
        response.sendError(HttpServletResponse.SC_NOT_FOUND);

        return;
      }

      StreamImpl out;

      try {
        out = new VfsStream(null, response.getOutputStream());
      }
      catch (IllegalStateException e) {
        WriterStreamImpl writer = new WriterStreamImpl();
        writer.setWriter(response.getWriter());

        out = writer;
      }

      ws = new WriteStream(out);

      ws.setNewlineString("\n");


      php.setServletContext(_servletContext);

      env = php.createEnv(page, ws, request, response);
      try {
        env.start();
        env.setPwd(path);
        env.setGlobalValue("request", env.wrapJava(request));
        env.setGlobalValue("response", env.wrapJava(response));
        env.setGlobalValue("session", env.wrapJava(request.getSession()));
        env.setGlobalValue("servletContext", env.wrapJava(_servletContext));

        String prepend = env.getIniString("auto_prepend_file");
        if (prepend != null) {
          Path prependPath = env.lookup(env.createString(prepend));

          if (prependPath == null)
            env.error("auto_prepend_file '{0}' not found.", prepend);
          else {
            QuercusPage prependPage = php.parse(prependPath);
            prependPage.executeTop(env);
          }
        }

        page.executeTop(env);

        String append = env.getIniString("auto_append_file");
        if (append != null) {
          Path appendPath = env.lookup(env.createString(append));

          if (appendPath == null)
            env.error("auto_append_file '{0}' not found.", append);
          else {
            QuercusPage appendPage = php.parse(appendPath);
            appendPage.executeTop(env);
          }
        }
        //   return;
      }
      catch (QuercusExitException e) {
        throw e;
      }
      catch (QuercusErrorException e) {
        throw e;
      }
      catch (QuercusLineRuntimeException e) {
        Logger.error(this, e.getMessage(), e);

        //  return;
      }
      catch (QuercusValueException e) {
        Logger.error(this, e.getMessage(), e);

        ws.println(e.toString());

        //  return;
      }
      catch (Throwable e) {
        if (response.isCommitted())
          e.printStackTrace(ws.getPrintWriter());

        ws = null;

        throw e;
      }
      finally {
        if (env != null)
          env.close();

        // don't want a flush for a thrown exception
        if (ws != null)
          ws.close();
      }
View Full Code Here

TOP

Related Classes of com.dotcms.repackage.com.caucho.quercus.env.Env

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.