Ejemplo n.º 1
0
 public function get_db($sql_rewrite = null)
 {
     apf_require_file('Mysqli_Database.php');
     $db = Mysqli_Database::get_instance();
     $db->_sql_rewrite = $sql_rewrite;
     return $db;
 }
Ejemplo n.º 2
0
 /**
  * 邮件发送
  * @return boolean
  */
 public function send_mail($recipient, $mailsubject, $mailbody)
 {
     apf_require_file("Swift.php");
     Swift_ClassLoader::load("Swift_Connection_SMTP");
     $message = new Swift_Message($mailsubject);
     $message->setFrom("安居客<*****@*****.**>");
     $message->attach(new Swift_Message_Part(strip_tags($mailbody), "text/plain", "base64", "utf-8"));
     $message->attach(new Swift_Message_Part($mailbody, "text/html", "base64", "utf-8"));
     foreach ($recipient as $re) {
         Mail_Queue::put('*****@*****.**', $re, $mailsubject, $message, Const_Mail::TYPE_SWIFT, Const_Mail::TYPE_ID_COMMUNITY_SUBSCRIBE);
     }
     return true;
 }
Ejemplo n.º 3
0
 /**
  * 生成二维码后返回内容
  * @param $value
  * @return array
  */
 private function _getQrCodeContent($value)
 {
     apf_require_file('phpqrcode.php', 'classes/util/phpqrcode');
     $errorCorrectionLevel = "M";
     $matrixPointSize = "5";
     $image = QRcode::getImage($value, false, $errorCorrectionLevel, $matrixPointSize, 2);
     ob_start();
     ImagePNG($image);
     $content = ob_get_contents();
     ImageDestroy($image);
     ob_end_clean();
     return $content;
 }
Ejemplo n.º 4
0
 /**
  * APF主入口,实例化请求类、响应类,然后执行真正的框架流程
  */
 public function run()
 {
     if ($this->get_config('SESSION_START')) {
         apf_require_file('spider.php');
         if (!is_spider()) {
             $session_domain = $this->get_config('SESSION_DOMAIN');
             if (!$session_domain) {
                 $session_domain = $_SERVER['SERVER_NAME'];
             }
             ini_set('session.cookie_domain', $session_domain);
             session_start();
         }
     }
     $this->prepare();
     if (!$this->dispatch()) {
         echo "Error";
     }
 }
Ejemplo n.º 5
0
 protected function sentMail($mailSubject, $mailBody)
 {
     if ($this->mailSwitch == true && !empty($this->mailAddress)) {
         $mailto = $this->mailAddress;
         apf_require_file("Swift.php");
         Swift_ClassLoader::load("Swift_Connection_SMTP");
         $smtpuser = APF::get_instance()->get_config("SmtpUser");
         $smtpemailto = $mailto;
         $message = new Swift_Message($mailSubject);
         $message->setFrom("安居客<" . $smtpuser . ">");
         $message->setTo($smtpemailto);
         $message->attach(new Swift_Message_Part(strip_tags($mailBody), "text/plain", "base64", "utf-8"));
         $message->attach(new Swift_Message_Part($mailBody, "text/html", "base64", "utf-8"));
         foreach ($smtpemailto as $to) {
             if (!empty($to)) {
                 @Mail_Queue::put($smtpuser, $to, $mailSubject, $message, Const_Mail::TYPE_SWIFT, Const_Mail::TYPE_ID_COMMUNITY_SUBSCRIBE);
             }
         }
     }
 }
Ejemplo n.º 6
0
 /**
  * 发送邮件
  * @param $mailSubject 标题
  * @param $mailBody 内容
  * @param array $mailTo 接受人,数组
  * @return bool
  */
 public function sendMail($mailSubject, $mailBody, $mailTo = array())
 {
     if (empty($mailSubject) || empty($mailBody) || empty($mailTo)) {
         return false;
     }
     apf_require_file("Swift.php");
     Swift_ClassLoader::load("Swift_Connection_SMTP");
     $smtpuser = APF::get_instance()->get_config("SmtpUser");
     $smtpemailto = $mailTo;
     $message = new Swift_Message($mailSubject);
     $message->setFrom("安居客<" . $smtpuser . ">");
     $message->setTo($smtpemailto);
     $message->attach(new Swift_Message_Part(strip_tags($mailBody), "text/plain", "base64", "utf-8"));
     $message->attach(new Swift_Message_Part($mailBody, "text/html", "base64", "utf-8"));
     foreach ($smtpemailto as $to) {
         if (!empty($to)) {
             @Mail_Queue::put($smtpuser, $to, $mailSubject, $message, Const_Mail::TYPE_SWIFT, Const_Mail::TYPE_ID_COMMUNITY_SUBSCRIBE);
         }
     }
     return true;
 }
