Welcome to Geeklog, Anonymous Saturday, November 30 2024 @ 05:46 am EST

Geeklog Forums

Is there a reverse COM_getPermSQL()?


Status: offline

LWC

Forum User
Full Member
Registered: 02/19/04
Posts: 818
I want a code that tests all kinds of conditions and stops if at least one of them fails.

Just as a random example (pretending such a function is called COM_getPermSQL_reverse):

Text Formatted Code

      $sql = "SELECT '' FROM gl_stories WHERE (sid='foo' OR sid='bar')" . COM_getPermSQL_reverse("AND");
      $result = DB_query($sql);
      if (!DB_numRows($result))
         echo "At least one of these stories is out of your reach, so I decided you can't see the other either";
 


So is there such a thing?

Until then, I have to call the SQL twice:

Text Formatted Code

      $sql = "SELECT '' FROM gl_stories WHERE sid='foo' OR sid='bar'";
      $result = DB_query($sql);
      $sql1 = DB_numRows($result);

      if ($sql1 > 0 && !SEC_inGroup('Root')) {
          $sql = "SELECT '' FROM gl_stories WHERE (sid='foo' OR sid='bar')" . COM_getPermSQL("AND");
          $result = DB_query($sql);
          $sql2 = DB_numRows($result);

          if ($sql2 < $sql1)
              echo "At least one of these stories is out of your reach, so I decided you can't see the other either";
      }
 
 Quote

Status: offline

Dirk

Site Admin
Admin
Registered: 01/12/02
Posts: 13073
Location:Stuttgart, Germany
"NOT"?
 Quote

Status: offline

LWC

Forum User
Full Member
Registered: 02/19/04
Posts: 818
Do you mean COM_getPermSQL("WHERE NOT" ) / COM_getPermSQL("AND NOT" )? It brings you everything you have no access to. It doesn't tell you if at least one condition failed.

What I basically need to know is whether (a non blank) COM_getPermSQL actually had any effect on the query or did you just get what you would have got if you didn't include COM_getPermSQL in the query.
 Quote

All times are EST. The time is now 05:46 am.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content