Example #1
0
 /**
  * Singleton method
  */
 public static function singleton()
 {
     if (!isset(self::$_instance)) {
         $c = __CLASS__;
         self::$_instance = new $c();
     }
     return self::$_instance;
 }
Example #2
0
 public function processPackage($request, $path_to_package)
 {
     $server = PENSServer::singleton();
     // Moves the package to archive/pens
     $path_to_archives = api_get_path(SYS_ARCHIVE_PATH) . 'pens';
     if (!is_dir($path_to_archives)) {
         mkdir($path_to_archives, 0777, true);
     }
     rename($path_to_package, $path_to_archives . '/' . $request->getFilename());
     // Insert the request in the database
     $chamilo_pens = new ChamiloPens($request);
     $chamilo_pens->save();
     $server->sendAlert($request, new PENSResponse(0, 'Package successfully processed'));
 }
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * php-pens is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with php-pens.  If not, see <http://www.gnu.org/licenses/>.
 */
/**
 * Provides a test implementation of a PENS Server.
 * 
 * @author Guillaume Viguier-Just <*****@*****.**>
 * @licence http://www.gnu.org/licenses/gpl.txt
 */
require_once __DIR__ . '/pens.php';
class MyPackageHandler extends PENSPackageHandler
{
    public function processPackage($request, $path_to_package)
    {
        // Do the package processing here
    }
}
$handler = new MyPackageHandler();
$handler->setSupportedPackageTypes(array("scorm-pif", "ims-qti", "aicc-pkg"));
$handler->setSupportedPackageFormats(array("zip"));
$server = PENSServer::singleton();
$server->setPackageHandler($handler);
$server->receiveCollect();