Zikula: A Flexible Open Source Content Management System
home | forum | contact us

Dizkus

Bottom
Problem when modifying text files
  • Posted: 30.10.2005, 03:37
     
    Jeanie
    rank:
    Freshman Freshman
    registered:
     September 2002
    Status:
    offline
    last visit:
    26.06.08
    Posts:
    42
    I have a script that writes the story a user add into a text file.. then I want the user to be able to modify the script. I manage to load the contents of the file into a textbox, but not to save the edited contents on the old file. Is there anyone who could take a few seconds to look at my script? Most likely its easy for you whizzes out there :D
  • Posted: 30.10.2005, 20:09
     
    cannibus
    rank:
    Helper Helper
    registered:
     November 2004
    Status:
    offline
    last visit:
    20.09.08
    Posts:
    401
    could you post the add section, as well as ur current edit section?
  • Posted: 30.10.2005, 22:38
     
    Jeanie
    rank:
    Freshman Freshman
    registered:
     September 2002
    Status:
    offline
    last visit:
    26.06.08
    Posts:
    42
    I cut some unimportant stuff in the begging of these code clips.

    Code

    function Writer_storiesapi_create($args)
    {
        extract($args);

        if (!pnSecAuthAction(0, 'Writer::', 'user::', ACCESS_ADD)) {
            pnSessionSetVar('errormsg', _MODULENOAUTH1a);
            return false;
        }
     
        $dbconn =& pnDBGetConn(true);
        $pntable =& pnDBGetTables();

        $Storiestable   =&$pntable['writer_stories'];
        $Storiescolumn  =&$pntable['writer_stories_column'];

        $nextId = $dbconn->GenId($Storiestable);
        $parentstoryid = $nextId;
        list($cat_id,
            $parentstoryid,
            $title,
            $summary,
            $story,
            $ratingid,
            $image,
            $char1,
            $char2,
            $genre,
            $author,
            $date,
            $updated,
            $roundrobin,
            $counter,
            $keywords) = pnVarPrepForStore($cat_id,
                                            $parentstoryid,
                                            $title,
                                            $summary,
                                            $story,
                                            $ratingid,
                                            $image,
                                            $char1,
                                            $char2,
                                            $genre,
                                            $author,
                                            $date,
                                            $updated,
                                            $roundrobin,
                                            $counter,
                                            $keywords);

        $sql = "INSERT INTO $Storiestable (
                  $Storiescolumn[storyid],
                  $Storiescolumn[cat_id],
                  $Storiescolumn[parentstoryid],
                  $Storiescolumn[title],
                  $Storiescolumn[summary],
                  $Storiescolumn[story],
                  $Storiescolumn[ratingid],
                  $Storiescolumn[image],
                  $Storiescolumn[char1],
                  $Storiescolumn[char2],
                  $Storiescolumn[genre],
                  $Storiescolumn[author],
                  $Storiescolumn[date],
                  $Storiescolumn[updated],
                  $Storiescolumn[roundrobin],
                  $Storiescolumn[counter],
                  $Storiescolumn[keywords])
                VALUES (
                  '"
    .(int)$nextId."',
                  '"
    .(int)$cat_id."',
                  '"
    .$parentstoryid."',
                  '"
    .$title."',
                  '"
    .$summary."',
                  '"
    .$story."',
                  '"
    .$ratingid."',
                  '"
    .$image."',
                  '"
    .$char1."',
                  '"
    .$char2."',
                  '"
    .$genre."',
                  '"
    .$author."',
                  '"
    .$date."',
                  '"
    .$updated."',
                  '"
    .(int)$roundrobin."',
                  '"
    .(int)$counter."',
                  '"
    .$keywords."'
                  )"
    ;
            $dbconn->Execute($sql);

           if ($dbconn->ErrorNo() != 0) {
            pnSessionSetVar('errormsg', _EXAMPLECREATEFAILED);
            return false;
        }

         $sql= "SELECT $Storiescolumn[storyid] FROM $Storiestable
                WHERE  $Storiescolumn[title] = '"
    .$title."'";
        $result = $dbconn->Execute($sql);
        list($storyid) = $result->fields;
          $dirname = "modules/Writer/stories/".$author."/";
         $filename = "modules/Writer/stories/".$author."/".$storyid.".txt";
    if (file_exists($dirname)) {
      $handle = fopen($filename, 'w');
       fwrite($handle, $story);
      fclose($filename);
      chmod ($filename, 0777);
    } else {
       mkdir($dirname, 0777);
       $handle = fopen($filename, 'w');
       fwrite($handle, $story);
      fclose($filename);
      chmod ($filename, 0777);
    }

        $storyid = $dbconn->PO_Insert_ID($Storiestable, $Storiescolumn['storyid']);

        if ($dbconn->ErrorNo() != 0) {
            pnSessionSetVar('errormsg', _EXAMPLECREATEFAILED);
            return false;
        }
        pnModCallHooks('item', 'create', $storyid, 'storyid');

        return $storyid;
    }


    Edit section:

    Code

    if (!pnModAPILoad('Writer', 'stories')) {
            pnSessionSetVar('errormsg', _LOADFAILED);
            return false;
        }

        $item = pnModAPIFunc('Writer',
                             'stories',
                             'get',
                             array('storyid' => $storyid));

        if (!$item) {
            pnSessionSetVar('errormsg', _EXAMPLENOSUCHITEMb);
            return false;
        }

        if (!pnSecAuthAction(0, 'Writer::', "$item[name]::$storyid", ACCESS_EDIT)) {
            pnSessionSetVar('errormsg', _MODULENOAUTH3);
            return false;
        }
        if (!pnSecAuthAction(0, 'Writer::', "$title::$storyid", ACCESS_EDIT)) {
            pnSessionSetVar('errormsg', _MODULENOAUTH4);
            return false;
        }

        $dbconn =& pnDBGetConn(true);
        $pntable =& pnDBGetTables();

        $Storiestable   =&$pntable['writer_stories'];
        $Storiescolumn  =&$pntable['writer_stories_column'];

        list(   $cat_id,
                $parentstoryid,
                $title,
                $summary,
                $story,
                $ratingid,
                $image,
                $char1,
                $char2,
                $genre,
                $author,
                $date,
                $updated,
                $roundrobin,
                $counter,
                $keywords,
                $storyid) = pnVarPrepForStore($cat_id,
                                                $parentstoryid,
                                                $title,
                                                $summary,
                                                $story,
                                                $ratingid,
                                                $image,
                                                $char1,
                                                $char2,
                                                $genre,
                                                $author,
                                                $date,
                                                $updated,
                                                $roundrobin,
                                                $counter,
                                                $keywords,
                                                $storyid);

        $sql = "UPDATE $Storiestable
                SET $Storiescolumn[cat_id] = '"
    .(int)$cat_id."',
                    $Storiescolumn[parentstoryid] = '"
    .(int)$parentstoryid."',
                    $Storiescolumn[title] = '"
    .$summary."',
                    $Storiescolumn[ratingid] = '"
    .(int)$ratingid."',
                    $Storiescolumn[image] = '"
    .$image."',
                    $Storiescolumn[char1] = '"
    .$char1."',
                    $Storiescolumn[char2] = '"
    .$char2."',
                    $Storiescolumn[genre] = '"
    .$genre."',
                    $Storiescolumn[author] = '"
    .$author."',
                    $Storiescolumn[date] = '"
    .$date."',
                    $Storiescolumn[roundrobin] = '"
    .(int)$roundrobin."',
                    $Storiescolumn[counter] = '"
    .(int)$counter."',
                    $Storiescolumn[keywords] = '"
    .$keywords."'
                WHERE $Storiescolumn[storyid] = '"
    .$storyid."'";
        $dbconn->Execute($sql);
         print_r($sql);
         $dirname = "modules/Writer/stories/".$author."/";
         $filename = "modules/Writer/stories/".$author."/".$storyid.".txt";

      $handle = fopen($filename, 'w+');
       fwrite($handle, $story);
      fclose($filename);
      chmod ($filename, 0777);

        if ($dbconn->ErrorNo() != 0) {
            pnSessionSetVar('errormsg', _EXAMPLEUPDATEFAILED21);
            return false;
        }

        $pnRender =& new pnRender('Writer');

        $pnRender->clear_cache(null, $storyid);

        return true;
    }


    Any clues?
  • Posted: 01.11.2005, 22:01
     
    cannibus
    rank:
    Helper Helper
    registered:
     November 2004
    Status:
    offline
    last visit:
    20.09.08
    Posts:
    401
    will give it a look tonight.
  • Posted: 01.11.2005, 22:59
     
    Jeanie
    rank:
    Freshman Freshman
    registered:
     September 2002
    Status:
    offline
    last visit:
    26.06.08
    Posts:
    42
    Great :)
  • Posted: 09.11.2005, 16:50
     
    Jeanie
    rank:
    Freshman Freshman
    registered:
     September 2002
    Status:
    offline
    last visit:
    26.06.08
    Posts:
    42
    anyone?

Extensions Moderation

Main Menu

Extensions Database

Documentation

Development

Login

Donate to Zikula