Example #1
0
 public function testScGetLastContents()
 {
     $room = 'njiSeDkea2';
     $name = 'foo';
     $idstr = '123';
     $content = 'Hello <b>world</b>';
     $dat_filename = sc_dat_filename($room);
     if (file_exists($dat_filename)) {
         unlink($dat_filename);
     }
     for ($i = 1; $i <= 20; $i++) {
         sc_add_content($room, $name, $idstr, $i);
     }
     $contents = sc_get_last_contents($room, 0);
     $this->assertEquals(21, sizeof($contents));
     $this->assertEquals(1, $contents[0][1]);
     $this->assertEquals(20, $contents[0][2]);
     $chat = $contents[1];
     $this->assertEquals($name, $chat[0]);
     $this->assertEquals($idstr, $chat[1]);
     $this->assertEquals("1", $chat[3]);
     $chat = $contents[sizeof($contents) - 1];
     $this->assertEquals($name, $chat[0]);
     $this->assertEquals($idstr, $chat[1]);
     $this->assertEquals("20", $chat[3]);
     for ($i = 21; $i <= MAX_MSGS_LEN + 20; $i++) {
         sc_add_content($room, $name, $idstr, $i);
     }
     $contents = sc_get_last_contents($room, 0);
     $this->assertEquals(MAX_MSGS_LEN + 1, sizeof($contents));
     $this->assertEquals(21, $contents[0][1]);
     $this->assertEquals(MAX_MSGS_LEN + 20, $contents[0][2]);
     $chat = $contents[1];
     $this->assertEquals($name, $chat[0]);
     $this->assertEquals($idstr, $chat[1]);
     $this->assertEquals("21", $chat[3]);
     $chat = $contents[sizeof($contents) - 1];
     $this->assertEquals($name, $chat[0]);
     $this->assertEquals($idstr, $chat[1]);
     $this->assertEquals("" . (MAX_MSGS_LEN + 20), $chat[3]);
 }
Example #2
0
function sc_wipeout_content($room, $idstr)
{
    $fp = fopen(sc_dat_filename($room), "w");
    if (flock($fp, LOCK_EX)) {
        fwrite($fp, sc_dat_encode($room) . "\n");
        $output = serialize(array('', $idstr, time(), sc_dat_encode("wiped out"))) . "\n";
        fwrite($fp, $output);
        flock($fp, LOCK_UN);
    }
    fclose($fp);
}