请问imagevue2.1.4版怎么才能发邮件?懂PHP请进~

本帖由 chihoutam2009-11-26 发布。版面名称:Imagevue 综合讨论

  1. chihoutam

    chihoutam 普通会员

    原来修改XmlController.php 加上sendmail.php就能设置stmp账户发邮件的。
    参考nightcat之前版本的hack
    http://forum.ziy.cc/t13746/

    附上2.1.4的XmlController.php代码:
    PHP:
    _disableLayout();
    $actions = array();
    $parser = new ivPhpdocParser();
    $handle opendir(CONTROLLERS_DIR);
    while (
    false !== ($file readdir($handle))) {
    if (
    is_file(CONTROLLERS_DIR $file) && $file != "IndexController.php") {
    $fileContents file_get_contents(CONTROLLERS_DIR $file);
    $matches = array();
    preg_match('/^.*?class\s+(\w+)/m'$fileContents$matches);
    $controllerName strtolower(substr($matches[1], 0, -10));
    $methods $parser->getMethodsData($fileContents);
    foreach (
    $methods as $methodName => $methodDesc) {
    if (
    'Controller' == substr($matches[1], -10) && 'Action' == substr($methodName, -6)) {
    $actions[$controllerName][substr($methodName0, -6)] = $methodDesc;
    }
    }
    }
    }
    closedir($handle);
    $this->view->assign('actions'$actions);
    }
    /**
    * Downloads given file
    *
    */
    function downloadAction()
    {
    $this->_setNoRender();
    $path ROOT_DIR $this->_getParam('path'null'path');
    if (
    is_file($path)) {
    $data = @getimagesize($path);
    // FIXME Debug data
    xFireDebug('Generation Time ' getGenTime() . ' sec');
    // Fix for IE From http://ru.php.net/manual/en/function.header.php#83384
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    if (isset(
    $data['mime'])) {
    header("Content-Type: {$data['mime']}");
    }
    header('Content-Disposition: attachment; filename=' basename($path) . ';');
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: " filesize($path));
    readfile($path);
    }
    }
    /**
    * Return information on given file
    *
    */
    function fileinfoAction()
    {
    $this->_setNoRender();
    $file ivFSItem::create(ROOT_DIR ivPath::canonizeRelative($this->_getParam('path'null'path'), true));
    if (
    is_a($file'ivFile')) {
    $xml = &new ivXml();
    $fileNode = &$file->asXml();
    $xml->setNodeTree($fileNode);
    // FIXME Debug data
    xFireDebug('Generation Time ' getGenTime() . ' sec');
    header('Content-type: text/xml; charset=utf-8');
    echo 
    $xml->toString();
    }
    }
    /**
    * Returns random image from given folder
    *
    */
    function rndimgAction()
    {
    $this->_setNoRender();
    $path ivPath::canonizeRelative($this->_getParam('path'null'path'));
    $folder ivFSItem::create(ROOT_DIR $path);
    if (
    is_a($folder'ivFolder')) {
    $files $folder->getFiles();
    if (!empty(
    $files)) {
    $selected $files[rand(0count($files) - 1)];
    $xml = &new ivXml();
    $fileNode = &$selected->asXml();
    $xml->setNodeTree($fileNode);
    // FIXME Debug data
    xFireDebug('Generation Time ' getGenTime() . ' sec');
    header('Content-type: text/xml; charset=utf-8');
    echo 
    $xml->toString();
    }
    }
    }
    /**
    * Return thumbnail for given path
    *
    */
    function thumbAction()
    {
    $errorReporting error_reporting(0);
    $this->_setNoRender();
    $path $this->_getParam('path'$this->conf->get('/config/imagevue/settings/contentfolder'), 'path');
    $FSItem ivFSItem::create(ROOT_DIR $path);
    if (
    is_a($FSItem'ivFSItem')) {
    $thumbPath $FSItem->getThumb(ivAcl::isAllowedPath($path));
    $data = @getimagesize($thumbPath);
    if (isset(
    $data['mime'])) {
    // FIXME Debug data
    xFireDebug('Generation Time ' getGenTime() . ' sec');
    header('Cache-Control: public');
    header('Expires: Fri, 30 Dec 2099 19:30:56 GMT');
    header('Content-Type: ' $data['mime']);
    readfile($thumbPath);
    }
    }
    error_reporting($errorReporting);
    }

    /**
    * Return config
    *
    */
    function configAction()
    {
    $this->_setNoRender();
    if (
    'link' == $this->_getParam('path')) {
    if (
    file_exists(ROOT_DIR 'mylink.ini')) {
    echo 
    file_get_contents(ROOT_DIR 'mylink.ini');
    }
    } else {
    $themeName $this->_getParam('theme'$this->conf->get('/config/imagevue/settings/theme'), 'alnum');
    $theme ivTheme::get($themeName$this->conf->get('/config/imagevue/settings/theme'));
    if (
    $theme) {
    $xml $theme->getFullConfig();
    // FIXME Debug data
    xFireDebug('Generation Time ' getGenTime() . ' sec');
    header('Content-type: text/xml; charset=UTF-8');
    $xmlString $xml->toString(true);
    $xmlString preg_replace('/\>[\s\r\n]*\[\s\r\n]*\
     
  2. chihoutam

    chihoutam 普通会员

    未解决~~~顶上去~~~
     
  3. whcmnxx

    whcmnxx 普通会员

    未解决~~~顶上去~~~
     
正在加载...