File indexing completed on 2024-12-22 05:36:23

0001 <?php
0002 /**
0003  *  ocs-webserver
0004  *
0005  *  Copyright 2016 by pling GmbH.
0006  *
0007  *    This file is part of ocs-webserver.
0008  *
0009  *    This program is free software: you can redistribute it and/or modify
0010  *    it under the terms of the GNU Affero General Public License as
0011  *    published by the Free Software Foundation, either version 3 of the
0012  *    License, or (at your option) any later version.
0013  *
0014  *    This program is distributed in the hope that it will be useful,
0015  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017  *    GNU Affero General Public License for more details.
0018  *
0019  *    You should have received a copy of the GNU Affero General Public License
0020  *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021  **/
0022 
0023 class Local_Loader_PluginLoader extends Zend_Loader_PluginLoader
0024 {
0025 
0026     protected static function _appendIncFile($incFile)
0027     {
0028         if ($stream = fopen(self::$_includeFileCache, 'c+')) {
0029 
0030             flock($stream, LOCK_EX);
0031 
0032             $file = stream_get_contents($stream);
0033             if (empty($file)) {
0034                 $file = '<?php';
0035             }
0036 
0037             if (!strstr($file, $incFile)) {
0038                 $file .= "\ninclude_once '$incFile';";
0039                 fseek($stream, 0);
0040                 fwrite($stream, $file);
0041             }
0042 
0043             flock($stream, LOCK_UN);
0044             fclose($stream);
0045 
0046         }
0047     }
0048 
0049 }