Ejemplo n.º 7
0
<?php

apf_require_file('Stomp.php');
class APF_MQ_Stomp extends Stomp
{
}
Ejemplo n.º 8
0
<?php

apf_require_class('APF_DFS_DFS');
apf_require_file('MogileFSc.php');
class APF_DFS_MogileFSc implements APF_DFS_DFS
{
    public function init($config)
    {
        if ($this->mfs) {
            throw new Exception("Cannot initialize twice!");
        }
        $mfscfg = $config['mogilefs'];
        $domain = $mfscfg['domain'];
        $class = $mfscfg['class'];
        $trackers = $mfscfg['trackers'];
        $memcacheds = APF::get_instance()->get_config('memcacheds', 'dfs');
        // TODO: validate parameters?
        // TODO: other parameters like timeouts?
        $this->mfs = new MogileFSc($domain, $class, $trackers, $memcacheds);
    }
    public function load($filename)
    {
        return $this->mfs->get($filename);
    }
    public function save($filename, $content)
    {
        return $this->mfs->set($filename, $content);
    }
    public function delete($filename)
    {
        return $this->mfs->delete($filename);
Ejemplo n.º 9
0
 *     You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 *     Unless required by applicable law or agreed to in writing, software
 *     distributed under the License is distributed on an "AS IS" BASIS,
 *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *     See the License for the specific language governing permissions and
 *     limitations under the License.
 */
/**
 * Fluent Logger
 *
 * Fluent Logger client communicates to Fluentd with json formatted messages.
 */
apf_require_file('FluentLogger.php');
class Util_Nlog_FluentLogger extends BaseLogger
{
    const CONNECTION_TIMEOUT = 3;
    const SOCKET_TIMEOUT = 3;
    const MAX_WRITE_RETRY = 5;
    /* 1000 means 0.001 sec */
    const USLEEP_WAIT = 1000;
    /* Fluent uses port 24224 as a default port */
    const DEFAULT_LISTEN_PORT = 24224;
    const DEFAULT_ADDRESS = "127.0.0.1";
    /**
     * backoff strategies: default usleep
     *
     * attempts | wait
     * 1        | 0.003 sec
Ejemplo n.º 10
0
<?php

apf_require_file('PhpAmqpLib.php');
class APF_AMQPLIB_Factory
{
    const CONF_F_AMQP = 'amqp';
    private function __construct()
    {
    }
    /**
     * @return APF_AMQP_Factory
     */
    public static function &get_instance()
    {
        if (!self::$instance) {
            self::$instance = new APF_AMQPLIB_Factory();
        }
        return self::$instance;
    }
    private static $instance;
    /**
     * @return AMQPConnection
     */
    public function get_connection($name = 'default')
    {
        if (!isset($this->connection_list[$name])) {
            $this->connection_list[$name] = $this->load_connection($name);
        }
        return $this->connection_list[$name];
    }
    private $connection_list;
Ejemplo n.º 11
0
/**
 * 导入v2类
 * @param string $class 类名
 * @param string $prefix 父目录
 * @param string $firelog
 * @return boolean
 */
function apf_require_class($class, $prefix = "classes", $firelog = true)
{
    if (defined('G_LOAD_AUTO') && G_LOAD_AUTO === true) {
        return true;
    }
    if ($prefix == "classes" && class_exists($class)) {
        return true;
    }
    $file = apf_classname_to_filename($class);
    $flag = true;
    if (!apf_require_file("{$file}.php", $prefix)) {
        if ($firelog) {
            $logger = APF::get_instance()->get_logger();
            //出错时的url
            $error_url = @$_SERVER['REQUEST_URI'];
            //屏蔽由于某些蜘蛛将url处理成小写时,引发的class not found
            if (preg_match('#\\.js$|\\.css$#', $error_url)) {
                return false;
            }
            //trigger_error("'$prefix/$class' not found", E_USER_ERROR);
            $http_host = @$_SERVER['HTTP_HOST'];
            $http_refer = @$_SERVER['HTTP_REFERER'];
            $logger->error("'{$prefix}/{$class}' not found error_url : {$http_host}{$error_url} refer : {$http_refer}");
            //add by jackie for more error infomation
            ob_start();
            debug_print_backtrace();
            $trace = ob_get_contents();
            ob_end_clean();
            $logger->error($trace);
        }
        return false;
    }
    return $flag;
}
Ejemplo n.º 12
0
<?php

/*
 * 邮件发送类实现
 * */
apf_require_file("Swift.php");
apf_require_class("Mail_Queue");
Swift_ClassLoader::load("Swift_Connection_SMTP");
class Bll_House_UpDown_Worker_MailBll
{
    private static $instance = null;
    //private $recipient = array('*****@*****.**','*****@*****.**', '*****@*****.**');//邮件接收方
    private $recipient = array('*****@*****.**', '*****@*****.**');
    //邮件接收方
    private $sender = '*****@*****.**';
    //邮件发送方
    private $subject = '';
    public static function getInstance()
    {
        if (self::$instance === null) {
            self::$instance = new self();
        }
        return self::$instance;
    }
    /**
     * 邮件发送
     * @param params
     */
    public function send($params = array())
    {
        $mailsubject = $this->getSubject();
Ejemplo n.º 13
0
<?php

apf_require_file('Apache/Solr/Service.php');
apf_require_file('Apache/Solr/HttpTransport/CurlNoReuse.php');
class Util_Solr
{
    /**
     * service instance
     *
     * @var Apache_Solr_Service
     * @access private
     */
    private $service = null;
    private $CONFIG_N_SERVICE_CLASSNAME = 'Apache_Solr_Service';
    private $CONFIG_N_HTTPTRANSPORT_CLASSNAME = 'Apache_Solr_HttpTransport_CurlNoReuse';
    const CONFIG_K_HOST = 'host';
    const CONFIG_K_PORT = 'port';
    const CONFIG_K_PATH = 'path';
    public function __construct($config)
    {
        $host = $config[self::CONFIG_K_HOST];
        $port = $config[self::CONFIG_K_PORT];
        $path = $config[self::CONFIG_K_PATH];
        /* loading essetial class definition */
        $http_transport = new $this->CONFIG_N_HTTPTRANSPORT_CLASSNAME();
        $this->service = new $this->CONFIG_N_SERVICE_CLASSNAME($host, $port, $path, $http_transport);
    }
    public function search($query, $params, $offset = 0, $limit = 10)
    {
        $retval = false;
        $logger = APF::get_instance()->get_logger();
Ejemplo n.º 14
0
<?php

/**
 * Created by PhpStorm.
 * User: cay
 * Date: 15-5-4
 * Time: 下午2:44
 */
//require "autoload.php";//引入微聊SDK
apf_require_file("bll/wechat/autoload.php", "classes");
//引入微聊SDK
abstract class Bll_Wechat_Wechat
{
    public $appId;
    //应用id
    public $appSecret;
    //应用密钥
    public $token;
    //令牌(公共加密串)
    public $encodingAESKey;
    //消息加解密密钥
    public $accountId;
    //公众号在anjuke的id
    public $wechatId;
    //公众号的id
    public function __construct()
    {
        $this->init();
    }
    /**
     * 初始化微信服务的数据
Ejemplo n.º 15
0
<?php

/**
 * 
 */
apf_require_file('Mysqli_Database.php');
class APF_DB_Mysqli extends Mysqli_Database
{
    private static $instance;
    public static function &get_instance()
    {
        if (!self::$instance) {
            self::$instance = new APF_DB_Mysqli();
        }
        return self::$instance;
    }
    public function query($sql)
    {
        APF::get_instance()->benchmark_begin('APF_DB_Mysqli::query');
        parent::query($sql);
        APF::get_instance()->benchmark_end('APF_DB_Mysqli::query');
        return $this;
    }
}
Ejemplo n.º 16
0
function apf_require_class($class, $prefix = "classes", $firelog = true)
{
    if ($prefix == "classes" && class_exists($class)) {
        return true;
    }
    $file = apf_classname_to_filename($class);
    $flag = true;
    if (substr($class, 0, 3) == "HK_" && !apf_require_file("{$file}.php", $prefix)) {
        $class = substr($class, 3);
        $file = apf_classname_to_filename($class);
        $flag = false;
    }
    if (!apf_require_file("{$file}.php", $prefix)) {
        if ($firelog) {
            $logger = APF::get_instance()->get_logger();
            //出错时的url
            $error_url = @$_SERVER['REQUEST_URI'];
            $http_host = @$_SERVER['HTTP_HOST'];
            $http_refer = @$_SERVER['HTTP_REFERER'];
            $logger->error("'{$prefix}/{$class}' not found error_url : {$http_host}{$error_url} refer : {$http_refer}");
            //add by jackie for more error infomation
            ob_start();
            debug_print_backtrace();
            $trace = ob_get_contents();
            ob_end_clean();
            $logger->error($trace);
        }
        return false;
    }
    return $flag;
}